
- •4. Составной Оператор. Понятия функции и процедуры. Пользовательский интерфейс, Структура программ на языке Паскаль
- •4.1. Составной оператор, понятия функции и процедуры в языке Паскаль
- •4.2. Понятие интерфейса пользователя. Средства создания текстового пользовательского интерфейса в Паскале
- •4.3. Реализация базовых функций интерфейса по вводу и выводу данных в Паскале
- •4.4. Использование библиотеки crt для создания текстового пользовательского интерфейса
- •Рассмотрим выполнение отдельных функций по работе с текстовым экраном при помощи подпрограмм из библиотеки crt.
- •Процедуры работы со звуком.
- •Процедура ожидания.
- •4.5. Общая структура программы на Паскале. Комментарии
- •4.6. Содержание подразделов в разделе описаний
- •4.7. Простейшие программы на языке Паскаль для обработки данных простых типов. Основная задача программы и ее интерфейс
- •III. Тело алгоритма.
- •5. ОРганизация ветвлений
- •5.1. Полный и сокращенный оператор if
- •If условие then оператор 1 else оператор 2;
- •If условие then оператор 1;
- •5.2. Полный и сокращенный оператор case
- •5.3. Оператор безусловного перехода goto. Пример программы с использованием ветвления
- •Календарный план семинаров (18 семинаров - 36 час)
- •Указатели в Паскале. Динамическая память на языке Паскаль
- •Ссылочные типы. Указатели в Паскале
- •Операции с указателями
- •Процедуры и функции для работы с указателями и адресами в Паскале
Календарный план семинаров (18 семинаров - 36 час)
1.Постановка задачи. Понятие алгоритма. Типы алгоритмов. Способы задания и исполнение алгоритма. (4 час)
2. Структурное программирование. Язык программирования Турбо Паскаль. Единая интегрированная среда разработчика Turbo Pascal 7.0, структура ее диалогового окна и основные команды. Использование библиотек в языке Турбо Паскаль. Структура программы на языке Турбо Паскаль. Операторы языка Турбо-Паскаль. Операторы ввода-вывода данных. Форматированный вывод. Оператор присваивания. (6 час)
3. Условный оператор. Организция ветвлений в программах на языке Турбо Паскаль. Оператор перехода. Метка. Составной оператор. Оператор выбора (варианта). (6 час)
4. Циклические программы. Арифметический цикл. Итерационные циклы. Цикл с предусловием. Цикл с постусловием. Вложенные циклы. (6 час)
5. Структурированный тип данных. Массивы – одномерные и двухмерные. Стандартные операции с массивами. (6 час)
6. Процедуры и функции в языке Турбо Паскаль. Математические и логические операции, выражения. Входные и выходные, формальные и фактические параметры. Локальные и глобальные идентификаторы. (8 час)
Указатели в Паскале. Динамическая память на языке Паскаль
В ТР имена объектов (переменных и др.) д. б. определены до момента использования их в программе. Как отмечалось ранее, ОП персонального компьютера имеет сегментную структуру. Адрес – совокупность двух 16-ти разрядных слов - сегмента и смещения. (Например: $0060:$01А0). Сегмент - участок памяти, имеющий максимальную длину 64К (65536 байт). Начальный адрес каждого сегмента кратен 16 (т.е. 0, 16, 32, и т.д.), следовательно, два сегмента отстоят друг от друга, по крайней мере, на 16 байт. Сегменты адресуют память с точностью до параграфа. Параграф – фрагмент памяти равный 16 байт. Смещение – линейная адресация в сегменте. Она также имеет 16-ти разрядные адреса и адресует память с точностью до байта. При этом глобальные переменные и типизированные константы размещаются в сегменте данных. Такие переменные называются статическими, а память, выделяемая компилятором для их хранения называется статической памятью.
Локальные переменные размещаются в памяти динамически при активизации подпрограммы. После выполнения подпрограммы память освобождается.
Память, которая выделяется под локальные переменные, называется сегментом стека. Она задается директивой {$M<размер памяти>}. Минимальный размер памяти 1К, максимальный 64К, по умолчанию 16к.
В ТР существует возможность создавать новые переменные в момент работы программы или уничтожать их в соответствие с требованиями задачи. Такие переменные называются динамическими.
Для динамических переменных отводится динамическая память, которая имеет стековую структуру и называется «кучей» (хипом – Heap-куча). Размер хипа задается директивой {$M<размер памяти>}.
Доступ к статическим переменным осуществляется через их имена. Доступ к динамическим переменным осуществляется через указатель на место их расположения в памяти. Многие практические задачи трудно или невозможно решить без использования динамической памяти. Например, обработки массивов больших объемов (более 65536 байт).