a problémamegoldás lépései

22
ELTE ELTE A problémamegoldás lépései Mintapélda: házépítés Mi az, ami látszik? Mi az, ami ténylegesen mögötte van? 1. Igényfelmérés (szempontok: család mérete, elképzelése, pénz) 2. Tervezés (alaprajz, anyagigény) 3. Szervezés (ütemterv vagy vállalkozó) 4. Építkezés (anyagbeszerzés, kivitelezés) 5. Használatba vétel (szemrevételezés - szépség, kipróbálás - jóság) 6. Beköltözés, bentlakás (módosítgatás, újabb hibák, ...)

Upload: neci

Post on 14-Jan-2016

50 views

Category:

Documents


1 download

DESCRIPTION

A problémamegoldás lépései. Mintapélda: házépítés Mi az, ami látszik? Mi az, ami ténylegesen mögötte van? 1. Igényfelmérés (szempontok: család mérete, elképzelése, pénz) 2. Tervezés (alaprajz, anyagigény) 3. Szervezés (ütemterv vagy vállalkozó) 4. Építkezés (anyagbeszerzés, kivitelezés) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: A problémamegoldás lépései

ELTEELTE

A problémamegoldás lépései

Mintapélda: házépítés Mi az, ami látszik? Mi az, ami ténylegesen mögötte van?

1. Igényfelmérés (szempontok: család mérete, elképzelése, pénz)

2. Tervezés (alaprajz, anyagigény)

3. Szervezés (ütemterv vagy vállalkozó)

4. Építkezés (anyagbeszerzés, kivitelezés)

5. Használatba vétel (szemrevételezés - szépség, kipróbálás - jóság)

6. Beköltözés, bentlakás (módosítgatás, újabb hibák, ...)

Page 2: A problémamegoldás lépései

ELTEELTE

A programkészítés folyamata

1. Specifikálás (miből?, mit?) specifikáció2. Tervezés (mivel?, hogyan?) adat- + algo-

ritmus-leírás3. Kódolás (a gép hogyan) kód (reprezen-

táció + implementáció)4. Tesztelés (hibás?) hibalista (diagnózis)5. Hibakeresés (hol a hiba?) hibahely, -ok6. Hibajavítás (hogyan jó?) helyes program7. Minőségvizsgálat, hatékonyság (jobbítható?)

jó program8. Dokumentálás (hogyan működik, használha-

tó?) használható program9. Használat, karbantartás (még mindig jó?)

évelő (időtálló) program

Page 3: A problémamegoldás lépései

ELTEELTE

Nyelvi szintek

Magyar

Algoritmusleíró

Programozási nyelv

Gépi nyelv

A nyelvek (magyar, gépi) közelítése

Page 4: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Utcai telefon használata:Vedd fel a kagylót!Dobj be egy 100 Ft-ost!Várj tárcsahangra!Tárcsázz!

Page 5: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

végrehajtható (van hozzá végre-hajtó)

lépésenként hajtható végrea lépések maguk is algoritmusokpontosan definiált, adott végre-

hajtási sorrenddelegy folyamat véges hosszúságú,

időben esetleg végtelen leírása

Page 6: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Szörpautomata használata:Válassz italt!Dobj be egy 100 Ft-ost!Nyomd meg a megfelelő gombot!Várj amíg folyik az ital!Vedd ki az italt!Idd meg!

Page 7: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Az alapalgoritmus elemei:egymásutáni végrehajtásnemdeterminisztikusságpárhuzamosság

Page 8: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Szörpautomata használata: Válassz italt! Dobj be egy 100 Ft-ost! Nyomd meg a megfelelő gombot! Ismételd

nézd a poharat!amíg folyik az ital!

Vedd ki az italt! Idd meg!

Új algoritmikus elem: ismétlés feltételtől függően

Page 9: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Szörpautomata használata: Válassz italt! Ha van 100 Ft-osod

akkor Dobj be egy 100 Ft-ost!különben Dobj be két 50 Ft-ost

Új algoritmikus elem: választás két tevékenység közül, esetleg nemdeterminisztikus választás

Page 10: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Dobj be két 50 Ft-ost:Ismételd 2-szer:

Dobj be egy 50 Ft-ost!

Új algoritmikus elem: ismétlés adott darabszámszor

Page 11: A problémamegoldás lépései

ELTEELTE

Az algoritmus fogalma

Az algoritmusok összerakási módjai:

Szekvencia (egymás utáni végre-hajtás)

Elágazás (választás 2 vagy több tevékenységből)

Ciklus (ismétlés adott darabszám-szor vagy adott feltételtől függő-en)

Page 12: A problémamegoldás lépései

ELTEELTE

A specifikáció

1. Bemenő adatok (értékhalmaz, mér-tékegység)

2. Ismeretek a bemenetről (előfeltétel)3. Eredmények (értékhalmaz, …)4. Az eredmény kiszámítási szabálya

(utófeltétel)5. A megoldással szembeni követelmé-

nyek6. Korlátozó tényezők7. A használt fogalmak definíciói

Page 13: A problémamegoldás lépései

ELTEELTE

A specifikáció

Tulajdonságai1. Egyértelmű, pontos, teljes2. Rövid, tömör, formalizált3. Szemléletes, érthető

Specifikációs eszközök1. Szöveges leírás2. Matematikai megadás

Page 14: A problémamegoldás lépései

ELTEELTE

Példa: háromszög

Példa: 3 szám lehet-e egy derék-szögű háromszög 3 oldala?

Bemenet: x,y,zRRKimenet: lehetLLElőfeltétel: x>0 és y>0 és z>0Utófeltétel: lehet= (x2+y2 = z2)

Page 15: A problémamegoldás lépései

ELTEELTE

Példa: háromszög

Példa: 3 szám lehet-e egy derékszögű háromszög 3 oldala?

Be: x,y,z

lehet:=(x2+y2=z2)

Ki: lehet

Page 16: A problémamegoldás lépései

ELTEELTE

Példa: háromszög

Példa: 3 szám lehet-e egy derékszögű háromszög 3 oldala?

xx:=x2

yy:=y2

Zz:=z2

lehet:=(xx+yy==zz)

Page 17: A problémamegoldás lépései

ELTEELTE

Példa: másodfokú egyenlet

Adjuk meg a másodfokú egyenlet egy megoldását!

Az egyenlet: ax2+bx+c=0 Mi a megoldás?Előbb: mi a feladat?Biztos van megoldás?Biztos egy megoldás van?

Page 18: A problémamegoldás lépései

ELTEELTE

Példa: másodfokú egyenlet

Bemenet: a,b,c RR Kimenet: xRR Előfeltétel: a0 (mi lenne, ha

megengednénk?)

Utófeltétel:

Mindig van megoldás?

Egy megoldás van?

a

cabbx

2

42

Page 19: A problémamegoldás lépései

ELTEELTE

Példa: másodfokú egyenlet

Kimenet bővítés: Kimenet: xRR, , vanLL Utófeltétel: van=(b24*a*c) és

van a

cabbx

2

42

Page 20: A problémamegoldás lépései

ELTEELTE

Példa: másodfokú egyenlet

d:=b2-4*a*c van:=d>0

van?

a

dbx

2

:

Page 21: A problémamegoldás lépései

ELTEELTE

Példa: másodfokú egyenlet másképpen

Megoldás:

d:=b2-4*a*c

van:=d>0

Ha van akkor

Program vége.a

dbx

2

:

Page 22: A problémamegoldás lépései

ELTEELTE

Algoritmusleíró nyelvek

Szöveges leírás Mondatokkal leírás Mondatszerű elemek – pszeudokód

Rajzos leírás Folyamatábra Struktogram