Функции LENGTH и CONCAT.

Функция Length возвращает в качестве значения длину строки. Например, если в строковой переменной «stroka» записано слово «Pascal», то Length(stroka) будет равно 6. Эта операция аналогична операции Ord(stroka[0]), которую мы разбирали в 1-м уроке. ...

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Ввод символов с клавиатуры.

Ввод символов с клавиатуры почти не отличается от ввода чисел с клавиатуры. Для того чтобы ввести какие-то символы (буквы, знаки и т.д.) с клавиатуры необходимо для переменных использовать символьный тип данных Char.

Циклы и массивы

Инициализация одномерного массива.

Отличительной особенностью Паскаля от большинства процедурных языков является то, что все переменные должны быть инициализированы. То есть в разделе VAR переменным отводится место, а начальное ...

Итерационные циклы.

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

...

Написание большинства программ не обходится без строковых данных. Строковые данные используются при организации диалога для ввода исходных значений переменных, задания условий выполнения вычислительных процессов, а также при оформлении результатов расчетов и выводе их на экран дисплея или на устройство печати.

Строки представляют собой последовательность символов (литер) и задаются в программе в виде констант или переменных. Константы могут быть явно определены в разделе CONST или неявно в операторах присваивания, в выражениях или списках вывода на внешние устройства.
С использованием текстовых строк в качестве констант мы уже встречались практически в каждой из описанных выше задач. Приведем для сравнения два способа определения строки символов.

  • Явное определение текстовой константы:

CONST А = 'Введите значения X, Y';
VAR X, Y: REAL;
BEGIN WRITELN(A);
READLN(X, Y);

  • Неявное определение текстовой константы:

VAR X, Y: REAL;
BEGIN WRITELN('Введите значения X, Y');
READLN(X, Y);
При программировании можно использовать оба способа. Во всех случаях строка символов (текстовая константа) заключается в апострофы.
Строка символов в Паскале может иметь фиксированную и переменную длину. Для работы со строкой фиксированной длины используют одномерный массив вида В = ARRAY[0..M] OF CHAR. Размерность массива М определяется количеством символов в строке и не превышает 65535 символов.
Для работы с короткими строками переменной длины, не превышающей 255 символов, следует пользоваться специальным типом данных А = STRING[N], где N — максимальное количество символов в строке. Длина такой строки динамически меняется от 0 до N. Но N не должно превышать 255 символов. При явном объявлении константы А = 'Введите значения X, Y' она приобретает тип ARRAY[1 .. 21] OF CHAR.
Примеры текстовых констант:
CONST BG01 = "; { Пустая строка, N = 0 }
С = 'Я учусь программировать';    { Строка текста, N = 23 }
Поскольку массивы литер являются обычными массивами, они обладают всеми свойствами регулярных массивов. Можно получить копию всего массива (строки) с помощью оператора присваивания, а можно извлечь значение одной литеры с помощью индекса массива.
Пример 8. Текст 'Я учусь программировать' вывести на экран дисплея в обратном порядке.


PROGRAM PR8;
CONST
А = 'Я учусь программировать'; {Текстовая константа А }
VAR     
В: ARRAY[1..LENGTH(A)] OF CHAR; {Переменная: массив символов В}
I: INTEGER;
BEGIN
В:= А; { Копирование текстовой константы А в массив В }
FOR I:= LENGTH(A) DOWNTO 1
DO WRITE(B[I]); { Вывод литеры с номером I на экран }
END.


Строки одного и того же типа (одной длины) могут фигурировать в логических выражениях, причем помимо операций отношений =, <> можно использовать также <, >, <=, >=. Сравнение строк производится путем последовательного сравнения литер слева направо, до первого несовпадения. Вы можете скачать K-Lite Codec Pack бесплатно и легко установить его на компьютер, чтобы все видео отображалось в хорошем качестве. Порядок символов определяется по таблице кодов ASCII.
Например, логическое выражение 'CONTEST' < 'CONTEXT' принимает значение TRUE, поскольку литера 'S' лексикографически меньше 'X', то есть ORD('S') <ORD('X').
Для совместимости с библиотеками WINDOWS и другими языками программирования введены длинные строки ASCII (длиной до 65535 байтов). Этим строкам дан стандартный тип PCHAR.


Предыдущая статья: Спецификация процедуры.
Оглавление: Лекции по Pascal. Часть 2.
Следующая статья: Массив символов.


Комментарии  

 
-3 # Иско 07.01.2015 15:20
довольно полезно...
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по Pascal. Часть 2.Использование массивов и функций в качестве формального параметра.