a problémamegoldás lépései
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 PresentationTRANSCRIPT
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, ...)
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
ELTEELTE
Nyelvi szintek
Magyar
Algoritmusleíró
Programozási nyelv
Gépi nyelv
A nyelvek (magyar, gépi) közelítése
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!
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
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!
ELTEELTE
Az algoritmus fogalma
Az alapalgoritmus elemei:egymásutáni végrehajtásnemdeterminisztikusságpárhuzamosság
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
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
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
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)
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
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
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)
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
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)
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?
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
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
ELTEELTE
Példa: másodfokú egyenlet
d:=b2-4*a*c van:=d>0
van?
a
dbx
2
:
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
:
ELTEELTE
Algoritmusleíró nyelvek
Szöveges leírás Mondatokkal leírás Mondatszerű elemek – pszeudokód
Rajzos leírás Folyamatábra Struktogram