русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Описание типа Char и стандартные функции


Дата добавления: 2014-11-27; просмотров: 1310; Нарушение авторских прав


Пример 3.1.
Демонстрация стандартных функций для работы с типом Char

Program Letterl;
var
N: Integer;
X: Char;
begin
X:='L': { В символьную переменную X записали символ ' L' }
writeln(X);
N:=0rd (X); { Функция Ord, возвращает код символа.
занесенного в переменную X, то есть код буквы ‘L' }
writeln(N);
X: =' А';
writeln(X);
X:=Chr (N); { Функция.Chr возвращает символ
по заданному коду. Сейчас в переменной X оказался символ ' L’ — именно его код мы . только что записали в переменную N }
writeln(X);
readln
end.

 

При выполнении программа выведет на экран следующее:

L
76
А
L

 

Пример 3.2. Ввод символов с клавиатуры

Program Letter2;
var
X,Y: Char;
begin
writeln('Введите несколько символов:');
readln(X);
writeln(X);
writeln('Введите еще несколько символов:');
readln(X,Y);
writeln(X,Y);
readln end.

 

Запустив программу на выполнение, введите с клавиатуры последовательность символов (например, ABC) и нажмите Enter. Программа выведет единственный символ: А

В ответ на второе предложение введите с клавиатуры CAT. На экране получим следующее:
СА

ЗАМЕЧАНИЕ
Переменная типа Char принимает только один символ из введенной строки. При вводе символы не заключаются в апострофы. Таким образом, в первом случае из введенных символов запомнился только один, во втором — два.

Можно определять и символьные константы:
const Leto='X';

Тип Char — порядковый тип!

В таблице кодов вы могли заметить такую закономерность:
'0'<’1’< '2'< '3'< ...< '9'<... <'А'< 'В'< 'С'< ...< 'X' < 'Y' < 'Z’... (коды символов упорядочены).

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



 

Пример 3.3.
Стандартные функции, применяемые к порядковому типу

Program Letter3;
var
Х1,Х2,ХЗ,Х4:Char;
begin
X1: ='L';
writeln(Xl) ;
X2:=Pred (X1); { Функция Pred возвращает предшествующий элемент относительно значения переменной X1 }
writeln('Pred=',X2);
X3:=Succ (X1); { Функция Succ возвращает последующий элемент относительно значения переменной X1 }
writeln('Succ=',ХЗ);
readln
end.

 

При выполнении программа выведет на экран следующее:

L
Pred=K
Succ=M

 

Задание3.1.
Напишите программу расшифровки 4-буквенного однословного сообщения. Для получения 4 букв нужно ввести 3 строки:

- из первой строки прочесть только первую букву;
- из второй строки прочесть только первую букву;
- из третьей строки прочесть первую и вторую буквы.

Далее расшифровать полученные четыре буквы по такому алгоритму: вместо первой и третьей букв подставить соответственно буквы, отстоящие от них по алфавиту на две буквы назад, а вторую и четвертую буквы оставить без изменения.

Для проверки возьмите пример, приведенный ниже.

Ввод:

FINISHED
OR
PENDING?

На выводе должно быть слово DONE.

Задание 3.2.
Известно, что коды прописных (заглавных) букв латинского алфавита следуют в таблице непрерывно друг за другом. Коды строчных букв латиницы также следуют непрерывно друг за другом на расстоянии 32 символов от прописных (ниже по таблице).
Если ord('A') = 65, то ord('A')+32 = 97, и это код строчной буквы «а», то есть chr(ord('A')+32) = 'а'.
Напишите программу, в которой вы вводите прописную букву (только латиницу!), а получаете ее строчной эквивалент, и наоборот, по строчной букве получаете соответствующую прописную.

 

ЗАМЕЧАНИЕ

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

 

Выводы

1. Все символы хранятся в компьютере в виде кодов.
2. Обычно для кодирования символов применяется таблица ASCII.
3. Каждому символу соответствует свой код.
4. Для преобразования символов в коды и обратно применяют функции ord и chr.
5. Тип Char является порядковым типом.
6. Коды буквы латинского алфавита идут последовательно.
7. Русские буквы хранятся в таблице символов ASCII с разрывом в последовательности кодов.
8. Для получения следующего и предыдущего символов используют соответственно функции succ и pred.

 

Контрольные вопросы

1. Сколько всего различных символов кодируется таблицей ASCII?
2. Какой объем памяти требуется для кодирования одного символа? А 15 символов?
3. Какой тип данных в Паскале предназначен для хранения символьной информации? Сколько символов можно поместить в одну переменную этого типа?
4. Какой код у буквы «F»? Какой символ кодируется кодом 87?
5. В программе определены 3 переменные (a,b,c:char;). В ответ на инструкцию readln(b,а,с); пользователь ввел текст Леша. В каком месте памяти оказалась каждая из введенных букв?
6. Каков будет результат выполнения инструкции c:=succ(pred(succ('D')))?
7. Какое значение получит переменная i в операторе i := pred(ord('F’) - 2)?

Необходим еще один тип — логический!

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

- если условие выполняется, то результатом будет «истина»,
- если условие не выполняется, то результатом будет «ложь».

Например, утверждение «4 > 3» является истинным, а утверждение «2 > 3» — ложным.
Такие выражения называются булевскими (по имени английского математика Джорджа Буля).
Область математики, которая изучает действия с булевскими выражениями, называется булевской алгеброй или алгеброй логики.

 



<== предыдущая лекция | следующая лекция ==>
Учимся работать с символами | Логические (булевские) операции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.