zad 1 wyświetlenie rodzajów których
cecha jest równa 20
procedure wyswietl_rodz(początek:WElement);
var n:real;
begin
n:=0;
while (poczatek<>NIL) and
(poczatek^.rodzaj<=20) do
if poczatek^.cecha=20 then
begin
n:=n+1;
poczatek:=poczatek^.next;
end;
if n=0 then writeln('Nie ma') else
writeln('Liczba elementów: ',n);
end;
zad 1 posortowane wg rodzaj wyznaczyć elementy
których rodzaj mieści sie w granicach K do P
procedure licz_elementy(E:WElement);
var n:real;
begin
n:=0;
while (E<>NIL) do
if (E^.rodzaj>=K) and
(E^.rodzaj<=P) then
begin
n:=n+1;
end;
E:=E^.next;
if n=0 then writeln('Nie ma') else
writeln('Liczba elementów: ',n);
end;
zad 1 posortowane według cechy wyznaczyć
elementy których cecha mieści sie w granicach -1 do 1
procedure licz_ele(E:WElement);
var n:real;
begin
n:=0;
while (E<>NIL) do
if (E^.cecha>=-1) and
(E^.cecha<=1) then
begin
n:=n+1;
end;
E:=E^.next;
if n=0 then writeln('Nie ma') else
writeln('Liczba elementów: ',n);
end;
zad 1 posortowana według nazwy wyświetlić nazwy
elementów których nazwa jest równa 'owoce'
procedure wyswietl (start:WElment; nazwa:string);
var ilosc:integer;
begin
ilosc:=0;
while (start<>NIL) do
if nazwa=start^.nazwa then
begin
ilosc:=ilosc+1;
writeln(start^.nazwa);
end;
if ilosc=0 then writeln('nie ma') else
writeln ('liczba elementów');
end;
zad 2 zakupy klient
procedure szukaj (start:WTowar);
var
wartosc:integer;
ilosc:integer;
nazwa:string;
begin
ilosc:=0;
if (start<>NIL) then
begin
szukaj (start^.lewe, nazwa);
if (nazwa=start^.d.nazwa) then
begin
wartosc:=0;
writeln(start^.d.nazwa);
writeln(start^.d.ilosc);
writeln(start^.d.cena_jed);
wartosc:=start^.d.ilosc*start^.d.cena_jed;
writeln('wartość to: ' ,wartosc);
ilosc:=ilosc+1;
end;
szukaj(start^.prawe,nazwa);
end;
if ilosc=0 writeln('BRAK elementów');
end;
zad 2 zawodnicy
procedure szukaj (start:WProba);
var
wynik, ilosc:integer;
begin
ilosc:=0;
if (start<>NIL) then
begin
szukaj (start^.lewe, wynik, ilosc);
if (wynik=start^.d.wynik) then
begin
writeln(start^.d.nazwisko,' ');
writeln(start^.d.nr_serii);
writeln;
ilosc:=ilosc+1;
end;
szukaj(start^.prawe, wynik, ilosc);
end;
if ilosc=0 writeln('BRAK odpowiednika');
end;
Zestaw1.
function Liczba (poczatek:WElement):integer;
var n:integer;
begin
while (poczatek<>NIL) and (poczatek^.cecha <= 2,5) do
begin
if poczatek^.cecha >= 1,5 then n:=n+1;
poczatek:=poczatek^.next;
end;
Liczba:=n;
end;
procedure Pokaz_ile
begin
if Liczba(poczatek)=0 then writeln('Brak elementów których cecha w przedziale <1,5:2,5>')
else writeln('Liczba elementów to ',Liczba(poczatek));
end;
2z
function Liczba (poczatek:WElement):integer;
var n:integer;
begin
while (poczatek<>NIL) and (poczatek^.rodzaj <='K') do
begin
if poczatek^.rodzaj >='E' then n:=n+1;
poczatek:=poczatek^.next;
end;
Liczba:=n;
end;
procedure Pokaz_ile
begin
if Liczba(poczatek)=0 then writeln('Brak elementów których rodzaj w przedziale od E do K')
else writeln('Liczba elementów to ',Liczba(poczatek));
end;
procedure Wyswietl (poczatek:WElement)
var n:integer;
begin
while (poczatek<>NIL) and (poczatek^.cecha <= 10,3) do
begin
if poczatek^.cecha = 10,3 then
begin
writeln(poczatek^.rodzaj);
n:=n+1;
end;
poczatek:=poczatek^.next;
end;
if n=0 then writeln('Brak elementów których echa równa 10,3');
end;