Začínáme s Pascalem 1. kapitola
Základní pravidla a pojmy identifikátor = to je jméno jakéhokoliv objektu, který si ve vašem programu sami vytvoříte Pravidla pro názvy identifikátorů: skládají se pouze z písmen (bez diakritiky), čísel a podtržítek ( _ ) začínají písmenem nejsou to vyhrazená slova (ta poznáte tak, že jsou zobrazena bíle a tučně)
Základní pravidla a pojmy jeden identifikátor označuje vždy jen jeden objekt názvy se volí krátké, stručné a výstižné Pascal rozlišuje pouze prvních šedesát tři znaků Pascal nerozlišuje velká a malá písmena (Ruda a rUda je jeden a ten samý identifikátor) ale určitý identifikátor by se vždy měl psát stejně (tedy ne jednou Ahoj a podruhé aHoJ) neměli bychom používat názvy, které již k něčemu slouží
Základní pravidla a pojmy Nejkratší program v Pascalu vypadá takto : Program NázevProgramu; Begin End. Vyhrazená slova identifikátor POZOR! Za prvním řádkem musí být středník a za posledním tečka.
Základní pravidla a pojmy komentář = text, který do programu vkládáme, abychom se v něm později vyznali samotné komentáře se uzavírají do složených závorek a můžou obsahovat úplně všechno kromě konce složené závorky - taky se vyhýbejte smajlíkovi *) Program Komentar; {Tento progam nám ukazuje, jak používat komentáře} Begin {Za tento komentář lze vložit skutečné příkazy} End.
První příkazy překladač = program, co spouští naše dílko a v případě chyby nás upozorní příkazy se píší mezi Begin a End. a každý končí středníkem (;) 1. Readln; - ten zastaví program a počká na stisk klávesy ENTER 2. nejdůležitějším příkazem je Write('Text'); - na obrazovku vypíše text, který jsme uzavřeli do apostrofů (obsahuje-li text apostrof, musíme ho zdvojit) Write('Apostrof je tento znak '' a píše se takto '''''); 3. druhým nejdůležitějším příkazem je Writeln('Text'); - ten dělá to samé, co Write, ale pak skočí na další řádek obrazovky
První příkazy Program Ahoj; {Napíše na obrazovku ahoj a počká na stisk klávesy ENTER} Begin Write('A'); Write('hoj'); Readln; {Abychom na obrazovce také něco zahlédli, že...} End.
První příkazy v Pascalu jsou jednotlivé příkazy děleny do menších podskupin (jednotek) v každém programu můžeme používat příkazy jednotky System (zde jsou umístěny ty nejdůležitější) pokud však chceme používat i další příkazy, musíme to překladači nějak oznámit k tomu slouží slovo uses například v jednotce Crt ( pro procesory rychlejší než 200 MHz je to Crtp2) jsou příkazy pro práci s textem, chceme-li je používat, musíme napsat: Program Text; Uses Crt (Crtp2); Begin End.
První příkazy Příkazy jednotky Crt (Crtp2): ClrScr; ten smaže obrazovku druhým příkazem je Sound(frekvence); - způsobí, že speaker začne vydávat zvuk o dané frekvenci dalším příkazem je Delay(Ms); - zastaví běh programu na dobu Ms milisekund; NoSound; - ukončí vydávaný zvuk TextColor(Číslo); - změní barvu textu na barvu s daným číslem - čísla mohou být od jedné do šestnácti Program Pistala; {Jediné, co to umí je deset sekund pištět} Uses Crtp2; Begin Write('Budu pistet'); Sound(440); {Frekvence komorního a} Delay(5000); {Pět sekund počkej} ClrScr; {Smaž to odpornou hlášku} Delay(5000); {Počkej dalších pět sekund} Nosound; {Než program ukončíme, je lepší přestat s tím odporným zvukem, později už to nepůjde} End.
Proměnné výraz = posloupnost proměnných či čísel spojená operátory (či samotná proměnná) data = soubor jakéhokoliv množství jakýchkoliv informací proměnná = místo pro data Program Pocitej; Begin write(´16+7=´); writeln(16+7); readln; End.
Proměnné jednotlivé části výrazu mohou být například čísla - ta se pak spojují pomocí operátorů (+, -, *, /) Pascal má dva zvláštní operátory div a mod div značí celočíselné dělení mod je zbytek po tomto dělení Př.: 16 div 3 = 5 20 div 13 = 1 16 mod 3 = 1 20 mod 13 = 7 Pravidla: Násobení a dělení má přednost před sčítáním a odčítáním div 5 * 3 = 22 (násobení a dělení pak zleva doprava)
Proměnné Všechna používána data se musí někam uložit, aby mohla být později zpracována Místo k uložení dat – příkaz var uvádí se mezi uses a begin v příkazu var uvádíme, jaký typ dat chceme vkládat Př.: var NázevProměnné : TypProměnné; var n:integer;
Proměnné Typ proměnné MinimumMaximum celočíselnáIntegercca – cca reálnáReal znakchar#0 (dolní znak ASCII) horní znak ASCII stringřetězec´´ prázdný řetězec 255 různých znaků
Proměnné nejjednodušším příkazem pro práci s proměnnými je takzvané přiřazení to má tvar NázevProměnné := Výraz; Př.: A:= poté bude mít A=28 max:=0 – proměnná max bude rovna 0 původní hodnota proměnné se nenávratně ztratí
Proměnné chceme-li načíst hodnotu z klávesnice, přiřazení nestačí slouží k tomu již známý příkaz Readln; ve formě Readln(NázevProměnné); - zastaví běh programu a čeká, až něco zadáte z klávesnice Př.: Readln(A,B);
Proměnné Příklad: Program Secti; Uses Crtp2; Var A,B,Vysledek : Integer; Begin ClrScr; Writeln('Zadejte dvě celá čísla'); Readln(A,B); Vysledek:=A+B; Writeln(A,' + ',B,' = ', Vysledek); Readln; End. program sečte dvě celá čísla zadaná uživatelem vypočteme výsledek vypíše – co jsme vypočítali nesmí chybět – chceme něco vidět zobrazeno nemáte-li Crtp2, můžete vynechat je možné zadat i více proměnných najednou není nutné načteme čísla –zase najednou
program Vypocet_objemu_koule; uses crt; var objem, povrch, polomer :real; begin clrscr; writeln('Tento program vypocte objem a povrch koule ze zadaneho polomeru.'); write('Vloz polomer koule: '); readln(polomer); objem := (4/3) * pi * (polomer * polomer * polomer); povrch := 4 * pi * (polomer * polomer); writeln('Objem koule je: ',objem:8:2,'.'); writeln('Povrch koule je: ',povrch:8:2,'.'); writeln; writeln('Stiskni ENTER...'); readln; end.
program Vypocet_vody_v_litrech; uses crt; var vyska, polomer, objem : real; begin clrscr; writeln('Tento program vypočte objem vody v nádobě z vloženého poloměru a výšky nádoby.'); write('Vlož poloměr nádoby v centimetrech: '); readln(polomer); write('Vlož výšku nádoby v centimetrech: '); readln(vyska); objem := ((pi * vyska) * (polomer * polomer))/1000; writeln('Do nádoby se vejde: ',objem:8:2,' litru vody.'); writeln; writeln('Stiskni ENTER...'); readln; end.
program Prevod_ms_na_kmh; uses crt; var a, b :real; begin clrscr; writeln('Tento program převádí m/s na km/h.'); write('Vlož hodnotu ms/s: '); readln(a); b := a * 3.6; writeln('Hodnota ',a:8:2,' m/s je rovna ',b:8:2,' km/h.'); writeln; writeln('Stiskni ENTER...'); readln; end.
program Vypocet_vykonane_prace_v_procentech; uses crt; var plan, vyrobeno, vykon :real; begin clrscr; writeln('Tento program v procentech určí poměr vykonané práce vůči planu.'); write('Vlož počet plánovaných výrobků: '); readln(plan); write('Vlož počet skutečně vyrobených výrobků: '); readln(vyrobeno); vykon := (vyrobeno * 100) / plan; writeln('Podnik splnil plán výroby na ',vykon:8:2,'%.'); writeln; writeln('Stiskni ENTER...'); readln; end.
program Vypocet_delky_prepony; uses crt; var preponaa, preponab, odvesna: real; begin clrscr; writeln('Tento program vypočte délku přepony pravoúhlého trojúhelníka z jeho odvěsen.'); write('Vlož délku první přepony: '); readln(preponaa); write('Vlož délku druhé přepony: '); readln(preponab); odvesna := sqrt(preponaa * preponaa + preponab * preponab); writeln('Odvěsna má délku: ',odvesna:8:2,'.'); writeln; writeln('Stiskni ENTER...'); readln; end.
Konstanty konstanta – definujeme pokud obsah nějaké proměnné zůstává vždy stejný const NázevKonstanty = Hodnota takto se nejčastěji definují proměnné, které se nemění během programu a které chce měnit pouze programátor samotné const se nejčastěji píše ještě před var a jiné definice
Řízení programu samotné řízení programu lze rozdělit na dvě části- rozhodování a cykly a) ROZHODOVÁNÍ - vytvoříme jednoduchou podmínku - k tomu slouží znaky (a dvojznaky) >,, =. (Větší, menší, rovná se, větší nebo rovno, menší nebo rovno, nerovná se)
Řízení programu nejčastěji se pomocí podmínek testují proměnné Např.: podmínka tedy vypadá třeba takto A = 5 podmínka může být buď nastat (A je skutečně pět) nebo nenastat (A je cokoliv jiného) v případě že je podmínka splněna, říkáme že je pravdivá (true), jinak je nepravdivá(fals)
Řízení programu podmínky složené vznikají z jednoduchých pomocí logických spojek: and = a současně, or = nebo ABA and BA or B fals truefalstrue fals true
Řízení programu Pascal a rozhodování –podmínka: if Podmínka then Příkaz; - v případě, že je splněna podmínka, provede se příkaz př.:if (5+2)=7 then Writeln('Umím počítat'); - text se napíše if (A=0) or (A<>0) then writeln('A tohle napíši vždy'); !složené podmínky vždy závorkujte!
Řízení programu občas potřebujeme rozhodnout, zda je podmínka splněna (a něco provést), či není (a v tom případě udělat něco jiného) pak použijeme if Podmínka then Příkaz1 else Příkaz2; (za Příkaz1 nesmíme psát středník) Příkaz1 se provede, je-li podmínka splněna; Příkaz2 se provede, pokud podmínka splněna není