Pátek 4. ledna
Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů. Naučí nás rozdělit složité informace na jednodušší a pochopit tak lépe podstatu problému. Algoritmus = přesný postup, který je potřeba k vykonání určité činnosti Vlastnosti: elementárnost – postup je složený z jednoduchých kroků, které jsou pro počítač srozumitelné konečnost – musí skončit v konečném počtu kroků jednoznačnost - každý krok algoritmu musí být jednoznačně a přesně definován rezultativnost - výpočet dává po konečném počtu prvků výsledek hromadnost - algoritmus je schopen zpracovávat jakákoliv vstupní data, která vyhovují zadaným podmínkám efektivnost – výpočet se uskutečňuje v co nejkratším čase a s využitím co nejmenšího množství prostředků
Vývojový diagram je grafické znázornění algoritmu. Vývojové diagramy se skládají z grafických značek. Značky jsou různé a různě se kombinují, tím se simulují různé situace a různé příkazy, do těchto značek se pak vypisují upřesňující údaje. Takto vypadají jednotlivé části vývojového diagramu.
Konec a začátek algoritmu Vstup nebo výstup Běžný příkaz Podmíněný výraz Cyklus s určeným počtem opakování Cyklus s podmínkou na konci
Cyklus s podmínkou na začátku
Podprogram Spojovací značka Spojovací čára
Programovací jazyk Pascal Pascal je zástupcem vyšších programovacích jazyků, na kterém se učí principy strukturovaného programování.
Struktura programu: 1. hlavička – obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury a funkce 2. tělo programu – sem se píší všechny příkazy, které určují, co má program dělat. Na začátku těla je uvedeno slovo begin a na konci end a za ním tečka Klíčová slova – pro programovací jazyk mají zásadní význam a nesmějí být použita jinak. Jsou to např. begin, var, and, if, …. Identifikátory – názvy všeho, co budeme v programu používat – názvy programu, podprogramu, proměnných a konstant. Mohou obsahovat pouze písmena anglické abecedy, číslice a podtržítka, číslice nesmí být na začátku. Název identifikátorů musí být v rámci celého programu jedinečný. Ukládání souboru -
soubory ukládáme s příponou .pas
-
název souboru nesmí být delší než 8 znaků, nesmí obsahovat českou diakritiku ani žádné speciální znaky
Nastavení adresáře pro ukládání souborů Z nabídky File vybereme možnost Change dir.
Pod položkou Drives vyhledáme složku, do které chceme ukládat a potvrdíme klávesou OK Dovnitř nadřazené položky se dostaneme poklepáním. Složka, do které budeme ukládat, musí být připravena předem. Název složky pro ukládání, ani název žádné nadřazené složky nesmí být delší než 8 znaků a nesmí obsahovat diakritiku
Překlad Cílem překladu zdrojového textu je: -
odstranění syntaktických chyb ze zdrojového kódu
-
vytvoření binárního kódu programu
Postup – nabídka Compile – volba Compile, klávesová zkratka Alt+F9
Spuštění programu Postup – nabídka Run – volba Run, klávesová zkratka Ctrl+F9
Příkazy vstupu a výstupu read, readln – pro zadávání nějaké informace zvenčí, např. z klávesnice read(A, B, C); readln(A, B, C) - počká až zadáte hodnotu proměnných a uloží je do proměnné, proměnná musí být deklarována v hlavičce read; - „prázdné čtení“ – pozastaví program, abychom si mohli např. přečíst výpis na obrazovce, pokračování klávesou Enter readkey ;– pozastaví program a čeká na stisknutí libovolné klávesy write, writeln – pomocí těchto příkazů vypíše program výsledek nebo zprávu write(A, B, C); writeln(A, B, C); - zobrazí hodnoty proměnných, tyto proměnné musí být deklarovány v hlavičce write(‘Hodnota A = ‘, A); – nejprve zobrazí text Hodnota A a za něj dosadí hodnotu proměnné A Clrscr – příkaz, který smaže obrazovku
Příklad
Pátek 11. ledna Sekvence – nejjednodušší typ algoritmu, kromě mezních značek se skládá pouze ze sekvenčních bloků. Během sekvence nesmí docházet k větvení algoritmu ani k cyklu. Je jedním ze základních stavebních kamenů algoritmu. Některé operace jsou nepovolené proto, neboť by musely být nejprve ošetřeny větvením (dělení, odmocnina), nebo jde o cyklus, což u sekvencí není možné
Matematické a logické operátory, přiřazovací příkaz Typ operace
Matematické
Logické
Srovnávací
Přiřazovací
Operace Součet Rozdíl Součin Podíl Celočíselné dělení Druhá mocnina Odmocnina Logický součet Logický součet Negace Je rovno Není rovno Je menší než Je větší než Je menší nebo rovno než Je větší nebo rovno než Přiřazeno
Operátor + * / DIV SQR SQRT OR AND NOT = <> < > <= >= :=
Příklad A+B A-B A*B A/B A DIV(B) SQR(A) SQRT(A) A OR B A AND B NOT A A=B A <> B A
B A<= B A >= B A := B
Význam A+B A-B A.B A/B A / B (zbytek zahodíme) A2 √ A B A B A=B A B AB A A Na levé straně je nová hodnota
Datové typy
Matematické operace
Znaky a textové řetězce se v Pascalu uzavírají do apostrofů: Př.
´Toto je textový řetězec´ ´ ´ tento řetězec obsahuje samé mezery ´´ toto je prázdný řetězec Formátování výstupů Není-li výstup formátován, zobrazují se -
celá čísla s takovým počtem míst, jak je potřeba
-
desetinná čísla v exponenciálním tvaru
exponenciální tvar čísla Vyjádření reálného kladného čísla ve tvaru součinu čísla mezi 1 a 10 a vhodné mocniny čísla 10. Je vhodné zejména pro velmi velká nebo velmi malá čísla. Například 5874000 = 5,874·106, 0,000028 = 2,8·10–5.
Formátování celých čísel Někdy je potřeba zarovnat několik čísel na výstupu pod sebe. Ve výstupní proceduře můžeme přikázat, kolik míst má číslo obsahovat (s tím, že pokud by měli být zleva nuly, zobrazí se místo nich mezery).
Formátování desetinných čísel Chcete-li desetinné číslo zobrazit v pevné desetinné čárce a navíc chcete předepsat, kolik míst má zabírat, naformátujte jej takto:
Matematické operace s desetinnými čísly V Pascalu píšeme desetinnou tečku, ne čárku
Pátek 18. ledna Komentáře Jde o poznámky programátora, které se zobrazují pouze ve zdrojovém kódu. Je dobré okomentovat všechny důležité programové struktury a všechny programátorské obraty, které nejsou na první pohled srozumitelné Existují dva typy komentářů -
delší – uzavírají se do složených závorek { }, může být dlouhý i několik řádků
-
kratší – je uveden dvěma lomítky //, nemá ukončovací znak, končí s koncem řádku
Pátek 8. února Větvení 1. Úplný příkaz větvení je-li ve větvích jediný příkaz
Zápis v programu: if podmínka then jediný příkaz else jediný příkaz;
Středník se píše jen na konci příkazu větvení
2. Úplný příkaz větvení je-li ve větvích více příkazů
Zápis v programu: if podmínka then begin první příkaz; poslední příkaz end else begin první příkaz;
Středníky sepíší za všemi příkazy, které jsou uzavřeny v logických závorkách begin – end; u posledního příkazu před end se středník psát nemusí Středník se také píše úplně na konci větvení (za posledním end) Nikde jinde se středník psát nesmí!
poslední příkaz end; 3. Neúplný příkaz větvení je-li ve větvích jediný příkaz
Zápis v programu: if podmínka then jediný příkaz;
4. Neúplný příkaz větvení je-li ve větvích více příkazů
Zápis v programu: if podmínka then begin první příkaz; poslední příkaz end; Absolutní hodnota
Rozhodnout, zda je číslo sudé nebo liché div – celočíselné dělení – a:= 10 div 3; a = 3, zbytku si nevšímáme mod - zbytek po celočíselném dělení – a:= 10 mod 3; a = 1
začátek
Čti: x
y:= x mod 2
-
+ x=0 Číslo x je sudé
Číslo x je liché
konec
Pátek 8. března Dělitelnost
Najděte největší ze tří čísel
Pátek 15. března
Př. Vytvořte jednoduchou kalkulačku
Pátek 22. března
Př. Sečtěte daný počet celých čísel
Pátek 5. dubna Př. Najděte nejmenší číslo z předem daného počtu čísel
Pátek 12. dubna Př. Najděte největší číslo z neznámého počtu čísel – po napsání 0 vypíše program největší ze zadávaných čísel