Programozás alapjai  GEIAL
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Stáblista PowerPoint PPT Presentation


  • 123 Views
  • Uploaded on
  • Presentation posted in: General

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, [email protected]

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


St blista

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


St blista

Stáblista

  • Előadó: Dr. Pance Miklós, egyetemi docensInfo. 106/a, [email protected]

  • Gyakorlatvezetők:Kolcza Gábor, tudományos segédmunkatársInfo. 111., [email protected] László, egyetemi tanársegédInfo. 111., [email protected]

  • A Tisztelt Hallgatóság


K vetelm nyek

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%)


Javasolt irodalom 1

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.


Javasolt irodalom 2

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/


A sz m t g p programoz s

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


Ber senyi berzsenyi d niel

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.


Sz m t g p alapismeretek

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).


Sz m t g p alapismeretek1

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).


Sz m t g p alapismeretek2

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 byteszó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.


Adatstrukt r k algoritmusok

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.)


Adatstrukt r k algoritmusok1

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.


Adatstrukt r k algoritmusok2

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)


Adatstrukt r k algoritmusok3

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.


Adatstrukt r k algoritmusok4

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...


Adatstrukt r k algoritmusok5

Adatstruktúrák, algoritmusok

Elágazás:IF (feltétel)igaz ágELSEhamis ágEND

Szekvencia:művelet1művelet2

Értékadás:

változó=kifejezés

Ciklus:

WHILE (feltétel)

ciklusmag

END

3. Metanyelv, elemei


Adatstrukt r k algoritmusok6

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.


Adatstrukt r k algoritmusok7

Adatstruktúrák, algoritmusok

A LNKO algoritmus metanyelven:

FUNCTION euclid()INPUT (m, n)r=m%n

WHILE (r>0)m=nn=rr=m%nEND

OUTPUT (n)

END


Adatstrukt r k algoritmusok8

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


Adatstrukt r k algoritmusok9

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


Adatstrukt r k algoritmusok10

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


Adatstrukt r k algoritmusok11

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


  • Login