Pro začátek diagramu se pouřívá stejná značka jako na konci, jen s jiným textem.
Pro vstup a výstup také stačí použít stejnou značku, jen se zapisuje čti(A,B) - pro vstup nebo piš(A,B) - pro výstup
Podmínka má jeden vstup a dva výstupy - jeden pro to když je splněna (A, ANO, +) a jeden pro to když není (N, NE, -)
Značka "jednoduchý příkaz" slouží k provádění jednoduchých příkazů (přiřazení, ...)
Skok slouží k přesunu mezi několika možnostmi například u větvení, nebo pro rozepsání některých složitějších ůkolů.
Programovací jazyk Turbo Pascal je základním jazykem, ze kterého vychází výuka programování na většině středních i vysokých škol.
Znak - písmena (A..Z, a..z), čísla (0..9), speciální znaky = zvláštní symboly (+,-,*,/,=,<>,<,>,<=,>=,(,),[,],{,},:=, . , , , ; , : , .. ,',(*,*),@,$,#,&) , vyhrazená slova
Vyhrazená slova = klíčová - taková, která mají své zvláštní použití a nemůžeme jim přiřadit jiný význam
Direktivy - podobně specifická slova jako "Klíčová", také je nesmíme používat jiným způsobem
Proměnná - úsek paměti, kam se ukládají čísla definující znaky; mění se v průběhu výpočtů
Konstanta - úsek paměti, kam se ukládají čísla definující znaky; zůstává stále stejná
Identifikátor - označení/název konstant a proměnných; nesmí začínat číslicí a nesmí obsahovat speciální znaky a neměl by ani diakritiku, nesmí být shodný s vyhrazeným slovem či direktivou
Každá proměnná musí mít určenu množinu přípustných hodnot a množinu operací. Popis těchto dvou hodnot souhrně nazýváme datový typ. Proměnná, která má přiřazen datový typ, nabývá vždy jen hodnot tohoto svého typu a žádných jiných a lze na ní provádět jen přípustné operace.
const konstanta1 = 5; (* Deklarace konstanty; - Takhle je možno psát poznámky/komentáře k programu *)
pocetMesicu = 12;
pocetDnuTydne = 7;
nadpis = 'Ovoce a zelenina';
podpis = 'Kymličková';
type cislaMesicu = 1..12; { Deklarace datového typu; - Nebo lze komentáře zapisovat takto }
dnyTydne = (Pondeli, Utery, Streda, Ctvrtek, Patek, Sobota, Nedele);
podil = real;
var mesic : cislaMesicu; { Deklarace proměnné }
dnesniDen : dnyTydne;
write(pok); {vytištění konstanty nebo proměnné pod názvem "pok"}
write('pokus'); {vytištění slova "pokus"}
writeLn(pok); {vytištění konstanty nebo proměnné pod názvem "pok", po té kurzor skočí na další řádek}
writeLn('pokus'); {vytištění slova "pokus", po té kurzor skočí na další řádek}
read(pok); {načtení hodnoty z klávesnice do proměnné "pok"}
readLn(pok); {načtení hodnoty z klávesnice do proměnné "pok", po té kurzor skočí na další řádek}
if podmínka then příkazANO {Pokud je splněna, tak provede příkazANO, jinak provede příkazNE}
else příkazNE
case proměnná of {Pokud "proměnná" rovná se:}
hodnota1: příkaz1; {"hodnoty1" provede se "příkaz1"}
hodnota2: příkaz2; {"hodnoty2" provede se "příkaz2"}
hodnota3: příkaz3; {"hodnoty3" provede se "příkaz3"}
hodnota4: příkaz4; {"hodnoty4" provede se "příkaz4"}
else příkazJINAK; {v ostatních případech provede se příkazJINAK}
end; {MÁ SVŮJ END!!!!!!!}
while (podmínka) do (příkazy);Hezky česky řečeno (Dokud platí "podmínka" dělej "příkazy")
repeat (příkazy) until (podmínka);Hezky česky řečeno (Opakuj "příkazy" dokud nezačne platit "podmínka")
for proměnné:=od to do do (příkazy);Hezky česky řečeno (Pro čísla "od" do "do" opakuj "příkazy")
Funkce a procedury, které máte znát
sqr(proměnná) {mocnina}
sqrt(proměnná) {odmocnina}
co div čím {"co" dělí celočíselně "čím" a vrátí celé číslo jako výsledek}
co mod čím {"co" dělí "čím" a vrátí zbytek po dělení}
length(čeho) {vrací délku řetězce "čeho"}
1. Způsob:
type název_typu=array[od..do] of datový_typ; {definice datového typu pole}
var proměnná_pole:název_typu; {nastavení proměnné datového typu pole}
2. Způsob:
type Stav = (Aktivni, Pasivni, Cekajici);
StavMap = array[Stav] of string[8];
const StavStr: StavMap = ('Aktivni', 'Pasivni', 'Cekajici');
3. Způsob:
var proměnná_pole:array[od..do] of datový_typ; {definice proměnné typu pole}
průchod polem běžně pomocí for-cyklu
proměnná_pole[index] {odkaz na jednotlivé buňky na pozici "index"}
Máme k dispozici procedury a funkce pro pohyb po obrazovce, práci se zvukem, barvami, časování, ...
Pro použití musíme před program napsat:
uses Crt; {připojení knihovny Crt a případně jiných oddělených čárkami}
Stručný přehled hlavních funkcí a procedur knihovny Crt:
KeyPressed {testuje zda byla stisknuta nějaká klávesa}
ReadKey {načte jeden znak z vyrovnávací paměti klávesnice}
GotoXY(x,y) {nastavení kurzoru na požadovné souřadnice}
ClrScr {mazání obrazovky}
TextBackground(barva) {nastaví barvu pozadí}
TextColor(barva) {nastaví barvu písma}
Sound(Hz) {spustí zvuk dané frekvence}
NoSound {ukončí spuštěný zvuk} ... !!!!!!!! Nezapomeňte použít jinak budeme pískat do restartu !!!!!
Delay(ms) {počká počet ms}
Ostatní (nejsou to všechny) a jejich přesné použití najdete v helpu, nemá smysl ho tu celý vypisovat.
Pro použití je musíme deklarovat:
procedure název(a,b,c:datový_typ); {názvem pak budeme volat danou proceduru}
{a,b,c jsou libovolné parametry nějakého datového typu}
var x,y:datový_typ; {procedura může mít libovolný počet VLASTNÍCH proměnných}
begin {procedura má vlastní begin}
{zde jsou příkazy}
{zde jsou příkazy}
end; {procedura má vlastní end se středníkem!!}
function název(a,b,c:datový_typ1):datový_typ2; {názvem pak budeme volat danou funkci}
{a,b,c jsou libovolné parametry nějakého datového_typu1}
{datový_typ2 je návratová hodnota, kterou funkce vrátí jako výpočet}
var x,y:datový_typ; {funkce může mít libovolný počet VLASTNÍCH proměnných}
begin {funkce má vlastní begin}
{zde jsou příkazy}
{zde jsou příkazy}
název:=výpočet; {názvu funkce musíme přiřadit výslednou hodnoutu, kterou má funkce vrátit}
end; {funkce má vlastní end se středníkem!!}
Proměnné, které jsou deklarované uvnitř funkce či procedury patří jen té funci či proceduře nikde jinde jako by neexistovaly!
var soubor:text; Procedury:
Assign(soubor,'R:\soubor.txt'); {pojmenuje soubor na adrese R:\soubor.txt proměnnou soubor}
Append(soubor); {otevře (existující) soubor pro vkládání na konec}
Reset(soubor); {otevře (existující) soubor pro vkládání na začátek (pozor hrozí přepsání)}
Rewrite(soubor); {vytvoří a otevře nový soubor}
Close(soubor); {uzavře otevřený soubor}
Read(soubor,co); {ze souboru přečte řádek a uloží do proměnné co - lze použít ReadLn}
Write(soubor,co); {zapíše do souboru proměnnou (-né) co - lze použít WriteLn}
Typové soubory
Deklarace:
var soubor:file of datový_typ; Procedury:
Assign(soubor,'R:\soubor.txt'); {pojmenuje soubor na adrese R:\soubor.txt proměnnou soubor}
Reset(soubor); {otevře (existující) soubor pro vkládání na začátek (pozor hrozí přepsání)}
Rewrite(soubor); {vytvoří a otevře nový soubor}
Close(soubor); {uzavře otevřený soubor}
Read(soubor,co); {ze souboru přečte řádek a uloží do proměnné co - nelze použít ReadLn}
Write(soubor,co); {zapíše do souboru proměnnou (-né) co - nelze použít WriteLn}
Record
- je datový typ podobný poli, jen se liší v tom, že každá položka může obsahovat jiný datový typ. Použití je hojné při ukládání dat do souboru.
type Clovek=record {Tento člověk obsahuje 4 proměnné}
Jmeno: String[10];
Prijmeni: String[20];
Pohlavi: Char;
Vek: Integer;
END;
var zak, ucitel: Clovek;
begin
end.