1 / 22

Stáblista

Programozás alapjai GEIAL 3 12 B (ANSI C) BSc (Bachelor of Science) / Alap képzés 200 5 /200 6 . őszi f élév Miskolci Egyetem Általános Informatikai Tanszék. Stáblista. Előadó: Dr. Pance Miklós , egyetemi docens Info. 106/a, pance@iit.uni-miskolc.hu

wan
Download Presentation

Stáblista

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programozás alapjai GEIAL312B(ANSI C)BSc (Bachelor of Science) / Alap képzés2005/2006. őszi félévMiskolci Egyetem Általános Informatikai Tanszék

  2. Stáblista • Előadó: Dr. Pance Miklós, egyetemi docensInfo. 106/a, pance@iit.uni-miskolc.hu • Gyakorlatvezetők:Kolcza Gábor, tudományos segédmunkatársInfo. 111., kolcza@iit.uni-miskolc.huSmid László, egyetemi tanársegédInfo. 111., altsmid@gold.uni-miskolc.hu • A Tisztelt Hallgatóság

  3. Követelmények • 2 óra előadás, 2 óra gyakorlat • Aláírás, kollokvium • Aláírás feltételei: 5 kiszárthelyi dolgozat, 1 önálló programozási feladat • Vizsga: elméleti kérdések (50%) apró gyakorlati feladatok (50%)

  4. Javasolt irodalom 1. • Brian W. Kernighan – Dennis M. Ritchie: A C programozási nyelv, Az ANSI szerint szabványosított változat. Műszaki Könyvkiadó, Budapest, 1996. • Clovis L. Tondo – Scott E. Gimpel: C programozási feladatok megoldásai. Műszaki Könyvkiadó, Budapest, 1996.

  5. Javasolt irodalom 2. • Ficsór Lajos honlapján található, a tárgyhoz kapcsolódó anyagok:http://www.iit.uni-miskolc.hu/~ficsor/Oktatási segédlet, kódolási szabvány • Pance Miklós honlapján található előadásvázlat:http://www.iit.uni-miskolc.hu/~pance/

  6. A számítógép programozás • Szórakozás (fun) • Kemény munka • Szellemi (intellektuális) kaland • Hivatás (karrier) • Olvasás, írás

  7. Ber'senyi (Berzsenyi) Dániel: "A tudományok mécsek az éjben, a gyakorlat nélkül csak koporsói mécsek." Levél Gróf Széchenyi Istvánnak és báró Wesselényi Miklósnak Mikla (Nikla), Febr. 25. 1830.

  8. Számítógép alapismeretek Számítógép fajták Működési elv szerint:analóg, digitális, hibrid. Digitális számítógép:elektronikus, digitális, automatikus, tárolt programú, programvezérlésű. Fizikai megvalósítás szerint:1. generációs (elektroncsöves),2. generációs (tranzisztoros),3. generációs (integrált áramkörös, IC),4. generációs (nagyfokú integrált áramkör, VLSI).

  9. Számítógép alapismeretek Felhasználás szerint:univerzális,cél. Teljesítmény szerint:home, personal, mini, nagy, szuper ... Fő alkotó részei:tároló egység (memória) az adatok és programok tárolására,input, output eszközök,aritmetikai-logikai egység (ALU),vezérlő egység (CPU).

  10. Számítógép alapismeretek Memória egységek:bit (binary digit): 0-1byte: 8 bitszó: CPU-tól függően néhány byte szószervezésű számítógép Hardware Software: rendszerprogramok, felhasználói programok. Programozási szintekgépi kód, assembler, magasszintű, objektum orientált.

  11. Adatstruktúrák, algoritmusok Viszonylag állandó tudomány terület, mert nem kötődik szorosan egyetlen konkrét fizikai rendszerhez vagy konfigurációhoz sem. A számítógép belső állapotát leíró rész: az adatkomponens. A műveleteket leíró rész: a kód komponens. Az adatkomponensre vonatkozó utasítások a deklarációk: milyen adatelemek vannak és azok milyen típusúak. Niklaus Wirth: Adatstruktúrák + algoritmusok = programok Algoritmus: Mohamed Al-Khwarizmi (IX.sz.)

  12. Adatstruktúrák, algoritmusok Algoritmus: Egy egyértelmű kiindulási és vég feltétellel megadott feladat megoldási részlépéseinek leírása. Jellemzői: absztrakciós szint (igazodjon a felhasználóhoz),helyesség (sokszor nehezen bizonyítható minden kiinduló állapotra),végesség (az algoritmus maga és a végrehajtás is),hatékonyság (kevesebb lépéssel, kevesebb erőforrással oldja meg a feladatot),egyértelműség (mindig eldönthető a következő lépés.

  13. Adatstruktúrák, algoritmusok Egy klasszikus példa: LNKO meghatározása: adott két pozitív egész szám: m, n 1. r = min(m,n) 2. Ha r maradék nélkül osztja m-et és n-et, akkor r a LNKO, vége 3. r = r-1, vissza 2. Pl. m=1215, n=787 esetén a lépések száma: 787 lehet és kell finomítani (RSA titkosítás)

  14. Adatstruktúrák, algoritmusok Egy hatékonyabb megoldás, Euclides (ie. 400-300) 1. r = m mod n 2. ha r = 0, akkor n a LNKO, vége 3. m = n, n = r, ugrás 1. Az előző példa megoldásához mindössze 8 lépés szükséges.

  15. Adatstruktúrák, algoritmusok Leírási formalizmusok 1. Beszélt nyelv(előző példa) 2. Folyamatábraszimbólumok:művelet döntés adat I/O start/stop nyíl Ezen elemekből 3 alapvető struktúra építhető fel:szekvencia, elágazás, ciklus Gyakorlaton...

  16. Adatstruktúrák, algoritmusok Elágazás:IF (feltétel) igaz ágELSE hamis ágEND Szekvencia:művelet1 művelet2 Értékadás: változó=kifejezés Ciklus: WHILE (feltétel) ciklusmag END 3. Metanyelv, elemei

  17. Adatstruktúrák, algoritmusok Függvény deklaráció: FUNCTION függvénynév(formális paraméter lista) utasítások RETURN visszatérő érték END Függvény hívás: függvénynév(aktuális paraméterlista) Operátorok: + - * / < > = stb.

  18. Adatstruktúrák, algoritmusok A LNKO algoritmus metanyelven: FUNCTION euclid()INPUT (m, n)r=m%n WHILE (r>0) m=n n=r r=m%nEND OUTPUT (n) END

  19. Adatstruktúrák, algoritmusok max(a,b,c) IF (a>b) IF (a>c) max=a ELSE max=c END ELSE IF (b>c) max=b ELSE max=c END END További példák: max(a,b) IF (a>b) max=a ELSE max=b END

  20. Adatstruktúrák, algoritmusok max=a IF (b>max) max=b END IF (c>max) max=c END Egy alternatív, perspektívikus megoldás: max=a IF (b>max) max=b END

  21. Adatstruktúrák, algoritmusok N elem maximuma Sorozat-tár: tömb (az elemek a memóriában egymás utáni rekeszekben helyezkednek el) van neve, típusa, elemeinek indexe: a[1], a[2], ... , a[N] max=a[1]; i=2; WHILE (i<=N) IF (a[i]>max) max=a[i] END i=i+1 END

  22. Adatstruktúrák, algoritmusok • vagy • s=0; i=1; • WHILE (i<=N) • s=s+a[i]/N • i=i+1 • END • atlag=s N elem átlaga: s=0; i=1; WHILE (i<=N) s=s+a[i] i=i+1 END atlag=s/N • További feladatok: • N elem közül a pozitívak mértani átlaga, • N! • Binomiális együttható • Polinom helyettesítési értéke • Függvény értéktáblázata

More Related