raquo ;; i:=1 to 30-length (famil) do:=famil + raquo ;;;
{Створюємо новий запис і завантажуємо її в пам'ять} (nd [raz]); [raz] ^:=nz; (raz);
{відображає зміну масив записів}
showw (nd, raz); ( Продовжити: y/n ); (key); key= n raquo ;;;.
Модуль виведення інформації з масиву в текстовий файл WRITING
unit writing; crt, types; put= NABOR.dat raquo ;; n: integer;: zap;: file of zap; writingg (nd: mas; raz: integer); writingg; i:integer; (f, put); (f); n:=1 to raz do.kol:=nd[n]^.kol;.shifr:=nd[n]^.shifr;.famil:=nd[n]^.famil;(f,z);(f);(laquo;Записаноraquo;);;.
Модуль коригування полів обраного елемента ELEMZAM
unit elemzam;
{Перерахування використовуваних модулів} crt, mymenu, open, types, show, writing; elem (nom: integer; var nd: mas; var raz: integer); elem (nom: integer; var nd:mas; var raz: integer); a: masmenu;, x, y: byte;
nz: zap;, nm: integer;: char ;;:=1;:=10;:=5;
{Задаємо пункти меню} [1]:= Змінити шифр групи raquo ;; [2]:= Змінити кількість дітей у групі raquo ;; [3]:= Змінити прізвище викладача ;
a [4]: ??= Перегляд даних raquo ;;
a [5]:= Зберегти зміни raquo ;;;
{Виводимо значення редагованої запису} ( Змінювана запис: ); nd [nom] ^ do ( Група - ); (shifr); ( Кількість дітей- ); (kol: 5); ( Вихователь - ); (famil) ;;
{Створюємо меню вибору елемента запису для редагування} (a, nm, x, y, pos); (black); (white) ;; (1,1,80,25); pos of
{Задаємо нове значення шифру групи}
: begin; ( Введіть щіфр групи: ); (nz.shifr); [nom] ^. shifr:=nz.shifr; i:=length (nd [nom] ^.shifr) to 20 do [nom] ^. shifr:=nd [nom] ^. shifr + raquo ;; ( Шифр ??групи змінений ) ;;
{Задаємо нове значення колличества дітей у групі}
: begin; ( Введіть кількість дітей у групі: ); (nz.kol); [nom] ^. kol:=nz.kol; ( Кількість дітей у групі змінено raquo ;) ;;
{Задаємо нове значення прізвища вихователя}
: begin; ( Введіть прізвище вихователя: ); (nz.famil); [nom] ^. famil:=nz.famil; i:=length (nd [nom] ^.famil) to 30 do [nom] ^. famil:=nd [nom] ^. famil + raquo ;; ( Прізвище вихователя змінена ) ;;
{виводить змінений масив записів на екран}
4: begin; (nd, raz) ;;
{Зберігаємо зміни маси записів у файл}
5: begin; (nd, raz) ;;; ( натисніть Esc для виходу або будь-яку клавішу );:=readkey; u=# 27 ;;
Модуль сортування масиву по числовому полю SORTING
unit sorting;
{Перерахування використовуваних модулів} crt, types, show; sort (nd: mas; raz: integer); sort; vsp: zap; i, j: integer;
{Сортування масиву записів}
for i:=1 to raz doj:=i + 1 to raz - 1 dond [j] ^. kol gt; nd [i] ^. kol then:=nd [i] ^; [ i] ^:=nd [j] ^; [j] ^:=vsp ;; ( Відсортовано );
{Відображення результатів сортування}
showw (nd, raz) ;;
Модуль заміни обраного елемента ZAMENA
unit zamena;
{Перерахування використовуваних модулів} crt, types, show; zamen (nom: integer; var nd: mas; var raz: integer); zamen (nom: integer; var nd: mas; var raz: integer); nz: zap; i: integer;
{Заповнення даних для нового запису} nz do ( Введіть щіфр групи: ); (shifr); ( Введіть кількість дітей у групі: ); (kol); ( Введіть прізвище вихователя: ); (famil) ;;;
{Заміна новим записом старої} [nom] ^. kol:=nz.kol; [nom] ^. shifr:=nz.shifr; i:=length (nd [nom] ^. shifr ) to 20 do [nom] ^. shifr:=nd [nom] ^. shifr + raquo ;; [nom] ^. famil:=nz.famil; i:=length (nd [nom] ^. famil) to 30 do [nom] ^. famil:=nd [nom] ^. famil + raquo ;; ( Замінено );
{Відображення результатів заміни}
showw (nd, raz) ;; end.