ile razy beda wykonane ponizsze petle?Rozwaz poniższe przykłady:
a) Readln(a,b);
while b=a do Writeln('liczby równe');
b) Readln(x);
repeat
Writeln(x)
until x=2
i drugie:
Przedstaw algorytm wyboru najwyższego z uczniów w klasie w postaci listy kroków.
Prosze o szybka odpowiedz !!! daje najj
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Zad 1.
a) Jeśli użytkownik poda 2 razy tą samą liczbę, to program się zapętli i w nieskończoność będzie wypisywał na ekranie 'liczby rowne', jeśli poda 2 różne liczby, to program się po prostu zakończy, a pętla while zostanie ominięta. Żeby to naprawić lepiej jest zamiast pętli while użyć:
If a=b then WriteLn('Liczby rowne.') else WriteLn('Liczby sa rozne.');
b) Jeżeli użytkownik poda jakąkolwiek inną liczbę niż 2, to ta pętla również doprowadzi do zapętlenia programu w nieskończoność i wypisywaniu bez końca podanej liczby. W przypadku podania liczby 2, wynik zostanie wypisany raz. Żeby to naprawić znów lepiej użyć:
If x=2 then Writeln(x) else Writeln('Liczba jest inna niz 2.');
Zad 2.
1. Tworzymy tablicę np. tab:array [1..ilosc_uczniow] of integer;
2. Program musi poprosić o wzrost każdego z uczniów.
3. Program wpisuje wzrost do tablicy:
for i:=1 to liczba_uczniow do
readln(tab[i]);
4. Program sortuje uczniów od najniższego do najwyższego:
for j:= 1 to liczba_uczniow - 1 do
for i:=1 to liczba_uczniow -1 do
if tab[i] > tab[i+1] then
begin
x := tab[i]; tab[i] := tab[i+1]; tab[i+1] := x;
end;
5. Posortowana tablica zostaje wypisana na ekranie:
for i:=1 to liczba_uczniow do
write(' ',tab[i]);
6. Najwyższy uczeń będzie się znajdował w ostatniej komórce tablicy.
Write(' ',tab[liczba_uczniow]);
PS. To tak z grubsza, jak czegoś nie rozumiesz, albo w czymś pomóc, pisz na GG: 503415. Liczę na NAJ :)