Fáze zpracování úlohy na počítači
- Formulace úlohy
- Zadavatel úlohy komunikuje s řešitelem, výsledkem jejich komunikace je úplné a přesné zadání úlohy.
- Sestavení algoritmu řešení.
- Rozborem úlohy se snaží řešitel o objasnění podstaty problému a nalezení vhodného řešení.
- Analýza a optimalizace algoritmu
- Snažíme se vybrat nejvhodnější a nejefektivnější algoritmus.
- Mezi základní kritéria patří časová a paměťová složitost.
- Sestavení programu
- Přepíšeme algoritmus ve vhodném programovacím jazyku.
- Ladění a testování programu
- Odstranění syntaktických a sémantických chyb.
- Syntaktické (formální) chyby
- Vzniknou porušením formálních pravidel pro zápis jednotlivých instrukcí, např. překlep, opomenutí, neznalost.
- PC informuje o chybách při překladu.
- Odstraňování chyb.
- Sémantické (významové, logické) chyby
- Chyby v postupu řešení.
- Běžící program nedává správné výsledky → zacyklí se.
- Testování provádíme zadáním různých vstupních dat a získané výsledky porovnáváme s předpokládan.
Struktura programu v Pascalu
-
- Program v Pascalu se skládá z hlavičky a z bloků.
- Hlavička obsahuje název programu a seznam parametrů v kulatých závorkách.
- Seznam parametrů slouží pro komunikaci programu.
- Závorky se seznamem parametrů jsou nepovinné.
- Seznam parametrů slouží pro komunikaci programu.
- Blok lze rozdělit na část deklarací a definicí a část příkazovou
- Jednotlivé deklarační úseky nejsou povinné.
- Každý úsek se v bloku vyskytuje pouze tehdy, je-li potřeba v tomto bloku deklarovat objekty příslušného druhu.
- Příkazovou častí se popisuje vlastní výpočet.
- Je to posloupnost příkazů oddělených středníkem a uzavřených mezi klíčová slova BEGIN & END
- Hlavička obsahuje název programu a seznam parametrů v kulatých závorkách.
- Program v Pascalu se skládá z hlavičky a z bloků.
-
-
-
-
- Každý příkaz se obvykle píše na samostatný řádek.
- Po použití slova BEGIN další řádek odsazujeme pro lepší přehlednost.
- Slovo END potom píšeme na úroveň posledního BEGIN.
-
-
-
Hlavička programu
program → identifikátor → (parametry programu) → ;
Blok
Deklarační část
deklarace návěští → definice konstant → definice typů → deklarace proměnných → deklarace procedur a funkcí
Datové typy
Proměnná je datový objekt, jehož hodnota se může měnit. Každá proměnná je určitého typu a tímto typem je specifikována množina přípustných hodnot proměnné.
- celočíselné
- pouze kladné hodnoty a 0 (0..n)
- integer
- smallint
- longint
- kladné i záporné hodnoty (-n..n-1)
- byte
- word
- cardinal
- pouze kladné hodnoty a 0 (0..n)
- reálné
- real
- double
- char
- boolean
- string
Integer
- Rozsah: -32768..32767 (2 byty)
- Operace:
- +, -, *
- div (dělení beze zbytku)
- mod (zbytek po dělení)
- Relační operace:
- >, <, <=, >=
- = (rovnost)
- <> (nerovnost)
- Funkce:
- abs(x) – absolutní hodnota
- sqr(x) – druhá mocnina
- succ(x) – následovník
- pred(x) – předchůdce
- odd(x) – lichost
- ord(x) – pořadí
- Varianty
- Smallint (-128..+127)
- Longint (-2147483648..+2147483647)
- Byte: (0..+255)
- Word: (0..+65 535)
- Cardinal: (0..+4294967295)
Real
- Libovolné číslo v rozsahu 2,9×10-39..1,7×1038
- Operace:
- +, -, *, /
- Relační operace:
- =, <>, >, <, <=, >=
- Funkce:
- abs(x), sqr(x), sin(x), cos(x), tan(x), ln(x), arcsin(x), arccos(x), arctan(x)
- sqrt(x) – 2. odmocnina
- trunc(x) – celá část x
- round(x) – zaokrouhlení na celá čísla
- Varianty:
- Single
- Double
- Extended
Boolean
- Logická proměnná
- Pouze 2 hodnoty (TRUE/FALSE)
- Relační operace:
- =, <>, >, <, <=, >=
- Logické operace:
- AND – logický součin (konjunkce)
- OR – logický rozdíl (disjunkce)
- NOT – negace
Char
- pouze 1 znak: písmeno, číslici, specifický symbol nebo řídící znak
- Relační operace:
- =, <>, >, <, <=, >=
- Funkce:
- succ(x), pred(x)
- chr(x) – znak s číslem x
- ord(x) – pořadí v ASCII tabulce
String
- řetězec znaků (max. 255)
- za identifikátorem typu následuje délka řetězce v [] závorkách (např. string[30] → max. délka 30 znaků)
- procedury a funkce:
- delete(Ret, Cíl, Num) smaže Num znaků z řetězce Ret, začínající na pozici Cíl
- insert (Ret, Cíl, Poz) vloží Cíl do řetězce Ret na pozici Poz
- str(Par, Ret) převod číselné proměnné Par na řetězec Ret
- val(Ret, Hod, Vys) převod řetězce s číselnou hodnotou Ret na proměnnou číselného typu Hod, Vys informuje o chybné pozici
- copy(Ret, Poz, Num) zkopíruje Num znaků z řetězce Ret, začínající na pozici Poz
- concat (Ret1, Ret2) sloučit řetězce
- length(Ret) délka řetězce
- pos(Vzor, Ret) hledá zadaný Vzor v řetězci Ret
- nenajde → 0
- najde → pozice 1. písmene
Příkazy vstupu a výstupu
Přiřazovací příkaz
proměnná → := → výraz
- Tento příkaz reprezentuje akci, kterou proměnné přiřazujeme hodnotu
- Vyhodnotí se výraz napravo a výsledná hodnota se přiřadí proměnné nalevo
Příkazy vstupu hodnot proměnných
- read(seznam proměnných);
- readln(seznam proměnných);
Příkazy výstupu hodnot proměnných
- write(seznam proměnných);
- na výstupním zařízení se vypíšou hodnoty proměnných uvedených jako parametry příkazu write
- writeln(seznam proměnných);
- po výpisu hodnot proměnných uvedených v seznamu se přechází na další řádek
Příkazy výstupu textu
- write(‘text‘);
- na výstupním zařízení se vypíše text mezi apostrofy
- writeln(‘text‘);
[Celkem: 3 Průměr: 3.3]Musíte se přihlásit, abyste mohli hlasovat