Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
10.12.2013
Размер:
56.83 Кб
Скачать

Символьные переменные.

Бывают 2-х типов:

char - символьные (1 б.);

string - строковые (255 б.);

Тип char.

Доступны только 2-е операции: сравнение и присваивание. При сравнении символов сравниваются их ASCII - коды.

Например: 'A'65 'B'66

'a'97 'b'98

Функции обработки символьных переменных.

chr (x: BYTE): SHAR

тип аргумента тип функции

  • возвращает символ, соответствующему коду x (ASCII - код).

ord (x: SCAR): BYTE

  • возвращает число, соответствующее коду символа x.

upcase (x: CHAR): CHAR

  • преобразует строчные (мал.) в прописные (бол.) символы, только для латинского алфавита. другой символ остается непреобразованым.

pred (x: CHAR): CHAR

  • возвращает символ, предшествующий x (pred('B')='A')

succ (x: CHAR): CHAR

  • возвращает символ, следующий за x (succ('A')='B')

Пример: вывести на экран таблицу кодов и символов ASCII - таблицы.

program ASCII;

var

i: byte;

begin

for i:=1 to 255 do

writeln (chr(i), '=', i);

end.

Коды букв латинского и русского алфавита.

Латинские.

A

65

a

97

B

66

b

98

Z

90

z

122

Строчные от прописных отличаются на 32.

Русские.

A

B

П

128

129

143

а

б

п

160

161

175

P

Я

144

159

р

я

244

239

Е

240

е

241

Тип char в программах на Паскале часто используют для хранения вводимых с клавиатуры ответов на запросы меню.

Для этого используют функцию readkey. Работу этой функции обеспечивает модуль Crt.

Приведем пример использования:

Program char;

uses crt;

begin

цикл:

repeat

ch:= readkey

until (ch='n') or (ch='N');

end.

Цикл действий продолжается до тех пор, пока не будет введено с клавиатуры 'n' или 'N'.

Тип string.

Переменные типа string состоят из цепочки символов, т. е. Элементов типа char. Ввод-вывод переменных string осуществляется с помощью:

read и write.

Объявление строковых переменных:

var

a:= string; - по умолчанию длина строки - 255 символов.

b:= string [20]; - длина ограничена 20 символами.

Существует два способа обработки строковых переменных:

  • обработка всей строки как единого целого;

  • рассматривать строку как объект, состоящий из отдельных символов, т.е. элементов типа char.

word:= 'Москва - столица' - строковая переменная.

Со строковыми переменными возможны операции слияния:

a:= 'России'

word + a = 'Москва - столица России'

Задача.

Задана последовательность символов S1 … Sn Подсчитать количество "!" знаков.

Program pr;

var

s: array [1…100] of char;

p, i, n: integer;

begin

readln (n);

for i:=1 to n do

readln (s[i]);

for i:=1 to n do

if s[i]= '!' then p:=p+1;

writeln (p);

end.

Ввод каждого символа завершается ENTER.

Задача.

Задана последовательность символов S1…Sn Подсчитать сколько цифр (09) в этой последовательности.

Program pr;

var;

s: array [1…100] of char;

i, n, p: integer;

begin

readln (n);

for i:=1 to n do resdln (s[i]);

for i:=1 to n do

if (ord (s[i])>=ord ('0')) and

(ord (s[i])<=ord('9')) then

p:=p+1;

writeln (p);

end.

Ord - выдает код символа.

'0', '9' - символьные константы.

Каждый символ в строковой переменной можно рассматривать как переменную типа char, доступ к ним через индекс в квадратных скобках, можно применить все функции типа char

word [1]:='M'

word [2]:='0'.

Соседние файлы в папке Лекции