- •Часть 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 (основные возможности)
Интервальный тип (диапазон)
Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона.
Обе константы должны принадлежать одному из стандартных типов (тип real здесь недопустим). Значение первой константы должно быть обязательно меньше значения второй.
Формат :
Type
<имя типа> - <константа1>…<константа2>;
var
<идентификатор,...> : <имя типа>;
Пример:
Type
Days =1 .. 31;
Var
RabDay, BolnOay : Days;
В этом примере переменные RabDay и BolnDay имеют тип Days и могут принимать любые значения из диапазона 1..31. Выход из диапазона вызывает программное прерывание.
Рациональнее определить интервальный тип более универсальным способом, задав границы диапазона не значениями констант, а их именами: const
Min = 1; Max = 31;
Type
Days = Min . . Max;
Var
RabDay, BolnDay : Days;
Совместимость типов данных
Когда в операциях или операторах программы присутствуют данные разных типов, то встает вопрос об их совместимости. В языке Турбо Паскаль разработаны строгие правила, определяющие идентичность, совместимость в общем случае и совместимость по присваиванию различных типов.
Необходимо помнить следующее: переменные или выражения одного типа являются полностью совместимыми.
Другим понятием является совместимость по присваиванию. Присваивание переменной одного типа выражения другого типа, допустимо в том случае, когда множество значений второго типа является подмножеством значений первого.
Например, результат сложения двух целых переменных типа integer и word может присваиваться целой переменной, тип которой только longint, поскольку только этот целый тип содержит в себе весь возможный диапазон значений как для типа integer, так и для типа word. Также, можно присваивать целое выражение вещественной переменной или символьное выражение строке.
Структурированные типы данных
Структурированные типы данных определяют упорядоченную совокупность скалярных переменных и характеризуются типом своих компонентов. В языке Паскаль допускаются следующие структурированные типы данных: строки, массивы, множества, записи, файлы, указатели, процедурные типы и объекты. Все они требуют отдельного рассмотрения.
Контрольные вопросы.
Для чего используется указание типа данных величины? Как описывается тип величины в языке Паскаль?
Приведите полный перечень типов данных в Турбо Паскале с примерами величин каждого типа.
Какие типы данных относят к скалярным типам данных?
Охарактеризуйте целочисленные типы данных: какие они могут принимать значения, в каких операциях могут принимать участие, сколько места занимают в памяти.
Какие типы отношений определены над данными целого типа? Какие стандартные функции определены для целых чисел? Чем отличаются вещественные числа от целых?
Какие функции преобразуют вещественный аргумент в целое число? Чем они отличаются?
Охарактеризуйте символьный тип данных.
Где применяется булевский тип данных, какие он принимает значения, сколько места требуется для его размещения в памяти?
Пользовательские типы данных. Чем они отличаются от стандартных типов данных? Приведите примеры данных перечисляемого и интервального типов.
Что такое структурированные типы данных? Почему от программиста требуется знание и правильное применение понятия тождественности и совместимости типов величин? Каковы признаки тождественности и условия совместимости типов?
