Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Hasonló dokumentumok
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Algoritmusok, adatszerkezetek, objektumok

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Összetett programozási tételek

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Programozás alapjai (ANSI C)

Egyszerű programozási tételek

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Bevezetés az informatikába

Programozás alapjai 1.Gy: Algoritmizálás P R O

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Algoritmusok. Dr. Iványi Péter

Felvételi tematika INFORMATIKA

A C# programozási nyelv alapjai

Bevezetés a programozásba I.

Rendezések. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar október 24.

Programozási alapismeretek 1. előadás

Programozási tételek. PPT 2007/2008 tavasz.

Rekurzív algoritmusok

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Algoritmizálás, adatmodellezés tanítása 1. előadás

Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Algoritmusok tervezése

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

AZ ALGORITMUS. az eredményt szolgáltatja

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

Java programozási nyelv

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

A félév során előkerülő témakörök

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Webprogramozás szakkör

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Bevezetés a programozásba I.

Adatbázis rendszerek Gy: Algoritmusok C-ben

Programozás II. előadás

Bevezetés a programozásba

Algoritmizálás és adatmodellezés tanítása 1. előadás

Számelméleti alapfogalmak

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

Programozási nyelvek 6. előadás

Rendezések. Összehasonlító rendezések

Gyakorló feladatok az 1. nagy zárthelyire

Haladó rendezések. PPT 2007/2008 tavasz.

Hatékonyság 1. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI

Dr. Schuster György február / 32

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Web-programozó Web-programozó

Algoritmizálás, adatmodellezés 1. előadás

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Objektumorientált paradigma és a programfejlesztés

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozási alapismeretek 3. előadás

Adatszerkezetek és algoritmusok

Rekurzió. Dr. Iványi Péter

Algoritmizálás + kódolás C++ nyelven és Pascalban

Objektumorientált paradigma és programfejlesztés Bevezető

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

ELEMI PROGRAMOZÁSI TÉTELEK

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Programozási módszertan

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Adatszerkezetek I. 1. előadás

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Szoftvertervezés és -fejlesztés I.

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Az informatika kulcsfogalmai

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Operációs rendszerek gyak.

Algoritmizálás, adatmodellezés tanítása 6. előadás

NULLADIK MATEMATIKA ZÁRTHELYI

Átírás:

Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 2 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 3 / 48

Mi az az algoritmus? 1957 előtt nem lehetett megtalálni az algorithm szót a Webster s szótárban. Az algorism szó volt a szótárban, melynek jelentése: aritmetikai eljárások elvégzése arab számokkal. Az első algoritmus, amivel találkozhatunk, az Euklideszi algoritmus volt. Mai definíció Jól meghatározott utasítások véges sorozata, amelynek bemenete egy bizonyos érték vagy értékhalmaz, és amely létrehoz valamilyen értéket vagy értékhalmazt kimenetként. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 4 / 48

Algoritmus készítésének lépései A folyamatot elemi lépésekre bontjuk Figyelembe vesszük az összes felmerülő lehetőséget Ügyelünk, hogy az algoritmus véges sok lépésben véget érjen Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 5 / 48

Példa (1) Kávéautomata 1 Válaszd ki, amit inni akarsz! 2 Dobj be pénzt! 3 Ha nem elég a bedobott pént, akkor menj a 2. lépésre! 4 Várd, amíg elkészül a kávé! 5 Vedd el a kávét! 6 Vedd el a visszajáró pénzt! Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 6 / 48

Példa (2) Nem indul a motor 1 Ellenőrizd a benzintankot! 2 Ha nincs benne benzin, akkor töltsd tele! 3 Ha elindul a motor, akkor VÉGE. 4 Ellenőrizd az akkumulátort! 5 Ha nincs megfelelően feltöltve, akkor töltsd fel! 6 Ha elindul a motor, akkor VÉGE. 7 Ellenőrizd a gyertyát! 8 Ha szükséges, cseréld ki! 9 Ha elindul a motor, akkor VÉGE. 10 Vidd el a szerelőhöz! Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 7 / 48

Példa (3) Euklideszi algoritmus Bemenet: Két pozitív egész szám: m és n. Kimenet: A legnagyobb egész szám, amely m-nek és n-nek is osztója. Algoritmus m n r 120 48 24 48 24 0 1 Osszuk el m-et n-nel és legyen r az osztási maradék. 2 Ha r = 0, akkor véget ér az algoritmus és n a kimenet. 3 Egyébként m n és n r. 4 Ugrás az 1. lépésre. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 8 / 48

Példa (4) Adjuk meg egy szó szótárban történő keresésének algoritmusát! Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 9 / 48

Az algoritmusokkal szembeni elvárások Végesség: Véges számú lépést követően véget kell érnie az algoritmusnak. Meghatározottság: Az algoritmus minden egyes lépését minden lehetséges esetre precízen definiálni kell. Bemenet: Egy algoritmusnak nulla vagy annál több bemenete lehet, amik az algoritmus kezdetekor ismertek. Kimenet: Egy algoritmusnak nulla vagy annál több kimenete van, amelyek meghatározott viszonyban vannak az algoritmus bemeneteivel. Hatékonyság: Egy számítógép által végrehajtott algoritmustól elvárt, hogy gyorsabban működjön annál, mintha számítógép nélkül hajtottuk volna végre. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 10 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 11 / 48

Megengedett vezérlési szerkezetek Szekvencia: Egy utasítást közvetlenül egy másik után végzünk el. Elágazás: Adott (legalább) 2 darab feltétel-program páros. A teljesülő feltételhez tartozó programrész (utasítások) végrehajtása. Ciklus: Megadott feltétel teljesülése esetén egy programrész (ciklusmag) többszöri végrehajtása. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 12 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 13 / 48

Algoritmus leíró eszközök Mondatok Blokkdiagram Struktogram Jackson ábra Pszeudokód Programnyelv Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 14 / 48

Algoritmus leíró eszközök Mondatok Blokkdiagram Struktogram Jackson ábra Pszeudokód Programnyelv Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 14 / 48

Blokkdiagram Teendők és kérdések összekötése nyilakkal Euklideszi algoritmus Be: m, n r m mod n Ki: n i r = 0 n m n n r Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 15 / 48

Szekvencia ábrázolása blokkdiagramon Utasítás1 Utasítás2 Utasítás3 Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 16 / 48

Elágazás ábrázolása blokkdiagramon i Feltétel n Utasítás1 Utasítás2 Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 17 / 48

Ciklus ábrázolása blokkdiagramon Nincs külön jelölés a ciklusra, elágazással viszont ábrázolható. Utasítás i Feltétel Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 18 / 48

Problémák a blokkdiagrammal Nyilak és vonalak kesze-kusza rendszere Teljesen ad-hoc elrendezésű, két ugyanolyan algoritmus leírása a rajzoló kénye-kedve szerint akár teljesen más elrendezésű is lehet Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 19 / 48

Struktogram Teendők és kérdések strukturáltan kötött, mindig téglalap alakú képi reprezentációja Euklideszi algoritmus Be: m, n r m mod n Amíg r 0 m n n r r m mod n Ki: n Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 20 / 48

Szekvencia ábrázolása struktogramon Utasítás1 Utasítás2 Utasítás3 Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 21 / 48

Elágazás ábrázolása struktogramon Utasítás1 Feltétel Utasítás2 Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 22 / 48

Ciklus ábrázolása struktogramon Feltétel Utasítás Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 23 / 48

Problémák a struktogrammal Nehezen módosítható Az elkészítése és az értelmezése olykor nehézkes Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 24 / 48

Pszeudokód Teendők és kérdések kötött kifejezésekkel való szöveges leírása Nagy mértékű hasonlóságot mutat a programnyelvek sturktúrájához Euklideszi algoritmus Be: m, n r m mod n Ciklus amíg r 0 m n n r r m mod n Ciklus vége Ki: n Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 25 / 48

Szekvencia megadása pszeudokóddal Utasítás1 Utasítás2 Utasítás3 Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 26 / 48

Elágazás megadása pszeudokóddal Ha feltétel akkor Utasítás1 különben Utasítás2 Elágazás vége Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 27 / 48

Többirányú elágazás megadása pszeudokóddal Elágazás Feltétel1 esetén Utasítás1 Feltétel2 esetén Utasítás2 Feltétel3 esetén Utasítás3 különben Utasítás4 Elágazás vége Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 28 / 48

Ciklus megadása pszeudokóddal Előltesztelős ciklus Ciklus amíg feltétel Utasítás Ciklus vége Akkor lépünk be, illetve addig maradunk a ciklusban, amíg a feltétel igaz Hátultesztelős ciklus Ciklus Utasítás Ciklus amíg feltétel Addig maradunk a ciklusban, amíg a feltétel igaz Számlálós ciklus Ciklus i i 0 -tól i 1 -ig Utasítás Ciklus vége Az i ciklusváltozó értéke minden ciklusban 1-gyel növekszik. Akkor lépünk ki a ciklusból, ha i értéke már meghaladja az i 1 értéket. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 29 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 30 / 48

Strukturált programozás Strukturált programnak tekintjük azokat a programokat, amelyek csak a megengedett elemi programokat tartalmazzák a megengedett programkonstrukciók (vezérlési szerkezetek) alkalmazásával. Elemi programok üres program értékadás (állapot változtatás) jele: Megengedett konstrukciók szekvencia elágazás ciklus Bizonyítható, hogy a fenti szabályok megtartásával minden algoritmussal megoldható feladatra adható is megoldás. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 31 / 48

Moduláris programozás Az elkészítendő programot egyetlen utasítással szeretnénk megoldani. Ha ez nem sikerül, akkor több utasítással próbálkozunk, melyek egyes részfeladatokat valósítanak meg. Addig folytatjuk ezt a részfeladatokra bontást, míg minden részfeladatot sikerül megvalósítani elemi utasítások felhasználásával. Összefoglalva: A teljes feladatot részekre bontjuk, majd ezeket a visszavezetés módszerével megoldjuk. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 32 / 48

Moduláris programozás A moduláris programozást az alábbi Jackson ábra szemlélteti Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 33 / 48

Moduláris programozás A moduláris programozás pl. függvények (illetve eljárások) hívásával tudjuk megvalósítani. A függvények önálló részprogramok, melyeknek lehetnek bemenetei és visszatérési értékei. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 34 / 48

Változók Az algoritmusok megvalósításához változókra van szükségünk (ld. Euklideszi algoritmus). Az egyes változóknak az algoritmusok számítógépes implementációjánál típust kell megfeleltetni. Sok esetben az alkalmazott változó típustól függ, hogy milyen algoritmussal oldható meg egy probléma. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 35 / 48

Elemi változó típusok Egész típusok Hány bájton ábrázolva? Előjeles/előjel nélküli? Lebegőpontos típusok Hány bájton ábrázolva? Vigyázat! Nem ábrázolható minden valós szám! Karakter típus(ok) Logikai típus Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 36 / 48

Összetett típusok Tömbök Stringek Struktúrák Halmazok Objektumok. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 37 / 48

Változók jellemzői Élettartam Statikus/dinamikus Konstans/változtatható Hatókör (lokális/globális) Függvény paramétereként érték/cím szerint átadott Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 38 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 39 / 48

Előadásra járó hallgatók számának meghatározása Hányan vannak itt a teremben? Hogyan tudnánk ezt hatékonyan megszámolni? Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 40 / 48

Algoritmus lépésszáma Egy algoritmus lépésszáma alatt azt értjük, hogy hány elemi műveletet (értékadás, összehasonĺıtás, beolvasás, kiiratás, stb.) kell végrehajtani adott bemenet mellett. Egy algoritmus futási ideje függ az algoritmust megvalósító programtól, a programozási nyelvtől, a számítógéptől, stb. Algoritmuselméletben a futási időt a lépésszámmal jellemezzük. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 41 / 48

Sorozat rendezése Bemenet: egy számsorozat: < a 1, a 2,..., a n > Kimenet: növekvő módon rendezett sorozat: < a 1, a 2,..., a n >, ahol a 1 a 2. a n Javított beszúró rendezés pszeudokódja: Ciklus j 2-től n-ig k A[j] i j 1 Ciklus amíg i > 0 és A[i] > k A[i + 1] A[i] i i 1 Ciklus vége A[i + 1] k Ciklus vége Szükséges lépésszám egy sorozat rendezéséhez? Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 42 / 48

Sorozat rendezése A futási idő függ a bemeneti sorozattól (rendezett, majdnem rendezett, fordítva rendezett, stb.) A futási idő függ a bemeneti sorozat méretétől A futási időt felülről szeretnénk becsülni, tehát felső korlátot akarunk meghatározni Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 43 / 48

Futási idő anaĺızisének fajtái Legrosszab eset anaĺızis T (n): a maximális futási idő, amely bármely n elemű sorozat esetén a rendezéshez legfeljebb szükséges Átlagos eset anaĺızis T (n): a várható futási idő, amely az n elemű sorozatok rendezéséhez szükséges Legjobb eset anaĺızis Magunkat verjük át, ha ezzel foglalkozunk Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 44 / 48

Nagy ordó jelölés Legyenek f (x) és g(x) egyváltozós függvények. f (x) = O (g(x)) akkor és csak akkor, ha léteznek olyan M és x 0 pozitív valós számok, hogy minden x > x 0 esetén f (x) M g(x) Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 45 / 48

Szó keresése szótárban Hogyan tudunk hatékonyan szót keresni egy szótárban? Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 46 / 48

Tartalom 1 Algoritmus 2 Vezérlési szerkezetek 3 Algoritmus leíró eszközök Blokkdiagram Struktogram Pszeudokód 4 Strukturált programozás 5 Algoritmusok hatékonysága 6 Feladatok Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 47 / 48

Feladatok 1 Írjuk le a másodfokú egyenlet megoldási algoritmusát folyamatábrával, struktogrammal és pszeudokóddal! 2 Adott két síkbeli pont: P 1 (x 1, y 1 ) és P 2 (x 2, y 2 ). Keressük a P 1 -en és P 2 -n áthaladó egyenesen az x 0 abszcisszájú pont y 0 koordinátáját. Adjon algoritmust a feladat megoldására! 3 Készítsen algoritmust, mely eldönti, hogy egy adott év szőkőév-e vagy sem! 4 Készítsen algoritmust, mely megadja, hogy egy adott év adott hónapja hány napból áll. 5 Készítsen algoritmust, amely egy pozitív egész számról eldönti, hogy prím-e vagy sem! 6 Készítsen algoritmust, amely bekéri egy tankör zh eredményeit, majd kiszámítja azok átlagát. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 48 / 48