Detail předmětu

Programování a užití počítačů 2

FEKT-SPP2Ak. rok: 2005/2006

Algoritmy a řešení problémů - strategie řešení problémů, strukturovaná dekompozice, pojem a vlastnosti algoritmu.
Základní programovací konstrukce v Pascalu - syntaxe a sémantika, proměnné, typy, přiřazení, řídicí struktury, procedury a funkce, předávání parametrů, vstupy/výstupy, zpracování výjimečných stavů.
Základní datové struktury - primitivní datové typy, strukturované datové typy - pole, záznam, množina, soubor, znakové řetězce. Dynamické datové struktury - typ ukazatel. Strategie pro volbu vhodné datové struktury.
Rekurze - pojem rekurze. Globální a lokální proměnné. Jednoduché rekurzivní procedury. Modulární návrh a abstrakce.

Jazyk výuky

čeština

Počet kreditů

5

Garant předmětu

Zajišťuje ústav

Výsledky učení předmětu

Získání základních programovacích návyků a dovednosti algoritmizaci. Pochopení základních vlastností a struktur jazyka Pascal a získání schopnosti je využít.

Prerekvizity

Jedná se o předmět nestrukturovaného dobíhajícího studijního programu

Učební cíle

Naučit studenty základním programovacím návykům a algoritmizaci. Vysvětlit základní vlastnosti a struktury jazyka Pascal a jejich využití.

Základní literatura

Jinoch, Muller, Vogel: Programování v jazyku Pascal, SNTL.
Wirth: The Programming Language Pascal, Acta Informatica

Zařazení předmětu ve studijních plánech

  • Program EI-B3 bakalářský

    obor B3-EST , 1. ročník, letní semestr, povinný
    obor B3-EVM , 1. ročník, letní semestr, povinný
    obor B3-KAM , 1. ročník, letní semestr, povinný
    obor B3-SEE , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-EST , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-EST , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-EVM , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-EVM , 1. ročník, letní semestr, povinný
    obor M5-KAM , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-KAM , 1. ročník, letní semestr, povinný
    obor M5-SEE , 1. ročník, letní semestr, povinný

  • Program EI-M5 magisterský

    obor M5-SEE , 1. ročník, letní semestr, povinný

Typ (způsob) výuky

 

Přednáška

39 hod., povinná

Vyučující / Lektor

Osnova

Strukturované programování, progr. jazyk Pascal, syntaxe jazyka, program, blok. Datový typ - vlastnosti a klasifikace.
Jednoduché datové typy - vlastnosti ordinálního typu, typ real. Klasifikace příkazů. Příkazy jednoduché a strukturované.
Strukturovaný datový typ pole a řetězec. Standardní procedury read a write, textový soubor, soubor input a output.
Procedury bez parametrů a s parametrem. Parametry volané hodnotou a odkazem, předávání parametrů.
Funkce a bloková struktura programu, globální a lokální proměnné. Rekurzivní procedury a funkce, procedurální a funkcionální parametry.
Strukturovaný datový typ MNOŽINA. Úlohy zaměřené na práci s textem. Datový typ ZÁZNAM - pevná i variantní část. Příkaz WITH.
Dat. typ SOUBOR - procedury pro čtení a zápis. Soubory typu text, spec. input a output.
Typové a netypové soubory, procedury pro přímý přístup k souborům. Dynamické dat. typy, typ ukazatel.
Lineární dynamické dat. struktury: seznam, zásobník a fronta. Podprogramy pro elementární operace s těmito strukturami.
Modulární výstavba programů v TP. Konstrukce knihoven (sekce interface a implementation), tvorba uživatelských modulů, kolize identifikátorů.
Standardní jednotka (unit) CRT nejpoužívanější proc. a funkce.
Stand. jednotka GRAPH nejpoužívanější proc. a funkce. Přenos obrazu.
Stand. jedn. PRINTER, DOS a SYSTEM (jen některé užitečné podprogramy). Volání procedury EXEC, kompilace dávkou.

Cvičení na počítači

26 hod., povinná

Vyučující / Lektor

Osnova

Algoritmy bez použití datového typu pole (včetně vývoj. diagramů). Příklady: Početní operace s čísly se zřetelem na formát dat na vstupu (s koncovým znakem, příp. EOF).
Výpočet hodnot některých funkcí [sin(x), cos(x), exp(x)] rozvojem v řadu, výpočet kořene rovnice f(x)=0 metodou půlení intervalu.
Syntéza čísla celočíselného typu z jednotlivých cifer (převod řetězce znaků na číslo), tabelace funkce dvou proměnných.
Algoritmy s použitím pole - vektory: skalární součin, výpočet hodnot polynomu n-tého stupně pomocí Hornerova schematu, operace s vektory.
Dvojrozměrné pole - matice: Načítání a tisk matic, operace s maticemi, deklarace procedur pro tyto operace.
Úlohy s použitím dat. typu string, užití typu množina.
Datový typ záznam jako složka pole. Procedura řazení pole záznamů dle zvolené položky.
Soubory - čtení z textového souboru, konverze na soubor typový. Zadání zápočtové úlohy.
Práce s typovým souborem (zejm. file of record), procedury v TP pro přímý přístup k souboru, oprava zvolené položky ve větě.
Práce na zápočtové úloze.
Dynamická dat. struktura - typ ukazatel. Jednosměrně vázané seznamy - zařazování a rušení prvku seznamu, řazení v seznamu na základě přesměrování. Dyn. struktura zásobník a fronta.
Užití standardní jednotky CRT - generování kódu klávesy (znaku), tvorba jednoduchého menu, generování tónu.
Užití standardní jednotky GRAPH - grafy funkcí (sin(x), cos(x)), úschova obrazu do disk. souboru.