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