Programoz´as I. 1. el˝ oad´as Sergy´an Szabolcs
[email protected] ´ Obudai Egyetem Neumann J´ anos Informatikai Kar
2012. szeptember 10.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
1 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
2 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
3 / 50
Mi az az algoritmus? 1957 el˝ott nem lehetett megtal´alni az algorithm sz´ot a Webster’s sz´ot´arban. Az algorism sz´o volt a sz´ ot´arban, melynek jelent´ese: aritmetikai elj´ar´asok elv´egz´ese arab sz´amokkal. Az els˝o algoritmus, amivel tal´alkozhatunk, az Euklideszi algoritmus volt.
Mai defin´ıci´o J´ ol meghat´arozott utas´ıt´asok v´eges sorozata, amelynek bemenete egy bizonyos ´ert´ek vagy ´ert´ekhalmaz, ´es amely l´etrehoz valamilyen ´ert´eket vagy ´ert´ekhalmazt kimenetk´ent.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
4 / 50
Algoritmus k´esz´ıt´es´enek l´ep´esei A folyamatot elemi l´ep´esekre bontjuk Figyelembe vessz¨ uk az ¨ osszes felmer¨ ul˝ o lehet˝ os´eget ¨ Ugyel¨ unk, hogy az algoritmus v´eges sok l´ep´esben v´eget ´erjen
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
5 / 50
P´elda (1) K´av´eautomata 1
V´alaszd ki, amit inni akarsz!
2
Dobj be p´enzt!
3
Ha nem el´eg a bedobott p´ent, akkor menj a 2. l´ep´esre!
4
V´ard, am´ıg elk´esz¨ ul a k´av´e!
5
Vedd el a k´av´et!
6
Vedd el a visszaj´ar´o p´enzt!
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
6 / 50
P´elda (2) Nem indul a motor 1
Ellen˝orizd a benzintankot!
2 3
Ha nincs benne benzin, akkor t¨ oltsd tele! ´ Ha elindul a motor, akkor VEGE.
4
Ellen˝orizd az akkumul´atort!
5 6
Ha nincs megfelel˝oen felt¨ oltve, akkor t¨ oltsd fel! ´ Ha elindul a motor, akkor VEGE.
7
Ellen˝orizd a gyerty´at!
8
Ha sz¨ uks´eges, cser´eld ki!
9
´ Ha elindul a motor, akkor VEGE.
10
Vidd el a szerel˝oh¨oz!
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
7 / 50
P´elda (3)
Euklideszi algoritmus Bemenet: K´et pozit´ıv eg´esz sz´am: m ´es n. Kimenet: A legnagyobb eg´esz sz´am, amely m-nek ´es n-nek is oszt´oja. Algoritmus 1
Osszuk el m-et n-nel ´es legyen r az oszt´asi marad´ek.
2
Ha r = 0, akkor v´eget ´er az algoritmus ´es n a kimenet.
3
Egy´ebk´ent m ← n ´es n ← r .
4
Ugr´as az 1. l´ep´esre.
Sergy´ an (OE NIK)
Programoz´ as I.
m 120 48
n 48 24
2012. szeptember 10.
r 24 0
8 / 50
P´elda (4) Adjuk meg egy sz´o sz´ot´arban t¨ ort´en˝ o keres´es´enek algoritmus´at!
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
9 / 50
Az algoritmusokkal szembeni elv´ar´asok V´ egess´ eg: V´eges sz´am´ u l´ep´est k¨ ovet˝ oen v´eget kell ´ernie az algoritmusnak. Meghat´ arozotts´ ag: Az algoritmus minden egyes l´ep´es´et minden lehets´eges esetre prec´ızen defini´alni kell. Bemenet: Egy algoritmusnak nulla vagy ann´al t¨ obb bemenete lehet, amik az algoritmus kezdetekor ismertek. Kimenet: Egy algoritmusnak nulla vagy ann´al t¨ obb kimenete van, amelyek meghat´arozott viszonyban vannak az algoritmus bemeneteivel. Hat´ ekonys´ ag: Egy sz´am´ıt´ og´ep ´altal v´egrehajtott algoritmust´ol elv´art, hogy gyorsabban m˝ uk¨ odj¨ on ann´al, mintha sz´am´ıt´og´ep n´elk¨ ul hajtottuk volna v´egre.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
10 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
11 / 50
Megengedett vez´erl´esi szerkezetek Szekvencia: Egy utas´ıt´ast k¨ ozvetlen¨ ul egy m´asik ut´an v´egz¨ unk el. El´ agaz´ as: Adott (legal´abb) 2 darab felt´etel-program p´aros. A teljes¨ ul˝o felt´etelhez tartoz´ o programr´esz (utas´ıt´asok) v´egrehajt´asa. Ciklus: Megadott felt´etel teljes¨ ul´ese eset´en egy programr´esz (ciklusmag) t¨obbsz¨ori v´egrehajt´asa.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
12 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
13 / 50
Algoritmus le´ır´o eszk¨oz¨ok Mondatok Blokkdiagram Struktogram Jackson ´abra Pszeudok´od Programnyelv
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
14 / 50
Algoritmus le´ır´o eszk¨oz¨ok Mondatok Blokkdiagram Struktogram Jackson ´abra Pszeudok´od Programnyelv
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
14 / 50
Blokkdiagram Teend˝ok ´es k´erd´esek ¨osszek¨ ot´ese nyilakkal
Euklideszi algoritmus Be: m, n r ← m mod n i
r =0
n
m ← n n ← r
Ki: n
Megjegyz´es Fontos k¨ ul¨ onbs´ eg van az ´ ert´ ekad´ as jele ´ es az ¨ osszehasonl´ıt´ o egyenl˝ os´ eg jele k¨ oz¨ ott ´ ekad´ ← Ert´ ast jel¨ olj¨ uk vele. A bal oldalon mindig egy v´ altoz´ o´ all, ami ´ ert´ ek¨ ul kapja a jobb oldali kifejez´ es aktu´ alis ´ ert´ ek´ et. ¨ = Osszehasonl´ ıt´ o egyenl˝ os´ eget jel¨ ol¨ unk vele. Igaz ha a k´ et oldal´ an kifejez´ es megegyezik egym´ assal, egy´ ebk´ ent pedig hamis. Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
15 / 50
Szekvencia ´abr´azol´asa blokkdiagramon Utas´ıt´as1 Utas´ıt´as2 Utas´ıt´as3
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
16 / 50
El´agaz´as ´abr´azol´asa blokkdiagramon
i
Felt´etel
Utas´ıt´as1
Sergy´ an (OE NIK)
n
Utas´ıt´as2
Programoz´ as I.
2012. szeptember 10.
17 / 50
Ciklus ´abr´azol´asa blokkdiagramon Nincs k¨ ul¨on jel¨ol´es a ciklusra, el´agaz´assal viszont ´abr´azolhat´o.
i
Utas´ıt´as
Sergy´ an (OE NIK)
Programoz´ as I.
Felt´etel
2012. szeptember 10.
18 / 50
Probl´em´ak a blokkdiagrammal Nyilak ´es vonalak kesze-kusza rendszere Teljesen ad-hoc elrendez´es˝ u, k´et ugyanolyan algoritmus le´ır´asa a rajzol´o k´enye-kedve szerint ak´ar teljesen m´as elrendez´es˝ u is lehet
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
19 / 50
Struktogram Teend˝ok ´es k´erd´esek struktur´altan k¨ ot¨ ott, mindig t´eglalap alak´ u k´epi reprezent´aci´oja
Euklideszi algoritmus Be: m, n r ← m mod n Am´ıg r 6= 0 m←n n←r r ← m mod n Ki: n
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
20 / 50
Szekvencia ´abr´azol´asa struktogramon Utas´ıt´as1 Utas´ıt´as2 Utas´ıt´as3
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
21 / 50
El´agaz´as ´abr´azol´asa struktogramon Felt´etel
A
Utas´ıt´as1
Sergy´ an (OE NIK)
Utas´ıt´as2
Programoz´ as I.
2012. szeptember 10.
22 / 50
Ciklus ´abr´azol´asa struktogramon Felt´etel Utas´ıt´as
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
23 / 50
Probl´em´ak a struktogrammal Nehezen m´odos´ıthat´o Az elk´esz´ıt´ese ´es az ´ertelmez´ese olykor neh´ezkes
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
24 / 50
Pszeudok´od Teend˝ok ´es k´erd´esek k¨ ot¨ ott kifejez´esekkel val´ o sz¨oveges le´ır´asa Nagy m´ert´ek˝ u hasonl´ os´agot mutat a programnyelvek sturkt´ ur´aj´ahoz
Euklideszi algoritmus Be: m, n r ← m mod n Ciklus am´ıg r 6= 0 m←n n←r r ← m mod n Ciklus v´ ege Ki: n
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
25 / 50
Szekvencia megad´asa pszeudok´oddal Utas´ıt´as1 Utas´ıt´as2 Utas´ıt´as3
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
26 / 50
El´agaz´as megad´asa pszeudok´oddal Ha felt´etel akkor Utas´ıt´as1 k¨ ul¨ onben Utas´ıt´as2 El´ agaz´ as v´ ege
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
27 / 50
T¨obbir´any´u el´agaz´as megad´asa pszeudok´oddal El´ agaz´ as Felt´etel1 eset´ en Utas´ıt´as1 Felt´etel2 eset´ en Utas´ıt´as2 Felt´etel3 eset´ en Utas´ıt´as3 k¨ ul¨ onben Utas´ıt´as4 El´ agaz´ as v´ ege
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
28 / 50
Ciklus megad´asa pszeudok´oddal
El˝oltesztel˝os ciklus
H´atultesztel˝os ciklus
Sz´aml´al´os ciklus
Ciklus am´ıg felt´etel Utas´ıt´as Ciklus v´ ege
Ciklus Utas´ıt´as Ciklus am´ıg felt´etel
Ciklus i ← i0 -t´ ol i1 -ig Utas´ıt´as Ciklus v´ ege
Akkor l´ep¨ unk be, illetve addig maradunk a ciklusban, am´ıg a felt´etel igaz
Addig maradunk a ciklusban, am´ıg a felt´etel igaz
Az i ciklusv´altoz´o ´ert´eke minden ciklusban 1-gyel n¨ ovekszik. Akkor l´ep¨ unk ki a ciklusb´ol, ha i ´ert´eke m´ar meghaladja az i1 ´ert´eket.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
29 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
30 / 50
Struktur´alt programoz´as Struktur´alt programnak tekintj¨ uk azokat a programokat, amelyek csak a megengedett elemi programokat tartalmazz´ak a megengedett programkonstrukci´ok (vez´erl´esi szerkezetek) alkalmaz´as´aval. Elemi programok u ¨res program ´ert´ekad´as (´allapot v´altoztat´as) jele: ←
Megengedett konstrukci´ ok szekvencia el´agaz´as ciklus
Bizony´ıthat´o, hogy a fenti szab´alyok megtart´as´aval minden algoritmussal megoldhat´ o feladatra adhat´ o is megold´as.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
31 / 50
Modul´aris programoz´as Az elk´esz´ıtend˝o programot egyetlen utas´ıt´assal szeretn´enk megoldani. Ha ez nem siker¨ ul, akkor t¨ obb utas´ıt´assal pr´ ob´alkozunk, melyek egyes r´eszfeladatokat val´os´ıtanak meg. Addig folytatjuk ezt a r´eszfeladatokra bont´ast, m´ıg minden r´eszfeladatot siker¨ ul megval´ os´ıtani elemi utas´ıt´asok felhaszn´al´as´aval. ¨ Osszefoglalva: A teljes feladatot r´eszekre bontjuk, majd ezeket a visszavezet´es m´odszer´evel megoldjuk.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
32 / 50
Modul´aris programoz´as A modul´aris programoz´ast az al´abbi Jackson ´abra szeml´elteti
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
33 / 50
Modul´aris programoz´as A modul´aris programoz´as pl. f¨ uggv´enyek (illetve elj´ar´asok) h´ıv´as´aval tudjuk megval´os´ıtani. A f¨ uggv´enyek ¨on´all´o r´eszprogramok, melyeknek lehetnek bemenetei ´es visszat´er´esi ´ert´ekei.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
34 / 50
V´altoz´ok Az algoritmusok megval´ os´ıt´as´ahoz v´altoz´ okra van sz¨ uks´eg¨ unk (ld. Euklideszi algoritmus). Az egyes v´altoz´oknak az algoritmusok sz´am´ıt´ og´epes implement´aci´oj´an´al t´ıpust kell megfeleltetni. Sok esetben az alkalmazott v´altoz´ o t´ıpust´ ol f¨ ugg, hogy milyen algoritmussal oldhat´o meg egy probl´ema.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
35 / 50
Elemi v´altoz´o t´ıpusok Eg´esz t´ıpusok H´any b´ajton ´abr´azolva? El˝ ojeles/el˝ ojel n´elk¨ uli?
Lebeg˝opontos t´ıpusok H´any b´ajton ´abr´azolva? Vigy´azat! Nem ´abr´azolhat´ o minden val´ os sz´am!
Karakter t´ıpus(ok) Logikai t´ıpus
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
36 / 50
¨ Osszetett t´ıpusok T¨omb¨ok Stringek Strukt´ ur´ak Halmazok Objektumok .. .
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
37 / 50
V´altoz´ok jellemz˝oi ´ Elettartam Statikus/dinamikus Konstans/v´altoztathat´ o Hat´ok¨or (lok´alis/glob´alis) F¨ uggv´eny param´eterek´ent ´ert´ek/c´ım szerint ´atadott
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
38 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
39 / 50
El˝oad´asra j´ar´o hallgat´ok sz´am´anak meghat´aroz´asa H´anyan vannak itt a teremben? Hogyan tudn´ank ezt hat´ekonyan megsz´amolni?
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
40 / 50
Algoritmus l´ep´essz´ama Egy algoritmus l´ep´essz´ama alatt azt ´ertj¨ uk, hogy h´any elemi m˝ uveletet (´ert´ekad´as, ¨ osszehasonl´ıt´as, beolvas´as, kiirat´as, stb.) kell v´egrehajtani adott bemenet mellett. Egy algoritmus fut´asi ideje f¨ ugg az algoritmust megval´os´ıt´o programt´ol, a programoz´asi nyelvt˝ ol, a sz´am´ıt´ og´ept˝ol, stb. Algoritmuselm´eletben a fut´asi id˝ ot a l´ep´essz´ammal jellemezz¨ uk.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
41 / 50
Sorozat rendez´ese Bemenet: egy sz´amsorozat: < a1 , a2 , . . . , an > Kimenet: n¨ovekv˝o m´odon rendezett sorozat: < a10 , a20 , . . . , an0 >, ahol a10 ≤ a20 ≤ . . . ≤ an0 Jav´ıtott besz´ ur´o rendez´es pszeudok´ odja: Ciklus j ← 2-t˝ ol n-ig k ← A[j] i ←j −1 Ciklus am´ıg i > 0 ´ es A[i] > k A[i + 1] ← A[i] i ←i −1 Ciklus v´ ege A[i + 1] ← k Ciklus v´ ege Sz¨ uks´eges l´ep´essz´am egy sorozat rendez´es´ehez? Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
42 / 50
Sorozat rendez´ese A fut´asi id˝o f¨ ugg a bemeneti sorozatt´ ol (rendezett, majdnem rendezett, ford´ıtva rendezett, stb.) A fut´asi id˝o f¨ ugg a bemeneti sorozat m´eret´et˝ ol A fut´asi id˝ot fel¨ ulr˝ol szeretn´enk becs¨ ulni, teh´at fels˝o korl´atot akarunk meghat´arozni
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
43 / 50
Fut´asi id˝o anal´ızis´enek fajt´ai Legrosszab eset anal´ızis T (n): a maxim´alis fut´asi id˝ o, amely b´armely n elem˝ u sorozat eset´en a rendez´eshez legfeljebb sz¨ uks´eges
´ Atlagos eset anal´ızis T (n): a v´arhat´ o fut´asi id˝ o, amely az n elem˝ u sorozatok rendez´es´ehez sz¨ uks´eges
Legjobb eset anal´ızis Magunkat verj¨ uk ´at, ha ezzel foglalkozunk
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
44 / 50
Sorozat rendez´es L´ep´essz´am meghat´aroz´asa Rendezett eset: 3 · (n − 1) darab ´ert´ekad´as ´es n − 2 darab o¨sszehasonl´ıt´as. ´Igy a l´ep´essz´am (n ≥ 2 eset´en): T (n) = 3 · (n − 1) + (n − 2) = 4n − 5 Ford´ıtva rendezett eset: (n+2)(n−1) + n(n−1) darab ¨osszehasonl´ıt´as ´es 2 2 n(n−1) ´ 3 · (n − 1) + 2 · 2 ´ert´ekad´as. Igy a l´ep´essz´am: T (n) =
Sergy´ an (OE NIK)
(2n + 2)(n − 1) + (n + 3)(n − 1) 2
Programoz´ as I.
2012. szeptember 10.
45 / 50
Sorozat rendez´es Megjegyz´es A pontos l´ep´essz´am meghat´aroz´as persze f¨ ugg att´ ol, hogy a g´ep minden ´ert´ekad´ast ugyanannyi id˝ o alatt (ugyanannyi elemi l´ep´essel) hajt v´egre? (pl. i ← j − 1 vs. k ← A[j]) a g´ep minden ¨osszehasonl´ıt´ast ugyanannyi elemi l´ep´essel val´os´ıt meg? (pl. i > 0 vs. A[i] > k) egy ´ert´ekad´as ´es egy ¨ osszehasonl´ıt´as ugyanannyi elemi l´ep´es? Ezek viszont csak valamilyen konstans egy¨ utthat´ oval val´o szorz´ast jelentenek az egyes tagokn´al. (Az egy¨ utthat´ o nem f¨ ugg n-t˝ol!)
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
46 / 50
Nagy ord´o jel¨ol´es Legyenek f (x) ´es g (x) egyv´altoz´ os f¨ uggv´enyek. f (x) = O (g (x)) akkor ´es csak akkor, ha l´eteznek olyan M ´es x0 pozit´ıv val´os sz´amok, hogy minden x > x0 eset´en |f (x)| ≤ M · |g (x)|
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
47 / 50
Sz´o keres´ese sz´ot´arban Hogyan tudunk hat´ekonyan sz´ ot keresni egy sz´ ot´arban?
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
48 / 50
Tartalom 1
Algoritmus
2
Vez´erl´esi szerkezetek
3
Algoritmus le´ır´o eszk¨oz¨ ok Blokkdiagram Struktogram Pszeudok´od
4
Struktur´alt programoz´as
5
Algoritmusok hat´ekonys´aga
6
Feladatok
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
49 / 50
Feladatok 1
´Irjuk le a m´asodfok´ u egyenlet megold´asi algoritmus´at folyamat´abr´aval, struktogrammal ´es pszeudok´ oddal!
2
Adott k´et s´ıkbeli pont: P1 (x1 , y1 ) ´es P2 (x2 , y2 ). Keress¨ uk a P1 -en ´es P2 -n ´athalad´o egyenesen az x0 abszcissz´aj´ u pont y0 koordin´at´aj´at. Adjon algoritmust a feladat megold´as´ara!
3
K´esz´ıtsen algoritmust, mely eld¨ onti, hogy egy adott ´ev sz˝ok˝o´ev-e vagy sem!
4
K´esz´ıtsen algoritmust, mely megadja, hogy egy adott ´ev adott h´onapja h´any napb´ol ´all.
5
K´esz´ıtsen algoritmust, amely egy pozit´ıv eg´esz sz´amr´ol eld¨onti, hogy pr´ım-e vagy sem!
6
K´esz´ıtsen algoritmust, amely bek´eri egy tank¨ or zh eredm´enyeit, majd kisz´am´ıtja azok ´atlag´at.
Sergy´ an (OE NIK)
Programoz´ as I.
2012. szeptember 10.
50 / 50