Algoritmizace a programování OKRIT 2024
Diagrama de temas
-
Cílem studijního předmětu je dosáhnout u studentů osvojení základních poznatků a dovedností z oblasti algoritmizace a programování včetně ovládnutí tvorby základních algoritmických konstrukcí, a to s použitím jazyka C.
Posláním předmětu je seznámení studentů s jazykem C, s jeho syntaxí, která se rozšířila i do novějších jazyků a se specifiky jazyka zejména v oblasti přístupu k datům, pochopení základních programových konstrukcí, filozofie datových typů a příslušných operátorů a dále rozvinutí praktických dovedností s důrazem na adekvátní využívání prostředků, resp. konstrukcí jazyka.
Vybrané základní informace:
Podmínky ukončení předmětu:
První podmínkou pro úspěšné zakončení předmětu je odevzdání úkolů, které budou zadávány a odevzdávány průběžně prostřednictvím VLE Moodle, přičemž je nutné dosáhnout celkového průměrného hodnocení úkolů alespoň 80 %. Neodevzdané úkoly se započítávají do průměru s hodnocením 0 %. Všechny úkoly bude možné na základě hodnocení přepracovat a odevzdat znovu (termín pro přepracovanou verzi bude adekvátně posunut).
Druhou podmínkou je úspěšné složení klasifikovaného zápočtu. Ten má praktickou podobu:
- vypracování úloh dle zadání, které bude realizováno prezenční formou v předem vypsaných termínech v SIS ve zkouškovém období. Závěrečném zadání, které studující obdrží bude obsahovat 4 - 6 jednodušších úloh a jeho úkolem bude naprogramovat funkční řešení ve stanoveném časovém limitu.
- Klasifikovaný zápočet: lze konat i v jiném - libovolném programovacím jazyce; student si však v takovém případě na termín musí přinést vlastní počítač (notebook) včetně případných vývojových nástrojů a zodpovídá za jejich funkčnost;
- Účast na výuce není povinná.
- Povinnost plnit a odevzdávat úkoly (zadávané v Moodle) se týká všech studentů, tedy i těch, kteří se rozhodnou výuku nenavštěvovat.
-
Informace ke kurzu
Pokyny k samostudiu:
- U některých lekcí najdete výklad (docx) a doprovodné řešené příklady.
- Po prostudování příslušné výkladové pasáže zkuste doprovodné příklady nejprve řešit sami. Pokud to nepůjde, podívejte se na řešení a následně opět zkuste příklad sami vyřešit. Je důležité, abyste programy psali. Pouhé pochopení řešení nestačí, i když se může zdát, že ano. To se týká zejm. začátečníků.
Pokyny pro distanční část:
Po každé prezenční části (budou celkem 3 prezenční setkání) následuje distanční část v rozsahu 4 hodiny (celkem tedy 3 distanční bloky). Činnost, kterou během těchto distančních částí budete vykonávat sestává zejm. ze studia materiálů v Moodle a plnění samostatné práce dle následující specifikace:
Distanční část 1:
dokument - Studijní text: 01
- blok příkazů, složený příkaz
- Vztahy mezi podmínkami (prostudujte a otestujte příklady pro různé vstupní hodnoty)
- Příklady k prostudování (prostudujte a otestujte příklady pro různé vstupní hodnoty)dokument - Studijní text: 02
- Další příklady a řetězení příkazů výstupu (prostudujte danou část, prostudujte a otestujte příklady v souboru 02while03.cpp (je v Moodle))dokument - Studijní text: 04
- Prostudujte všechny příklady v souboru a otestujte je pro různé vstupní hodnotydokumenty - Distanční část 1a - samostatná práce 02: cykly, Distanční část 1b - samostatná práce 02: cykly (V každém z dokumentů vypracujte alespoň jednu zadanou úlohu)
* odevzdejte vypracovaná řešení v Moodle (část: "Odevzdání - distanční část 1"), všechny soubory v jednom archivu ZIP
Distanční část 2:
dokument - Studijní text: 03 Operace a Operátory dil1
- Operace a operátory v podmínkách (prostudujte uvedenou část)
- Př. 001 (prostudujte příklad, vyzkoušejte jej pro různí vstupní hodnoty, splňte 2 zadání označená souslovím "Samostatná práce" pod příkladem)
* vypracovaná zadání odevzdejte v Moodle (část: "Odevzdání - distanční část 2.1"), všechny soubory v jednom archivu ZIPdokument - Studijní text: 04B Cyklus s podm. na konci a cyklus s daným počtem opakování (do - while, for)
- Cyklus s podmínkou na konci (do – while) (prostudujte uvedenou část; příklady prostudujte a vyzkoušejte pro různé vstupní hodnoty)dokument - Distanční část 2 - samostatná práce 04 (vypracujte alespoň jednu zadanou úlohu)
* odevzdejte vypracované řešení v Moodle (část: "Odevzdání - distanční část 2.2"), všechny soubory v jednom archivu ZIPDistanční část 3:
dokument - Studijní text 05 Úvod do pole
- Inicializace pole (prostudujte tuto krátkou pasáž)dokumenty - Distanční část 3a, - samostatná práce 05: pole, Distanční část 3b, - samostatná práce 05: mix (V každém z dokumentů vypracujte alespoň jednu zadanou úlohu)
* odevzdejte vypracovaná řešení v Moodle (část: "Odevzdání - distanční část 3"), všechny soubory v jednom archivu ZIPZpětná vazba:
- Pokud naleznete nějakou chybu nebo nejasnost v materiálech, vložte do nich komentář a pošlete mi materiál emailem.
Kontakt: jiri.stipek@pedf.cuni.cz
- pro domlouvání konzultací
- pro "e-mailové" konzultace
- pro zpětnou vazbu k materiálům
-
- pojem algoritmus
- vlastnosti algoritmu
- formy znázorňování algoritmu
- základní algoritmické konstrukce
- vývojový diagram
-
- hlavní funkce
- deklarace proměnné
- příkazy vstupu a výstupu
- příkaz přiřazení
- řetezení příkazu výstupu (cout)
-
Obsah lekce:
- úplná a neúplná podmínka
- relační operátory
- vnořování podmínek
Studijní text obsahuje:
- základní pojmy
- přehled relačních operátorů
- vysvětlení podmíněných příkazů (if, if - else)
- seznámení se složeným příkazem a blokem příkazů
- vnořování podmíněných příkazů
- řešené příklady
-
Obsah lekce:
- cyklus s podmínkou na začátku (while)
Studijní text obsahuje:
- základní pojmy
- vysvětlení cyklu s podmínkou na začátku (while)
- řešené příklady
-
Obsah lekce:
- operátor / a operátor %
- cyklus s podmínkou na začátku (while) - tvary
Studijní text obsahuje:
- řešené příklady včetně rozboru
-
Obsah lekce:
- přehled vybraných operátorů
- příkazy break a continue
- vnořené cykly
Studijní text obsahuje:
- přehled operátorů
- vysvětlení vybraných operátorů
- terminologie: operátor, operace, operand; binární a unární oper.; prefixový, postfixový a infixový operátor
- operace přiřazení
- použití relačních operátorů v podmínkách a jejich vyhodnocování
- dva řešené příklady
-
Obsah lekce:
- cyklus s podmínkou na konci (do-while) - stručně (zbytek samostudium - viz studijní materiál)
- cyklus se známým počtem opakování (for)
Studijní text obsahuje:
- První část - cyklus s podmínkou na konci (do-while) je určena k samostudiu,
- Druhá část - cyklus s předem daným počtem opakování (for) bude probrána v hodině.
-
-
Dokument aplikace Word 2007
-
-
K samostudiu:
- kap. 7. Typová konverze
-
Nejprve prostudujte text Úvod do pole.
Pokuste se samosteně řešit drobné úkoly, které jsou v něm uvedeny.
Nejdůležitější programy z textu jsou též samostatně přiloženy níže.
Pro zájemce je zde animace a program Eratoshenovo síto, který hledá prvočísla. -
-
Vstupně výstupní funkce a knihovní funkce
- Funkce pro terminálový vstup a výstup (stdio.h)
- printf()
- scanf()
- getchar()
- putchar()
- Knihovní funkce (math.h)
K samostudiu:
- kap. 4. Terminálový vstup a výstup
-
- Funkce (definované progrmátorem)
- definice funkce
- hlavička funkce
- návratový typ
- příkaz return
- skutečné a formální parametry
- oblast platnosti proměnných
- pole jako parametr funkce
-
Základy práce se souborem
- otevření souboru (režimy otevření)
- čtení a zápis (textový a binární soubor) - vybrané funkce
- testování konce souboru
- zavření souboru


