Pascal. Тип данных char.

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

В языке pacal для этого существует тип данных char, также как переменная типа integer может хранить одно число, так и переменная типа char может хранить один символ.

Давайте рассмотрим какие значения может принимать переменная типа char в программе, на не большом примере:

Program char_;
uses crt;
var alpha: Char;
begin
clrscr;
alpha := 'p';
alpha := '+';
alpha := '2';
alpha := ' ';
readln;
end.

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

Также переменная может принимать значение в виде знаков — +, -, =, и т.д.

В виде цифры — 1, 2, 3, и т.д.

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

И в переменной может содержаться пробел, хотя мы его и не видим на экране, но всё же это есть символ — значение типа char.

Вы можете увидеть все символы во Free Pascal в таблице кодов, перейдя в меню — Tools->Ascii table.

Теперь давайте напишем простую программу, которая запрашивает ввод двух литер, и сравнивает их. Как можно сравить литеры? — просто, каждая литера имеет свой номер, если номер одной литеры больше другой, то первая литера естественно больше:

Program char_;
uses crt;
var a, b: Char;
begin
clrscr;
write('Введите две литеры без пробела - ');
readln(a, b);
write('Первая литера ');
if (a < b) then
  write('меньше второй')
else
  if (a = b) then
    write('равная второй')
  else
    write('больше второй');
readln;
end.

Как Вы уже должны были заметить литеры вводятся не через пробел, так как он тоже считается литерой.

Также для типа char есть специальные функции, а именно:

Succ() - возвращает следующий символ;
Pred() - возвращает предыдущий символ;
Chr() - возвращает значение кода литеры;
Ord() - возвращает значение литеры по коду;

В первом случае функция будет выводить следующий символ, после символа, который мы дадим ей на обработку, во втором случае всё также, только функция будет возвращать предыдущий символ.

Далее идёт функция, которая будет выводить номер литеры данной ей на обработку.

И последняя функция по заданному ей номеру литеры, будет выводить саму литеру.

Вот вроде бы и всё с этим типом.

Рейтинг
( Пока оценок нет )
Загрузка ...