- •Часть I
- •Лекция №1 Тема: «Элементы языка»
- •1. Среда программирования Турбо Паскаль.
- •2. Алфавит и словарь языка Турбо Паскаль.
- •Слова в Турбо Паскаль.
- •Идентификаторы.
- •Раздел подключаемых библиотечных модулей
- •Раздел описания меток.
- •Константы и переменные
- •Структура программ
- •Var {описание раздела переменных}
- •Раздел описания констант
- •Раздел описания типов данных
- •Раздел описания переменных
- •Var {описание раздела переменных}
- •Раздел описания процедур и функций
- •Раздел операторов
- •Лекция №2. Тема: «Типы данных»
- •Простые типы:
- •Структурированные типы:
- •Процедурные типы. Целые типы
- •Вещественные типы
- •Логический тип
- •Символьный тип (литерный)
- •Пользовательские типы данных.
- •Перечисляемый тип
- •Интервальный тип (диапазон)
- •Совместимость типов данных
- •Структурированные типы данных
- •Лекция №3 Тема: «Операторы языка»
- •1. Простые операторы
- •2. Структурные операторы
- •1. Простые операторы
- •1.2 Оператор безусловного перехода (go to)
- •2.2. Условные операторы
- •2.2.1. Оператор условия if.
- •2.2.2.Оператор выбора case
- •2.3.1.Оператор while.
- •2.3.2. Оператор повтора. Оператор цикла с последующим условием.
- •Лекция №4. Тема: «Массивы»
- •Алгоритм сортировки
- •Сортировка выбором
- •Сортировка обменом (методом "пузырька")
- •Шейкерная перестановка
- •Сортировка включением
- •Сортировка Хоара
- •Лекция № 5. Тема: «Процедуры и функции»
- •Параметры-значения
- •Параметры-переменные
- •Параметры-константы
- •Открытые параметры - массивы.
- •Бестиповые параметры.
- •Процедурные типы
- •Рекурсия
- •Лекция №6. Тема: «Модули»
- •Модуль crt (основные возможности)
Логический тип
Переменные логического типа Boolean занимают в памяти один байт и могут принимать одно из двух значений False - ложное или True - истинное. Этот тип является порядковым (Ord (False) = 0, Ord (True) = 1) и, следовательно, упорядоченным. Результат любых операций сравнения имеет логический тип и может быть присвоен логической переменной. Для операндов типа boolean определены следующие логические операции: NOT - отрицание (превращает false в true, а true в false), AND - логическое умножение "и", OR – логическое сложение "или", XOR - исключающее или (true, если операнды разные).
Логическое сложение дает истинный результат, если хотя бы одна из логических величин (А или В) имеет истинное значение. Если обе величины (А и В) имеют ложное значение, то и результат операции будет ложным.
Логическое умножение дает истинный результат только в том случае, если обе величины истинны. Если хотя бы одна из величин ложна, то результат также будет ложным.
Логическое отрицание дает ложный результат, если величина имеет истинное значение, и наоборот.
Логический тип определяется таким образом, что FALSE< TRUE.
Символьный тип (литерный)
Данные символьного типа позволяют представлять в программах тексты и производить над ними некоторые редакционные операции, например исправлять орфографические ошибки, вставлять и удалять отдельные буквы и слова. Кроме того, они дают возможность обрабатывать различные ведомости, документы, справочники и т.д.
Символьный тип Char также называют литерным. Он позволяет работать с символами, которые записываются двумя способами: в одинарных кавычках или по их коду, например 'a', 'B', '*' или, что то же самое, #97, #130, #42. В отличие от текста программы на Паскале, символы, соответствующие строчным и заглавным буквам различаются. Множество значений типа Char представляет собой полный набор ASCII - символов (американская стандартная кодировка). В компьютере хранятся шестнадцатеричные коды символов (1 байт), которые и используются в операциях отношения (сравнения). Функция Ord выдает код соответствующего символа, который может быть от 0 до 255. Обратной функцией, которая по коду выдает соответствующий символ, является функция Chr.
Пользовательские типы данных.
В Турбо Паскале предусмотрен механизм создания новых типов, которые принято называть пользовательскими или конструируемыми. Их можно создавать на основе стандартных и ранее созданных типов. Описание новых типов происходит в разделе TYPE. После этого можно в разделе Var создавать переменные этих типов. Можно сразу описывать новый тип при создании переменной в разделе Var. Рассмотрим следующие пользовательские типы:
перечисляемый тип,
интервальный тип.
Перечисляемый тип
Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение должно являться идентификатором и располагаться в круглых скобках через запятую. Количество элементов в перечислении не более 65536. Вводить и выводить переменные перечисляемого типа запрещено. Перечислимый тип является порядковым, поэтому к переменным такого типа можно применять функции Ord, Pred, Succ.
Функция Ord возвращает порядковый номер значения, начиная с нуля. Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки. Первая константа имеет порядковый номер нуль, вторая — 1 и т.д.
Формат :
Type
<имя типа> = (значение1, значение2, . . . , значение n>);
var
<Идентификатор,...>: <имя типа>;
Пример,
type
Gaz = (Ge, С, О, N);
Metall = (Na, K, Li, Cu, Zn);
var
Gl, G2, G3: Gaz;
Metl, Met2: Metall;
Season: (Winter, Spring, Summer, Autumn);
В данном примере приведены два явно описанных типа данных пользователя Gaz и Metall. Определены их значения - обозначения некоторых газов и металлов -периодической таблицы Д.И.Менделеева. Переменные Gl, G2, G3 и Metl, могут принимать только одно из перечисленных значений. Попытка присвоить любое другое значение вызовет программное прерывание. Третий тип перечисления анонимный (не имеет имени) и задается перечислением значений в разделе vаг. Переменной этого типа является Season и может принимать значения Winter, Spring, Summer и Autumn. Таким образом может быть задан любой тип, но это не приемлемо, так как первый способ более понятен и больше соответствует характеру языка Паскаль. При этом имена внутри круглых скобок являются константами соответствующего типа перечисления и подчиняются обычным правилам констант. Выражения и константы перечисляемого типа допустимы для использования в операторе CASE. Операции отношения и логические операции допустимы для значений перечисления одного и того же типа. Упорядочение осуществляется по номеру элемента в описании типа. Например, будет истинно выражение Winter < Spring, так как Spring имеет больший номер по порядку в описании чем Winter.
В отличие от данных других типов Паскаль не поддерживает операции ввода–вывода значений пользовательского перечисляемого типа. При необходимости программист сам должен организовать ввод-вывод таких данных.
Для работы с данными перечисляемого типа в языке Паскаль предназначены стандартные подпрограммы Succ, Pred, Ord.
Следует отметить, что стандартные типы byte, word, char и boolean также можно считать вариантами перечислимого типа.
