• Nie Znaleziono Wyników

L ISTA PROSTA

N/A
N/A
Protected

Academic year: 2021

Share "L ISTA PROSTA"

Copied!
23
0
0

Pełen tekst

(1)

L ISTA PROSTA

(2)

procedure POKAZ(list : EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z = 't' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP , L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

writeln('WYSWIETLAM...');

POKAZ(L);

readln;

end.

EP = ^E;

EL = ^LISTA;

E = record W:byte;

N:EP;

end;

LISTA=record P:EP;

K:EP;

end;

var

L:EL;

TEMP : EP;

z:char;

procedure DODAJ(element : EP; list : EL begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^. P:= element;

list^. K:= list^. P;

end;

end;

(3)

TYPE EP=^E;

EL=^LISTA;

E=record W:byte;

N:EP;

end;

LISTA=record P:EP;

K:EP;

end;

var

L:EL;

TEMP:EP;

z:char;

wskaźnik na element listy

wskaźnik na listę

o

rekord opisujący element listy

zawartość elementu

wskaźnik do elementu następnego listy

rekord opisujący listę prostą jednokierunkową

początek listy

koniec listy

Zmienne:

Lista

Element listy pomocniczy

Zmienna sterująca

(4)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Tworzymy pustą listę

(5)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Tworzymy element

Tworzymy listę

Lista pusta

(6)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99

Tworzymy listę

Tworzymy element Podajemy jego wartość

Lista pusta

(7)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Tworzymy listę Tworzymy element Podajemy jego wartość Lista jest pusta więc

ustawiamy jej początek na nowy element, który

równocześnie jest jej końcem

99 Lista

pusta

(8)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99

Tworzymy listę Tworzymy element Podajemy jego wartość Lista jest pusta więc

ustawiamy jej początek na nowy element, który równocześnie jest jej końcem

Dodajemy do listy

Lista pusta

(9)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99

Tworzymy listę Tworzymy element Podajemy jego wartość Lista jest pusta więc

ustawiamy jej początek na nowy element, który równocześnie jest jej końcem

Dodajemy do listy Jeśli lista ma już

początek to jest listą

NIEPUSTĄ

(10)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99

Tworzymy listę Tworzymy element Podajemy jego wartość Lista jest pusta więc

ustawiamy jej początek na nowy element, który równocześnie jest jej końcem

Dodajemy do listy

Jeśli lista ma już początek to jest listą NIEPUSTĄ

Ustawiamy wskaźnik

na element

(11)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99

Tworzymy kolejny element i podajemy jego wartość

33

Jeśli lista ma już początek to

jest listą NIEPUSTĄ

(12)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Jeśli lista ma już początek to jest listą NIEPUSTĄ

Tworzymy kolejny element i podajemy jego wartość

Dodajemy element do listy

99

33

Ustawiamy wskaźnik

na następny element

(13)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Jeśli lista ma już początek to jest listą NIEPUSTĄ

Tworzymy kolejny element i podajemy jego wartość

Dodajemy element do listy

Ustawiamy wskaźnik na następny element

99 33

Ustawiamy nowy

koniec listy na nowy

element listy

(14)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Jeśli lista ma już początek to jest listą NIEPUSTĄ

Tworzymy kolejny element i podajemy jego wartość

Dodajemy element do listy

Ustawiamy wskaźnik na następny element

Ustawiamy nowy koniec listy na nowy element listy

99 33

Dodając kolejny element do listy, ustawiamy jej nowy koniec

44

(15)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

Jeśli lista ma już początek to jest listą NIEPUSTĄ

Tworzymy kolejny element i podajemy jego wartość

Dodajemy element do listy

Ustawiamy wskaźnik na następny element

Ustawiamy nowy koniec listy na nowy element listy

99 33

Dodając kolejny element do listy, ustawiamy jej nowy koniec

44

(16)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99 33 44

zmienna pomocnicza

wskazująca na wybrany

element listy

(17)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99 33 44

zaczynamy wyświetlanie od

początku

(18)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

99 33 44

wyświetlamy dopóki wskaźnik wskazuje na element NIE

PUSTY (nie NIL)

(19)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

33 44

wyświetlamy zawartość elementu

99

(20)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

wyświetlamy zawartość elementu

33 44

ustawiamy sie do

wyświetlania następnika - kolejnego elementu listy

99

(21)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

wyświetlamy zawartość elementu

99 44

ustawiamy sie do

wyświetlania następnika - kolejnego elementu listy

33

(22)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

wyświetlamy zawartość elementu

99 33

ustawiamy sie do

wyświetlania następnika - kolejnego elementu listy

44

(23)

procedure DODAJ(element :E P ;list:EL) begin

if list^.P <> NIL then begin

list^.K^.N := element;

list^.K := element;

end else begin

list^.P:=element;

list^.K:=list^.P;

end;

end;

procedure POKAZ(list:EL);

var el : EP;

begin

el:= list^.P;

while el <> NIL do begin

write(el^.W,';');

el := el^.N;

end;

end;

begin

writeln('TWORZE LISTE');

new(L);

z:='t';

while z='t' do begin

new(TEMP);

write('Podaj wartosc: ');

readln(TEMP^.W);

DODAJ(TEMP,L);

writeln('Czy podajesz dalej elementy (t/n)');

readln(z);

end;

wyświetlamy zawartość elementu ustawiamy sie do wyświetlania następnika - kolejnego elementu listy

99 33 44

Wskaźnik pokazuje element pusty-NIL, kończymy

wyświetlanie listy

Cytaty

Powiązane dokumenty

Stąd poddają analizie zarówno jego życie i działalność, jego związki z wybitnymi osobistościami monarchii hiszpańskiej i hiszpańskiej konkwisty, jego dzieła i

Eighth international towing-tank conference, held at M.adrid in September 1957, by dr.. van Manen 670 Ermans Steel hatch-covers for

Zaznaczyła też, że choć uczczono go ulicą na Bielanach, jest on nadal niezbyt znany warszaw

„Tworzenie programów nauczania oraz scenariuszy lekcji i zajęć wchodzących w skład zestawów narzędzi edukacyjnych wspierających proces kształcenia ogólnego w

[r]

Z kolei wielkość Test F można obliczyć też używając funkcji Rozkład F odwrócony wpisując: Prawdopodobieństwo to prawdopodobieństwo związane ze skumulowanym

47. Wiadomo, »e 55% m¦»czyzn i 70 % kobiet nie zdaje egzaminu praktycznego na prawo jazdy za pierwszym razem. Wybrana losowo osoba nie zdaªa egzaminu. Zakªadaj¡c, »e liczba

Tematyka świadectwa Boga Ojca nie jest jed- nak ideą teologiczną, która miałaby w czwartej Ewangelii charakter peryferyjny, lecz wpisuje się w samą istotę teo- logicznej