You are on page 1of 22

Gimnazjum w Tgoborzy - Algorytmika Strona 1 z 22 mgr Zofia Czech

A AL LG GO OR RY YT TM MY Y
Algorytm to przepis; zestawienie kolejnych krokw prowadzcych do wykonania okrelonego
zadania; to uporzdkowany sposb postpowania przy rozwizywaniu zadania, problemu,
z uwzgldnieniem opisu danych oraz opisu kolejnych czynnoci prowadzcych do jego rozwizania
w skoczonym czasie. Kady program komputerowy realizuje jaki algorytm zapisany
w zrozumiaym dla komputera jzyku programowania. Istniej zadania niealgorytmiczne, dla
ktrych nie mona opracowa algorytmu rozwizania.

Algorytm musi by:
poprawny (dla kadego poprawnego zestawu danych otrzymujemy poprawny wynik)
jednoznaczny (dla tych samych danych uzyskujemy ten sam wynik)
szczegowy (aby jego wykonawca rozumia opisane czynnoci i potrafi je wykona)
uniwersalny (oglny, aby suy do rozwizywania pewnej grupy zada, a nie tylko jednego
zadania np. sumy dwch dowolnych liczb naturalnych, a nie tylko 3+2)
inne cechy algorytmu to:
- skoczono - dla kadego zestawu poprawnych danych wejciowych, algorytm
powinien dawa wyniki w skoczonej liczbie krokw
- efektywno (sprawno) powinien prowadzi do rozwizania problemu jak
najniszym kosztem, czyli w jak najmniejszej liczbie krokw. Naley zoptymalizowa
pami zajt przez struktury danych wykorzystywane w algorytmie oraz doprowadzi
do optymalizacji zoonoci obliczeniowej, czyli liczby wykonanych operacji.

Algorytm moe by zadany:
opisem sownym
wypunktowan list krokw
schematem blokowym (czyli zapisem graficznym, przy uyciu odpowiednich blokw)
pseudokodem, pseudojzykiem (kroki od danych wejciowych do wynikw, np. czytaj(a),
czytaj(b) s:=a+b, pisz(s))
okrelonym jzykiem programowania (czyli jzykiem zrozumiaym dla komputera, sucym
do zapisywania programw i komunikowania si czowieka z komputerem)

Specyfikacja algorytmu - obejmuje podanie:
danych wejciowych (czyli nazwy uywanych zmiennych i ich typ np. liczba cakowita,
rzeczywista, warto logiczna)
wyniku, ktry algorytm powinien otrzyma
zmiennych pomocniczych niezbdnych do realizacji programu.
Uniwersalny algorytm operuje nie na liczbach, a na zmiennych (czyli pojemnikach na dane
oznaczonych dowoln liter lub acuchem znakw).

Rodzaje algorytmw:
liniowy (nie ma w nim adnych warunkw, kolejne czynnoci s wykonywane jedna po
drugiej)
warunkowy (wykonanie instrukcji uzalenione jest od spenienia lub niespenienia warunku;
jeli warunek jest speniony to , a jeli nie to )
iteracyjny (czyli z ptl, polegajc na wielokrotnym powtarzaniu instrukcji. Liczba powtrze
moe by z gry okrelona - tzw. ptla for; dana instrukcja jest powtarzana a do spenienia
jakiego okrelonego warunku tzw. ptla do while; najpierw jest sprawdzany warunek
a jego spenienie umoliwia wykonanie instrukcji tzw. ptla while do)
Gimnazjum w Tgoborzy - Algorytmika Strona 2 z 22 mgr Zofia Czech
Znaczenie klockw. Blok:
startowy (rozpoczcie wykonywania algorytmu)

wejcia (wczytywanie danych, przypisywanie
ich zmiennym)

operacyjny (wykonywanie operacji, konkretnych dziaa, oblicze,
moe tu by wicej ni jedno wyraenie)

warunkowy (tzw. decyzyjny, z dwoma wyjciami:
tak jeli warunek jest speniony, nie
jeli warunek jest niespeniony)

wyjciowy (wypisanie wyniku, efektu wykonywanych dziaa)

kocowy (stop, koniec dziaania algorytmu)


Pojcia:
Iteracja (ptla) powtarzanie danego cigu operacji. Wymaga zmiennej licznikowej, ktra sprawdza, ile razy
ptla zostaa ju powtrzona.

Rekurencja (wywoanie samego siebie) to sposb wykonywania oblicze, polegajcy na tym, e
wydzielony podprogram wywouje siebie samego.

Tablica to jeden ze strukturalnych typw danych. Pod jedn nazw zmiennej mona umieci wicej
danych. Tablica skada si z ustalonej liczby elementw tego samego typu. Za ich pomoc mona
reprezentowa regularne struktury danych, jak np. macierze czy wektory. Dostp do poszczeglnych
elementw tablicy uzyskuje si za pomoc indeksw. Np. zmienna tablicowa tab ma wartoci:
23 1111 10 3 78888
Do kolejnych wartoci odwoujemy si uywajc indeksw. Np. warto 10 wskaemy uywajc indeks
tab[3], warto 78888 tab[5], itd..

P PR RZ ZY YK K A AD DY Y A AL LG GO OR RY YT TM M W W
(specyfikacja, schemat blokowy, ukad klockw w jzyku ELI , pseudokod)

Uwaga !!! Oznaczenia operatorw relacyjnych:
> wiksze
< mniejsze
> = wiksze bd rwne (>)
< = mniejsze bd rwne (s)
< > rne (=)
: = instrukcja przypisania - przypisywanie zmiennej wartoci podanej z prawej
strony (np.: y := x*x*x, oznacza, e zmienna (literka) y ma teraz warto x
3
)

Czytaj wczytaj podaj
Pisz wypisz

Funkcje, operatory:
- mod - zwraca reszt z dzielenia cakowitego, np. 5 mod 2 = 1, 4 mod 2 = 0,
- div zwraca cz cakowit z dzielenia, np. 5 div 2 = 2, 5 div 3 = 1,
- random(n) zwraca losow liczb naturaln z zakresu 0 do n,
START
czytaj ..
:=.
pisz ..
STOP
..
T
N
Gimnazjum w Tgoborzy - Algorytmika Strona 3 z 22 mgr Zofia Czech

1. Algorytm na podstawie
wprowadzonej godziny
rozpoznaje czy podana przez
uytkownika godzina (g) jest
przedpoudniowa, czy
popoudniowa.








2. Wykonuje dzielenie
dwch liczb. Jeli
mianownik jest rwny 0
wywietla si
komunikat dzielenie
przez zero!, w
przeciwnym wypadku
wywietla si wynik
dzielenia.



3. Oblicza pole
prostokta. Rozpoznaje
czy prostokt jest
kwadratem. Jeeli tak
wywietla si
komunikat Pole
kwadratu wynosi, w
przeciwnym wypadku
Pole prostokta
wynosi i podaje
wynik.
4
wynik:=a*b
a=b
N T
Czytaj a, b
START
STOP
Pisz Pole
kwadratu
Pisz wynik
Pisz Pole
prostokta
Pisz wynik
T N
g>12
Czytaj g
START
Pisz Po
poudniu
Pisz Przed
poudniem
STOP
wynik:=l/m
T N
m=0
Czytaj l, m
START
Pisz nie dziel
przez 0!!!
Pisz wynik
STOP
Gimnazjum w Tgoborzy - Algorytmika Strona 4 z 22 mgr Zofia Czech
Czytaj a, b
a=b
N T
START
Pisz liczby
s rwne
STOP
a>b
T
Pisz a, b Pisz b, a
N

4. Wczytuje dwie liczby
i wypisuje je
w kolejnoci malejcej.
Jeli s rwne,
wywietla komunikat
liczby s rwne.















5. Wczytuje dwie liczby cakowite i oblicza ich sum oraz rnic, nastpnie w zalenoci od
wynikw, wywietla komunikat suma wiksza od rnicy lub rnica wiksza od sumy.

s:=a+b
s>r
STOP
START
N T
Podaj a, b
Pisz suma
rwna rnicy
r:=a-b
s=r
N T
Pisz suma wiksza
od rnicy
Pisz rnica
wiksza od sumy
Gimnazjum w Tgoborzy - Algorytmika Strona 5 z 22 mgr Zofia Czech
i:=0
i:=i+1
i=3
N T
START
Pisz Dzie
dobry
STOP

6. Wypisuje trzy razy dzie dobry.
(algorytm liniowy i z uyciem
iteracji, i licznik ptli).

















7. Wypisuje n razy dzie dobry
(n liczba naturalna podana
przez uytkownika, i licznik
ptli).
















8. Wypisuje liczby parzyste z
przedziau 0 do n (n liczba
naturalna podana przez
uytkownika).




START
Pisz Dzie dobry
STOP
Pisz Dzie dobry
Pisz Dzie dobry
Czytaj n
i:=0
i:=i+1
i>n
N T
START
Pisz Dzie
dobry
STOP
Czytaj n
i:=0
i:=i+2
i>n
N T
START
Pisz i
STOP
Gimnazjum w Tgoborzy - Algorytmika Strona 6 z 22 mgr Zofia Czech
9. Wypisuje liczby z przedziau 0 do
n, ktre s podzielne przez 4.






















10. TABLICA. Wczytuje do tablicy liczby,
a nastpnie wywietla je w odwrotnej
kolejnoci.
Czytaj n
i:=4
i:=i+4
i>n
N T
START
Pisz i
STOP
Czytaj n
i:=1
i:=i+1
i>n
N T
START
Czytaj tab[i]
STOP
i:=n
i:=i-1
i<1
n
N T
Pisz tab[i]
Gimnazjum w Tgoborzy - Algorytmika Strona 7 z 22 mgr Zofia Czech
START
czytaj x
czytaj y
x >y
T
N
pisz y

pisz x
STOP
11. Szecian liczby (x
3
) algorytm liniowy

Specyfikacja:
Dane:
x- liczba cakowita podana przez
uytkownika

Wynik:
y- szecian liczby x


Pseudokod:
Program szescian
Zmienne:
x, y: cakowite
Pocztek
czytaj(x)
y:=x*x*x
pisz(y)
koniec





12. Wybr wikszej liczby - algorytm warunkowy


Specyfikacja:
Dane:
x, y- liczby cakowita podane
przez uytkownika

Wynik:
Wiksza z podanych liczb




Pseudokod:
Program wieksza
Zmienne:
x, y: cakowite
Pocztek
czytaj(x,y)
jeli x>y to pisz(x)
w przeciwnym wypadku pisz(y)
koniec
START
czytaj x
pisz y
STOP
y:=x*x*x
Gimnazjum w Tgoborzy - Algorytmika Strona 8 z 22 mgr Zofia Czech
pisz max
START
czytaj x
max :=0
x >0
N
T
STOP
x >max
N
T
max :=x
13. Sumowanie i obliczanie redniej


















n ilo liczb, ktre bdziemy sumowa
nr numer kolejnego obliczenia
(kolejnej wprowadzanej liczby)
s suma
a kolejna liczba
s/n - rednia


14. Znajdowanie najwikszej liczby



















max zmienna przechowujca aktualnie najwiksz liczb
x kolejna liczba (jak jest ujemna lub rwna zero to koniec algorytmu)
START
czytaj n
nr <=n
y
N
T
czytaj a
pisz s/n
STOP
nr :=1
s :=0
nr :=nr +1
s :=s +a
Gimnazjum w Tgoborzy - Algorytmika Strona 9 z 22 mgr Zofia Czech
START
czytaj x, y
r >=y
N
T
pisz iloraz
STOP
r :=x
iloraz :=0
r :=r - y
iloraz :=iloraz +1
pisz r
15. Algorytm Euklidesa - obliczanie NWD dla dwch podanych dodatnich liczb cakowitych
(wynik z odejmowania)


















16. Ptla DOPKI. Obliczanie ilorazu cakowitego i reszty z dzielenia liczb naturalnych.


















x dzielna
y - dzielnik
r reszta z dzielania (x/y)
iloraz cz cakowita
z dzielenia
np.:

x y r iloraz
5 3 5 0
2 1

x y r iloraz
8 3 8
5
2
0
1
2
START
czytaj a
czytaj b
a<>b
a >b
b:=b-a
a:=a-b
pisz a
STOP
N
N
T
T
Gimnazjum w Tgoborzy - Algorytmika Strona 10 z 22 mgr Zofia Czech
i <=n
N
T
STOP
s :=s +i
czytaj n
START
pocz :=1
s :=0
i :=pocz
pisz i
pisz s
i :=i +2
17. Ptla DLA. Dodawanie kolejnych liczb nieparzystych.





















n - liczba naturalna, nieparzysta, na ktrej ma by
koniec oblicze
s - suma kolejnych liczb nieparzystych a do n-tej
i kolejna liczba nieparzysta - licznik (1, 3, 5, , n)



18. Pierwiastek z danej liczby (dwie moliwoci zapisu algorytmu)



















program dziaa do momentu
podania waciwej liczby, czyli
nieujemnej (a>=0)
pierwiastek:=
T N
Pisz niewaciwa
liczba!!!
Pisz pierwiastek
STOP
a<0
Czytaj a
START
Gimnazjum w Tgoborzy - Algorytmika Strona 11 z 22 mgr Zofia Czech




















19. Mnoenie okrelonej
liczby (n) dowolnych
liczb naturalnych (a)
(iteracja algorytmu z
okrelon iloci
powtrze, for)


i licznik (zmienia si od 1
do n)



















algorytm bez ptli
- program
zakoczy si po
jednokrotnym
podaniu liczby
pierwiastek:=
T N
Pisz niewaciwa
liczba!!!
Pisz pierwiastek
STOP
a<0
Czytaj a
START
iloczyn:=iloczyn*a
iloczyn:=1
i:=1
Czytaj n
Czytaj a
START
i:=i+1
T N
Pisz iloczyn
STOP
i=n
Gimnazjum w Tgoborzy - Algorytmika Strona 12 z 22 mgr Zofia Czech
20. Porwnywanie trzech liczb (a, b, c trzy liczby) wybr najwikszej.






















21. Warto bezwzgldna liczby (modu liczby)

<
>
=
0 ,
0 ,
x dla x
x dla x
x

START
czytaj a, b, c
pisz c pisz a
STOP
a > c
T
N
a > b
T
N
pisz c pisz b
STOP
b > c
T
N
START
czytaj x
x<0
x:=-x
pisz x
STOP
N T
Gimnazjum w Tgoborzy - Algorytmika Strona 13 z 22 mgr Zofia Czech
K KI IL LK KA A C CI IE EK KA AW WY YC CH H Z ZA AD DA A

1. TABLICZKA MNOENIA. Algorytm ma wczyta czynniki mnoenia, czyli dwie dowolne
liczby naturalne (a,b), oraz proponowany przez uytkownika wynik tego mnoenia (iloczyn).
Jeli wynik bdzie poprawny ma pojawi si komunikat Dobrze, a jeli wynik bdzie
bdny, to program powinien ponowi prob o wynik. Wczytywanie proponowanego
iloczynu ma odbywa si dopty nie bdzie on poprawny.























2. KASA. Algorytm ma dziaa, jak kasa fiskalna, czyli ma sumowa (w ptli) zakupione
towary. Uytkownik podaje ceny dowolnej iloci towarw. Obliczanie sumy koczy si, gdy
podana zostanie liczba 0. Program wywietla sum kocow (cakowit).











iloczyn:=a*b
Czytaj a, b
Czytaj I
START
T
N
Pisz Dobrze
STOP
I=iloczyn
a, b- czynniki
I proponowany przez uytkownika iloczyn
suma:=suma+cena
suma:=0
Czytaj cena
START
T
N
Pisz suma
STOP
cena=0
Gimnazjum w Tgoborzy - Algorytmika Strona 14 z 22 mgr Zofia Czech

3. REDNIA OCEN. Algorytm ma za zadanie obliczanie redniej ocen. Uytkownik na pocztku
podaje ilo ocen (n), ktrych redni bdzie chcia policzy, a nastpnie podaje kolejne oceny
(ocena). Wprowadzanie ocen koczy si z chwil podania przez niego 0. Wtedy pojawia si
informacja o redniej ocen danego ucznia (rednia).
































4. PIRAMIDA. Aby zbudowa piramid o podstawie 5 kwadratw jak na rysunku obok, potrzeba
15 elementw. Przygotuj algorytm, ktry bdzie liczy, ile potrzeba kwadratw do zbudowania
piramidy o podstawie 10, 15 bd 20 kwadratw. Przyjmij, e n ilo kwadratw w
podstawie piramidy to liczba naturalna z zakresu 1-256, a S- ilo wszystkich kwadratw
potrzebnych do zbudowania piramidy bdzie liczb naturaln.

- podstawa piramidy
- ilo wszystkich kwadratw

Uwaga!
Znaczenie symbolu E
E - czyt. sigma oznacza sum, np.:

rednia:=suma/n
Czytaj n
i:=i+1
i:=1
suma:=0
rednia:=0
Czytaj ocena
START
T
N
Pisz rednia
STOP
i=n
suma:=suma+ocena
Gimnazjum w Tgoborzy - Algorytmika Strona 15 z 22 mgr Zofia Czech




n Rysunek s
1



1
2




3=1+2
3

6=1+2+3=3+3
4








10=1+2+3+4=6+4
5

15=1+2+3+4+5=10+5

n


albo

Gimnazjum w Tgoborzy - Algorytmika Strona 16 z 22 mgr Zofia Czech














































Czytaj n
n:=0
s:=0
START
T
N
Pisz s
STOP
n<=256
Uwaga!
W zaoeniu
zadania jest, e
n<=256, wic
ptl t mona
pomin!
I sposb
s:=s+i
i:=n
Czytaj n
n:=0
s:=0
START
T N
Pisz s
STOP
i=0
i:=i-1
II sposb
Gimnazjum w Tgoborzy - Algorytmika Strona 17 z 22 mgr Zofia Czech
5. KARTKI. Na kadej kartce mieszcz si 4 strony z zadaniami. Napisz algorytm, ktry po
wczytaniu numeru strony wypisze, na ktrej kartce si ona znajduje. Zobacz rysunek. Niech n
liczb naturaln z zakresu 1-100 oznaczajca numer strony, k numer kartki.








nr strony,
nr kartki

Uwaga! Znaczenie symbolu [x]
[x] czyt. cecha oznacza najwiksz liczb cakowit jej nieprzekraczajc (czyli liczb
cakowit ). Np.: , , , itd.

n k rysunek
2


1str. 2str.
3str. 4str.
3

4

5


5 6
7 8

8


12


9 10
11 12
n

Itd.
1str. 2str.
3str. 4str.
1 kartka
9 10
11 12
3 kartka
5 6
7 8
2 kartka

Czytaj n
Pisz k
START
STOP
Gimnazjum w Tgoborzy - Algorytmika Strona 18 z 22 mgr Zofia Czech
6. SUMA POTG. Algorytm ma oblicza sum n liczb speniajcych regu: 1, 4, 9, 16, 25, 36,
Niech n liczba naturalna z zakresu 1-20 oznaczajca ilo liczb, suma suma n liczb
(potg).

ilo kolejnych potg,
. Dla n=5 mamy suma=1
2
+2
2+
3
2
+4
2
+5
2
=1+4+9+16+25=55.


























7. LICZBY DWUCYFROWE. Dana jest liczba dwucyfrowa k. utwrz algorytm, ktry wypisze
wszystkie liczby dwucyfrowe nie wiksze ni k w kolejnoci rosncej.


Np.: dla k=17
mamy cig: 10, 11, 12, 13, 14, 15, 16,
17.
suma:=suma+n
2
suma:=0
Czytaj n
START
STOP
n:=n-1
T N
Pisz suma
n=1
i:=10
Czytaj k
START
STOP
i:=i+1
T N
Pisz i
i>k
Gimnazjum w Tgoborzy - Algorytmika Strona 19 z 22 mgr Zofia Czech

8. LICZBY. Uytkownik podaje dwie liczby cakowite a, b. algorytm ma za zadanie wypisa
wszystkie parzyste liczby w kolejnoci rosncej, a nastpnie wszystkie liczby nieparzyste w
kolejnoci malejcej z przedziau <a;b>. niech a, b liczby cakowite z zakresu 0-255. Np. dla
danych wejciowych a=3, b=8, otrzymujemy plik wynikowy: 4, 6, 8, 7, 5, 3.



Pisz zy przedzia
i:=0
a:=0
b:=0
Czytaj a, b
START
i:=a
T
N
a>b
i:=i+2
Pisz i
T
i mod 2=0
N
i b
T N
i:=i+1
i:=b
STOP
i:=i-2
Pisz i
T
i mod 2=0
N
i a
T N
i:=i-1
Gimnazjum w Tgoborzy - Algorytmika Strona 20 z 22 mgr Zofia Czech

9. SEKUNDY. Algorytm ma oblicza ile sekund
stanowi G godzin M minut i S sekund. Niech G, M, S
liczby naturalne z zakresu 0 60. W wyniku
powinnimy uzyska czas w sekundach.

Pamitamy!!!
1h=60min=3600s
1min=60s


10. WRZECIONO. Przygotuj algorytm, ktry wyznaczy
ilo kwadratw potrzebnych do utworzenia figury
podobnej do tej z rysunku poniej. Niech n bdzie
iloci rzdw wrzeciona (liczba nieparzysta). S -
sum kwadratw potrzebnych do utworzenia figury.
Np. dla n=5, S=9 (rysunek obok).


Uwaga!
Tylko dla liczb nieparzystych zachodzi
rwno:

Zatem x (zmienn pomocnicz) moemy liczy na dwa sposoby



n Rysunek x s
1




1=1
2
3






4=2
2
5








9=3
2
czas:=G*3600+M*60+S
G:=0
M:=0
S:=0
Czytaj G, M, S
START
Pisz czas
STOP
Gimnazjum w Tgoborzy - Algorytmika Strona 21 z 22 mgr Zofia Czech
7









16=4
2
9 Itd.

25=5
2

n













Czytaj n
START
T
N
Pisz za
liczba
parzysta!!!
STOP
n mod 2=0
x:=0

s:=0
Pisz s
albo

Gimnazjum w Tgoborzy - Algorytmika Strona 22 z 22 mgr Zofia Czech
11. EGZAMIN. Pewien ucze obieca sobie, e bdzie pilnie przygotowywaa si do egzaminu t
minut kadego dnia. Niestety trudno byo mu wytrwa w tym postanowieniu i ju nastpnego
dnia czas nauki by o poow krtszy. Kolejnego dnia czas nauki znowu zmniejszy si o
poow. Sytuacja ta powtarzaa si, a do dnia sprawdzianu. Przygotuj algorytm, ktry dla
podanego czasu nauki pierwszego dnia (t podany w minutach) i n iloci dni do egzaminu,
wyznaczy sumaryczny czas przygotowania si ucznia. Np. dla t=64, n=3 otrzymujemy
odpowiedz: 112 (bo 64+32+16=112).

t czas nauki pierwszego dnia (w minutach)
n ilo dni do egzaminu (
czas cakowity (sumaryczny) czas przygotowywania si do egzaminu.









Czyli

Np.
dla n=3, t=64 mamy
czas=


czas:=
n:=0
t:=0
czas:=0
Czytaj n, t
START
Pisz czas
STOP
Cig geometryczny:
a
1,
a
2,
a
3,
, gdzie
a
1
- pierwszy wyraz cigu,
a
n
n-ty wyraz cigu, a
n
=a
1
*q
n-1

q iloraz,
S
n
- suma n pocztkowych wyrazw cigu
S
n
=a
1
+a
2
+

a
3
+ a
n

You might also like