Работа с динамической памятью и указателями в системе Turbo Pascal. Мирецкий И.Ю - 17 стр.

UptoLike

Составители: 

'd' : begin
writeln('введите Ф.И.О. пациента');
readln(name);
delpat(name); {элемент удаляется из очереди}
end;
's' : showqueue; {демонстрация очереди}
'e' : release(p); {освобождение памяти}
end;
until o='e';
repeat until keypressed
end.
14.
Контрольные вопросы
и варианты индивидуальных заданий
Пусть задано описание
type ss=^integer;
d=record a:boolean; b,c:^real end;
var p,q:ss;
r:^d;
e:^char;
Ответьте на следующие вопросы.
1. Что обозначают p, q^?
2. Каковы типы p, q^?
3.Что будет выдано на печать в результате выполнения следующих операторов?
p^:=5;
q^:=4;
p^:=q^;
if p=q then p:=nil else if p^=q^ then q:=p;
if p=q then q^:=6;
writeln(p^);
4. Какой будет структура переменной r после выполнения трех первых операторов и какой станет
после выполнения трех последних?
r^.a:=false;
r^.b^:=15;
r^.c:=nil
if r^.b<>nil then r^.c:=r^.b;
r^.b^:=r^.c^-1.1;
r^.a:=r^.c=r^.b;
Структуры нарисуйте.
5. Какие
из следующих операторов некорректны?
p:=q; q:=r; r:=nil; p:=nil; q:=p^; p^:nil; r^:=p^; q^:=ord(r^);
if r<>nil then r^:=nil^; if p>nil then q^:=p^; if p=q then write(q);
if p<>q then write(q^);
14. Индивидуальные задания
Выполните индивидуальные задания в соответствии со своим вариантом.
Задание 1
Произвольный текст T1, хранящийся на диске, разместить в динамической памяти в виде Т2, разбив
Т1 на строки длины d и создав массив размера n cсылок на эти строки (n и d не зависят от размера Т1
и
       'd' : begin
                                      writeln('введите Ф.И.О. пациента');
                       readln(name);
                       delpat(name); {элемент удаляется из очереди}
                end;
       's' : showqueue;               {демонстрация очереди}
       'e' : release(p);              {освобождение памяти}
       end;
   until o='e';

   repeat until keypressed
end.


                                         14. Контрольные вопросы
                                    и варианты индивидуальных заданий

Пусть задано описание
type ss=^integer;
         d=record a:boolean; b,c:^real end;
var p,q:ss;
       r:^d;
       e:^char;

Ответьте на следующие вопросы.
      1. Что обозначают p, q^?
      2. Каковы типы p, q^?
     3.Что будет выдано на печать в результате выполнения следующих операторов?
        p^:=5;
        q^:=4;
        p^:=q^;
        if p=q then p:=nil else if p^=q^ then q:=p;
        if p=q then q^:=6;
        writeln(p^);
        4. Какой будет структура переменной r после выполнения трех первых операторов и какой станет
после выполнения трех последних?
        r^.a:=false;
        r^.b^:=15;
        r^.c:=nil

         if r^.b<>nil then r^.c:=r^.b;
         r^.b^:=r^.c^-1.1;
         r^.a:=r^.c=r^.b;
Структуры нарисуйте.
         5. Какие из следующих операторов некорректны?
         p:=q; q:=r; r:=nil; p:=nil; q:=p^; p^:nil; r^:=p^; q^:=ord(r^);
     if r<>nil then r^:=nil^;         if p>nil then q^:=p^; if p=q then write(q);
         if p<>q then write(q^);


                                  14. Индивидуальные задания
        Выполните индивидуальные задания в соответствии со своим вариантом.

                                                 Задание 1
        Произвольный текст T1, хранящийся на диске, разместить в динамической памяти в виде Т2, разбив
Т1 на строки длины d и создав массив размера n cсылок на эти строки (n и d не зависят от размера Т1 и