SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Programozási alapismeretek 
1. előadás
EELLTTEE 
Tartalom 
A problémamegoldás lépései – 
programkészítés folyamata 
A programozás során használt nyelvek 
Az algoritmus 
A specifikáció 
Algoritmikus nyelvek – 
struktogram 
A kódolás – 
a fejlesztői környezet 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 22//4411
EELLTTEE 
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 / mérnök…) 
3. Szervezés (ütemterv / vállalkozó…) 
4. Építkezés (anyagbeszerzés, kivitelezés / kivitelező…) 
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, ...) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 33//4411
EELLTTEE 
A programkészítés 
folyamata 
1. Specifikálás (miből?, mit?) ® specifikáció 
2. Tervezés (mivel?, hogyan?) ® adat- + algoritmus-leírás 
3. Kódolás (a gép hogyan?) ® kód (reprezentáció + 
implementáció) 
4. Tesztelés (hibás-e?) ® hibalista (diagnózis) 
5. Hibakeresés (hol a hiba?) ® hibahely, -ok 
6. Hibajavítás (hogyan jó?) ® helyes program 
7. Minőségvizsgálat, hatékonyság (jobbítható-e?, 
hogyan?) ® jó program 
8. Dokumentálás (hogyan működik, használható?) ® 
használható program 
9. Használat, karbantartás (még mindig jó?) ® évelő 
(időtálló) program 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 44//4411
EELLTTEE 
Nyelvi szintek 
Élőnyelv = pl. magyar 
ß 
Specifikációs 
ß 
Algoritmusleíró 
ß 
Programozási 
Ý 
Gépi 
A nyelvek (élő Û gépi) közelítése 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 55//4411
EELLTTEE 
Az algoritmus fogalma 
Italautomata használata: 
1. Válassz italt! 
2. Dobj be egy 100 Ft-ost! 
3. Nyomd meg a megfelelő gombot! 
4. Várj, amíg folyik az ital! 
5. Vedd ki az italt! 
6. Idd meg! 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 66//4411
EELLTTEE 
Az algoritmus fogalma 
végrehajtható (van hozzá végrehajtó) 
lépésenként hajtható végre 
a lépések maguk is algoritmusok 
pontosan definiált, adott végrehajtási 
sorrenddel 
egy folyamat véges hosszúságú, időben 
esetleg végtelen leírása 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 77//4411
EELLTTEE 
Az algoritmus fogalma 
Az (alap)algoritmus elemeinek végre-hajtási 
„stratégiái”: 
egymásutáni végrehajtás 
nem-determinisztikusság 
párhuzamosság 
Gondoljuk meg a példa elemeit ebből a 
szempontból! 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 88//4411
EELLTTEE 
Az algoritmus fogalma 
Italautomata használata: 
1. Válassz italt! 
2. Dobj be egy 100 Ft-ost! 
3. Nyomd meg a megfelelő gombot! 
4. Ismételd 
nézd a poharat! 
amíg folyik az ital! 
5. Vedd ki az italt! 
6. Idd meg! 
Új algoritmikus elem: ismétlés feltételtől 
függően 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 99//4411
EELLTTEE 
Az algoritmus fogalma 
Italautomata használata: 
1. Válassz italt! 
2. Ha van 100 Ft-osod 
akkor Dobj be egy 100 Ft-ost! 
különben Dobj be 5 20 Ft-ost 
3. … 
Új algoritmikus elem: választás két tevé-kenység 
közül, esetleg nem-determinisz-tikus 
választás 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1100//4411
EELLTTEE 
Az algoritmus fogalma 
Dobj be 5 20 Ft-ost: 
1. Ismételd 5-ször: 
Dobj be egy 20 Ft-ost! 
Új algoritmikus elem: ismétlés adott darab-számszor 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1111//4411
EELLTTEE 
Az algoritmus fogalma 
Az algoritmusok összeállítási módjai: 
Szekvencia (egymás utáni végrehaj-tás) 
Elágazás (választás 2 vagy több tevé-kenységből) 
Ciklus (ismétlés adott darabszámszor 
vagy adott feltételtől függően) 
Alprogram (egy összetett tevékenység, 
egyedi néven – absztrakció) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1122//4411
EELLTTEE 
A specifikáció 
1. Bemenő adatok (azonosító, értékhalmaz 
[mértékegység]) 
2. Ismeretek a bemenetről (előfeltétel) 
3. Eredmények (azonosító, értékhalmaz …) 
4. Az eredmény kiszámítási szabálya 
(utófeltétel) 
5. A megoldással szembeni követelmények 
6. Korlátozó tényezők 
7. A használt fogalmak definíciói 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1133//4411
EELLTTEE 
A specifikáció 
Tulajdonságai 
1. Egyértelmű, pontos, teljes 
2. Rövid, tömör, formalizált 
3. Szemléletes, érthető 
Specifikációs eszközök 
1. Szöveges leírás 
2. Matematikai megadás 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1144//4411
EELLTTEE 
Példa: háromszög 
(specifikáció) 
Feladat: 
3 szám lehet-e egy derékszögű háromszög 3 
oldala? 
Specifikáció: 
Bemenet: x,y,z:VVaallóóss 
Kimenet: lehet:LLooggiikkaaii 
Előfeltétel: x>0 és y>0 és z>0 
Utófeltétel: lehet=(x2+y2=z2) 
Megjegyzés: a 3 szám sorrendjét ezek sze-rint 
rögzítettük – z az átfogó hossza! 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1155//4411
EELLTTEE 
Példa: háromszög 
(algoritmus) 
Algoritmus: 
A programunk három fő rész-ből 
áll: az adatok beolvasása, 
az eredmény kiszámítása, az 
eredmény kiírása: 
Be: x,y,z [x>0 és y>0 és z>0] 
lehet:=(x2+y2=z2) 
Ki: lehet 
Az „elemi” utasításokat egy-egy „dobozba” 
írjuk. 
Később a be- és kimenetet nem algoritmizáljuk! 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1166//4411
EELLTTEE 
Példa: háromszög 
(algoritmus) 
Egy másik algoritmus a lényegi részre: 
xx:=x2 
yy:=y2 
zz:=z2 
lehet:=(xx+yy=zz) 
Bevezethetők/-endők segéd (belső, saját) 
változók. 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1177//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(specifikáció) 
Feladat: 
Adjuk meg a másodfokú egyenlet egy megol-dását! 
Az egyenlet: ax2+bx+c=0 
Kérdések: 
 Mi a megoldás? – kimenet 
 Mit jelent: „megoldásnak lenni”? – utófeltétel 
 Biztos van megoldás? – előfeltétel 
 Biztos egy megoldás van? – kimenet/utófeltétel 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1188//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(specifikáció) 
Specifikáció1: 
Bemenet: a,b,c:VVaallóóss 
Kimenet: x:VVaallóóss 
Előfeltétel: – 
Utófeltétel: ax2+bx+c=0 
1Megjegyzés: az uf. nem ad algoritmizálható 
információt. Nem baj, de … próbálkozzunk 
még! 
= - ± 2 
- * * 
Megoldóképlet: 
x b b 4 a c 
1,2 * 
2 a 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1199//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(specifikáció) 
Specifikáció2: 
Bemenet: a,b,c:VVaallóóss 
Kimenet: x:VVaallóóss 
Előfeltétel: a¹0 
Mi lenne, ha megengednénk? 
2 
* 
= - + - * * 
x b b 4 a c 
Utófeltétel2: 
Nyitott kérdések: 
 Mindig van megoldás? 
 Egy megoldás van? 
2 a 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2200//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(specifikáció) 
Kimenet bővítés: 
Kimenet: x:VVaallóóss,, van:LLooggiikkaaii 
Utófeltétel: van=(b2³4*a*c) és 
van ® 
Nyitott kérdés: 
2 
* 
= - + - * * 
x b b 4 a c 
 Egy megoldás van? – hf . 
2 a 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2211//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(algoritmus) 
d:=b2-4*a*c 
van:=d³0 
van? 
II NN 
= - + 
x : b d 
* 
2 a 
IIggaazz--áágg 
HHaammiiss--áágg 
Algoritmus: 
A feltételes utasítás „3-dobozos” struktúra. 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2222//4411
EELLTTEE 
Példa: másodfokú egyenlet 
(algoritmus) 
Algoritmus másképpen: 
Program MásodfokúEgyenlet: 
d:=b2-4*a*c 
van:=d≥0 
Ha van akkor 
Program vége. 
= - + 
b d 
2 a 
x: 
* 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2233//4411
EELLTTEE 
Algoritmusleíró nyelvek 
Szöveges leírás 
 Mondatokkal leírás 
 Mondatszerű elemekkel – pszeudokód 
Rajzos leírás 
 Folyamatábra 
 Struktogram 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2244//4411
EELLTTEE 
Struktogram 
(és pszeudokód) 
Szekvencia: 
Elágazások: 
UUttaassííttááss11 
UUttaassííttááss22 
HHaa FFeellttéétteell aakkkkoorr 
IIggaazz--áágg uuttaassííttáássaaii 
kküüllöönnbbeenn 
HHaammiiss--áágg uuttaassííttáássaaii 
EElláággaazzááss vvééggee 
EElláággaazzááss 
FFeellttéétteell11 eesseettéénn UUttaassííttáássookk11 
FFeellttéétteell22 eesseettéénn UUttaassííttáássookk22 
…… …… 
eeggyyéébb eesseetteekkbbeenn UUttaassííttáássookk 
EElláággaazzááss vvééggee 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2255//4411
EELLTTEE 
Struktogram 
(és pszeudokód) 
Ciklusok: 
CCiikklluuss aammíígg FFeellttéétteell 
cciikklluussmmaagg uuttaassííttáássaaii 
CCiikklluuss vvééggee 
CCiikklluuss 
cciikklluussmmaagg uuttaassííttáássaaii 
aammíígg FFeellttéétteell 
CCiikklluuss vvééggee 
CCiikklluuss ccvv==ttóóll iigg …… 
cciikklluussmmaagg uuttaassííttáássaaii 
CCiikklluuss vvééggee 
Struktogramszerkesztés: 
 Táblázatkezelővel/szövegszerkesztővel 
 Célprogramokkal (pl. NSD) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2266//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
Keretrendszer: 
Code::Blocks 
Letöltés: 
www.codeblocks.org 
Telepítés: 
értelemszerűen 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2277//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
Első elindításkor: 
a fordítóprogram kiválasztása 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2288//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
Használat lépései: 
1. projekt létrehozása, azaz milyen plat-formra 
készül a majdani alkalmazás: 
Create a new project 
2. sablon (template) választása: 
Console application 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2299//4411
EELLTTEE 
Használat további lépései: 
 a projekt munkakörnyezete a diszken 
projektnév 
projekt szü-lő 
könyvtár 
Kódolás 
(fejlesztői környezet) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3300//4411
EELLTTEE 
Használat további lépései: 
 a projekt munkakörnyezete a diszken 
projektnév 
projekt szü-lő 
könyvtár 
projektfájl-név 
projektfájl-név 
útvonallal 
Kódolás 
(fejlesztői környezet) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3311//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
Használat további lépései: 
 fordítóválasztás 
 a munkakörnyezet kialakítás befejezése 
fordító 
fejlesztendő? 
a fejlesztendő 
környezete 
végleges? 
a végleges 
környezete 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3322//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A kialakult munkakörnyezet: 
 a diszken: 
 a keretrendszerben: 
a program 
„kibontása” 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3333//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A kialakult munkakörnyezet: 
 a diszken: 
 a keretrendszerben: 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3344//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A „keletkezett 0. program” fordítása 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3355//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A kialakult munkakörnyezet: 
 a diszken: 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3366//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A kialakult munkakörnyezet: 
 a diszken: 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3377//4411
EELLTTEE 
Kódolás 
(fejlesztői környezet) 
A kialakult munkakörnyezet: 
 a main.cpp tartalma: 
##iinncclluuddee <<iioossttrreeaamm>> 
uussiinngg nnaammeessppaaccee ssttdd;; 
iinntt mmaaiinn(()) 
{{ 
ccoouutt <<<< ""HHeelllloo wwoorrlldd!!"" <<<< eennddll;; 
rreettuurrnn 00;; 
}} 
(meglepő módon?) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3388//4411
EELLTTEE 
A kialakult munkakörnyezet: 
 a elsőProg.cbp tartalma (xml): 
((mmiillyy mmeegglleeppőő!!)) 
Kódolás 
(fejlesztői környezet) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3399//4411
EELLTTEE 
A futó konzolalkalmazás: 
 „fordítás” – 
 (az utolsó lefordított) futtatás(a) – 
 fordítás+futtatás – 
 és a konzolablak tartalma: 
ÉÉrrddeemmeess eelliinnddííttaannii aazz eexxee--tt!! 
MMiitt ttaappaasszzttaalltt?? MMaaggyyaarráázzaatt?? 
visszaadott 
érték 
futási idő 
a futás 
eredménye 
Kódolás 
(fejlesztői környezet) 
1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 4400//4411
Programozási alapismeretek 
1. előadás vége

Weitere ähnliche Inhalte

Empfohlen

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Programozás alapismeretek EA

  • 2. EELLTTEE Tartalom A problémamegoldás lépései – programkészítés folyamata A programozás során használt nyelvek Az algoritmus A specifikáció Algoritmikus nyelvek – struktogram A kódolás – a fejlesztői környezet 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 22//4411
  • 3. EELLTTEE 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 / mérnök…) 3. Szervezés (ütemterv / vállalkozó…) 4. Építkezés (anyagbeszerzés, kivitelezés / kivitelező…) 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, ...) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 33//4411
  • 4. EELLTTEE A programkészítés folyamata 1. Specifikálás (miből?, mit?) ® specifikáció 2. Tervezés (mivel?, hogyan?) ® adat- + algoritmus-leírás 3. Kódolás (a gép hogyan?) ® kód (reprezentáció + implementáció) 4. Tesztelés (hibás-e?) ® hibalista (diagnózis) 5. Hibakeresés (hol a hiba?) ® hibahely, -ok 6. Hibajavítás (hogyan jó?) ® helyes program 7. Minőségvizsgálat, hatékonyság (jobbítható-e?, hogyan?) ® jó program 8. Dokumentálás (hogyan működik, használható?) ® használható program 9. Használat, karbantartás (még mindig jó?) ® évelő (időtálló) program 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 44//4411
  • 5. EELLTTEE Nyelvi szintek Élőnyelv = pl. magyar ß Specifikációs ß Algoritmusleíró ß Programozási Ý Gépi A nyelvek (élő Û gépi) közelítése 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 55//4411
  • 6. EELLTTEE Az algoritmus fogalma Italautomata használata: 1. Válassz italt! 2. Dobj be egy 100 Ft-ost! 3. Nyomd meg a megfelelő gombot! 4. Várj, amíg folyik az ital! 5. Vedd ki az italt! 6. Idd meg! 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 66//4411
  • 7. EELLTTEE Az algoritmus fogalma végrehajtható (van hozzá végrehajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végrehajtási sorrenddel egy folyamat véges hosszúságú, időben esetleg végtelen leírása 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 77//4411
  • 8. EELLTTEE Az algoritmus fogalma Az (alap)algoritmus elemeinek végre-hajtási „stratégiái”: egymásutáni végrehajtás nem-determinisztikusság párhuzamosság Gondoljuk meg a példa elemeit ebből a szempontból! 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 88//4411
  • 9. EELLTTEE Az algoritmus fogalma Italautomata használata: 1. Válassz italt! 2. Dobj be egy 100 Ft-ost! 3. Nyomd meg a megfelelő gombot! 4. Ismételd nézd a poharat! amíg folyik az ital! 5. Vedd ki az italt! 6. Idd meg! Új algoritmikus elem: ismétlés feltételtől függően 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 99//4411
  • 10. EELLTTEE Az algoritmus fogalma Italautomata használata: 1. Válassz italt! 2. Ha van 100 Ft-osod akkor Dobj be egy 100 Ft-ost! különben Dobj be 5 20 Ft-ost 3. … Új algoritmikus elem: választás két tevé-kenység közül, esetleg nem-determinisz-tikus választás 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1100//4411
  • 11. EELLTTEE Az algoritmus fogalma Dobj be 5 20 Ft-ost: 1. Ismételd 5-ször: Dobj be egy 20 Ft-ost! Új algoritmikus elem: ismétlés adott darab-számszor 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1111//4411
  • 12. EELLTTEE Az algoritmus fogalma Az algoritmusok összeállítási módjai: Szekvencia (egymás utáni végrehaj-tás) Elágazás (választás 2 vagy több tevé-kenységből) Ciklus (ismétlés adott darabszámszor vagy adott feltételtől függően) Alprogram (egy összetett tevékenység, egyedi néven – absztrakció) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1122//4411
  • 13. EELLTTEE A specifikáció 1. Bemenő adatok (azonosító, értékhalmaz [mértékegység]) 2. Ismeretek a bemenetről (előfeltétel) 3. Eredmények (azonosító, értékhalmaz …) 4. Az eredmény kiszámítási szabálya (utófeltétel) 5. A megoldással szembeni követelmények 6. Korlátozó tényezők 7. A használt fogalmak definíciói 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1133//4411
  • 14. EELLTTEE A specifikáció Tulajdonságai 1. Egyértelmű, pontos, teljes 2. Rövid, tömör, formalizált 3. Szemléletes, érthető Specifikációs eszközök 1. Szöveges leírás 2. Matematikai megadás 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1144//4411
  • 15. EELLTTEE Példa: háromszög (specifikáció) Feladat: 3 szám lehet-e egy derékszögű háromszög 3 oldala? Specifikáció: Bemenet: x,y,z:VVaallóóss Kimenet: lehet:LLooggiikkaaii Előfeltétel: x>0 és y>0 és z>0 Utófeltétel: lehet=(x2+y2=z2) Megjegyzés: a 3 szám sorrendjét ezek sze-rint rögzítettük – z az átfogó hossza! 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1155//4411
  • 16. EELLTTEE Példa: háromszög (algoritmus) Algoritmus: A programunk három fő rész-ből áll: az adatok beolvasása, az eredmény kiszámítása, az eredmény kiírása: Be: x,y,z [x>0 és y>0 és z>0] lehet:=(x2+y2=z2) Ki: lehet Az „elemi” utasításokat egy-egy „dobozba” írjuk. Később a be- és kimenetet nem algoritmizáljuk! 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1166//4411
  • 17. EELLTTEE Példa: háromszög (algoritmus) Egy másik algoritmus a lényegi részre: xx:=x2 yy:=y2 zz:=z2 lehet:=(xx+yy=zz) Bevezethetők/-endők segéd (belső, saját) változók. 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1177//4411
  • 18. EELLTTEE Példa: másodfokú egyenlet (specifikáció) Feladat: Adjuk meg a másodfokú egyenlet egy megol-dását! Az egyenlet: ax2+bx+c=0 Kérdések:  Mi a megoldás? – kimenet  Mit jelent: „megoldásnak lenni”? – utófeltétel  Biztos van megoldás? – előfeltétel  Biztos egy megoldás van? – kimenet/utófeltétel 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1188//4411
  • 19. EELLTTEE Példa: másodfokú egyenlet (specifikáció) Specifikáció1: Bemenet: a,b,c:VVaallóóss Kimenet: x:VVaallóóss Előfeltétel: – Utófeltétel: ax2+bx+c=0 1Megjegyzés: az uf. nem ad algoritmizálható információt. Nem baj, de … próbálkozzunk még! = - ± 2 - * * Megoldóképlet: x b b 4 a c 1,2 * 2 a 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 1199//4411
  • 20. EELLTTEE Példa: másodfokú egyenlet (specifikáció) Specifikáció2: Bemenet: a,b,c:VVaallóóss Kimenet: x:VVaallóóss Előfeltétel: a¹0 Mi lenne, ha megengednénk? 2 * = - + - * * x b b 4 a c Utófeltétel2: Nyitott kérdések:  Mindig van megoldás?  Egy megoldás van? 2 a 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2200//4411
  • 21. EELLTTEE Példa: másodfokú egyenlet (specifikáció) Kimenet bővítés: Kimenet: x:VVaallóóss,, van:LLooggiikkaaii Utófeltétel: van=(b2³4*a*c) és van ® Nyitott kérdés: 2 * = - + - * * x b b 4 a c  Egy megoldás van? – hf . 2 a 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2211//4411
  • 22. EELLTTEE Példa: másodfokú egyenlet (algoritmus) d:=b2-4*a*c van:=d³0 van? II NN = - + x : b d * 2 a IIggaazz--áágg HHaammiiss--áágg Algoritmus: A feltételes utasítás „3-dobozos” struktúra. 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2222//4411
  • 23. EELLTTEE Példa: másodfokú egyenlet (algoritmus) Algoritmus másképpen: Program MásodfokúEgyenlet: d:=b2-4*a*c van:=d≥0 Ha van akkor Program vége. = - + b d 2 a x: * 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2233//4411
  • 24. EELLTTEE Algoritmusleíró nyelvek Szöveges leírás  Mondatokkal leírás  Mondatszerű elemekkel – pszeudokód Rajzos leírás  Folyamatábra  Struktogram 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2244//4411
  • 25. EELLTTEE Struktogram (és pszeudokód) Szekvencia: Elágazások: UUttaassííttááss11 UUttaassííttááss22 HHaa FFeellttéétteell aakkkkoorr IIggaazz--áágg uuttaassííttáássaaii kküüllöönnbbeenn HHaammiiss--áágg uuttaassííttáássaaii EElláággaazzááss vvééggee EElláággaazzááss FFeellttéétteell11 eesseettéénn UUttaassííttáássookk11 FFeellttéétteell22 eesseettéénn UUttaassííttáássookk22 …… …… eeggyyéébb eesseetteekkbbeenn UUttaassííttáássookk EElláággaazzááss vvééggee 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2255//4411
  • 26. EELLTTEE Struktogram (és pszeudokód) Ciklusok: CCiikklluuss aammíígg FFeellttéétteell cciikklluussmmaagg uuttaassííttáássaaii CCiikklluuss vvééggee CCiikklluuss cciikklluussmmaagg uuttaassííttáássaaii aammíígg FFeellttéétteell CCiikklluuss vvééggee CCiikklluuss ccvv==ttóóll iigg …… cciikklluussmmaagg uuttaassííttáássaaii CCiikklluuss vvééggee Struktogramszerkesztés:  Táblázatkezelővel/szövegszerkesztővel  Célprogramokkal (pl. NSD) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2266//4411
  • 27. EELLTTEE Kódolás (fejlesztői környezet) Keretrendszer: Code::Blocks Letöltés: www.codeblocks.org Telepítés: értelemszerűen 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2277//4411
  • 28. EELLTTEE Kódolás (fejlesztői környezet) Első elindításkor: a fordítóprogram kiválasztása 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2288//4411
  • 29. EELLTTEE Kódolás (fejlesztői környezet) Használat lépései: 1. projekt létrehozása, azaz milyen plat-formra készül a majdani alkalmazás: Create a new project 2. sablon (template) választása: Console application 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 2299//4411
  • 30. EELLTTEE Használat további lépései:  a projekt munkakörnyezete a diszken projektnév projekt szü-lő könyvtár Kódolás (fejlesztői környezet) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3300//4411
  • 31. EELLTTEE Használat további lépései:  a projekt munkakörnyezete a diszken projektnév projekt szü-lő könyvtár projektfájl-név projektfájl-név útvonallal Kódolás (fejlesztői környezet) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3311//4411
  • 32. EELLTTEE Kódolás (fejlesztői környezet) Használat további lépései:  fordítóválasztás  a munkakörnyezet kialakítás befejezése fordító fejlesztendő? a fejlesztendő környezete végleges? a végleges környezete 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3322//4411
  • 33. EELLTTEE Kódolás (fejlesztői környezet) A kialakult munkakörnyezet:  a diszken:  a keretrendszerben: a program „kibontása” 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3333//4411
  • 34. EELLTTEE Kódolás (fejlesztői környezet) A kialakult munkakörnyezet:  a diszken:  a keretrendszerben: 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3344//4411
  • 35. EELLTTEE Kódolás (fejlesztői környezet) A „keletkezett 0. program” fordítása 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3355//4411
  • 36. EELLTTEE Kódolás (fejlesztői környezet) A kialakult munkakörnyezet:  a diszken: 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3366//4411
  • 37. EELLTTEE Kódolás (fejlesztői környezet) A kialakult munkakörnyezet:  a diszken: 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3377//4411
  • 38. EELLTTEE Kódolás (fejlesztői környezet) A kialakult munkakörnyezet:  a main.cpp tartalma: ##iinncclluuddee <<iioossttrreeaamm>> uussiinngg nnaammeessppaaccee ssttdd;; iinntt mmaaiinn(()) {{ ccoouutt <<<< ""HHeelllloo wwoorrlldd!!"" <<<< eennddll;; rreettuurrnn 00;; }} (meglepő módon?) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3388//4411
  • 39. EELLTTEE A kialakult munkakörnyezet:  a elsőProg.cbp tartalma (xml): ((mmiillyy mmeegglleeppőő!!)) Kódolás (fejlesztői környezet) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 3399//4411
  • 40. EELLTTEE A futó konzolalkalmazás:  „fordítás” –  (az utolsó lefordított) futtatás(a) –  fordítás+futtatás –  és a konzolablak tartalma: ÉÉrrddeemmeess eelliinnddííttaannii aazz eexxee--tt!! MMiitt ttaappaasszzttaalltt?? MMaaggyyaarráázzaatt?? visszaadott érték futási idő a futás eredménye Kódolás (fejlesztői környezet) 1144--1100--0066 HHoorrvváátthh--SSzzlláávvii--ZZssaakkóó:: PPrrooggrraammoozzáássii aallaappiissmmeerreetteekk 11.. 4400//4411

Hinweis der Redaktion

  1. Igényfelmérés  nem-formális specifikálás Tervezés  formális specifikálás Szervezés  algoritmizálás Építkezés  Kódolás Használatba vétel  Tesztelés, hibakeresés, hibajavítás Beköltözés, bentlakás  használat, karbantartás
  2. 5-6.: Egyéb „technikai” körülmények (pl. megjelenítés, memóriakorlát, speciális adatszerkezet…)
  3. T/2-3.: inkább lehetőség, mint alaptulajdonság, nagyban függ az ember „leleményességétől”, fogalomalkotó képességétől, kreativitásától
  4. A „lehet:=(x2+y2=z2)” utasítással ekvivalens, csak nála jóval hosszabb a „Ha x2+y2=z2 akkor lehet:=Igaz különben lehet:=Hamis” utasítással.
  5. http://people.inf.elte.hu/szlavi/Magamnak/C++/NSD10.zip http://people.inf.elte.hu/szlavi/C++/structorizer_3_08.zip
  6. A C++ kulcs-szavakat vastagítottuk.