Пример 10.1.

Создать динамические структуры типов byte и word, выполнить над ними операцию сложения, после чего освободить память для указанных структур в порядке, обратном выделению. Проект – консольное приложение.

Листинг программы

program prg_10_1;

{$mode objfpc}{$H+}

uses

Classes, SysUtils, RusTrans;

var

p1:^Byte=Nil;                                //Указатели с инициализацией

p2:^Word=Nil;

Result:real;

begin

writeln(Rus(‘Объект p1′));

new(p1);                                      // Выделить ДП под p1

writeln(Rus(‘   Размер p1=’),SizeOf(p1));

writeln(Rus(‘   Размер p1^=’),SizeOf(p1^));

writeln(Rus(‘Объект p2′));

new(p2);                                      // Выделить ДП под p2

writeln(Rus(‘   Размер p2=’),SizeOf(p2));

writeln(Rus(‘   Размер p2^=’),SizeOf(p2^));

writeln;

writeln(Rus(‘Введите операнды’));

write(‘    a=’);

readln(p1^);                                 // Присвоить значение р1

write(‘    b=’);

readln(p2^);                                 // Присвоить значение р2

Result:=p1^+p2^;                          // Операция с р1 и р2}

writeln(‘p1^=’,p1^);

writeln(‘p2^=’,p2^);

writeln(Rus(‘Результат операции = ‘),Result:5:2);

readln;

Dispose(p2);                                // Освободить ДП под р2

p2:=Nil;

Dispose(p1);                                // Освободить ДП под р1

p1:=Nil;

writeln;

write(‘p1=’);

if p1=Nil then writeln(‘Nil’);             // Указатель p2 пуст

write(‘p2=’);

if p2=Nil then writeln(‘Nil’);             // Указатель p2 пуст

readln;

end.

Консоль перед закрытием программы:

TwitterSEO CommunityВаау!News2.ruChippKoricaSMI2Google BookmarksDiggI.uaЗакладки YandexLinkstoreMyscoopCommunizmRu-marksWebmarksRuspaceLinkomaticKli.kzWeb-zakladkaZakladok.netRedditdeliciousMa.gnoliaTechnoratiSlashdotYahoo My WebБобрДобр.ruMemori.rurucity.comМоёМесто.ruMister Wong



Copyright © 2009-2010 Программирование на паскале.