
- •Основные понятия языка программирования паскаль
- •Структурное программирование
- •Основные символы языка
- •Элементы языка
- •Интегрированная среда turbo pascal
- •Структура программы в turbo pascal
- •Определение типов
- •Операторы в программе
- •Операторные скобки
- •Операторы ввода
- •Оператор присваивания
- •Оператор условного перехода
- •Оперетор безусловного перехода
- •Организация циклов
- •Использование операторов условного и безусловного перехода
- •Цикл с параметром
- •Цикл с предусловием - цикл while
- •Цикл с постусловием - цикл repeat
- •Оператор выбора варианта
- •Концепция типов данных
- •Стандартные простые типы Целый тип
- •Операции над данными целого типа:
- •Действительный тип
- •Операции над данными действительного типа:
- •Логический тип
- •Символьный тип
- •Символьные строковые константы
- •Нестандартные простые типы (определяемые пользователем)
- •Перечисляемый тип
- •Ограниченный тип (диапазон, интервал)
- •Процедуры и функции
- •Описание процедур
- •Стандартные процедуры
- •Описание функций
- •Стандартные функции
- •Итерация и рекурсия
- •Побочный эффект рекурсии
- •Предварительное описание (ссылки вперед)
- •Регулярные типы Одномерный массив
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •Многомерные массивы
- •Упакованные массивы
- •Множественные типы
- •Свойства множеств
- •Операции над множествами
- •Комбинированные типы Описание записей и действия с ними
- •Оператор присоединения.
- •Записи с вариантами
- •Типизированная константа
- •Простая типизированная константа
- •Структурированная (сложная) типизированная константа Типизированная константа массива
- •Типизированная константа записи
- •Типизированная константа множества.
- •Преобразование типов
- •Неявные преобразования типов
- •Использование стандартных функций для преобразования
- •Явные преобразования типов
- •Эквивалентность типов
- •Совместимость типов
- •Файловые типы
- •Определение файлового типа
- •Структура файла
- •Имя файла
- •Описание файлового типа
- •Файловая переменная
- •Операции над файлами
- •Типизированные файлы
- •Ссылочные типы (указатели) Статические и динамические переменные
- •Ссылочные типы (указатели)
- •Удаление узла из стека:
- •Человек
- •Человек
- •Вставка
- •Динамические переменные
- •Процедуры создания и удаления динамических переменных
- •Динамические списковые структуры
- •Однонаправленные списки
- •Двунаправленные списки
- •Очереди
- •Деревья
- •Модульная система turbo pascal
- •Uses mod 1, mod 2, mod 3; (подключение трех модулей) Общая структура модуля
- •Использование идентификаторов модуля
- •Использование модуля в программе
- •Компиляция модулей
- •Системный файл turbo.Tpl
- •Стандартные модули
- •Модуль crt
- •Модуль dos
- •Модуль printer
- •Модуль overlay
- •Модуль string
- •Процедуры модуля graph
- •Графические процедуры
- •Координаты. Окна. Страницы
- •Линии и точки
- •Многоугольники
- •Дуги,окружности, эллипсы
Структура программы в turbo pascal
Program <название> - заголовок программы
Label - описание меток
Const - описание констант
Type - описание типов
Var - описание переменных
Procedure - описание процедур
Function – описание функций
Заголовок программы выполняет чисто декоративные функции и служит для удовлетворения эстетических запросов программиста. Заголовок программы компилятором игнорируется.
Раздел “описание” состоит из пяти секций.
Описание меток. Переход по метке выполняется оператором GOTO. Все метки должны быть описаны. Метки могут быть целочисленными от 0 до 9999 или идентификаторами. Каждая описанная метка должна появиться в программе.
Пример. Label X1, Finish, 4444;
Описание констант. Общий вид:
Const идентификатор = выражение (или число).
Пример.Const Limit = 256
M = 25*16;
K = M*Limit - 1
Error = ‘Ошибка’; - символьная константа;
Err1 = Error + ‘Повторите ввод’;
При построении выражений для определения значения констант можно использовать только ранее определенные константы, соединенные знаками операций, и следующие функции:
ABS - абсолютная величина
CHR - символическая переменная типа порядковый номер
HI - старший байт (хай)
LENGTH - длина строковой переменной
LO - младший байт
ORD – порядковый номер
PRED - предыдущее значение
PTR - указатель (пойнтер)
ROUND - округление
SIZEOF - размер переменной
SUCC - следующий
SWAP - перестановка байтов
TRUNC – отбрасывание дробной части числа
Предопределенные константы:
FALSE - истина
TRUE - ложь
MAXINT = 32767
MAXLONGINT = 2147483647
BOOLEAN - логическая переменная
INTEGER - целое
LONGINT - длинное целое
Каждое определение константы вводит свой идентификатор для обозначения некоторого постоянного значения. Идентификатор, использованный для определения константы, можно употреблять при определении последующих констант.
Пример. Const L = 100;
H = -L;
В данном примере сначала определяется идентификатор константы L, который затем используется при определении константы Н.
В качестве констант в языке Паскаль разрешается использовать целые и вещественные значения, а также строки.
Пример. Const PI = 3,14;
STR = ‘-----’;
LENGHT = 80;
Определение типов
Концепция типов является одной из основных в языке Паскаль. С каждым объектом программы связывается один и только один определенный тип. Тип - это множество значений плюс множество операций, которые можно выполнить над этими значениями. Таким образом, приписывая объекту некоторый тип, мы тем самым явно определяем набор значений, которые можно присвоить этому объекту, а также операции, с помощью которых можно манипулировать объектами. Поэтому проверку выполнения требований, накладываемых типом, можно осуществлять статически, т.е. на основании только текста программы без анализа тех конкретных значений, которые задаются объекту. Например, операция сложения определена для вещественных и целых типов, но не определена для логического типа.
Если в тексте программы операция сложения употребляется для операндов логического типа, то это ошибочное использование операции. Многочисленные ошибки, связанные с некорректным использованием тех или иных значений или операций, могут быть обнаружены еще во время компиляции без выполнения программы.
В языке Паскаль говорят, что он строго типизирован. Программист должен описать все объекты, указывая их типы, и использовать объекты только в соответствии с их типами. Эта избыточность, повышающая надежность программы. При компиляции информация о типе используется для представления переменной в памяти ЭВМ и для выбора необходимых команд для выполнения операций над переменными. Например, знак + (плюс) используется в языке Паскаль для сложения целых и вещественных величин, а также для объединения множеств. Возникает многозначная интерпретация этого знака операции, ведь все три указанных действия сложения выполняются компьютером по-разному. Вместе с тем концепция типа позволяет устранить подобную неопределенность на стадии компиляции.
Типы в языке Паскаль определяются в разделе определения типов. Каждое определение типа вводит идентификатор для обозначения некоторого типа. Этот идентификатор может использоваться для определения новых, более сложных типов данных, либо для описания переменных в разделе описания переменных.
Type идентификатор = тип;
идентификатор = тип;
Идентификатор, использованный при определении некоторого типа, может употребляться в последующих определениях типов.
Описание типов.
Общий вид: Type идентификатор = тип;
Пример. TYPE NUMBER = INTEGER;
INDEX = -1...99;
VALUE = - 999...999;
LIST = ARRAY [INDEX] OF VALUE;
COLOR = (RED, GREEN, BLUE);
EXT = REAL;
Описание переменных.
Общий вид: Var - идентификатор, идентификатор: тип
Пример. VAR R1, R2, R3: INTEGER;
V1, V2, X1: REAL;
EGUAL: BOOLEAN;
WORD1: CHAR;