- •Внимание! Серым цветом выделен необязательный материал! Глава «Введение» - также для общего развития.
- •Курс лекций по программированию на языке Pascal Содержание курса
- •Введение
- •Программное управление компьютером
- •Этапы разработки программного обеспечения. Языки программирования.
- •Языки программирования
- •Трансляция
- •Алгоритмы и структурное программирование
- •Основные структуры алгоритмов. Понятие о структурном подходе к разработке алгоритмов
- •Методы разработки программного обеспечения
- •Структуры данных
- •Сортировка
- •Стратегии распределения памяти
- •Объектно-ориентированное программирование
- •Базовые элементы языка тurbo рascal
- •Алфавит
- •Константы и переменные
- •Выражения и операции
- •Структура программы
- •Типы данных языка тр
- •Простые типы
- •Целые типы
- •Логический тип
- •Символьный тип
- •Перечисляемый тип
- •Вещественный тип
- •Математические функции
- •Математические процедуры
- •Структурированные типы
- •Массивы
- •Множества
- •Процедуры преобразования
- •Совместимость и преобразование типов
- •Управляюшие структуры языка turbo pascal Операторы
- •Простой и составной оператор
- •Условный оператор
- •Оператор множественного выбора
- •Оператор цикла "пока" (с предусловием)
- •Оператор цикла "до" (с постусловием)
- •Оператор цикла с параметром (цикл по счетчику)
- •Оператор безусловного перехода
- •Процедуры и функции
- •Особенности функций
Логический тип
Значениями переменных логического типа может быть либо TRUE, либо FALSE (это по сути логические константы). Требуется 1 байт памяти. С логическими переменными связаны рассмотренные ранее логические операции. Широко применяются в условных операторах языка. Обозначение Var X:Boolean; (ORD(false) = 0; ORD(true) = 1).
Символьный тип
Значениями переменных символьного типа является множество всех символов ПК. Каждому символу приписывается целое число (код) в диапазоне 0...255 (оно возвращается функцией ORD) - всего 8 бит (1 байт).
Для кодировки используется код ASCII (American Standard Code of Information Interchange). Это 7-битный код, с его помощью кодируются буквы латинского алфавита, знаки препинания и служебные символы (можно закодировать лишь 128 символов в диапазоне 0...127). Символы с номерами 128...255 отводятся под национальный алфавит и могут меняться для разных компьютеров. Наибольшее распространение в России получила т.н. альтернативная кодировка (альтернативная ГОСТу), в которой символы псевдографики расположены на тех же места как в кодировке IBM (символы 176-223) (в кодировке IBM вместо русских букв расширение латинского алфавита для западноевропейских языков). Формат: Var X:Char; К типу Char применимы операции отношения, а также встроенные функции:
CHR(X) (обратная ORD) - преобразует выражение Х:Byte в символ и возвращает этот символ;
UPCASE(X) - возвращает прописную букву, если Х - строчная латинская буква, в противном случае (например, если Х - русская буква) возвращает сам символ Х.
В программе значения переменных (как и констант) символьного типа должны быть заключены в апострофы (например, Х := ‘ф’). Кроме того, допускается использование записи символа путем указания его кода, которому предшествует символ # (операция присваивания Х := #228 аналогична предыдущей).
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. В качестве значения д.б. использован любой идентификатор, он располагается в списке, обрамленном круглыми скобками. Например,
Type
colors = (red,white,blue);
Var
Color1,Color2 : colors;
или иначе
Var
Color3 : (red,white,blue);
Переменные Сolor1,Color2,Color3 могут принимать только одно из трех перечисленных значений. Имена внутри круглых скобок являются константами. Паскаль не поддерживает операции ввода-вывода значений перечисляемого типа. Значения перечисляемого типа должны иметь синтаксис идентификаторов, поэтому не допускаются использование цифр, строк, служебных символов. Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений (которые возвращаются функцией ORD) устанавливается следующим образом: первое значение в списке получает номер 0, второе – 1 и т.д. Максимальная мощность перечисляемого типа составляет 65536 значений.
Тип-диапазон
Тип-диапазон, также называемый ограниченным типом, есть подмножество некоторого базового типа (рассмотренных ранее), в качестве которого может выступать любой порядковый тип, кроме самого типа-диапазона.
Тип-диапазон задается границами своих значений внутри базового типа. Например,
Type
digit1 = ‘1’..’9’; (базовый тип – Сhar)
digit2 = 1..9; (базовый тип – целый)
или
Var
LatChr : ‘A’..’Z’;
Левая граница не должна превышать правую границу. Два символа .. рассматриваются как один, поэтому между ними недопустимы пробелы.
В библиотеке ТР есть две функции, поддерживающие работу с типами-диапазонами:
HIGH(X) – возвращает максимальное значение типа-диапазона (для digit2 – это 9);
LOW(X) – возвращает минимальное значение (digit2 – 1).
