Символьный тип переменных
Вычислительные машины имеют дело не только с числами. Едва ли не больше времени
они бывают заняты обработкой текста. В Паскале для этого есть специальный тип
данных, который называется CHAR (от слова character - символ).
12.1.Тип CHAR (символьный или строковый или литерный).
Его значениями являются отдельные символы: буквы, цифры, знаки.
Символьные константы заключаются в кавычки, например, 'A', 'B', 'C', '4', '7',
' '(пробел).
Символьные переменные описываются предложением:
Var имя переменной: char;
Символьные значения можно вводить и выводить, присваивать, сравнивать.
Ниже приведен пример, где выполняются все эти действия.
Var x,y:char;
Begin
Write('Введите символ');
Readln(x);
Y:='A';
If x<y then write ('X') else write ('y');
{на экран буде выдан символ хранящийся в переменной
Х или Y в зависимости от проверки условия}
Readln;
End.
Сравнивать символы можно благодаря тому, что в машинной памяти они
хранятся в виде целых чисел (кодов символов). Из двух символов большим
считается тот, код которого больше. Символы упорядочены следующим образом:
'A'<'B'<...<'Z'
'a'<'b'<...<'z'
'0'<'1'<...<'9'
'а'<'б'<...<'я'
'А'<'Б'<...<'Я'
Для символов допустимы все шесть операций сравнения: =,
<=,>=,<,>,<>.
12.2.Стандартные символьные функции.
В Паскале имеются стандартные символьные функции:
CHR(N) - возвращает в программу символ с кодом N,
ORD(S) - возвращает код символа S,
PRED(S) -возвращает предыдущий символ
SUCC(S) - возвращает следующий символ
Примеры:
CHR(128) = Б
ORD(':') = 58
PRED('Б') = А
SUCC('Г') = Д
Каждый символ имеет свой уникальный двоичный код. Коды всех символов
сведены в таблицу. Первая половина таблицы стала международным стандартом,
который называется ASCII - American Standard Code Information Interchange (
читается "аски код") в ней кроме прочего содержится латинский
алфавит, вторая имеет разные варианты для разных языков. Кириллица (русский
алфавит) имеет несколько стандартов. В Паскале используется стандарт КОИ-8.
Пример использования переменной символьного типа.
Составить программу, по которой компьютер многократно вычисляет сумму
А+В при различных значениях А и В. в конце каждого этапа появляется запрос о
продолжении или прекращении вычислений: "Завершить программу?(Д/Н)".
Var A,B:real; { PROGRAM имя; не обязательное предложение}
C : char;
Begin
repeat
Write('Введите два числа'); Readln(a,b);
Writeln(a+b:0:2);
Writeln('Завершить программу?(Д/Н)');
Readln(с);
Until с='Д'; {программа завершит работу если будет введено Д}
Readln
End.
Тренировочные задания.
1. Что вернет функция CHR(ORD(X))?
2. Определить значения следующих функций (как правило таблица аски кодов есть в
любом справочнике по программированию):
CHR(68)
ORD('d')
PRED(1)
SUCC('Я')
3. С клавиатуры вводится два числа. Составить программу сравнивающую эти числа
и в зависимости от результата сравнения выводящую на экран нужный знак.
Например: 3<5 или 3=3 или 3>2. Процедуру WRITE для вывода результата
разрешается использовать только один раз.
4. Составить программу, по которой компьютер находит произведение нечетных
чисел, начиная с единицы, и до тех пор, пока на вопрос, задаваемый после
каждого шага вычислений: "Продолжить вычисления? (Д/Н)", отвечают
'Д'.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.