русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


ПРИКЛАД ВИКОНАННЯ ЗАВДАННЯ


Дата додавання: 2014-11-27; переглядів: 773.


Побудувати лінійний список, вивести його на екран та реалізувати процедури додавання елементу у список, виведення елементів списку.

 


Program List_Proc;

Type

Sviaz=^zveno; {Уявлення списка}

Zveno=record {Звено списка}

Elem:integer; {Інформаційна частина }

Sled:sviaz; {Наступний елемент списку}

End;

var

p,t:sviaz;

i:integer;

c:char; n:integer;

procedure Standart; {Повертання до стандартного вікна}

begin

Window(0,0,24,79);

Textbackground(black);

TextColor(white);

Clrscr;

end;

procedure Menu; {Попереджальний опис процедури}

forward;

{Ініціація списку без заглавного звена }

procedure ListInit(var tek:sviaz);

var k:integer;

begin

Standart;

writeln('Spisok iniciirovan.');

tek:=nil;

writeln('Dlia vixoda v menu nasmite ENTER');

readln;

Menu;

end;

{Додавання елементу в початок списка }

procedure DobNach(var tek:sviaz);

var k:integer;

dob:sviaz;

begin

Standart;

writeln('Vvedite elementi spiska 4erez probel do nazatia ENTER');

while not eoln do

begin

read(k);

new(dob);

dob^.elem:=k;

dob^.sled:=tek;

tek:=dob;

end;

writeln('Dlia vixoda v menu nasmite ENTER');

readln;

Menu;

end;

{Додавання елементу у кінець списку без головного звена}

procedure DobKon(var tek:sviaz);

var e:integer;

p, dob:sviaz; { dob – звено,яке додається, р – допоміжний покажчик для пошуку останньогоо елементу в списку }

begin

Standart;

new(dob);

writeln('Vvedite dobavliaemoe v konec zveno spiska ');

readln(e);

dob^.elem:=e;

dob^.sled:=nil;

if tek=nil then tek:=dob else

{пошук останнього елементу в спискі}

begin

p:=tek;

while p^.sled<>nil do p:=p^.sled;

p^.sled:=dob;

end;

writeln('Dlia vixoda v menu nasmite ENTER');

readln;

Menu;

end;

{Друк елементів списку }

procedure Print(tek:sviaz);

begin

Standart;

write('>');

while tek<>nil do

begin

write(tek^.elem);

if tek^.sled<>nil then write(',');

tek:=tek^.sled;

end;

writeln;

writeln('Dlia vixoda v menu nasmite ENTER');

readln;

Menu;

end;

 

{видалення усіх елементів списку}

procedure DelAll(var tek:sviaz);

var

p:sviaz;

begin

writeln(‘Udalit spisok Y/N?’);

readln ( c );

if c in [‘y’, ‘Y’, ‘n’, ‘N’] then

begin

while tek<>nil do

begin

p:=tek;

tek:=tek^.sled;

dispose(p);

end;

writeln('Spisok Udalen');

end;

writeln('Dlia vixoda v menu nazmite ENTER');

readln;

Menu;

end;

{Створення меню}

procedure Menu;

begin

clrscr;

window(20,8,60,25);

textcolor(red);

Textbackground(yellow);

clrscr;

Gotoxy(10,7);

writeln('MENU');

writeln('1- Sozdanie spiska');

writeln('2- prosmotr spiska');

writeln('3- dobavlenie elementov v na4alo spiska');

writeln('4- dobavlenie v konec spiska');

writeln('5 - Udalenie spiska');

writeln('6- Vixod');

repeat

writeln('Vash vibor');

writeln(' ' );

readln(c);

Until c in ['1','2','3','4','5','6'];

case c of

'1': ListInit(t);

'3': DobNach(t);

'2': Print(t);

'4': DobKon(t);

'5': DelAll(t);

'6': Halt;

end;

end;

{Тіло програми}

BEGIN

Standart;

Menu;

readln;

END.



<== попередня лекція | наступна лекція ==>
Програма на мові Pascal | ТЕОРЕТИЧНИЙ МАТЕРІАЛ, НЕОБХІДНИЙ ДЛЯ ВИКОАННЯ РОБОТИ


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн