Для экономного использования динамической памяти следует вовремя освобождать память, выделенную для данных, если эти данные больше не нужны для работы программы. Для освобождения памяти используются процедуры Dispose(p) и FreeMem(p,Size).
Процедура Dispose(p) используется для типизированных указателей – освобождает память, на которую указывал p.
Процедура FreeMem(p,Size) используется для нетипизированных указателей – освобождает Size байтов, начиная с адреса p.
Следует помнить, что после освобождения памяти указатели не обнуляются и указывают на несуществующую переменную. Следует после высвобождения памяти всем высвободившимся указателям присваивать значение nil.
Динамические переменные используются, в основном, в двух ситуациях:
для работы с массивами больших или переменных размеров;
для работы с особыми структурами данных переменных размеров – динамическими структурами данных.
Примеры.
Пример 1: Динамический массив.
type mas=array[1..1] of integer;
tmas=^mas;
var m:tmas; n,i,max: integer; size,s:longint;
begin
write('vvedite n:'); readln(n);
size:=n*sizeof(integer);
getmem(m, size);
randomize;
for i:=1 to n do
begin
m^[i]:=random(10);
{ write(m^[i], ' ');}
s:=s+m^[i]
end;
max:=1;
for i:=2 to n do
if m^[i]>=m^[max] then max:=i;
writeln('s=',s);
writeln('max - m[',max,']=',m^[max]);
{ writeln('m[135]=',m^[135],' ','m[1034]=',m^[1034]);}
readln;
freemem(m,size)
end.
11.Использование динамической памяти для обработки больших массивов данных: проблема нехватки памяти, объявление типов данных, выделение памяти, доступ к элементам массива, пример.
12.Формирование и обработка динамических массивов: объявление массива переменной размерности, выделение памяти, доступ к элементам массива, пример.
13Динамические структуры данных: общая характеристика, виды, особенности объявления и обработки.
14.Динамическая структура данных «стек». Особенности создания и обработки. Объявление типов данных в программе. Пример.
15.Динамическая структура данных «очередь». Особенности создания и обработки. Объявление типов данных в программе. Пример.
16.Динамическая структура данных «список». Особенности создания и обработки. Объявление типов данных в программе. Пример.
17.Графические средства системы Турбо-Паскаль: Различия текстового и графического режимов. Основные характеристики графического режима. Инициализация графики.
Принципы работы с видеотерминалом в системе Turbo Pascal 7.0
Видеотерминал в системе TP 7.0 может работать в одном из двух режимов: текстовом и графическом.
Текстовый режим позволяет выводить на экран дисплея только 256 заранее заданных символов.
Графический режим за единицу информации принимает одну светящуюся точку экрана – пиксель. Любое изображение может быть сформировано из набора пикселей, т.е. графический режим позволяет генерировать произвольные изображения путем высвечивания пикселей разными цветами.
Стандартным режимом работы видеотерминала в среде TP 7.0 (режимом работы по умолчанию) является текстовый режим.
2.Текстовый режим.
Единицей информации в текстовом режиме является символ. Для размещения символа на экране отводится прямоугольник размером 8х8 пикселей, называемый знакоместом. Вся плоскость экрана в текстовом режиме развивается на 25 строк по 80 символов в каждой. Начало координат – точка (1,1) – левый верхний угол экрана.
Информация о любом знакоместе (т.е. о любом символе) занимает в видеопамяти 2 байта: 1 – код символа, 2 – цвет символа и фона.
Цвет формируется в результате смешения трех основных цветов – красного, зеленого и синего. Такое смешение дает 8 различных комбинаций для фона и изображения. За счет управления интенсивностью цвета можно получить еще 8 цветов для изображения.
Символ выводится в позицию, где расположен курсор. Средства управления экраном в текстовом режиме находятся в модуле CRT.
Рассмотрим процедуры управления выводом в текстовом режиме:
1) процедура
window (x1,y1,x2,y2);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.