Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика - лекции.doc
Скачиваний:
18
Добавлен:
07.11.2018
Размер:
512.51 Кб
Скачать

Символьные и строковые типы данных.

Научившись записывать числовые данные, выучим запись и использование символьных и строковых данных. Паскаль позволяет определять тип Char, имеющий размер в один байт и содержащий один символ. Символьные константы содержат один символ, заключенный в апострофы ('A','e','г','2'). Заметим, что '2' означает символ 2, а 2 означает целое число 2 (и 2.0 - вещественное число) .

program DoRatio;

var

A, B: Integer;

Ratio: Real;

Ans: Char;

begin

repeat

Write('Введите два числа: ');

Readln(A, B);

Ratio := A / B;

Writeln('Результат = ', Ratio);

Write('Повторить? (Y/N) ');

Readln(Ans);

until UpCase(Ans) = 'N';

end.

После вычисления коэффициента, выдается сообщение:

Повторить? (Yes/No).

Программа находится в состоянии ожидания одного из указанных символов и нажатия клавиши "Enter". Если Вы нажмете "n" или заглавную "N", то условие "until" будет выполнено и цикл закончится. В случае, если Вы ответите "Y" ("y"), то выполнение цикла будет продолжено.

"N" и "n" не одно и тоже, потому что они имеют различные значения в коде ASCII. Каждый символ имеет свой код ASCII, представленный 8-битным значением (символ занимает 1 байт).

В Turbo Pascal существуют два дополнительных способа описания символьных констант: с помощью символа "^" и символа числа "#".

Символы с кодами от 0 до 31 - управляющие символы. Они обозначаются аббревиатурами (CR - возврат каретки, LF - перевод строки, ESC - выход) или с помощью двух клавиш, одна из которых Ctrl + буква.

Значение буквы получается прибавлением 64 к управляющему коду. Например, управляющий символ кода ASCII 7 известен как Bel или Ctrl-G.

Turbo Pascal дает возможность представить символы с помощью "^", за которым следует буква (или символ). Так, "^G" то же самое, что и Ctrl-G. "^G" можно использовать в операторах Turbo Pascal:

Writeln (“^G”).

Этот метод применим только к управляющим символам.

Вторая возможность обозначения - использование символа номера "#", за которым следует код ASCII. Так, #7 то же самое, что и "^G", #65 - 'A', a #233 - один из специальных псевдографических символов IBM PC.

В большинстве случаев используются строки символов.

program Hello;

var

Name: String(30);

begin

Write('Как Вас зовут? ');

Readln(Name);

Writeln('Добрый день, ', Name)

end.

Переменная Name объявлена, как string (строка), и под нее резервируется 30 байт (для 30 символов). Кроме того, Turbo Pascal отводит еще один байт, в котором содержится текущая длина строки. В этом случае, независимо от того, какой длины будет введено имя, оператор Writeln распечатает имя указанной длины. Если будет введено имя больше 30 символов, то будут использоваться только первые 30 символов, а остальные будут проигнорированы.

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

Булевские данные.

Встроенный тип Boolean данных в Turbo Pascal имеет два возможных значения: True и Falsе (истина и ложь). Можно объявить переменную типа Boolean, и присвоить ей значение True или False, или же, что более важно, присвоить ей значение выражения, которое при вычислении принимает одно из этих значений.

Булевское выражение - это выражение, которое принимает значение True или False. Оно состоит из выражений отношений, булевских операторов, булевских переменных и/или других булевских выражений. Например:

while (Index <= Limit) and not Done do...

while содержит булевское выражение. Булевское выражение в этом случае все, что находится между ключевыми словами while и do. Done - это переменная (или функция) булевского типа.