- •Информатика
- •Введение
- •Алгоритм и программа
- •Интегрированная инструментальная среда turbo pascal 7.0.
- •Начало работы
- •Клавиатура
- •Диалоговые окна
- •Подготовка текста программы Начало работы
- •Ввод текста и внесение изменений в текст программы
- •Компиляция
- •Пробный запуск программы на выполнение
- •Буфер промежуточного хранения
- •Использование справочной системы
- •Сохранение текста программы в файле
- •Отладка программы
- •Завершение работы
- •Алфавит языка
- •Символы, используемые в идентификаторах
- •Разделители
- •Специальные символы
- •Знаки пунктуации
- •Основные типы данных
- •Описание переменных
- •Инструкция присваивания
- •Выражение
- •Тип выражения
- •Выполнение инструкции присваивания
- •Константы
- •Целые константы
- •Вещественные константы
- •Строковые и символьные константы
- •Константные выражения
- •Типизированные константы
- •Стандартные функции
- •Арифметические функции
- •Функции преобразования типа
- •Функции для величин порядкого типа
- •Ввод и вывод информации
- •Инструкции write и writeln
- •Инструкции read и readln
- •Общая структура программы
- •Раздел объявлений и соглашений
- •Заголовок
- •Глобальные директивы компилятора
- •Оператор uses
- •Объявления глобальных меток, констант, типов и переменных
- •Процедуры и функции
- •Заголовок процедуры или функции
- •Объявления локальных меток, констант, типов и переменных
- •Тело процедуры/функции
- •Основной блок программы
- •Управляющие структуры
- •Условие
- •Условный оператор if
- •Условный оператор case
- •Оператор цикла for
- •Оператор цикла repeat
- •Оператор цикла while
- •Оператор безусловного перехода goto
- •Пустой оператор
- •Составной оператор
- •Массивы
- •Объявление массива
- •Некоторые типичные действия с массивами
- •Вывод массива
- •Ввод массива
- •Сортировка массива
- •Сортировка методом прямого выбора
- •Сортировка методом прямого обмена
- •Поиск в массиве
- •Поиск минимального (максимального) элемента массива
- •Операции с матрицами
- •Сложение матриц
- •Транспонирование матрицы
- •Умножение матриц
- •Символы и строки
- •Символы
- •Массив символов
- •Функция length
- •Процедура delete
- •Функция pos
- •Функция copy
- •Процедуры и функции
- •Процедура
- •Функции
- •Параметры-процедуры и параметры-функции.
- •Процедура exit
- •Директивы подпрограмм
- •Директива forward
- •Директивы far и near
- •Директива external
- •Директива assembler
- •Директива inline
- •Директива interupt
- •Рекурсия Понятие рекурсии
- •Пример программы: поиск пути
- •Вывод в файл
- •Объявление файла
- •Назначение файла
- •Инструкции вывода в файл
- •Открытие файла для вывода
- •Ошибки открытия файла
- •Закрытие файла
- •Ввод из файла
- •Открытие файла
- •Чтение из файла
- •Конец файла и конец строки
- •Введение в структурное программирование
- •Рекомендательный библиографический список Основной:
- •Дополнительный:
Процедуры и функции
“Процедура” и “функция“ термины, применяемые в Паскале для обозначения специальным образом оформленной последовательности команд ( подпрограммы). Доступ к такой подпрограмме может быть осуществлен из любого места основного блока исходной программы, а также из любой процедуры или функции, описание которой следует ниже.
Заголовок процедуры или функции
Если в программе используются процедуры и/или функции, то пользователь должен описать их заголовки, указав при этом список используемых ими параметров. Обычно вслед за заголовком процедуры или функция располагается основная часть(тело процедуры или функции). Как и программы, процедуры имеют имена. С помощью параметров можно передавать процедуре различные величины (например значения переменных). Таким образом реализуется возможность вызова одной и той же процедуры с разными данными из разных мест программы.
В списке параметров процедуры объявляются не только их имена, но и типы. Например в следующем объявлении процедуры
PROCEDURE Summa (VAR Sum: INTEGER; VAR X, Y : BYTE) ;
указано наличие трех параметров, причем все они - целочисленные. Одна переменная имеет тип INTEGER и имя Sum, в то время как две других имеют имена X и Y и тип BYTE, определяющий несколько меньший объем области памяти, выделяемый под переменную.
Объявления локальных меток, констант, типов и переменных
Пользователь может объявить внутри процедуры локальные метки, константы, типы данных и переменные. Локально объявленные переменные доступны только внутри той процедуры/функции, где они объявлены, а вне ее считаются недоступными. Это позволяет не заботиться о совпадении имен объектов внутри процедуры/функции и вызывающей ее программы.
Тело процедуры/функции
Тело процедуры/функции играет ту же роль, что и основной блок программы. Оно включает в себя операторы языка Паскаль, которые занимаются обработкой данных, вводом и выводом. Как и тело любой программы, тело процедуры/функции ограничивается зарезервированными словами BEGIN и END. Отличие лишь в том, что вслед за зарезервированным словом END следует не точка, а точка с запятой.
Основной блок программы
Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Тело основного блока программы ограничено операторами BEGIN и END с точкой, которая является признаком конца программы.
Пример. Программа, вычисляющая сумму квадратов двух чисел.
PROGRAM EXAMPL1 ; { заголовок программы }
Var { раздел объявления переменных }
X, Y, Summa, : Real ;
Begin { тело программы}
Write(‘Введите числа X и Y ‘) ; { вывод сообщения на экран }
ReadLn(X, Y) ; { чтение двух чисел }
Summa := Sqr(X) +Sqr( Y ); { вычисление суммы квадратов }
WriteLn(‘Сумма чисел X и Y равна ‘, Summa){вывод результата }
End.
При конструировании программ должно неукоснительно соблюдаться следующее правило: метки, константы, типы и переменные могут использоваться в программе только в том случае, если они были определены выше по тексту.
Управляющие структуры
Алгоритмы решения большинства задач не являются последовательными. Действия (вычисления), которые необходимо выполнить, могут зависеть от определенного условия, например, входных данных, или результатов, полученных во время выполнения программы.