Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 8 Стр.doc
Скачиваний:
2
Добавлен:
02.11.2018
Размер:
128 Кб
Скачать

7

Лекция 8

8.0. Символы и строки

ПК может обрабатывать не только числовую информацию, но и символьную.

Символьная информация может быть представлена:

  • Отдельными символами

  • Строками

8.1. Символы

Для хранения и обработки отдельных символов используются переменные типа AnsiChar и WideChar.

Тип AnsiChar (американский стандарт) представляет собой набор ANSI-символов, в котором каждый символ кодируется 8-разрядным двоичным числом (байтом).

Тип WideChar (международный стандарт) представляет собой набор символов в кодировке Unicode, в котором каждый символ кодируется 16-разрядным двоичным числом (2 байтами).

Для обеспечения совместимости с предыдущими версиями Delphi и Borland Pascal поддерживается тип Char, эквивалентный AnsiChar.

К символам относятся:

  • Буквы русского и латинского алфавитов;

  • Цифры;

  • Знаки препинания;

  • Специальные символы (пробел, <Enter> - ''новая строк'');

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

<Имя переменной>: Char;

Например:

var

sim:char; // Символьная переменная

const

s= 'х'; // Символьная константа

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

Например:

var

C, S :char; // переменные

. . . . . . . .

С:= '*' ; // переменной С присваивается значение *

S := 'a'; // переменной S присваивается значение a

. . . . . . . .

Задача1. Выполняет программу диалога:

program Example1;

uses

SysUtils;

var

s: char;

begin

writeln('Vy hotite nauchitcy programmirovaty?');

readln(s); //Вы хотите научиться программировать?

writeln('Vash otvet:' , s); readln

end.

Рекомендации при решении задач:

  • Каждому символу соответствует число – код символа;

  • Переменную типа Char можно сравнивать с другой переменной типа Char или символьной константой, причем ' 0 ' < ' 1' <…' 9 ' < 'A' < ' B ' <…<' Z ' < ' a ' < ' b ' <… < ' z '

  • Символам русского алфавита соответствуют числа большие, чем символам латинского алфавита, при этом 'A' < ' Б ' <…<' Ю ' <' Я ' < ' a ' < ' б ' <… < ' ю ' < ' я '

  • В тексте программы вместо символа можно указать его код, подставив перед числом #. Обычно этот способ записи используют для служебных символов.

Например: S1:= #13; //образование новой строки (<Enter>)

S2:= #32; //образование «пробела»

вместо константы ‘А’ можно записать #192;

  • В программах обработки символьной информации используют функции Chr() и Ord():

  • Значением функции Chr() является символ, код которого указан в качестве параметра.

Например:

С := Chr(46); // переменной С присвоено значение «точка»

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

Например:

K := Ord (' * '); // переменная K будет содержать число 42 – код символа «*».

Задача2. Написать программу, которая выдает код символа, введенного с клавиатуры.

program Example2;

uses

SysUtils;

var

sim:char;

code:integer;

begin

writeln('Vvedite simvol i nazmite <Enter>');

//Введите символ и нажмите <Enter>

writeln('Dly zavershen program vvedite .');

//Для завершения программы введите .”

repeat

write(' > ');

readln(sim);

code:=Ord(sim);

writeln(' Simvol : ',sim);

writeln(' Code simvola : ',code);

until sim= ' . ';

readln

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]