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