Eratosthenovo síto

Na cvičení jsme se zabývali implementací známého algoritmu na hledání prvočísel. Zdrojový kód byl podrobně rozebrán. Nebyla v něm ovšem chyba, která je tady. Můžete si ji z cvičných důvodů zkusit najít například pomocí ladících prostředků představených níže.

Umíte program pozměnit tak, aby jste vypsali pouze prvočísla obsahující cifru 8?

Pět věcí k Pascalu

Na ukázkových zdrojových kódech bylo předvedeno několik pravd souvisejících s programováním v Pascalu. Pokud byl výklad příliš zmatený, zkuste experimentovat.

  • 1. Je možné definovat uživatelské typy - definice se uvozuje klíčovým slovem type. Nadefinované typy lze poté v programu používat stejným způsobem jako typy základní (např. integer, real, char,..).
  • 2. Program je vždy vykonáván postupně po řádcích zeshora dolů. Toto jednoduché pravidlo ovlivňují pouze klíčová slova řídící běh programu (for,while,repeat,if,case) a případné procedury nebo funkce, které lze chápat jako pojmenované kusy kódu popsané zvlášť.
  • 3. Existují globální proměnné (jsou "vidět" všude) a lokální proměnné (jsou "vidět" jen tam kde byly definovány). Globální proměnné se definují v sekci var na začátku programu. Ty lokální se definují v sekci var na začátku procedury nebo funkce. Parametry procedur/funkcí je možné chápat jako lokální proměnné procedur/funkcí.
  • 4. Parametry lze do funkcí/procedur předávat hodnotou, nebo odkazem. Rozdíl je v tom, že při předávání hodnotou nemá provedení procedury/funkce vliv na obsah proměnné. Proměnná předávaná odkazem se uvozuje klíčovým slovem var. Přesvědčte se na vlastní oči.
  • 5. Programy můžou obsahovat chyby. K jejich nalezení můžeme použít breakpointy a watche. Na cvičení jsme si ukázali jak se breakpointy a watche vytvoří a jak se trasuje program.

Domácí úkol

V CodExu byly zadány 3 jednoduché úlohy: Dobrá čísla, Goldbachova kratochvíle, Josefův problém. Každá z nich je za 6 bodů.