Home


  Pascal snadno a rychle - část 4.

Denzel / 8.11. 2002 /

Po velmi dlouhé odmlce, kdy jsme už ani nečekali, že tento miniseriál bude pokračovat se tu opět scházíme nad dalším pokračováním výuky Pascalu. Na začátek bych chtěl připomenout změnu e-mail adresy pro vaše dotazy na helpmagic@centrum.cz tak pište, pište, pište. Nezapomeňte si přečíst zajímavou službu na konci článku, kterou vám nyní nabízíme.
A nyní už navážeme na předchozí díly a budeme se zabývat programovou jednotkou crt.

Občas budete potřebovat, aby se text který napíšete ukázal na libovolném místě na obrazovce. K tomu slouží příkaz GotoXY(x,y), kde x je číslo sloupce a y je číslo řádky. Vše si ukážeme na příkladu.

Program priklad8;,
Uses crt;
Begin
   Clrscr; {smaze obrazovku}
   Gotoxy(15,10); {umisti kurzor na radku 10 a do sloupce 15}
   Write('tady'); {napise text "tady" na aktualni pozici kurzoru viz.gotoxy}
   Readln; {ceka na Enter}
End.

To kolik má obrazovka řádek a sloupců záleží na zvoleném textovém režimu. Standardně má 80 sloupců a 25 řádek. Můžete tedy napsat až 80 znaků na řádek a až 25řádek na jednu obrazovku. Pro změnu textového režimu (tj. pro nastavení jiného počtu sloupců a řádek než je standardně) použijte příkaz TextMode( ). Do závorky se píše číslo pro zvolený text.režim.

Program priklad9;
Uses crt;
Begin
   Clrscr; {smaze obrazovku}
   Write('textovy rezim'); {napise na obrazovce text}
   Textmode(3); {nastavi standardni rezim na 80x25}
   Readln; {ceka na stisk klavesy Enter}
End.

Všimněte si, že po příkazu Textmode se vymaže celá obrazovka. Textové režimy se mohou i kombinovat opět si ukážeme na příkladu.

Program priklad10;
Uses crt;
Begin
   Clrscr; {smaze obrazovku}
   Write('textovy rezim'); {napise na obrazovce text mezi apostrofy}
   Textmode(3+256); {nastavi rezim na 80 sloupcu a 50 radku}
   Readln; {ceka na stisk klavesy Enter}
End.

Pro kombinování text.režimů se používá znaménko + (viz. Příklad 3+256).

Může se vám stát, že budete potřebovat vykonávat nějakou část programu opakovaně dokud nestisknete nějakou klávesu. Budete třeba chtít vypisovat na obrazovku neustále text dokud nestisknete libovolnou klávesu. Vše si opět ukážeme na příkládku.

Program priklad11;
Uses crt;
Begin
   Clrscr; {smaze obrazovku}
   Repeat {zacatek tzv.smycky}
   Write('opakuji'); {napise na obrazovku text}
   Until keypressed; {konec tzv.smycky, opakuje napsany text dokud se nestiskne nejaka klavesa}
End.

V programu jsme se dostali k výrazu smyčka.

Co je tzv. smyčka?
Smyčka je část programu, která je vykonávána opakovaně dokud není splněna podmínka pro její ukončení. Smyčka začíná slovem repeat a končí slovem until. Za slovem until následuje podmínka pro ukončení smyčky. V našem případě je podmínka slovo keypressed, ale o něm až později. To co je napsáno mezi slovy repeat a until se neustále opakuje až do ukončení smyčky tj. do splnění podmínky. Pokud by podmínka nebyla nikdy splněna, program by neustále vykonával příkazy, které jsou napsány mezi slovy repeat a until, proto si dejte vždy pozor na platnost podmínky!

Keypressed
Příkaz keypressed zjišťuje jestli byla stisknuta nějaká klávesa. Pokud byla stisknuta nějaká klávesa má hodnotu 1 jinak pokud nebyla stisknuta klávesa má hodnotu 0. Rozlišuje pouze tyto dva stavy ano - ne, 1 - 0. Je to tzv. proměnná typu boolean.

V našem programu se tedy pořád na obrazovce vypisuje text "opakuj" do té doby než stisknete nějakou klávesu. Po stisku klávesy se program ukončí. Samozřejmě, že existují ještě další smyčky, ale ty si probereme až v příští lekci.

Tak to by pro dnešek to už stačilo a příště navážeme na dnešní výuku.

Pokud si přejete být vždy upozorněni na nový miniseriál výuky Pascalu hned po vydání na internetu stačí, když zašlete e-mail na adresu helpmagic@centrum.cz a do předmětu napíšete text "prijem pascal". Naopak pro odhlášení zasílání informace napište do předmětu "zrus pascal". Doufáme, že vám tato služba bude k užitku. Budeme se snažit co nejdříve přidávat další miniseriály na našem webu www.pcmagic.wz.cz