270 likes | 420 Views
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
E N D
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 Pravidlapro 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 : ProgramNázevProgramu; Begin End. identifikátor Vyhrazená slova POZOR! Za prvním řádkem musí být středník a za posledním tečka.
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 *) ProgramKomentar; {Tento progam nám ukazuje, jak používat komentáře} Begin {Za tento komentář lze vložit skutečné příkazy} End. Základní pravidla a pojmy
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} BeginWrite('A'); Write('hoj'); Readln; {Abychom na obrazovce také něco zahlédli, že...} End.
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 ProgramPistala; {Jediné, co to umí je deset sekund pištět} UsesCrtp2; 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. První příkazy
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 16 + 11 div 5 * 3 = 22 (násobení a dělení pak zleva doprava) Proměnné
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ř.: varNázevProměnné: TypProměnné; var n:integer;
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:=13+15 - 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 není nutné je možné zadat i více proměnných najednou nemáte-li Crtp2, můžete vynechat načteme čísla –zase najednou vypočteme výsledek vypíše – co jsme vypočítali nesmí chybět – chceme něco vidět zobrazeno
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 • 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) nebonenastat (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
Ří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í