350 likes | 884 Views
Algorytmy Marek Pudełko. Algorytmy – różne przykłady. Algorytm przechodzenia przez jezdnię. Stań na krawędzi chodnika Popatrz w lewo. Jeśli jedzie auto to poczekaj. Wróć do punktu 2. Jeśli nic nie jedzie z lewej strony przejdź do punktu 3. Popatrz w prawo.
E N D
Algorytmy Marek Pudełko Algorytmy – różne przykłady
Algorytm przechodzenia przez jezdnię • Stań na krawędzi chodnika • Popatrz w lewo. • Jeśli jedzie auto to poczekaj. Wróć do punktu 2. • Jeśli nic nie jedzie z lewej strony przejdź do punktu 3. • Popatrz w prawo. • Jeśli jedzie auto to poczekaj. Wróć do punktu 3. • Jeśli nic nie jedzie z prawej strony przejdź do punktu 4. • Przejdź przez jezdnię.
Algorytm przechodzenia przez jezdnię Stań na krawędzi chodnika Popatrz w lewą stronę. Czy jedzie auto? TAK NIE Popatrz w prawą stronę. Czy jedzie auto? TAK NIE Przejdź przez jezdnię.
Algorytm przechodzenia przez jezdnię Start Stań na krawędzi chodnika Popatrz w lewą stronę Tak Czy jedzie auto? Nie Popatrz w prawą stronę Tak Czy jedzie auto? Nie Przejdź przez jezdnię Stop
Ćwiczenia • Napisz algorytm przechodzenia przez jezdnię na światłach.
Algorytm obsługi lampy • Czy lampa jest włączona? • Jeśli nie włącz ją. Przejdź do następnego punktu. • Czy żarówka jest sprawna? • Jeśli nie zmień ją. Przejdź do następnego punktu. • Korzystaj z lampy • Koniec algorytmu
Algorytm obsługi lampy Start Nie Czy lampa jest włączona? Włącz lampę Tak Czy żarówka jest sprawna? Nie Zmień żarówkę Tak Korzystaj z lampy Stop
Algorytm dodawania • Start algorytmu • Przygotuj dane: a,b,c- liczby całkowite • Wczytaj a • Wczytaj b • Dodaj a i b, a wynik wpisz do c • Wypisz c • Koniec algorytmu
Algorytm dodawania Start a,b,c: liczby całkowite Read (a) Read (b) c → a + b Write (c) Stop
Ćwiczenia • Napisz algorytm: • Odejmowania • Mnożenia • Napisz algorytm liczący: • Pole koła • Pole trójkąta • Pole prostokąta • Pole kwadratu
Ćwiczenia • Napisz algorytm liczący średnią z 3 wczytanych liczb • s • Odejmowania • Mnożenia • Napisz algorytm liczący: • Pole koła • Pole trójkąta • Pole prostokąta • Pole kwadratu
Algorytm dzielenia • Start algorytmu • Przygotuj dane: • a,b- liczby całkowite • c- liczby rzeczywiste • Wczytaj a • Wczytaj b • Jeśli b jest równe 0, wróć do punktu 4 • Jeśli b jest różne od 0, idź do punktu 5. • Podziel a przez b, a wynik wpisz do c • Wypisz c • Koniec algorytmu
Algorytm dzielenia Start a,b: liczby całkowite c: liczba rzeczywista Read (a) Read (b) Tak b = 0 Nie c → a / b Write (c) Stop
Ćwiczenia • Napis algorytm pierwiastkowania
Algorytm wyliczania modułu z liczby • Start algorytmu • Przygotuj dane: • x- liczba rzeczywista • Czy (x >0)? • Jeśli TAK napisz x i przejdź do punktu 4 • Jeśli NIE napisz -x i przejdź do punktu 4. • Koniec algorytmu
Wyliczanie modułu z liczby Start Czytaj x x >= 0 Nie Tak Pisz -x Pisz x Koniec
Ćwiczenia • Napisz algorytm liczący równanie: • c=|x|+5*x • c=|x2|+|x| • c=|2x|+x • Napisz algorytm sprawdzania parzystości liczb • (funkcja mod i % nie działa w magicznych bloczkach)
Algorytm porównywania liczb • Start algorytmu • Przygotuj dane: • a,b- liczby całkowite • Wczytaj a • Wczytaj b • Czy (a = b)? • Jeśli TAK napisz „równe” i przejdź do punktu • Jeśli NIE przejdź do punktu 6, idź do punktu 5. • Czy (a > b)? • Jeśli TAK napisz „a większe od b” i przejdź do punktu 7 • Jeśli NIE napisz „b większe od a” i przejdź do punktu 7. • Koniec algorytmu
Algorytm porównywania liczb Start a,b: liczby całkowite Read (a) Read (b) Tak a = b Nie Tak a > b Write (‘równe’) Write (‘a jest większe’); Nie Write (‘b jest większe’); Stop
Ćwiczenia • Napisz algorytm sprawdzający czy liczba jest dodatnia, ujemna czy równa zero. • Napisz algorytm wczytujący trzy liczby i sprawdzający, która jest z nich największa. • Napisz algorytm wyliczający pierwiastki równania kwadratowego. • Algorytm ma wczytać a,b,c; wliczyć deltę i podać x lub x1,x2.
Algorytm pętli • Start algorytmu • Przygotuj dane: • i - liczby całkowite • i=1 • Czy (i > 10)? • Jeśli TAK przejdź do punktu 8 • Jeśli NIE idź do punktu 5. • Napisz i • i=i+1 • Idź do punktu 4 • Koniec algorytmu
Algorytm pętli Start i: liczby całkowite i=1 Tak i > 10 Nie Tak Stop Write(i) Nie i= i+1
Ćwiczenia • Napisz algorytm wypisujący w pętli liczby od 1 do n. n wczytujemy z zewnętrz. • Napisz algorytm wypisujący w pętli liczby od n do 1. • Napisz algorytm sumujący liczby od 1 do n. n wczytujemy z zewnętrz. • Napisz algorytm wyliczający silnię n.
Start Read (n) licznik=1 a=1 Tak licznik>n Nie a=a*licznik Write (a) licznik=licznik+1 Stop
Start Read (n) licznik=1 a=0 Tak licznik>n Nie a=a+licznik Write (a) licznik=licznik+1 Stop
Ćwiczenia • Napisz algorytm wczytujący liczbę n. • Jeśli jest większa od 0 zmniejsz ją o 10. • Jeśli jest mniejsza od 0, zwiększ ją o 10. • Jeśli jest równa 0 nie rób nic. • Operacje zwiększenia i zmniejszenia dokonaj za pomocą pętli.
Start Read (x) Tak x<0 Nie i=1 i= -1 licznik=1 Tak licznik>10 Nie x=x+i Write (x) licznik=licznik+1 Stop
Ćwiczenia • Napisz algorytm wyświetlający tablicę 10-elementową.
Start a[1]=3 a[2]=9 a[3]=11 a[4]=5 a[5]=4 a[6] =10 a[7]=20 a[8]=14 a[9]=1 a[10]=25 licznik=1 Tak Licznik>10 Nie Stop Read (x) licznik=licznik+1
Ćwiczenia • Napisz algorytm wyliczający sumę elementów tablicy. • Napisz algorytm wyliczający średnią elementów tablicy. • Napisz algorytm wyszukujący najmniejszy element tablicy. • Napisz algorytm wyszukujący największy element tablicy.
Ćwiczenia • Napisz algorytm kopiujący zawartość jednej tablicy do drugiej. Tę drugą należy potem wyświetlić. • Napisz algorytm kopiujący z jednej tablicy do drugiej tylko elementy większe od średniej. • Napisz algorytm kopiujący z jednej tablicy do drugiej tylko elementy parzyste.