Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Обработка строк текста



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

Значением переменных символьного типа является один символ. Каждому символу соответствует код символа – целое число в диапазоне то 0 до 255. Существует международная таблица ASCII-кодов.

Для описания символьных переменных используют слово char и они занимают 1 байт памяти.

var

c:char;

Над символьными переменными допустимы только две операции: присвоение и сравнение.

При сравнении символов сравниваются их коды.

Символьные константы задаются в апострофах:

c:=‘A’;

Фрагмент таблицы ASCII-кодов букв латинского алфавита

A a Коды малых букв от заглавных отличаются на 32.
B b
Z z

 

Фрагмент таблицы ASCII-кодов букв русского алфавита

A B … П а б … п Коды малых букв от заглавных отличаются на 32.
P … Я р … я Коды малых букв от заглавных отличаются на 80.
Е е  

 

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

 

chr(x:byte):char - возвращает символ, соответствующему коду x.

Например:

writeln( chr(65) );

Результат на экране:

заглавная буква A латинского алфавита.

 

ord(c:char):byte

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

Например:

writeln( ord(‘A’) );

Результат на экране:

число 65 – код заглавной буквы A латинского алфавита.

 

upcase (c:char):char –

преобразует малые буквы латинского алфавита в заглавные.

Например:

writeln( upcase(‘a’) );

Результат на экране:

заглавная буква A латинского алфавита.

Если аргументом этой функции окажется не малая буква латинского алфавита, то эта функция никаких действий не выполнит.

 

pred(c:char):char -

возвращает предшествующий символ.

 

Например:

writeln( pred('B') );

Результат на экране:

заглавная буква A латинского алфавита, код которой на 1 меньше кода буквы B.

 

succ(c:char):char -

возвращает последующий символ.

Например:

writeln( succ(‘A’) );

Результат на экране:

заглавная буква B латинского алфавита, код которой на 1 больше кода буквы A.

 

Задача.

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

 

program ASCII;

var

i: byte;

begin

for i:=1 to 255 do

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

end.

 

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

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

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

Program char;

uses

crt;

begin

repeat

ch:= readkey

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

end.

 

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

 

Строковые переменные

 

Строковые переменные используются для хранения любой цепочки символов и занимают 255 байт памяти. Для описания строковых переменных используют служебное слово string.

 

а) var

s:string;

b) var

t:string[20];

По умолчанию под строковую переменную s будет отведено 255 байт памяти (вариант а), а под строковую переменную t будет отведено 20 байт (вариант b).

Строковые константы задаются в апострофах:

S:=’Москва’;

 

Ввод строковых переменных осуществляется с помощью оператора - readln, а вывод - writeln.

var

S:string;

begin

readln(s);

Ввод цепочки символов завершается нажатием Enter. Если количество введенных символов превышает 255, то «хвост» отбрасывается, и в переменную попадают только первые 255 символов.

Над строковыми переменными допустимы три операции: присвоение, сравнение и «слияние».

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

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

строковые переменные можно рассматривать как одномерный массив символов (элементов типа char) и применять к ним функции символьных переменных.

Операция слияния:

d:= 'Москва - столица';

a:= 'России';

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

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.