Programování v jazyku Pascal



Podobné dokumenty
Plán předmětu Název předmětu: Školní rok: Ročník: Semestr: Typ předmětu: Rozsah předmětu: Počet kreditů: Přednášející: Cvičící: Cíl předmětu

1. Programování, typy programovacích jazyků, historie.

Algoritmizace a programování

JAZYK C PRO MIKROKONTROLÉRY

BlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová

A. Struktura grafického kódu na dokladech o získání základního vzdělání

INTEGROVANÁ STŘEDNÍ ŠKOLA TECHNICKÁ BENEŠOV Černoleská 1997, Benešov. Tematický okruh. Ročník 1. Inessa Skleničková. Datum výroby 21.8.

Programování 4. hodina. RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015

Virtuální přístroje. Použití grafického programování v LabVIEW. Ing. Pavel Mlejnek

DUM 16 téma: Dávkové soubory

Každý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF.

SIS INSTALAČNÍ PŘÍRUČKA (SITE INFORMATION SYSTEM) Datum vytvoření: Datum aktualizace: Verze: v 1.3 Reference:

Popis a funkce klávesnice Gama originální anglický manuál je nedílnou součástí tohoto českého překladu

Obsah. Úvod 13 Komu je kniha určena 13 Konvence použité v knize 14 Zpětná vazba od čtenářů 14 Errata 15

Poznámky k verzi Remote Support Platform 3.0

Realizační tým Zhotovitele. Oprávněné osoby. Seznam subdodavatelů. Tabulka pro zpracování nabídkové ceny. Zadávací dokumentace

Systém zvukové signalizace a spouštění motoru na základě stavu světla

Geodézie a kartografie 3 roky

Principy překladačů. Architektury procesorů. Jakub Yaghob

František Hudek. březen ročník

Druhé vydání Příkaz switch Zatoulané else... 20

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Novinky v Maple T.A. 10

Abstrakt. Následující text obsahuje detailní popis algoritmu Minimax, který se používá při realizaci rozhodování

Windows 10 (6. třída)

Obsah Úvodem 11 Začít se dá i s málem 11 Abychom si rozuměli 12

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro sedmý až osmý ročník

Mapa nabídek Nástroje

Rámcová osnova modulu

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010

Výukový materiál zpracován v rámci projektu EU peníze školám

Lokální a globální extrémy funkcí jedné reálné proměnné

Návod pro Windows XP

Vítejte na dnešním semináři. Lektor: Ing. Ludmila Brestičová

Harmonogram kombinovaného studia PEF na akademický rok 2012/2013

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Escort Servis Night Prague

František Hudek. květen ročník

Implementační rozdíly ve vývoji IS při použití bezschémové a relační databáze

Srovnání posledních dvou verzí studijních plánů pro studijní obor. Informační systémy. (studijní program Aplikovaná informatika)

ŘÍZENÍ FYZIKÁLNÍHO PROCESU POČÍTAČEM

Matematika - Tercie Matematika tercie Výchovné a vzdělávací strategie Učivo ŠVP výstupy

Čítače e a časovače. v MCU. Čítače a časovače MCU. Obsah

ZKUŠEBNÍ PŘEDMĚTY SPOLEČNÉ ČÁSTI MATURITNÍCH ZKOUŠEK

Integrovaná střední škola, Sokolnice 496

Česká republika Česká školní inspekce. Olomoucký inspektorát - oblastní pracoviště INSPEKČNÍ ZPRÁVA. Základní škola a gymnázium města Konice

Příloha č. 2-1: Technická specifikace - část 1 (Dodávka vybavení učebny předtiskové přípravy)

Programování v jazyce C. Proces celkového sestavení programu ze zdrojového kódu, vývojové nástroje Linuxu

ELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT 2-3

Windows 8 - základy práce. Obsah: Úvodní obrazovka. Poslední aktualizace článku: 03/04/2015

Podpora personálních procesů v HR Vema

Pohyb v listu. Řady a posloupnosti

Parkovací automat. Identifikace systému. Popis objektu

29.z-9.plo ZS 2015/2016

A7B39PDA Deliverable D3 ČVUT FEL, 2014/2015 Daniil Barabash, Adam Samec, Tatiana Okonechnikova. Principy tvorby mobilních aplikací (A7B39PDA)

PROGRAMOVÁNÍ SVĚTELNÝCH OZDOB

Ústav technologie, mechanizace a řízení staveb. CW01 - Teorie měření a regulace ZS 2010/2011. reg Ing. Václav Rada, CSc.

Vzdělávací oblast: Matematika a její aplikace. Obor vzdělávací oblasti: Seminář z matematiky. Ročník: 7. Poznámky

Dualita v úlohách LP Ekonomická interpretace duální úlohy. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Operační systém teoreticky

CERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014

Google AdWords - návod

Mobilní aplikace pro ios

Výsledky I. fáze Posouzení shody webu podrobný rozpis. Název. Splňuje. Důvod a způsob založení. Splňuje. Organizační struktura

SAS. pro Windows XP / Vista / 7/ 8 /10. Uplatnění absolventů

Principy počítačů a operačních systémů

Sada 2 - MS Office, Excel

ISÚI Informační systém územní identifikace Proč? Co? Kde? Kdo? Jak? Kdy?

Programování II 1. přednáška. Alena Buchalcevová

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Tvorba WWW stránek Podmínky. Jan Růžička Institut geoinformatiky VŠB-TU Ostrava, HGF tř. 17.listopadu Ostrava-Poruba

AUTORKA Barbora Sýkorová

Programování Delphi 7 Object Pascal

TECHNICKÁ UNIVERZITA V LIBERCI

KIV/ZI Základy informatiky. MS Excel maticové funkce a souhrny

Syntaxí řízený překlad

Klientský formát POHLEDÁVKY platný od

Vedoucí bakalářské práce

SWI120 ZS 2010/ hookey.com/digital/

Ministerstvo pro místní rozvoj. podprogram

02. Koncepce OS Procesy, vlákna. ZOS, L. Pešička

MS WORD 2007 Styly a automatické vytvoření obsahu

Tvorba trendové funkce a extrapolace pro roční časové řady

Nerovnice s absolutní hodnotou

Pravidla pro publicitu v rámci Operačního programu Doprava

Programy pro tvorbu GIF animace

Paradigmata kinematického řízení a ovládání otevřených kinematických řetězců.

Dopady zavedení registru práv a povinností na orgány veřejné moci

Důležité zásady pro vytváření korektních souborů pro import do databáze IWAM

Sekvenční logické obvody

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

DS SolidWorks PDM Workgroup

Nářadí pro řemeslo 15 Jak je tato kniha uspořádána 16 Vzorová aplikace 17 Kontakt na autora 18. Plánování projektu 19

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE. Fakulta elektrotechnická POČÍTAČE PRO ŘÍZENÍ. Doc. Ing. Jiří Bayer, CSc Ing. Pavel Píša Ing.

Sada 2 Microsoft Word 2007

Vítězslav Bártl. březen 2013

Poznámky k verzi. Scania Diagnos & Programmer 3, verze 2.27

Postup pro generování asymetrického klíčového páru pro testovací prostředí Základních registrů

Doporučené nastavení prohlížeče MS Internet Explorer 7 a vyšší pro ČSOB InternetBanking 24 a ČSOB BusinessBanking 24 s využitím čipové karty

PLÁNOVÁNÍ, ZÍSKÁVÁNÍ A VÝBĚR

Transkript:

Jihočeská univerzita v Českých Budějovicích Pedagogická fakulta, katedra informatiky Programování v jazyku Pascal Tematický plán pro školní rok 2004/2005 Přednáší RNDr. Eduard Polách Dvousemestrální kurs Programování v jazyku Pascal je formálně dělen na dva vyučovací předměty, jejichž názvy jsou navzájem rozlišeny římskými čísly I a II. Ve školním roce 2004/2005 je vypsán pro následující bakalářské studijní obory (viz tabulka níže). Probíhá formou přenášek a cvičení v zimním (I) a letním (II) semestru školního roku při časové dotaci 2 + 2 vyučovací hodiny týdně. Studijní obor Druh studia Název předmětu Zkratka Status Finanční matematika Měřicí a výpočetní technika prezenční kombinované prezenční kombinované Programování v jazyku Pascal I PGP1 povinný Programování v jazyku Pascal II PGP2 výběrový Programování v jazyku Pascal I PGPK1 povinný Programování v jazyku Pascal II PGP2 výběrový Programování I PGP1 povinný Programování II PGP2 povinný Programování I PRGD1 povinný Programování II PRGD2 povinný VÝCHODISKA A CÍLE Vzhledem k tomu, že na středních školách nepatří výuka programování obecně mezi předměty povinné, nejsou u posluchačů předpokládány žádné speciální vstupní znalosti, jen základní zkušenosti s prací na počítačích třídy PC. Obsahem předmětu je výuka strukturovaného programování na bázi jazyka Pascal, v implementaci Borland Pascal (Borland Pascal Version 7.0). Tento jazyk byl zvolen proto, že umožňuje tvorbu programů efektivních a přitom snadno modifikovatelných a maximálně srozumitelných. Zásady strukturovaného programování a z nich odvozené datové a příkazové struktury jsou ovšem základem i dalších programovacích jazyků. Tematický plán předmětu Programování v jazyku Pascal 1

Požadované cílové znalosti a dovednosti absolventa tohoto předmětu jsou charakterizovány následujícím výčtem. Absolvent musí dokázat: provést počáteční rozbor úlohy, přesně specifikovat požadované vstupy, omezující předpoklady a výstupy programu, vhodně zvolit vnější a vnitřní reprezentaci dat; formulovat algoritmus činnosti programu, tj. výpočtu dat výstupních z dat vstupních, s využitím metody postupného rozkladu komplexních (složitých) problémů shora dolů na několik problémů speciálních (jednodušších); navrhnout vhodné příkazové struktury pro realizaci algoritmu; podle navrženého algoritmu napsat zdrojový text programu v jazyku Pascal; přeložit, odladit a otestovat program opravit syntaktické i sémantické chyby a ošetřit činnost programu vůči možným variantám vstupních dat; opatřit program základní dokumentací v dostatečné míře okomentovat zdrojový text a vytvořit uživatelsky zaměřený popis programu. Požadované schopnosti student nemůže získat pouhou účastí na přednáškách a cvičeních. Bezpodmínečně nutné je studium alespoň základní literatury a především praktické procvičování teoretických vědomostí na počítači. TÉMATA PŘEDNÁŠEK A CVIČENÍ V ZIMNÍM SEMESTRU (I) 1. Obecné pojmy: program, programovací jazyk, zdrojový a cílový soubor. Mechanismus překladu, interpretace a kompilace. Charakteristika jazyka Pascal. Struktura zdrojového textu programu. Rozložení programu v operační paměti, datový a kódový segment, omezení. Datové objekty konstanty a proměnné, jejich typ, deklarace a přiřazení hodnoty. Standardní vstup a výstup dat. Cvičení: Vstupní informace o práci na počítačových učebnách. Procedura přihlášení, správa účtu, základní operace se soubory a složkami. Základy ovládání integrovaného vývojového prostředí Borland Pascal 7.0: operace se soubory (založení, uložení, otevření, uložení pod novým jménem, zavření, přepínání mezi okny); editování textu v okně. 2. Lexikální elementy: speciální symboly, rezervovaná slova, identifikátory, návěští, číselné a řetězcové literály. Oddělovače lexikálních elementů, komentáře. Deklarace konstant a proměnných, konstantní výrazy, proměnné s předdefinovanou hodnotou neboli typové konstanty. Typy celočíselné, reálné, typ znakový a typ logických hodnot. Cvičení: Ovládání integrovaného prostředí: zápis zdrojového textu jednoduchého programu, překlad a odstranění syntaktických chyb, spuštění programu a ukázka běhové chyby, použití nápovědy. Cvičné programy: načtení znaku a čísla ze vstupu do proměnné, oddělování čísel Tematický plán předmětu Programování v jazyku Pascal 2

na vstupu, výpis hodnoty řetězcového a číselného literálu, proměnné a výrazu. Demonstrace chování proměnné s nedefinovanou hodnotou. 3. Ordinální typy, jejich společné vlastnosti a prostředky. Jednoduché typy, uspořádání. Výrazy, priorita operátorů, typ (hodnoty) výrazu, přetečení. Problémy kompatibility a konverze hodnot mezi celočíselnými typy a mezi celočíselnými a reálnými typy. Výstup dat na obrazovku a jeho formátování. Vstup dat z klávesnice, stavové funkce. Příkazy jazyka Pascal, jejich klasifikace na jednoduché a strukturované. Jednoduché příkazy: prázdný příkaz, přiřazení, volání procedury, skok. Cvičení: Formátování výstupu. Demonstrace přetečení u ordinálních typů při zapnuté a vypnuté kontrole rozsahu. Ukázka nekonečného cyklu a přerušení běhu programu při vstupu dat a mimo něj. Krokování běhu programu a jeho ukončení. 4. Strukturované příkazy. Sekvence: složený příkaz, uplatnění v příkazových strukturách. Větvení: úplný a neúplný podmíněný příkaz (if), příkaz vícenásobného větvení (case). Vliv alternativ vyhodnocování logických výrazů na průběh vyhodnocení podmínky. Cykly: s podmínkou na začátku (while), s podmínkou na konci (repeat) a s pevným počtem průchodů (for). Mechanismus nastavení mezí a aktualizace hodnoty řídící proměnné cyklu for, její využití v těle cyklu. Cvičení: Větvení, prázdný a složený příkaz ve větvi, důsledek nadbytečného středníku před větví else. Cykly. Sledování a úprava hodnoty proměnné a výrazu v průběhu krokování programu, využívání bodů přerušení. 5. Podprogramy. Účel, souvislost s rozkladem úlohy na části, vliv na rychlost výpočtu a na paměťovou náročnost programu. Deklarace a volání procedury, model blízkého (near) a vzdáleného (far) volání podprogramu v jeho deklaraci. Komunikace prostřednictvím globálních proměnných resp. parametrů, bezpečnost a variabilita. Seznam formálních a skutečných parametrů, volání hodnotou resp. odkazem, kompatibilita. Cvičení: Procedury bez parametrů a s parametry, model volání vstupních a výstupních parametrů procedur. Krokování procedur. 6. Funkce. Účel a použití, typ výsledku, omezení. Deklarace a volání funkce, formální zápis předání výsledku a jeho mechanismus. Bloková struktura programu, hierarchie bloků. Globální, lokální a nelokální identifikátory, rozsah platnosti, stínění. Vytvoření lokálních proměnných na zásobníku při aktivaci a jejich odstranění při deaktivaci bloku. Lokální typové konstanty, umístění v operační paměti, mechanismus inicializace a důsledky. Cvičení: Jednoduché programy s procedurami a funkcemi, volání funkcí ve výrazech. Vyvážení vedlejších výsledků výpočtu funkce přes parametry. 7. Rekurzivní podprogramy. Rekurze přímá a vzájemná, dopředná a dodatečná deklarace podprogramu, direktiva forward. Mechanismus obnovy lokálních proměnných. Srovnání rekurzivních a iteračních algoritmů podle rozsahu zdrojového textu a kódu, rychlosti výpočtu, paměťových nároků, srozumitelnosti a přehlednosti. Tematický plán předmětu Programování v jazyku Pascal 3

Cvičení: Jednoduché příklady rekurzivních funkcí s lineárně a nelineárně rostoucím počtem volání. Úloha o hanojských věžích jako příklad vhodného použití rekurze. 8. Uživatelské typy. Implementované třídy typů, klasifikace. Popis a identifikátor typu. Typy pojmenované a nepojmenované, synonyma, vlivy na kompatibilitu. Výčtové typy a intervaly. Vlastnosti intervalů, vliv přetečení na výsledek výpočtu. Cvičení: Realizace vstupně-výstupních konverzí pro výčtové typy, využití ordinálních čísel, ukázka konverze přetypováním. Využití společných prostředků ordinálních typů pro proměnné a hodnoty výčtových typů. Sledování hodnot výčtových typů během krokování programu. Demonstrace rovnocennosti intervalů a jejich hostitelských typů pro deklarace skalárních proměnných při vypnuté kontrole rozsahu. 9. Typy množina. Popis množinového typu, požadované vlastnosti bázového typu množiny. Konstruktor množiny, prázdná množina, využití intervalů. Vnitřní tvar množinových hodnot, deklarovaný a skutečný rozsah hodnot bázového typu množiny. Množinové operace a relační operace s množinami. Cvičení: Využití testu na přítomnost prvku v množině místo složené podmínky (například kontrola přípustnosti vstupních dat). Využití množiny ke střádání hodnot bázového typu (generování seznamu znaků vstupního textu). 10. Typy pole. Popis pole, požadavky na typ indexu, počet prvků, využití intervalů. Použitá a deklarovaná délka pole, paměťové nároky. Přístup k prvkům. Vícerozměrná pole, varianty jejich popisu a zápisu přístupu k prvkům. Konstantní pole. Řetězcové typy. Vlastnosti, použití, operace, standardní podprogramy. Deklarovaná a aktuální délka, vnitřní struktura a přístup ke znakům řetězce. Konstantní řetězce. Kompatibilita a typová kontrola řetězců. Cvičení: Využití pole k uchování seznamu prvků stejného typu v definovaném pořadí, nalezení minima a maxima, vzestupné či sestupné uspořádání prvků pole. Sledování hodnot polí, řetězců a jejich prvků během krokování programu. 11. Typy záznam. Možnost a potřeba soustředění komponent různých typů do společného datového objektu. Prostý přístup ke zvolené položce záznamu aplikací kvalifikátoru a hromadný přístup k položkám příkazem with, problematika stínění identifikátorů. Variantní záznamy. Paměťová úspora, možnost interpretace téhož úseku paměti různými způsoby v jednotlivých variantách. Konstantní záznamy. Cvičení: Práce s poli záznamů (kartotékami) vyhledávání prvků podle zvoleného kritéria, uspořádání pole podle hodnot zvolené položky záznamů. Sledování hodnot záznamů a jejich položek během krokování programu. 12. Typy soubor. Komunikace programu s okolím vstup a výstup dat. Abstrakce souboru v Pascalu, klasifikace souborů podle vnitřní organizace na textové a binární, binárních souborů podle typu komponent na typové a netypové. Popis typu soubor, deklarace ovládací proměnné souboru. Připojení souboru k ovládací proměnné, jeho otevření, zpracování komponent a uzavření. Pořadí operací při zpracování souboru, použití jediné proměnné pro postupné ovládání několika souborů. Tematický plán předmětu Programování v jazyku Pascal 4

Cvičení: Pokračování v práci s poli záznamů. 13. Textové soubory. Organizace a struktura, sekvenční přístup, režimy otevření. Procedury čtení a zápisu, chybové události, testování stavů konec souboru a konec řádky souboru. Textová zařízení, problematika interaktivního vstupu textu z klávesnice. Předdeklarované proměnné Input a Output, mechanismus automatické obsluhy standardního vstupu a výstupu. Cvičení: Vstupně-výstupní operace s textovými soubory, demonstrace přesměrování standardního vstupu a výstupu operačního systému. 14. Binární soubory. Struktura, index-sekvenční přístup ke komponentám, test a nastavení pozice. Módy otevření. Manipulace s bloky dat u netypových souborů. Ošetření chybových stavů vstupně-výstupních operací pomocí funkce IOResult. Cvičení: Předvedení seminárních prací, udělení zápočtů, informace o zkoušce. TÉMATA PŘEDNÁŠEK A CVIČENÍ V LETNÍM SEMESTRU (II) 15. Typy ukazatel. Typové a netypové (univerzální) ukazatele. Deklarace proměnné a definice hodnoty ukazatele. Segmentová a ofsetová část hodnoty, efektivní adresa, relační operace nad ukazateli. Založení, uvolnění a přístup k dynamické proměnné. Řízení heapu. Použití ukazatele k referenci statické proměnné. Cvičení: Obsluha binárních souborů, demonstrace vnější a vnitřní reprezentace dat. Uživatelské ošetření chybových stavů operací se soubory. 16. Lineární dynamické datové struktury. Jednosměrné spojové seznamy typu zásobník a fronta, uspořádaný seznam. Operace nad spojovými seznamy inicializace seznamu, vložení, odebrání, zařazení a vyhledání prvku. Použití nárazníku. Obousměrné seznamy. Cvičení: Použití zásobníku, fronty a uspořádaného seznamu v konkrétních úlohách. Sledování hodnot ukazatelů a dynamických proměnných při krokování programu. 17. Nelineární dynamické datové struktury. Binární stromy. Rekurzivní metody průchodu binárním stromem preorder, inorder resp. postorder. Řazení pomocí stromu, vyvážený strom, vyhledávací strom. Cvičení: Vytvoření vyhledávacího stromu a jeho použití při vyhledávání. Průběžné vytváření uspořádaného stromu. Postupné uvolnění uzlů stromu. 18. Přetypování proměnné a výrazu. Přístup k proměnné referované netypovým ukazatelem. Netypové parametry podprogramů. Typy procedura. Popis procedurálního typu, význam formálních parametrů v deklaraci. Přiřazení hodnoty procedurální proměnné, volání podprogramu prostřednictvím procedurální proměnné. Aplikace adresních funkcí Addr, Seg a Ofs a adresního operátoru @ na procedurální proměnné. Procedurální parametry podprogramů. Tematický plán předmětu Programování v jazyku Pascal 5

Cvičení: Ukázka využití přetypování u netypových parametrů podprogramů (test rovnosti proměnných obecných typů dané velikosti). Ukázka využití procedurálních proměnných (pole procedur, volených pomocí indexu) a procedurálních parametrů (vytvoření tabulky hodnot funkce, zadané parametrem). Sledování hodnot procedurálních proměnných, využití přetypování pro sledování hodnot proměnných neznámého typu. 19. Přístup programu k datům v operační paměti. Datový a zásobníkový segment programu, halda. Globální a lokální statické (deklarované) proměnné a dynamické (zakládané) proměnné. Řízení velikosti zásobníku a haldy programu. Absolutní proměnné, klauzule absolute. Přístup k operační paměti a portům. Cvičení: Využití absolutní proměnné pro přístup do videopaměti v textovém režimu videoadaptéru (animace pohybu znaku). Ukázka využití přístupu k portům (čekání na stisk a uvolnění klávesy Shift). 20. Modulární programování. Účel programových jednotek. Připojení jednotky k programu, klauzule uses. Struktura jednotky: hlavička, části interfejsová, implementační a inicializační. Veřejné a privátní deklarace, rozsah jejich platnosti. Cvičení: Vytvoření programové jednotky (implementace jednoduchých prostředků pro souřadnicově orientovaný výstup textu na displej a podporu barev) a její použití v demonstračním programu. 21. Klauzule uses v interfejsové a v implementační části jednotky. Přípustné a nepřípustné kruhové odkazy mezi jednotkami. Hierarchie modulů programu, redeklarace a stínění, kvalifikované identifikátory. Přímá a nepřímá závislost modulů, kompilace závislých modulů. Rozsah a rozložení kódu a dat modulů programu v operační paměti. Záměrná fragmentace kódu rozsáhlého programu využitím inicializačních částí jednotek. Cvičení: Implementace dalších podprogramů v jednotce z předchozího semináře. Překlad jednotky z okna programu využití příkazů Compile, Make a Build vývojového prostředí. Ukázka problémů při kompilaci závislých modulů, ukázka pořadí provedení inicializačních částí jednotek vzhledem k pořadí jejich uvedení v klauzuli uses programu a vzhledem k jejich závislosti. 22. Jednotka System. Prostředky pro ovládání diskových souborů, generátor náhodných čísel, parametry programu, vynucení předčasného ukončení výpočtu. Řízené ukončení běhu programu, implementace ukončovacích procedur. Jednotka Printer, ovládací proměnná tiskárny Lst. Analogie s proměnnými Input a Output jednotky System. Cvičení: Práce s parametry programu (např. přejmenování diskového souboru, jehož původní a nová specifikace jsou programu předány z příkazové řádky), zadávání parametrů během ladění a testování programu ve vývojovém prostředí. Ukázka korektní implementace ukončovacích procedur programu a jednotek. 23. Jednotka Dos. Ošetření chybových stavů. Ovládání systémových hodin. Zjišťování údajů o souborech a ostatních prvcích složek disku, vyhledávání prvků. Spouštění externích programů a volání přerušení. Tematický plán předmětu Programování v jazyku Pascal 6

Cvičení: Využití některých prostředků jednotky Dos (vytvoření programu pro výpis prvků zvolené složky obdoby systémového příkazu dir). Ukázka volání externího programu, systémového příkazu a dávkového souboru. Využití výstupního kódu. 24. Jednotka Crt. Vstup textu z klávesnice, proměnné CheckEof a CheckBreak, funkce ReadKey a KeyPressed. Textové režimy obrazovky, výstupní okna, ovládání barev, souřadnicově orientovaný výstup textu. Struktura videopaměti v textových režimech. Tónový generátor. Cvičení: Cyklus čekání na stisk libovolné klávesy nebo některé z kláves zvolených, čtení znaku bez odezvy na obrazovce, detekce stisku funkčních, kurzorových a jiných kláves s dvojnásobným kódem. Ovládání tónového generátoru (přehrávka posloupnosti tónů podle zápisu jejich parametrů v zadaném souboru). 25. Jednotka Graph. Ošetření chybových stavů. Instalace grafického ovladače, přepnutí obrazovky do grafického režimu. Výstupní okno, souřadná soustava okna, ořezávání, ovládání grafického kurzoru, barvy a palety. Cvičení: Demonstrace práce s barvami a paletami barev (např. vykreslení barevného obrázku a následná manipulace hodnot registrů palety). 26. Jednotka Graph. Elementární prvky grafického výstupu: úsečky, oblouky, vyplňované obrazce, grafický text. Styl čar, mód zápisu čar, výplňové vzory, styl textu. Cvičení: Kreslení obrázků, práce s grafickým textem. 27. Jednotka Graph. Operace s výřezy, stránky videopaměti, animace. Připojení ovladačů a písem ke kódu programu. Utilita binobj.exe. Cvičení: Animace pohybu obrázku na barevném pozadí pomocí procedur GetImage a PutImage v různých režimech zápisu do videopaměti. Demonstrace začlenění grafických ovladačů a písem do kódu programu. 28. Řízení překladu. Přepínačové, parametrické a podmínkové direktivy kompilátoru. Vlivy přepínačových direktiv na bezpečnost, časovou efektivitu a rozsah cílového kódu programu. Podmíněná kompilace. Cvičení: Předvedení seminárních prací, udělení zápočtů, informace o zkoušce. ZÁPOČET A ZKOUŠKA V obou semestrech musí posluchač získat zápočet a složit zkoušku. Předpokladem pro udělení zápočtu je předvedení seminární práce samostatně řešeného programu na individuálně zvolené téma, odpovídající úrovni znalostí v daném semestru. Zdrojový text musí být podrobně okomentován, není však třeba jej tisknout. Zkouška sestává organizačně z písemné a z ústní části. V písemné části posluchač vytvoří program, řešící zadanou úlohu (z oblasti zpracování textových souborů v prvém semestru resp. aplikace dynamických datových struktur v semestru druhém). V ústní části posluchač provede Tematický plán předmětu Programování v jazyku Pascal 7

rozbor řešené úlohy a odpoví na doplňující otázky. Požadovaná úroveň znalostí odpovídá rozsahu přednášky. STUDIJNÍ LITERATURA Polách, Eduard: Programování v jazyku Turbo Pascal. České Budějovice, PFJU, 1993. ISBN 80-7040-076-5. URL www.pf.jcu.cz/~edpo/program/program.html. Polách, Eduard: Řešené úlohy z Pascalu: Textové soubory. České Budějovice, PFJU, 1997. URL www.pf.jcu.cz/~edpo/pas1/pas1.html. Mikula, Pavel Juhová, Kateřina Soukenka, Jiří: Borland Pascal 7.0 kompendium. Praha, Grada, 1994. ISBN 80-7169-009-0. Tematický plán předmětu Programování v jazyku Pascal 8