Алгоритмические языки и программирование. Аксенова Л.И - 31 стр.

UptoLike

31
указатель на элемент динамического линейного списка }
Type_Elem= Record { Описание элемента линейного списка }
Info: Type_Info; { Информация о каждом студенте }
Ukaz: Type_ukaz; { Указатель на следующий элемент }
End;
Var { Описание глобальных переменных }
Beg_Spis, St, Sp: Type_Ukaz; { Указатель на начало линейного
списка в динамической области оперативной памяти,
Текущее и предыдущее значение указателя}
Для иллюстрации
действий с данным списком воспользуемся рис. 3.
Info Info Info Info
Beg_Ukaz
Ukaz Ukaz Ukaz NIL
Рис. 3
Процедура ввода данных и формирования линейного списка
Procedure INPUT_AND_FORM_SPIS;
Var { Описание локальных переменных }
F_Input: Text; {Текстовый файл с данными}
Name_F_Input: String; {Имя файла на диске}
i: byte;
Begin
Writeln(’ Введите имя файла с исходными данными’);
Readln(Name_F_Input);
Assign(F_Input,Name_F_Input);
Reset(F_Input);
New(St); { Определения начального адреса (указателя)
             указатель на элемент динамического линейного списка }
       Type_Elem= Record { Описание элемента линейного списка }
            Info: Type_Info; { Информация о каждом студенте }
            Ukaz: Type_ukaz; { Указатель на следующий элемент }
                    End;
     Var                   { Описание глобальных переменных }
      Beg_Spis, St, Sp: Type_Ukaz; { Указатель на начало линейного
               списка в динамической области оперативной памяти,
                     Текущее и предыдущее значение указателя}

  Для иллюстрации действий с данным списком воспользуемся рис. 3.



            Info          Info            Info         Info
Beg_Ukaz
            Ukaz           Ukaz            Ukaz          NIL


                           Рис. 3



      Процедура ввода данных и формирования линейного списка

   Procedure INPUT_AND_FORM_SPIS;
    Var { Описание локальных переменных }
       F_Input: Text;      {Текстовый файл с данными}
      Name_F_Input: String; {Имя файла на диске}
       i: byte;
    Begin
           Writeln(’ Введите имя файла с исходными данными’);
           Readln(Name_F_Input);
           Assign(F_Input,Name_F_Input);
           Reset(F_Input);
         New(St);     { Определения начального адреса (указателя)


                                    31