
- •Var «Имя переменной »:set of «базовый тип » ;
- •Построение множеств :
- •Массив множеств.
- •Операция со множествами .
- •Операция включения и исключения одиночного элемента: реализуется с помощью .
- •Достоинство и недостатки множеств:
- •1 Способ : через определение соответствие типа
- •2 Способ : в разделе описания переменных:
- •Массивы записей
- •Записи со стартовыми значениями .
- •Вложенные записи
- •Оператор присоединения.
- •Вариантные записи .
- •Глобальные и локальные переменные
- •Вызов подпрограмм .
- •Формальные и фактические параметры .
- •Параметры подпрограмм.
- •Параметры – переменные.
- •Параметры –константы.
- •Функции
- •Обособленный вызов функций
- •Вложенные подпрограммы
- •Дальний и ближний вызов подпрограмм . Дальний вызов
- •Ближний вызов.
- •Подпрограмма с не типизированными параметрами .
- •Опережающее описание подпрограмм .
- •Рекурсивные подпрограммы
- •Внешние подпрограммы.
- •Процедуры и функции как параметры подпрограмм .
- •Расположение блоков программы в памяти .
- •Сегментный и адресный типы данных .
- •Динамическое распределение памяти
- •Динамические структуры используются в следующих случаях :
- •Ссылочный тип данных . Работа с адресами.
- •Синтаксис описания переменой ссылочного типа :
- •Основные операции с ссылочными переменными
- •Операция разыменования к указателям типа pointer .
- •Присваивание разыменование ссылок
- •Операция сравнивания
- •Процедуры работы с динамической памятью
- •Выделение блока памяти.
- •Процедура освобождения памяти
- •Выделение блока памяти из кучи
- •Процедура очистки памяти
- •Процедура маркировки адреса динамической памяти.
- •Процедура освобождения памяти
- •Функции анализа свободной памяти в «куче»
- •Управление размерами динамической памяти и размером стека.
- •Предопределенные указатели Администратор дп(кучи) .
- •Особенности при выделение блоков
- •Анализ ресурсов дп при размещение динамических данных.
- •Линейные динамические списки.
- •Определение элемента однонаправленного линейного списка.
- •Организация динамических списков и операции над ними.
- •1.Организация списка типа стек.
- •2.Формирование списка типа очередь(fifo).
- •Добавление элемента
- •Просмотр списка
- •Вставка элемента
- •Удаление узла из существующего списка.
- •Удаление текущего узла списка.
- •Удаление всего списка.
- •Открытие файла на запись (перезапись).
- •Буфер ввода-вывода.
- •Запись данных в файл.
- •Чтение данных из файла(read,readln).
- •Файлы ввода/вывода. Текстовые файлы. Процедуры работы с текстовыми файлами. Запись и чтение в текстовый файл информации различного типа (числовая, строковая). Процедуры работы с текстовым файлами.
- •Запись и чтение символьной информации.
- •Запись и чтение числовой информации
- •Запись и чтение строковой информации.
- •Типизированные файлы.
- •Доступ к компонентам файла осуществляется с помощью следующих процедур:
- •Добавление записи в типизированный файл
- •Удаление записи
- •Другие функции используемые при прямом доступе
- •Не типизированные файлы и операции над ними.
- •Структура модуля .
- •Var «библиотечные переменные »
- •Раздел реализации.
- •Компиляция модулей .
- •Подключение модулей
- •Закольцованность модуля.
Глобальные и локальные переменные
При введение подпрограмм переменные разделяются глобальные и локальные переменные .
Глобальные переменные – объявляются в блоке переменных программы и видны во всей программе .
Локальные переменные – объявляются в блоке переменных подпрограмм и видны в момент выполнения подпрограммы .
Наряду со свойствами локальных переменных процедуры и функции могут модифицировать глобальные переменные . Глобальные переменные должны в этом случае быть описаны выше подпрограмм .При совпадении имен глобальных и локальных переменных (типов , констант ) сильнее по значению локальные переменные (типы, константы) и они будут модифицированы внутри подпрограмм . При одинаковых именных глобальных и локальных переменных могут модифицироваться глобальные переменные : «имя программы ». «имя переменной ».
Вызов подпрограмм .
« Имя »( «фактический параметр 1», «фактический параметр 2», …);
При вызове процедур в стек сохраняются данные переменных процедур JMP «подпрограмма » и переменных переходящих по адресу в подпрограмму ,где выполняется последовательность команд . Последовательно выполняется все вызовы подпрограмм команда возврата IRET извлекает из стека (данные основной программы ) и переходит в основную программу в подстроку команды подпрограммы .
Формальные и фактические параметры .
Функции , параметры , описанные в заголовке при объявление подпрограмм , считывается формальными , а те параметры , которые подставляются на их место при вызове функций , подпрограмм , называется фактическими. При вызове подпрограмм необходимо полное соответствие фактических параметров формальных по типу и порядку следования .
Пример .
Процедуры подсчета суммы элементов ,определение в массивах А и В . Процедуры вывода массива и суммы .
Type
Massiv_1=array[1..5] of byte ;
Const
A:massiv_1 = (1,2,3,4,5);
B:massiv_1 = (5,6,7,8,9);
Var
Sum :word;
I:byte;
Procedure Out_mas (p0:massiv-1);
Var
I:byte;
Begin
For i:=1to 5 do
Write (p0[i]:4);
Writeln;
Writeln(‘Сумма ’, sum:4);
End;
Procedure sum_mas (p1:massiv_1; pi:boolean);
Var
I:byte ;
Begin
Sum :=0;
For i:=1to 5 do
S
Если в процедуре убрать var i:byte; то {5} , так как в процедуре перемещает бы глобальную переменную и цикл прошел , а в глобальную переменную запишется 5
um:=sum +p[i];If p2 =true then
Out_mas(p1);
End;
Begin
I:=20;
Sum_mas (a, true);
Sum_mas(b, false);
Write(i); {20}
End.
Параметры подпрограмм.
Параметры подпрограмм разделяются на параметры - значений , параметры – переменных , параметры – констант , (в предыдущем примере были применены параметры – значения ).