programozási nyelvek beugró

 

(rövid vázlat a könyvből a 37. oldalig Szamosközi Péter részére Tarcsi Ádámtól)

Programozási nyelvek osztályozása

Osztályozási szempontok:

1. Amatőr és professzinális programozási nyelvek

Prog. nyelveknek illeszkedniük kell a felhasználói körhöz.

 

Amatőr nyelvek:

Professzionális nyelvek:

 

2. Alacsony- és magasszintű nyelvek

 

Legalacsonyabb: gépi kód

Alacsonyszintű: ennél egy szintel magasabb szintű nyelvek (sokszor ennek szinonímájaként használjuk az assembly nyelv-et –nem szavad szó szerint venni. vagy géporientált nyelv)

 

Alacsony szintű és a gépi kód

 

Alacsonyszintű és magasszintű nyelvek

Magasszintű nyelvek: feladatorientált nyelvek

 

 

Átmeneti jellemzők

3. Számítási modellek

-         Utasításorientált nyelv

-         Változó

-         Értékadás, beolvasás, kiírás

-         Elágazás, ciklus

-         állapotok

-         állapotok közötti átmenetet leíró függvények, műveletek

-         összetett állapot: állapotkomponensek (~változó)

-         alapállapot

-         állapotlekérdező – módosító utasítások

-         paraméterek: érték szerintiek

-         beolvasás helyett: eljárások paraméterezése, állapotlekérdezés

-         bemenet: környezet állapotának lekérdezése

-         kiírás: állapotváltozás nyoma

-         elágazás, ciklus: paraméter-, ill. állapotfüggő à egyszerűbb: ált. rekurzívak vagy számlálósak.

-         párhuzamos végrehajtás: egymással kapcsolatba is léphetnek

-         alapfogalma: kifejezés. Eljárás = függvény

-         prg. struktúrálásra:

§         f(x)=g o h(x)                             - függvénykompozíció

§             - alternatív függvény

§         - rekurzív függvény

-         nem léteznek változók

-         konstans à konstansfüggvény (nincs paramétere)

-         kifejezések írása néhány nyelv esetén függvényszerű leírás kell: A+B helyett +(A,B)

-         fv.paraméter lehet fv. is. (~érték szerinti param.átadás) .

-         késleltetett fv. kiértékelés: külső fv. meghívásakor a belső fv.értéket még nem számoljuk ki, hanem csak ott, ahol a külső fv. kiszámításában felhaszn. értékét. (~név szerinti paramátadás)

-         nincs változó à nincs értékadás: értéket fv.paraméterként tárolunk, vagy újra kiszámoljuk. Fv. érték lehet összetett típus is.

-         Beolvasás: fv. paraméterezés

-         Kiírás: kiszámított fv. automatikus kijelzése (de ált. létezik: ál-beolvasás, kiírás à konstasn fv. ként

Program végrehajtása = formula kiértékelése. Igaz vagy hamis eredmény helyett a kiértékelést máshogy definiáljuk.

-         logikai formula paraméterei a végrehajtás kezdetén lehet: kitöltött, kitöltetlen

-         adatok: formulák paraméterei

-         beolvasás: paraméterezés

-         kiírás: kitöltetlen paraméterek lehetséges értékeinek automatikus kijelzése.

-         szekvencia, elágazás, ciklus helyett logikai formulák: és, vagy, nem műveletek:

§         f(x) ha h(x) és g(x)                  - szekvencia

§         f(x) ha g(x) vagy h(x)   - elágazás

§         f(x) ha g(x) vagy i(x) és f(x)     - rekurzív formula

4. Egyéb osztályozások

- Compiler ill. Interpreter: fordítóprogram(ált. professzionális), értelmezőprogram (ált. amatőr).

- Procedurális nyelv: a programírásban a megoldó algoritmus leírására törekszik (Neumann, automata elvű nyelvek)

- Nemprocedurális nyelv: Megoldó algoritmust a nyelv –automatikus- kiértékelési szabálya tartalmazza. (funkcionális, logikai, SQL)

- Deklaratív: Specifikációt adjuk meg, a rendszer ennek alapján automatikusan állít elő megoldást. (logikai)

- Utasításorientált (parancsorientált)

- Kifejezésorientált:

- Objektumorientált:

- Párhuzamos programnyelv:

Programozási nyelvekkel kapcsolatos alapfogalmak

  1. Szintaxis és szemantika
  2. Fordítás és értelmezés
  3. Programstruktúrák
    1. Program
    2. Programcsomag
    3. Párhuzamos folyamat (taszk)
    4. Fordítási egység (modul, unit, szegmens)
    5. Export-,  importlisták
    6. Programegység
    7. Blokkstruktúra
  4. Azonosítók
    1. Védett azonosítók
    2. Azonosítók átlapolása (túlterhelés)
    3. Hatáskör
    4. Láthatóság
    5. Fordítási konstansok
  5. Típusok
    1. Nyelvek típusossága
    2. Típuskompatibilitás
    3. Típuskényszerítés
    4. Altípus
    5. Származtatott típus
    6. Névtelen típus
    7. Statikus és dinamikus típusok
    8. Paraméteres típus
    9. Átlátszatlan típus
  6. Változók
    1. Memóriakezelés
    2. Deklarációkiértékelés
    3. Memórialefoglalás
    4. Élettartam
    5. Levegőben lógó hivatkozás
    6. Kezdőérték
  7. Paraméterátadás
    1. Paraméterek megfeleltetése
    2. Paraméterek feltételezett értéke
    3. Paraméterátadás

 

Tarcsi Ádám, 2002. június 19.

 

(Fáradt vagyok, egyenlőre ennyi! Egyéb osztályozások-ig kész!)