2.) Írjunk programot, mely a fekete képernyőn megjelenít egy kis piros téglalapot.

 

Ennek a programnak a megírásához egy új eljárást kell megismernünk: a Window-t, mely a ClrScr-hez hasonlóan a Crt Unit része. A Window ablakot jelent. A teljes képernyő is egy ablak, melyet ezzel az eljárással kisebbíthetünk, vagy újra maximálissá tehetünk. A Window eljárásnak négy paramétere van. Egy téglalapot a képernyőn azonosíthatja pl.: a bal felső illetve jobb alsó csúcsának két-két koordinátája. Lássuk a listát.

 

Program Teglalap;

Uses NewDelay, Crt;

Begin

  TextMode(CO80);

  TextBackGround(0);

  ClrScr;

  TextBackGround(Red);

  Window(10,5,20,8);

  ClrScr;

  ReadLn;

End.

 

 

A képernyő fekete színéért a TextBackGround(0); és ClrScr; sorok a felelősek. A háttérszín beállítását célszerű annak ellenére külön is beírni a listába, hogy a fekete az alapértelmezett, mert ha nem lépünk ki az IDE-ből két program futtatása közben, akkor az először futtatott program által beállított háttérszín lesz az első érvényes háttérszín az újabb programban. A vörös téglalapot, az ezeket követő három sor hozza létre. A ReadLn; megállítja a program futását. A Window eljárás négy paraméterének megállapításánál a következőkre kell figyelni: 1. paraméter: a bal felső X, 2. paraméter: a bal felső Y, 3. paraméter: a jobb alsó X és a 4. paraméter: a jobb alsó Y koordináta. A méretkorlátok a GoToXY-nál említettekkel megegyező. Azaz az X-ek 1-80, az Y-ok 1-25 között lehetnek. A másik talán még fontosabb dolog, hogy külön az X-eknek és az Y-oknak nagyság szerint növekedően kell szerepelnie. Az eljárás ugyanis csak akkor definiál új ablakot, ha a korlátozások mellett, a nagyságrend szerinti megállapítás is teljesül. Nem véletlen tehát, hogy a programunkban a paramétereknél 10 < 20 és 5 < 8. A Window hibás paramétereknél nem jelez hibát (és a fordító sem), hanem egyszerűen nem hajtja végre az eljárást, azaz nem jön létre az ablak. Ha a futás ideje alatt, Enter megnyomása előtt írunk a képernyőre, akkor megláthatjuk, hogy a szöveg nem kerül ki a vörös területről, ha pedig a sorok elfogynak, a soremelés is csak a definiált ablakra vonatkozik.

 

3.) Írjunk programot, amely egy magyar zászlót jelenít meg kék színű képernyőn, a zászlónak barna rúdja legyen, a fehér területre írjuk ki feketével: MAGYARORSZÁG.

 

            A listánkat a szokásos sorokkal kezdjük, majd a megfelelő színeket TextBackGround és ClrScr alkalmazásával hozzuk létre. A színezendő területek a Window eljárással állítjuk be.

 

Program Zaszlo;

Uses NewDelay, Crt;

Begin

  TextMode(CO80);

  TextBackGround(Blue);

  ClrScr;

  TextBackGround(Red);

  Window(18,3,62,5);

  ClrScr;

  TextBackGround(White);

  Window(18,6,62,8);

  ClrScr;

  TextBackGround(Green);

  Window(18,9,62,11);

  ClrScr;

  TextBackGround(Brown);

  Window(17,3,17,24);

  ClrScr;

  TextBackGround(White);

  TextColor(Black);

  Window(1,1,80,25);

  GoToXY(35,7);

  Write('MAGYARORSZÁG');

  GoToXY(1,25);

  ReadLn;

End.

 

 

Az első két sor a háttér kék szint állítja, aztán 3 soronként egy-egy szín kerül a képernyőre, majd a barna színű, egy karakter széles rúd. A Window(1,1,80,25); eljárás visszaállítja a képernyő alaphelyzetét, vagyis beállítódik a legnagyobb ablak. A zászló színeit adó téglalapok magassága 3 (3,4,5 – 6,7,8 – 9,10,11), így lehet a MAGYARORSZÁG-ot a fehér színű téglalap középre írni (5 magasságú már aránytalan lenne). Írás előtt be kell állítani a háttér és karakterszíneket is, valamint a kurzort a (35,7)-re állítani, ami a fehér szín közepét jelenti.

 

4.) Írjunk programot, amely egy vöröskeresztes zászlót jelenít meg. Fehér alapon, vastag szárú vörös + jel. Törekedjünk az eljárások számának minimalizálására.

           

A szokásos sorok után csak két terület kijelölésével a feladat megoldható, mintha egy széles ecsettel egy függőleges és egy vízszintes csíkot festettünk volna.

 

Program VorosX;

Uses NewDelay, Crt;

Begin

  TextMode(CO80);

  TextBackGround(White);

  ClrScr;

  TextBackGround(Red);

  Window(35,5,45,21);

  ClrScr;

  Window(22,11,58,15);

  ClrScr;

  Window(1,1,80,25);

  GoToXY(1,25);

  ReadLn;

End.

 

 

A VorosX program könnyedén és egyértelműen értelmezhető a Zaszlo program alapján, ezért nem elemezzük.

 

Gyakorló programozási feladatok:

 

F.1.: Írjunk programot, amely egy úttesten elhelyezkedő gyalogos átkelőhelyet rajzol a képernyőre. A kép alsó részén az út egyik oldala, tetején a másik oldala létható, a kettő között pedig a zebra.

 

F2.: Írjunk programot, amely egy lépcsőt rajzol a képernyőre oldalnézetből, azaz csak a keresztmetszetét ábrázolva.

 

F3.: Írj programot, amely a képernyőn egy házat jelenít meg, sematikusan - a karakteres képernyő lehetőségei szerinti részletekkel.

 

F4: Írj programot, amely képeslapot jelenít meg a képernyőn. A felirata: Kellemes Karácsonyi Ünnepeket. A képeslapon egy asztal és két oldalán egy-egy szék helyezkedik el. Az asztalon egy monitor és egy karácsonyfa látható, a karácsonyfán néhány csillagszóró villog.