Programoz - PowerPoint PPT Presentation

About This Presentation
Title:

Programoz

Description:

Title: Programoz s alapjai II. (GEIAL212) Szoftverfejleszt s I. 2003/2004. II. f l v Author: Pance Mikl s Last modified by: Pance Mikl s – PowerPoint PPT presentation

Number of Views:53
Avg rating:3.0/5.0
Slides: 23
Provided by: Panc162
Category:
Tags: design | programoz | vlsi

less

Transcript and Presenter's Notes

Title: Programoz


1
Programozás alapjai GEIAL312B(ANSI C)BSc
(Bachelor of Science) / Alap képzés2005/2006.
oszi félévMiskolci Egyetem Általános
Informatikai Tanszék 
2
Stáblista
  • Eloadó Dr. Pance Miklós, egyetemi docensInfo.
    106/a, pance_at_iit.uni-miskolc.hu
  • GyakorlatvezetokKolcza Gábor, tudományos
    segédmunkatársInfo. 111., kolcza_at_iit.uni-miskolc.
    huSmid László, egyetemi tanársegédInfo. 111.,
    altsmid_at_gold.uni-miskolc.hu
  • A Tisztelt Hallgatóság

3
Követelmények
  • 2 óra eloadá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. Muszaki Könyvkiadó,
    Budapest, 1996.
  • Clovis L. Tondo Scott E. Gimpel C programozási
    feladatok megoldásai. Muszaki Könyvkiadó,
    Budapest, 1996.

5
Javasolt irodalom 2.
  • Ficsór Lajos honlapján található, a tárgyhoz
    kapcsolódó anyagokhttp//www.iit.uni-miskolc.hu/
    ficsor/ Oktatási segédlet, kódolási szabvány
  • Pance Miklós honlapján található
    eloadásvázlathttp//www.iit.uni-miskolc.hu/panc
    e/

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
  • Muködési elv szerintanalóg, digitális, hibrid.
  • Digitális számítógépelektronikus, digitális,
    automatikus, tárolt programú, programvezérlésu.
  • Fizikai megvalósítás szerint1. 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 szerintuniverzális,cél.
  • Teljesítmény szerinthome, personal, mini, nagy,
    szuper ...
  • Fo alkotó részeitároló egység (memória) az
    adatok és programok tárolására,input, output
    eszközök,aritmetikai-logikai egység
    (ALU),vezérlo egység (CPU).

10
Számítógép alapismeretek
  • Memória egységekbit (binary digit) 0-1byte 8
    bitszó CPU-tól függoen néhány
    byte szószervezésu számítógép
  • Hardware
  • Software rendszerprogramok, felhasználói
    programok.
  • Programozási szintekgépi kód, assembler,
    magasszintu, objektum orientált.

11
Adatstruktúrák, algoritmusok
  • Viszonylag állandó tudomány terület, mert nem
    kötodik szorosan egyetlen konkrét fizikai
    rendszerhez vagy konfigurációhoz sem.
  • A számítógép belso állapotát leíró rész az
    adatkomponens.
  • A muveleteket 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értelmu kiindulási és vég
    feltétellel megadott feladat megoldási
    részlépéseinek leírása.
  • Jellemzoi 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
    eroforrással oldja meg a feladatot),egyértelmuség
    (mindig eldöntheto a következo 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. m1215, n787 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 elozo 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(elozo példa)
  • 2. Folyamatábraszimbólumokmuvelet döntés
    adat I/O start/stop nyíl

Ezen elemekbol 3 alapveto struktúra építheto
felszekvencia, elágazás, ciklus Gyakorlaton...
16
Adatstruktúrák, algoritmusok
  • 3. Metanyelv, elemei

ElágazásIF (feltétel) igaz ágELSE hamis
ágEND Szekvencia muvelet1 muvelet2
Értékadás változókifejezés Ciklus WHILE
(feltétel) ciklusmag END
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éro érték
  • END
  • Függvény hívás
  • függvénynév(aktuális paraméterlista)
  • Operátorok - / lt gt stb.

18
Adatstruktúrák, algoritmusok
  • A LNKO algoritmus metanyelven
  • FUNCTION euclid()INPUT (m, n)rmn
  • WHILE (rgt0) mn nr rmnEND
  • OUTPUT (n)
  • END

19
Adatstruktúrák, algoritmusok
  • További példák
  • max(a,b)
  • IF (agtb)
  • maxa
  • ELSE
  • maxb
  • END

max(a,b,c) IF (agtb) IF (agtc) maxa ELSE max
c END ELSE IF (bgtc) maxb ELSE maxc END E
ND
20
Adatstruktúrák, algoritmusok
  • Egy alternatív, perspektívikus megoldás
  • maxa
  • IF (bgtmax)
  • maxb
  • END

maxa IF (bgtmax) maxb END IF (cgtmax) maxc 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 a1, a2,
    ... , aN
  • maxa1 i2
  • WHILE (iltN)
  • IF (aigtmax)
  • maxai
  • END
  • ii1
  • END

22
Adatstruktúrák, algoritmusok
  • N elem átlaga
  • s0 i1
  • WHILE (iltN)
  • ssai
  • ii1
  • END
  • atlags/N

vagy s0 i1 WHILE (iltN) ssai/N ii1 E
ND atlags
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
Write a Comment
User Comments (0)
About PowerShow.com