This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
fordprog:plang2017 [2017/09/25 17:01] deva |
fordprog:plang2017 [2017/11/04 17:32] (current) deva |
||
---|---|---|---|
Line 7: | Line 7: | ||
Az alábbi példaprogram a bemeneten kapott nemnegatív egész szám legkisebb valódi osztóját számolja ki. | Az alábbi példaprogram a bemeneten kapott nemnegatív egész szám legkisebb valódi osztóját számolja ki. | ||
- | Tesztfájlok [[http://deva.web.elte.hu/fordprog/plang2017-tesztfajlok.zip|letölthetőek]]! | + | Tesztfájlok [[http://deva.web.elte.hu/fordprog/plang-2017-osz-tesztfajlok.zip|letölthetőek]]! |
<code> | <code> | ||
- | ** A legkisebb valodi oszto meghatarozasa. | + | # A legkisebb valodi oszto meghatarozasa. # |
PROGRAM oszto | PROGRAM oszto | ||
VALTOZOK: | VALTOZOK: | ||
Line 44: | Line 44: | ||
* az angol abc kis és nagybetűi | * az angol abc kis és nagybetűi | ||
* számjegyek (0-9) | * számjegyek (0-9) | ||
- | * ''():+-*/%<>=_'' | + | * ''():+-*/%<>=_#'' |
* szóköz, tab, sorvége | * szóköz, tab, sorvége | ||
* megjegyzések belsejében pedig tetszőleges karakterek állhatnak | * megjegyzések belsejében pedig tetszőleges karakterek állhatnak | ||
Line 56: | Line 56: | ||
=== Azonosítók === | === Azonosítók === | ||
- | A változók nevei, illetve a program neve betűkből és számjegyekből állhatnak, de nem kezdődhetnek számjeggyel, és nem ütközhetnek egyik kulcsszóval sem. | + | A változók nevei, illetve a program neve kis- és nagybetűkből és számjegyekből állhatnak, de nem kezdődhetnek számjeggyel, és nem ütközhetnek egyik kulcsszóval sem. |
=== Típusok === | === Típusok === | ||
Line 65: | Line 65: | ||
=== Megjegyzések === | === Megjegyzések === | ||
- | A 'a ** karakterektől kezdve a sor végéig. Megjegyzések a program tetszőleges pontján előfordulhatnak, a fordítást és a keletkező programkódot nem befolyásolják. | + | A ''#'' karakteretől a következő ''#'' karakterig. Megjegyzések a program tetszőleges pontján előfordulhatnak, és akár több sorosak is lehetnek. A fordítást és a keletkező programkódot nem befolyásolják. |
=== A program felépítése === | === A program felépítése === | ||
Line 93: | Line 93: | ||
* Olvasás: A ''BE:'' utasítás a megadott változóba olvas be egy megfelelő típusú értéket a standard bementeről. (Megvalósítása: meg kell hívni a ''be'' eljárást, amit a negyedik beadandó kiírásához mellékelt C fájl tartalmaz. A beolvasott érték ''EGESZ'' típus esetén az ''eax'', ''LOGIKAI'' típus esetén az ''al'' regiszterben lesz.) | * Olvasás: A ''BE:'' utasítás a megadott változóba olvas be egy megfelelő típusú értéket a standard bementeről. (Megvalósítása: meg kell hívni a ''be'' eljárást, amit a negyedik beadandó kiírásához mellékelt C fájl tartalmaz. A beolvasott érték ''EGESZ'' típus esetén az ''eax'', ''LOGIKAI'' típus esetén az ''al'' regiszterben lesz.) | ||
* Írás: A ''KI:'' utasítás a megadott kifejezés értékét a standard kimenetre írja (és egy sortöréssel fejezi be). (Megvalósítása: meg kell hívni a ''ki_egesz'' (vagy a ''ki_logikai'') eljárást, amit a 4. beadandó leírásához mellékelt C fájl tartalmaz. Paraméterként a kiírandó értéket (mindkét esetben 4 bájtot) kell a verembe tenni.) | * Írás: A ''KI:'' utasítás a megadott kifejezés értékét a standard kimenetre írja (és egy sortöréssel fejezi be). (Megvalósítása: meg kell hívni a ''ki_egesz'' (vagy a ''ki_logikai'') eljárást, amit a 4. beadandó leírásához mellékelt C fájl tartalmaz. Paraméterként a kiírandó értéket (mindkét esetben 4 bájtot) kell a verembe tenni.) | ||
- | * Ciklus: ''CIKLUS AMIG'' //feltétel utasítások// ''CIKLUS_VEGE'' alakú. A feltétel logikai kifejezés, és a ciklus belsejében legalább egy utasításnak kell lennie. A megszokott módon, elöltesztelős ciklusként működik. | + | * Ciklus: ''CIKLUS AMIG'' //feltétel utasítások// ''CIKLUS_VEGE'' alakú. A feltétel logikai kifejezés. A ciklus utasításlistája lehet üres is. A megszokott módon, elöltesztelős ciklusként működik. |
- | * Elágazás: ''HA'' //feltétel// ''AKKOR'' //utasítások// ''HA_VEGE'' vagy ''HA'' //feltétel// ''AKKOR'' //utasítások// ''KULONBEN'' //utasitasok// ''HA_VEGE'' alakú. A feltétel logikai kifejezés, és az egyes ágakban legalább egy-egy utasítás van. A megszokott módon működik. | + | * Elágazás: ''HA'' //feltétel// ''AKKOR'' //utasítások// ''HA_VEGE'' vagy ''HA'' //feltétel// ''AKKOR'' //utasítások// ''KULONBEN'' //utasitasok// ''HA_VEGE'' alakú. A feltétel logikai kifejezés. Az egyes ágak utasításlistája lehet üres is. A megszokott módon működik. |