Lépésenként adunk választ a hogyan kérdésre
Az az objektum, ami kívülről bekerül a program állapotába
Nem tevékenység vagy logika, hanem objektumok, illetve adat köré építjük a programot
Az az objektum, ami kikerül a program állapotából és valahol máshol felhasználásra kerül
Az általunk értelmezett állapotban egy **keret** jellemezhető egy három oszlopos táblázattal: Név (identifier) | Micsoda | Érték/tartalom --- | --- | --- ... | ... | ...
Minden, a program által adott pontban elérhető és általa tárolt információ.
- legkisebb imperatív programozási elem - program állapotát (state) változtatja - kategorizálható - blokkosítható
Lépésenként adunk utasításokat a programnak arra, hogy egyes objektumokat hogyan manipuláljon/kezeljen. Programnak ebben a megközelítésben bármely pillanatban van állapota, amiben világos a program számára elérhető objektumok *tulajdonságai* és értékei. Legtöbb népszerű nyelv így közelíti meg a programokat. Pl: C++, Java, C\#, PHP, Python...
A függvény meghívásakor megadott paraméter bekerül a függvény lokális keretébe, ami ha a függvényre tekintünk a programként, értelmezhető inputként. <!-- .element: class="fragment" data-fragment-index="1" -->
A visszatérési érték a return utasítás végrehajtásával kikerül a lokális keretből (az összes többi változóval együtt) és átkerül abba a keretbe ami meghívta a függvényt, ami várhatóan fel fogja használni. Így a függvény szempontjából output. <!-- .element: class="fragment" data-fragment-index="1" -->
- *input* - *meg van adva* - *xy alapján a program kiszámolja* - *beírjuk* - *bemenet*
- *output* - *megadja* - *kiszámolja* - *kidobja* - *kimenet* - *megkapom*
- elágazás - if - else-if - switch/case - iteráció - while - for - do-while/until - blokk - függvény - procedúra
- a == 4 - a = 4 **valami** vs **csinálj valamit** - Kifejezés kiértékelhető egy értékké - Utasításból több fajta van, a program **állapot**át változtatja - deklaráció - értékadás - függvénydefiníció - függvénymeghívás - ...
- elágazás - feltétel - ág - iteráció - feltétel - ciklusmag - blokk - utasítássorozat