TARTALOM: Általánosságok Algoritmusok ábrázolása:

Slides:



Advertisements
Hasonló előadás
Deduktív adatbázisok.
Advertisements

Összetett kísérleti tervek és kiértékelésük:
GRIN: Gráf alapú RDF index
Algebrai struktúrák.
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Programozási feladatok
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
4. Előadás: A mohó algoritmus
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Halmazok, műveletek halmazokkal
Műveletek logaritmussal
3. előadás (2005. március 1.) Utasítások, tömbök
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Euklidészi gyűrűk Definíció.
Algebrai struktúrák 1.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Készítette: Pető László
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Matematikai modellek a termelés tervezésében és irányításában
Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Differenciál számítás
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
Alphabet is a type specification = sorts: alphabet oprs: a:  alphabet,...,z:  alphabet end alphabet; nat is a type specification = sorts:nat oprs:zerus:
A számfogalom bővítése
ISZAM III.évf. részére Bunkóczi László
TÉTELEK Info_tech_2012. Simon Béláné. 1. TÉTEL 1.a. A digitális számítógép és a logikai áramkör kapcsolata (6.4.1.) 1.b. Az ÉS logikai áramkörnek adja.
Számítástudomány alapjai
Halmazok Összefoglalás.
C nyelv utasításai.
Ismétlés.
Klasszikus Programozás a FoxPro-ban
Hasonlósággal kapcsolatos szerkesztések
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT
Tömbök és programozási tételek
Rendezések és szövegkezelő függvények
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
Objektum orientált programozás
Lineáris algebra.
Elektronikus tananyag
BINÁRIS FA Definició: A fa olyanösszefüggő gráf, amelyben nincs kör
Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Algebrai struktúrák: csoport, gyűrű, test. RSA Cryptosystem/ Titkosítási rendszer Rivest, Shamir, Adelman (1978) RSA a neten leggyakrabban használt.
Dodekaéder Hamilton köre
Algoritmusok. Az algoritmus meghatározott sorrendben elvégzendő műveletek előírása, mint azonos típusú (matematikai, logikai) feladatok megoldására alkalmas.
Informatikai Rendszerek Tervezése 5. Előadás: Genetikus algoritmusok Illyés László Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.-5.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Írja fel a tizes számrendszerbeli
1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a.
előadások, konzultációk
Algoritmizálás, adatmodellezés
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Függvények aszimptotikus viselkedése: A Θ jelölés
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Gráfok ábrázolási módja Általánosságok Algoritmusok ábrázolása:
Mediánok és rendezett minták
Bevezetés a programozásba Algoritmikus gondolkodás
Informatikai gyakorlatok 11. évfolyam
Csoport, félcsoport, test
2-3-fák A 2-3-fa egy gyökeres fa az alábbi tulajdonságokkal:
Előadás másolata:

TARTALOM: Általánosságok Algoritmusok ábrázolása: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus TARTALOM: Általánosságok Algoritmusok ábrázolása: Matematikai-logikai nyelvezet Pszeudokód Függőleges logikai sémák Vízszintes logikai sémák Fastruktúrák Döntési táblák

Általánosságok 1. Algoritmizálunk a következő esetekben: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Általánosságok 1. Algoritmizálunk a következő esetekben: ·       számítás volumene nagy ·       az aktivitás sokszor ismétlődik ·  az eredmények rövid időn belül szükségesek 2. A hangsúly azon van hogy ábrázoljuk és hogy építjük fel az algoritmust egy valós és nehéz probléma megoldásának érdekében 3. A legjobb algoritmus ? 4. A komplexitás időben csökkenő?

Algoritmusok elemzése Előre megadjuk, hogy milyen erőforrásokra lesz szüksége az algoritmusnak. A RAM (Random Access Memory)-közvetlen hozzáférésű memóriát vesszük alapul. A Processzorral együtt alkotja a közvetlen hozzáférésű gépet. Az utasítások egymás után hajtódnak végre, egyidejű műveletek nélkül. Meg kell fogalmazzuk a modell műveleteit és azok költségeit. Bemenet mérete: feladatfüggő a tömb n elemszáma (rendezésnél) Bitek száma (pl. számok szorzása esetén) Gráf éleinek és csúcsainak száma Futási idő: egy bizonyos bemenetre a végrehajtott alapműveletek (lépések száma)

Beszúrásos rendezés algoritmusa 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 C6 C7 C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 and A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S tj ahányszor 5-ös végrehajtódik a j-re

T(n)=c1n+c2(n-1)+c4(n-1)+c5(n-1)+c8(n-1)=an+b lineáris függvény Legjobb eset A 6-os és 7-es utasítás NEM hajtódik végre, az 5-ös feltétel nem teljesülése miatt, viszont az 5-ös feltételt ellenőrzi minden ciklusban a program 1 2 3 4 5 6 T(n)=c1n+c2(n-1)+c4(n-1)+c5(n-1)+c8(n-1)=an+b lineáris függvény Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 n-1 C6 C7 C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 és A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S

T(n)=an2+bn+c négyzetes függvény Legroszabb eset 1 2 3 4 5 6 T(n)=an2+bn+c négyzetes függvény Költség végrehajtási szám C1 n C2 n-1 C4 n-1 C5 n-1 C6 (n-1)*(n-1) C7 (n-1)*(n-1) C8 n-1 1 for j←2 to hossz[A] 2 do S←A[j] 3 ((A[j] beszúrása az A[1..j-1] rendezett sorba)) 4 i←j-1 5 while i>0 and A[i]>S 6 do A[i+1]←A[i] 7 i←i-1 8 A[i+1]←S T(n)=c1n+(c2+c4+c5+c8)(n-1)+(c6+c7)(n2-2n+1)

c1f(n) ≤ T(n) ≤ c2f(n), ()n ≥ n0. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus 1. Definíció: Azt mondjuk, hogy T(n)=O(f(n)) az algoritmus komplexitásának a mértéke ha léteznek c1 és c2 számok valamint n0 úgy, hogy: c1f(n) ≤ T(n) ≤ c2f(n), ()n ≥ n0. 2. Definíció: Azt mondjuk, hogy T(n)=O(f(n)) egy algoritmus komplexitásának nagyságrendje, ha létezik két pozitív konstans c, n0, úgy, hogy T(n) ≤ cf(n), ()n ≥ n0.

A komplexitás nagyságrendje c2f(n) c1f(n) T(n) T(n)=Θ(f(n)) A komplexitás mértéke n0 n cf(n) T(n) T(n)=O(f(n)) A komplexitás nagyságrendje

(Numerikus, nemnumerikus, feldolgozási) Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Az algoritmusok jellemzői (általánosság, végesség, egyediség, automatizmus ) Szubalgoritmusok. (egymásratevődéses képzés, fokozatos képzés ) Algoritmusosztályok (Numerikus, nemnumerikus, feldolgozási)

f(n)=a16n16+a10n10+a5n5+a2n2+a1n+a0 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Definíció: Egy algoritmust polinomiálisnak nevezünk, ha olyan temporális komplexitással rendelkezik, amelyik O(f(n)) alakú, ahol f(n) egy polinomiális függvény n hosszúságú bemenetekre. f(n)=a1n+a0 f(n)=a2n2+a1n+a0 f(n)=a16n16+a10n10+a5n5+a2n2+a1n+a0 f(n)=a6783n6783+a532n532+a5n5+a2n2+a1n+a0

Az utak bejárásának összes esete: n! Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus 2. Definíció: Ha egy algoritmus nem polinomiális komplexitású, akkor exponenciális; minden olyan algoritmus exponenciálisként van kezelve, amely komplexitása nlog n, habár sem nem polinomiálisak sem nem exponenciálisak matematikai értelemben. Utazóügynök probléma: Egy utazóügynök n várost kell meglátogasson bizonyos időn belül. Hogyan járja be a városokat, hogy a költsége minél kisebb legyen (legyen a költség=út hossza). Az utak bejárásának összes esete: n! n!=1.2.3.4….n>=2n-1 NEM polinomiális (exponenciális)

Algoritmusok ábrázolása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Algoritmusok ábrázolása matematikai-logikai nyelvezet, pszeudokód, függőleges logikai sémák, vízszintes logikai sémák (Chapin), fastrúktúrák (Tabourier vagy Mills), döntési táblák.

Pszeudokód típusú nyelvek Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Pszeudokód típusú nyelvek Természetes nyelv, strukturált és egyszerűsített, Egy alternatívája a logikai sémának, Nem programozási nyelv, Sok változata van, Az algoritusok egymásutáni mondatokból épülnek fel, Mondatok lehetnek: egyszerűek (pl.: nyiss meg egy állományt, olvass egy bejegyzést fájlból); Komplex mondatok, logikai operátorokkal összekötve A # szimbólum az elkövetkezőkben kiterjesztett mondatra utal A mondat egy igével kezdődik (pl. Read változó,..) Megközelítés módja "top-down" tipúsú (fentről lefele)

Függőleges logikai séma Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Függőleges logikai séma Az algoritmus grafikai ábrázolása, Három fajta egységből áll (blokkból): 1) Funkcionális egység : Y=f(X) X Y 2) Döntési egység: Y Z = c(X)   3) Kötések (összeköttetések)

Alap kontroll struktúrák-1 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alap kontroll struktúrák-1 Lineáris struktúra jelölése  (s1,s2,...,sn) b) Alternatív struktúra jelölése  (c,s1,s2), c) Előfeltételes repetitív struktúra jelölése  (c,s) d) /\ Struktúra (Üres blokk) s1 s2 s3 s4 C s1 s2 C s

Alap kontroll struktúrák-2 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alap kontroll struktúrák-2 Utófeltételes repetitív struktúra jelölése  '(c,s) Pszeudo-alternatív struktúra jelölése  '(c,s) Általánosított alternatív struktúra jelölése  ' '(c,s1,s2,...sn) C s C s2 s1 s2 sn

Összefüggések Π(s1,s2) = (BLOCK,s1,s2); Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Összefüggések Π(s1,s2) = (BLOCK,s1,s2); Δ (c,s1,s2) = (IF-THEN-ELSE, c,s1,s2); Ω (c,s) = (DO-WHILE,c,s) Ω ' (c,s) = (DO-UNTIL,c,s) Δ'(c,s) = (IF-THEN,c,s) Δ' '(i,s1,s2,...sn) = (CASE-OF,i,s1,s2,...,sn).

Beszúrásos rendezés algoritmusa Start 1 2 3 4 5 6 j=2 s1 1 for j←2 to hossz[A] 2 do S←A[j] 3 i←j-1 4 while i>0 and A[i]>S 5 do A[i+1]←A[i] 6 i←i-1 7 A[i+1]←S Rendez s2 j=j+1 s3 j<6 c2 П(s1,Ω’(c2,П(s2,s3))) Vége

s2=П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))) A[i+1]=S s8 j=2 s1 s2=П(s4,П(s5,X)) S=A[j] s4 s2=П(s4,П(s5,П(Y,s8))) s5 i=j-1 i=i-1 s6 i>0 and A[i]>S Y=Ω(c3,П(s7,s6)) A[i+1]=A[i] s7 c3 s2=П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))) A[i+1]=S s8 j=j+1 s3 j<hossz A c2 F= П(s1,Ω’(c2,П(П(s4,П(s5,П(Ω(c3,П(s7,s6)),s8))),s3)))

Alapstruktúrák tulajdonságai. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alapstruktúrák tulajdonságai. 1) Π struktúra általában nem kommutatív: Π (s1,s2)  Π (s2,s1). 2) Π struktúra asszociatív: Π (s1, Π (s2,s3)= Π (Π (s1,s2),s3). 3) Az üres /\ elem semleges a szekvenciális struktúra szempontjából : Π (s,/\)= Π (/\,s). 4) Π struktúra jobb oldalról disztributív az alternatív strukturára nézve: Π (Δ (c,s1,s2),s3)= Δ (c, Π (s1,s3), Π (s2,s3)).

Alapstruktúrák tulajdonságai. Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Alapstruktúrák tulajdonságai. 5) Π struktúra disztributív balról az alternatív struktúrára nézve : Π (s1, Δ (c,s2,s3))= Δ (c, Π (s1,s2), Π (s1,s3)). 6)  struktúra átalakítható az alternatív bennfoglalási struktúrákra:  (c,s)= (c, Π (s,  (c,s)),/\)= Δ (c, Π (s, Δ (c, Π (s,  (c,s) )),/\)),/\)=... 7) Δ ', Δ ", Ω' struktúrák átalakíthatóak a Π , Δ, Ω struktúrákra : Ω '(c,s)= Π (s, Ω (c,s));, Δ '(c,s)= Δ (c,s,/\); Δ '(c,s)= Δ (c,s, Ω (c,s)); Δ '(c,s1,s2,...sn)= Δ (c1,s1, Δ (c2,s2,...)),

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Strukturált Program Definíció: Strukturált programnak nevezünk bármely olyan programot amelynek kontroll struktúrája megvalósítása esetén kizárólag szekvenciálisan strukturált blokkokat használunk, két ágú alternatív struktúrát és előfeltételes alternatív struktúrát. Boehm és Jacopini struktúra tétele Adott három új funkcionális blokk T,F,K T F T x--->(t,x) ; x--->(f,x) ; x--->(t,(t,x)). K K (v,x)--->x ; (t,(f,(t,x)))--->(f,(t,x)). W[(v,x)]=t <=> v=t

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus A struktúra tétele A struktúra tétel (Boehm és Jacopini) Ha egy x-->x' alkalmazás logikai úton ábrázolható úgy, hogy az s1,s2,... akciókat tartalmazza és a c1,c2,... predikátumokat ugyanúgy reprezentálható egy logikai séma által amelyik felbomlik Π, Δ şi Ω -ra és amelyik tartalmazza ugyanazokat a blokkokat mint az eredeti séma, és még T, F, K és W tipúsú blokkokat. Bizonyítás: indukcióval n- blokkok száma

„Top-down„ folyomány „Top-down„ folyomány („fentről lefele"). Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus „Top-down„ folyomány „Top-down„ folyomány („fentről lefele"). Egy strukturált program ekvivalens egy olyan programmal amelyik a következő formákat veheti fel: P = Π (s1,s2), P = Δ (c,s1,s2) P = Ω (c,s), P = Ω '(c,s) ahol c állítmány, és s, s1, s2 strukturált procedúrák vagy a program funkciói.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Fastruktúra diagramm a)      Tabourier variáns a 3.14 ábra reprezentációit használja a következő struktúrákra:          szekvenciális – Π(s1,s2)=(BLOCK, s1,s2)          alternatív – Δ (c,s1,s2) (IFTHENELSE,c,s1,s2)          előfeltételes repetitív – jelölése (WHILEDO,c,s)          pszeudoalternatív – jelölése (IFTHEN, c,s)          többszörösen alternatív – jelölése (CASEOF, c,s1,s2,...,sn) utófeltételes repetitív – jelölése (DOUNTIL,s,c),

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Tabourier variáns BLOCK S1 S2 IFTHENELSE WHILEDO IFTHEN Sn CASEOF DOUNTIL c

BLOCK j=2 DOUNTIL J>hosszA S=A[j] i=j-1 WHILEDO A[i+1]=S j=j+1 A[i+1]=A[i] i=i-1 i>0 and A[i]>S 1 for j←2 to hossz[A] 2 do S←A[j] 3 i←j-1 4 while i>0 and A[i]>S 5 do A[i+1]←A[i] 6 i←i-1 7 A[i+1]←S

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT-. 3 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Mills variáns BLOCK C1 WHILE DO IF THEN ELSE S1 S2 S3

3.18.b. ábra Az esetek meghatározása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák Az első r sorra (IGEN, NEM tipús; <, =, > tipús; 0,1,2,... tipús) Az m eset száma m=n1*n2*…nr c1 1 c2 2 s1 s2 00 01 02 s3 s4 s5 s6 3.18.b. ábra Az esetek meghatározása

Döntési táblák Hatásvonal környéke Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák Hatásvonal környéke * az Sj feltételek esetében az Ai akció végrehajtásra kerül tij= üres ha az Ai akció nem hajtódik végre az Sj esetben A döntési táblák három tipúsúak lehetnek : a) korlátozott bemenettel (minden feltétel az L2={0,1} halmaz elemeiből vesz értéket); b) kiterjesztett bemenettel (vagyis a feltételek értelmezési tartománya Ln, n>2 halmaz); c) vegyes bemenettel (egyes feltételek az L2 –n vannak értelmezve mások az Ln, n>2.

Döntési táblák A feladatok szekvenciája: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Döntési táblák A feladatok szekvenciája:    - döntési tábla feltételeinek megállapítása    - szabályok megállapítása     - lehetséges akciók meghatározása     - döntési tábla elkészítése     - az ellentmondások és a redundancia kiküszöbölése     - a kapott tábla egyszerűsítése

Ismétlő kérdések Milyen esetekben algoritmizáluk Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 3. kurzus Ismétlő kérdések Milyen esetekben algoritmizáluk A komplexitás definíciója Algoritmusok tulajdonságai és osztályai Mi egy polinomiális és egy nempolinomiális algoritmus Pszeudokód tipúsú nyelvek Függőleges logikai sémák Alapstruktúrák tulajdonságai Strukturált program , Boehm-Jacopini tétele Fastruktúrák (Tabourie, Mills) Döntési táblák. Felépítés és egyszerűsítés