русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Функция LENGTH


Дата добавления: 2013-12-23; просмотров: 2091; Нарушение авторских прав


Строки

Массив символов

Последовательность символов называется строкой. Для хранения и обработки последовательностей символов (строк) можно использовать массив символов. Например, пусть программа должна вводить с клавиатуры фамилии людей. Обычно такая задача решается вводом строки в символьный массив, длина которого выбирается равной количеству букв самой длинной фамилии. Если buf это символьный массив размера size, то наиболее просто ввести элементы массива с помощью инструкции FOR, например, так:

For i := 1 to size do read(buf[i]) ;

Однако в этом случае на клавиатуре каждый раз приходится набирать строку длиной ровно в size символов (дополнять “короткие” фамилии пробелами), так как инструкция FOR завершит свою работу только после ввода заданного количества символов.

Сделать программу ввода массива символов более эффективной позволяет встроенная функция EOLN (End Of LiNe), которая проверяет, есть ли введенные символы, и если есть, то возвращает TRUE, если последний необработанный программой символ ¾ “конец строки”, соответствующий клавише <Enter>. Если не введено ни одного символа, функция ожидает ввода строки с клавиатуры.

Следующая программа использует функцию EOLN для ввода строки символов в массив.

CONST

size = 30 ;

VAR

buf : Array[1..30] of char ;

n : Integer ;

BEGIN

write(‘®‘) ;

n := 0 ;

repeat

if NOT EONL then

begin

n := n + 1 ;

read(buf[n]) ;

end ;

until EONL or (n=size) ;

writeln(‘Длина введенной строки ‘,n,’символов.’)

END.

Помимо массивов символов для хранения и обработки строк можно использовать переменные типа STRING. значением переменной типа STRING может быть любая последовательность символов длиной не более 255.

Переменная типа STRING должна быть объявлена в разделе описания переменных так:



Имя : string ;

или

Имя : string[длина] ;

где Имя ¾ имя переменной; string¾ ключевое слово обозначения строкового типа; длина ¾ константа типа INTEGER, определяющая максимальную длину последовательности символов, которая может быть присвоена переменной.

Примеры:

name : string[24] ;

buff : string ;

Если при объявлении переменной длина не указывается, то предполагается что длина строки равняется 255 символам, т. е. объявления stroka : string[255] ; и stroka : string ; эквивалентны.

В тексте программы последовательность символов, являющаяся строкой заключается в одинарные кавычки. Например, чтобы присвоить строковой переменной Yea значение, нужно записать

Yea := ‘1999’ ;

Утверждение Yea := 1999 приведет к ошибке времени компиляции, так как тип переменной не соответствует типу константы.

 

Переменную типу STRING можно сравнить с другой переменной или константой типа STRING, используя операторы =, <, >, <=, >=, <>. Строки сравниваются посимвольно от первого символа. Если все символы сравниваемых строк одинаковые, то такие строки считаются равными. Если в одинаковых позициях строк находятся разные символы, большей считается та строка, е которой в этой позиции находится символ с большим кодом. В табл. 9 приведены примеры сравнения строк

Таблица 9.
Строка 1 Строка 2 Результат сравнения
Иванов васильев Алексеев Иванова Иванов Васильев Петров Иванов Строки равны Строка 1 больше строки 2 Строка 1 меньше строки 2 Строка 1 больше строки 2

 

Кроме операций сравнения к строковым переменным и константам можно применить оператор сложения, в результате выполнения которого получается новая строка.

Например, в результате выполнения инструкций

first_name := ‘Иванов’ ;

last_name := ‘Иван’ ;

ful_name := first_name+last_name ;

переменная ful_name получит значение ‘ИвановИван’.

 

Turbo Pascal 7.0 предоставляет несколько полезных при работе со строками функций и процедур. Рассмотрим их описания и примеры использования.

Функция LENGTH возвращает длину строки. У функции один параметр ¾ переменная строкового типа. Возвращаемое значение функции (целое число) ¾ количество символов, из которых состоит строка, без учета начальных и завершающих пробелов.

Например, значение length(‘Иванов’) равно 6, значение length(‘ город ‘) равно 5, так как при вычислении длины строки функция не учитывает начальные и завершающие пробелы.



<== предыдущая лекция | следующая лекция ==>
Символы | ПРОЦЕДУРЫ И ФУНКЦИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.