Content extract
					
					http://www.doksihu  A gazdaságinformatika alapjai  A rendszerek építıkövei (Programozás 1.) 3. elıadás   http://www.doksihu  Mire használjuk a számítógépet?  ?  program  A  B  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Neumann-elv a gyakorlatban Kettes számrendszer alkalmazása.  Címezhetıség: utasítások és adatok sorszámozott memóriarekeszekben.  Szekvenciális (egymás után következı) utasításvégrehajtás.  Be- és kiviteli egység  Vezérlı és mőveletvégrehajtó egység.   A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  A gépi kódú utasítás Módosítás  Mőveleti kód  1  020  Címrész (operandus)  001200  Nehézségek: abszolút címzés, mőveletelemek alkalmazása  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Assembly nyelv I. 0  020  001200  # trans b  c:= b + a  Elınyök:könnyebb programozás,  # trans  b  # add  a  # trans  c  jobb olvashatóság, dokumentálhatóság 
Makro: assembly sorozat  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Az assembly nyelv II. A programok szerkezete: Az utasítások a formális logika leképezései:  • adatmozgatás • aritmetikai utasítások • logikai utasítások • ugrások • feltételes ugrások • keret utasítások  keret Adatdefiníciók  Programutasítások  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Számítási modellek Neumann-elvő nyelvek I   Célok, tulajdonságok memória, címezhetı (sorszámmal)  a program és az adatok a memóriában vannak  a végrehajtás memóriaállapotok sorozata, állapottér (adatok tere),  a program leírása szöveges     Következmények van változó  van értékadás  utasítások ismételt végrehajtása lehetséges (ciklus, GOTO)  elágazás (GOTO)  beolvasás: memória másolás (ld. C64)  kiírás: memória másolás (képernyı)   A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu 
Számítási modellek Neumann-elvő nyelvek II Start Bekér i  Bekér i Címke: Ciklus eleje Kiír i i=i+1 Ha i<10 ugorj Ciklus elejé-re Vége  Ciklus eleje Kiír i i=i+1 i<10  igen  nem Vége  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Számítási modellek Neumann-elvő nyelvek III Start  Start  Start  Bekér i  Bekér i  Bekér i  i<10  nem  igen  igen Kiír i  Kiír i  Kiír i*2  Kiír i/2  i=i+1  i=i+1 i<10  i<10  igen  nem Vége  Vége  nem  Vége  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Számítási modellek Automata-elvő nyelvek   Célok, tulajdonságok          ( ipari robot) nyelvek  az adatok állapotok, illetve bemenetek – fix felosztású memória (pl. festıkar he-lye, fest-e, .): állapottér a végrehajtás egyszerő állapotok sorozata a program egy állapotátmenet-függvény a program elkülönül az állapotoktól tevékenységorientáltság (állapotváltoztatás)  Következmények      
utasítások általában egy állapotkomponenst változtatnak változó, értékadás nincs (csak névvel ellátott állapotkomponensek) csak primitív (állapot-, vagy paraméter- vagy érzékelıállapot-függı) ciklusok ír-hatók állapot-, vagy paraméter vagy érzékelıállapot-függı elágazás  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Számítási modellek Logikai nyelvek   Célok, tulajdonságok         a program egy logikai formula (általában nem lehet teljesen általános formula: megszorítások!), a program végrehajtása a logikai formula kiértékelése, erıs matematikai kidolgozottság, a formulákban szerepelhetnek paraméterek, a program és az adatok nem különülnek el (minden adat egy azonosan igaz formula)  Következmények          nincs változó, értékadás szekvencia = és, elágazás = vagy ciklus nincs, helyette rekurzív formulák vannak feltételes kifejezések elemi utasítás: mintaillesztés beolvasás,
kiírás: mintaillesztés, lehetıség új formulák létrehozására (új utasítás), kiértékelési algoritmus: backtrack csak a MIT? kell leírni  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Számítási modellek Objektum elvre épített nyelvek Célok, tulajdonságok  objektum = szerkezet + eljárások  típus  az adat és a kód nem választható el egymástól  (adatdefiniáláskor jönnek létre az ıt kezelı eljárások)  objektumtípus=osztály ≡ típust megvalósító modul  hivatkozás: objektumtípusú változó.eljárásnév, objektumtípusú változómezınév  az objektumok üzenetekkel (eljárások) kommunikálnak egymással,  eseményvezérelt programozás  öröklés: az új objektum egy másik objektum összes jellemzıjével rendelkezik, ehhez újakat is definiálhat  típusszármaztatás (láthatósági kérdések),  az örökléssel objektumok hierarchikus rendszere alakítható ki  A gazdaságinformatika alapjai 3. elıadás 
 http://www.doksihu  Számítási modellek Objektum elvre épített nyelvek    Következmények  az objektumok (tárgyak) önálló életet élı dolgok  az eljáráshívás a legfontosabb fogalom  olyan objektumnak lehet értéket adni, amely ilyen eljárást közöl magáról  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Magasabb szintő programnyelvek Fordító  szerkesztı  Forrás-  Tárgy-  program  program  hibajegyzék  futtatás Végrehatható program  Eredmények  hibajegyzék  Szintaktika: nyelvi helyesség, Szemantika: mőködési helyesség  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Interpreter  Az értelmezıprogram (interpreter) soronként gépikódú utasításokat állít elı  Gépi utasítássor  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Compiler A fordító (Compiler) a programot csak gépi kódra fordítja. Ezután a program bármikor futtatható.  Futtatható program  A gazdaságinformatika
alapjai 3. elıadás   http://www.doksihu  A compiler modell Szimbólumtábla Symbol table  Lexical Lexikai analysis elemzés  Syntactic Szintaktikai analysis elemzés  Semantic Szemantikai analysis elemzés  Code Kódgenerálás generation  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Nyelvi feldolgozó rendszer Lexikális elemzı  Táblázatkezelı  Szintaktikai elemzı  Absztrakt szintaktikai gráf  Szövegelemzı  Nyelvtan Definíció  Szemantikai elemzı  Optimalizáló  Kódgeneráló  Szimbólum-  Output  tábla  definíció  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Fordító- és értelmezıprogramok Compiler és interpreter Fıbb alkotói:  Lexikális elemzı  Szintaktikai elemzı  Hibakezelı  Táblázatkezelı  Szemantikai elemzı  Globális optimalizáló  Kódgeneráló  Lokális optimalizáló  Végrehajtó  csak fordító esetén csak fordító esetén csak értelmezı esetén  A gazdaságinformatika alapjai 3.
elıadás   http://www.doksihu  Programnyelvek különbözı célokra Tudományos számítások (FORTRAN, ALGOL60,.)  Adatfeldolgozás (COBOL, RPG)  Rendszerprogramozás (C, FORTH, CDL2)  Szövegfeldolgozás  Folyamatvezérlés (FORTH)  Szimuláció (SIMULA-67, GPSS)  Oktatás (BASIC, LOGO, Pascal, ELAN, Smalltalk)  Általános célú (Ada, Modula-2, PL/I)   A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Programozási nyelvek osztályozása (2) Alacsonyszintő nyelvek  Gépi nyelvek  Minden lehetıség (HW,SW) kihasználható  Minden lehetıség (HW,SW) kihasználható  Szimbolikus utasítások  Kód  Azonosító  Memóriacím  Címkenév  Memóriacím  Makrók Direktívák Adathelyfoglalás, definiálás  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Programozási nyelvek osztályozása (3) Magasszintő nyelvek  Alacsonyszintő nyelvek  (feladatorientált)  (géporientált)  Változó=tartomány  változó=kezdıcím  kifejezések típus
elágazás, ciklus  feltételes vezérlésátadás  eljárás  eljáráshívás, visszatérés  paraméterezés  A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Programnyelvek története (körülbelüli dátumok) 1944. Neumann János: egy assembly nyelv terve  1950-es évek: assembly nyelv 1. generáció (1950-1958) – elemi típusok, alapvetı utasítások  FORTRAN I, ALGOL 58  Elmélet: assemblerek, kódgenerálás, makroprocesszor – hatékonyság 2. generáció (1957-1966) – szintaxis: alapvetı utasítások, adattípusok, kifejezések (fa, teljesen zárójelezett, lengyel forma)  ALGOL 60: programegység, blokkstruktúra, algoritmusleíró nyelv  FORTRAN: fordítási egység, kezdıértékadás, unió típus  COBOL: rekord, file, adatfeldolgozás  PL/I (lezáró nyelv): az elızıek + dinamikus típusok, tömbmőveletek   A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Programnyelvek története (körülbelüli dátumok) BASIC:
elsı oktatási célú nyelv  Elmélet: nyelvek és automaták, szintaxis, lexikális analízis, kifejezéskiértékelés (fa, teljesen zárójelezett forma, lengyel forma)  Nem Neumann-elvő nyelvek: LISP 3. generáció (1967-1975) – típus, strukturált programozás  (fıleg ALGOL 60-ra épülı nyelvek), speciális célú nyelvek  Simula 67 (objektum), ALGOL 68, Pascal  Rendszerprogramozási célú, alacsonyszintőekhez közeli nyelvek: C, CDL2  Elmélet: szemantikadefiniálás, struktúrált programozás, helyességbizonyítás, prog-ramszintézis, szimbolikus végrehajtás "szoftver-krízis„: nem Neumann-elvő nyelvek: pl. PROLOG,   A gazdaságinformatika alapjai 3. elıadás   http://www.doksihu  Programnyelvek története (körülbelüli dátumok)        4. generáció (1974-1990) – modularitás, specifikáció, absztrakt típus (értékhalmaz+mő-veletek) (fıleg Pascal és Simula 67 alapú nyelvek) Modula-2, Ada, (Alphard, CLU, Euclid, Mesa) 5.
generáció (1990- ) – párhuzamosság Többprocesszoros gépek, hálózatok programozása  A gazdaságinformatika alapjai 3. elıadás