Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Приклади програм з використанням вказівників




Приклад 1:

скласти програму обчислення функції

 

Var X, Y, Z, F: ^Real;

Begin

Write(‘Введіть Y, Z:’);

New(Y);

New(Z);

ReadLn(Y^,Z^);

Write(‘Введіть X:’);

New(X);

ReadLn(X^);

New(F);

IF (X^^) THEN F^:=SQR(X^)+EXP(Z^)/COS(Y^)

ELSE F^:=SIN(X^)+COS(Z^);

Dispose(X);

Dispose(Y);

Dispose(Z);

WriteLn(‘Значення F=’,F);

Dispose(F);

End.

 

Приклад 2:

Згенерувати масив випадкових чисел. Розмістити масив в динамічній пам'яті, знайти суму елементів і видалити його з пам'яті.

 

Program Dinmas;

Uses CRT;

Const

k1=100;

k2=2*k1+1;

Type

Item = Real;

DinArr = array[1..$FFF0 div SizeOf(Item)] of Item;

DinPrt = ^DinArr;

Var

Arr: DinPrt;

I,N: Word;

S:Real;

f:real;

{$R-}

Begin

ClrScr;

Randomize;

Writeln("Введіть кількість елементів масиву N:");

Readln(N);

 

GetMem(Arr,N*SizeOf(Item)); {N*SizeOf(Item)-розмір необхідної пам'яті }

Writeln("Введіть масив X(N):");

For i:=1 to N do

begin

f:=random(k2);

Arr^[i]:=k1-f; { Read(Arr^[i]);};

Write(Arr^[i]:4:2," ":2)

End;

Writeln;

S:=0;

For i:=1 to N do S:=S+Arr^[i];

Writeln(^G"Результат:",^J^^M,G"Сума=",S);

FreeMem(Arr,N*SizeOf(Item));

Repeat Until KeyPressed

End.

 

Приклад 3:

Згенерувати випадковим чином матрицю. Розмістити матрицю в динамічній пам'яті, знайти суму елементів і видалити її з пам'яті.

Program Dinmas;

Uses CRT;

Type

Item = Real;

DinArr=array[1..$Ff div sizeof(item),1..$ff div sizeof(item)] of Item;

DinPrt = ^DinArr;

Var

Arr: DinPrt;

k,j,l,I,N: Word;

S:Real;

{$R-}

Begin

ClrScr;

randomize;

Writeln("Введіть кількість рядків масиву N:"); Readln(i);

Writeln("Введіть кількість стовпчиків масиву N:"); readln (j);

n:=i*j; {N*SizeOf(Item)-розмір необхідної пам'яті }

 

GetMem(Arr,N*SizeOf(Item));

{ Writeln("Уведіть масив X(N):");}

For k:=1 i do to

for l:=1 to j do Arr^[k,l]:=random (2000);

 

S:=0;

For k:=1 i do to

for l:=1 to j do S:=S+Arr^[k,l];

Writeln(^G"Результат:",^J^^M,G"Сума=",S);

FreeMem(Arr,N*SizeOf(Item));

Repeat Until KeyPressed

End.

 

 

Приклад 4:

Розмістити запис у динамічній пам'яті, потім видалити його з пам'яті.

Program pointer1;

Uses crt;

Type

FriendRec = Record

Name: string[30];

Age: Byte;

End;

FrPtr = ^FriendRec;

Var

p: FrPtr;

Begin

ClrScr;

GetMem(p, SizeOf(FriendRec)); {Виділення пам'яті в купі}

Write("Введіть ім'я: "); Readln (^p.Name);

Write("Введіть вік: "); Readln (^p.Age);

Writeln;

Writeln("Пам'ять для запису про імені і віці розподілена в купі.");

Writeln;

Writeln("Ім'я:",^p.Name);

Writeln("Вік",^p.Age);

Writeln;

FreeMem(p, SizeOf(FriendRec)); {Звільнення пам'яті}

Writeln("Пам'ять, займана записом про імені і віці звільнена.");

Repeat until KeyPressed;

End.

 

 




Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 305; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.075 сек.