iteracje - PG

advertisement
Algorytmika
Iteracje
autor: Tadeusz Lachawiec
zad. 1
Obliczanie sumy i średniej n dowolnych liczb naturalnych.
Algorytmy iteracyjne - ćwiczenia
Dodawane będą dowolne liczby, czyli wzór na sumę: s:=s+a gdzie a to kolejno
(w pętli) czytane liczby.
begin
Podaj ile liczb
sumować? n
podajemy ile liczb chcemy sumować
ustawiamy licznik L równy
naszej deklarowanej liczbie,
zerujemy sumę
L:=n
L – licznik zliczający ilość
powtórzeń
S:=0
S – suma
sr - Średnia
powtarzamy aż licznik będzie równy 0
L:=L-1
L>0
N
sr:=S/n
S:=S+a
T
Podaj liczbę
a
Suma wynosi S
Średnia wynosi sr
end
zad. 2
Dana jest liczba naturalna n. Przedstaw graficznie algorytm mnożenia liczb od 1 do n.
Algorytmy iteracyjne - ćwiczenia
Kolejne działania wykonywane w pętli: 1*1; 1*2; 2*3; 6*4; 24*5 itd
begin
Podaj liczbę n
Mnożymy kolejne liczby
dopóki licznik nie będzie
większy od zadeklarowanej
na początku liczby
L – licznik
I:=1
I - iloczyn
L:=1
L>n
T
Iloczyn - I
end
N
I:=I*L
L:=L+1
zad. 3
Danych jest 10 liczb. Przedstaw graficznie algorytm obliczania sumy tych liczb i ich
średniej arytmetycznej.
begin
n:=10
L:=n
L – licznik
S:=0
S – suma
sr - Średnia
L:=L-1
L>0
N
sr:=S/n
S:=S+a
T
Podaj liczbę
a
Suma wynosi S
Średnia wynosi sr
end
zad. 4
Zmień algorytm z zadania 3 tak, aby nie było wiadomo, ile jest liczb, a warunkiem
zakończenia było wprowadzenie 0. Dodatkowo na wyjściu wyprowadź, ile liczb
zostało dodanych.
begin
L:=0
L – licznik
S:=0
Podaj liczbę
L:=L+1
S – suma
a
a<>0
S:=S+a
T
sr - Średnia
N
sr:=S/L
Suma wynosi S
Średnia wynosi sr
wczytano L liczb
end
Znajdowanie największej z podawanych liczb nieujemnych bez zapamiętywania ich
Plan:
1.
Przypisanie kandydatce na
największą liczbę wartości 0
2.
Wczytanie kolejnej liczby
3.
Sprawdzenie czy jest ona dodatnia
3a
Jeśli TAK to:
4.
Sprawdzenie czy kolejna
liczba jest większa
4a
4b
3b
begin
max:=0
Podaj liczbę
liczba
Jeśli TAK to zmiana
aktualnej kandydatki na
podaną liczbę
Jeśli NIE to przejście do
punktu 5
5.
Wypisanie największej
6.
Powrót do 2
Jeśli NIE to koniec
N
liczba>0
największa
max
T
liczba>max
N
liczba>max
T
max:=liczba
end
Sumowanie liczb nieparzystych (pętla WHILE)
begin
Chcemy sumować kolejne liczby nieparzyste.
Trzeba wprowadzić zakres: zacznijmy od 1, a
zakończmy na wczytanej wartości końcowej k;
Podaj liczbę na
ktorej skończymy
Nadać zmiennej sterującej wartość startową
k
W pętli wykonywać obliczenia, wyprowadzić wynik i
zwiększać zmienną sterującą o 2
pocz:=1
suma:=0
Zakończyć gdy zmienna sterująca przekroczy wartość
końcową
i:=i+2
i:=pocz N
suma liczba
liczba
nieparzysta
nieparzysta ii
liczba>max
liczba
nieparzysta i
N
i<=k
T
suma:=suma+i
end
begin
Zgadnij liczbę
komputer losuje liczbę
los:=1+random(100)
max:=0
Algorytm realizuje zabawę w
zgadywanie liczb.
Wybierzmy zakres od 0 do
100, komputer losuje liczbę z
tego zakresu (trzeba użyć
funkcji random(n)
zwracającej losową liczbę z
przedziału 0 do n-1) a my ją
mamy odgadnąć, otrzymując
tylko informację, czy podana
liczba jest za mała, czy też
za duża. Po wpisaniu naszej
liczby algorytm bada trzy
możliwości 1-trafiona, 2-za
mała, 3-za duża
ustawiamy licznik
prób na 1
wczytujemy próbę
ile:=1
Podaj liczbę
liczba
liczba=los
ile:=ile+1
N
T
N
liczba>los
liczba>max
T
Podaj
Tak prób
liczbę
było
liczba
ile
end
Za duża
liczba
Za mała
liczba
Download