Będziemy potrzebowali funkcji zwracającej liczbę losową — oczywiście Turbo Pascal taką udostępnia. Funkcja Random z parametrem typu Word podaje nam liczbę losową typu Word taką, że 0<=X<parametr. Przed jej użyciem trzeba koniecznie zainicjować generator liczb losowych, wykonując procedurę Randomize.
program cw4_02;
{ Program zapełnia tablice losowymi liczbami i sprawdza }
{ ile razy znajduje sie w niej wczytana liczba. }
{ Katalog r4_01 : 4_02.pas } var
Liczby : array [1..20] of Byte;
I, N : Byte;
IleZnaleziono : Byte;
begin
Randomize;
for I 1 to 20 do
Liczby [I] := Random (20) + 1;
Write ('Podaj liczbę z zakresu (1..20): '); Readln (N);
while (CN<1) or (N>20)) do
begin
Write ('Zla wartość. Podaj liczbę z zakresu (1..20): '); Readln (N); end;
IleZnaleziono 0;
Writeln; Write ('Tablica: ');
for I 1 to 20 do
begin
Write (Liczby [I], ' '); if Liczby [I] - N then
IleZnaleziono IleZnaleziono + 1;
end;
Writeln;
if IleZnaleziono - 0 then
Writeln ('Liczby ', N, 'w tablicy nie odnaleziono.') else
Writeln ('Liczbę 1, N, 1 w tablicy odnaleziono ',
IleZnaleziono, ' razy.');
Readln; end.
W I C Z E N I E
E
Takie porządkowanie tablicy nosi nazwę sortowania i jest jednym z klasycznych problemów programistycznych. Posłużymy się jedną z najprostszych metod — sortowaniem bąbelkowym. Działa ono w taki sposób, że w pętli przechodzimy wielokrotnie przez tablicę