ALGORITMIZACE A PROGRAMOVÁNÍ



Podobné dokumenty
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Programovací jazyk Pascal

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Programy na PODMÍNĚNÝ příkaz IF a CASE

Sada 1 - Základy programování

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

PODPROGRAMY PROCEDURY A FUNKCE

VISUAL BASIC. Přehled témat

dovolují dělení velkých úloh na menší = dekompozice

Úvod do programování

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

II. Úlohy na vložené cykly a podprogramy

Lekce 01 Úvod do algoritmizace

Sada 1 - Základy programování

Algoritmizace prostorových úloh

VY_32_INOVACE_08_2_04_PR

PROJEKTOVÁNÍ A KOMUNIKACE

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

ALGORITMY A DATOVÉ STRUKTURY

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

MATEMATIKA B. Lineární algebra I. Cíl: Základním cílem tohoto tématického celku je objasnit některé pojmy lineární algebry a

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

MATEMATIKA A Metodický list č. 1

Úvod do programování. Lekce 1

POČÍTAČE A PROGRAMOVÁNÍ

NPRG030 Programování I, 2010/11

Tematická oblast: Programování 2 (VY_32_INOVACE_08_2_PR) Anotace: Využití ve výuce: Použité zdroje:

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Algoritmy a algoritmizace

Datové typy a struktury

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

NPRG030 Programování I, 2016/17 1 / :58:13

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

O datových typech a jejich kontrole

NPRG030 Programování I, 2015/16 1 / :25:32

NPRG030 Programování I, 2017/18 1 / :22:16

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

2 Datové typy v jazyce C

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

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Martin Hejtmánek hejtmmar

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Zápis programu v jazyce C#

Algoritmy a datové struktury 1

Programování v C++ 1, 1. cvičení

VISUAL BASIC. Práce se soubory

ANOTACE vytvořených/inovovaných materiálů

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

Paměť počítače. alg2 1

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

Algoritmizace prostorových úloh

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Sada 1 - PHP. 03. Proměnné, konstanty

Jednoduché cykly

Sada 1 - Základy programování

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

programátorský manuál

Závěrečná zkouška z informatiky 2011

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

2 Strukturované datové typy Pole Záznam Množina... 4

Základy algoritmizace a programování

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Jednoduché příkazy jazyka Pascal

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

MATEMATIKA B 2. Integrální počet 1

Sdílení dat mezi podprogramy

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Sada 1 - Základy programování

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Základy algoritmizace

Vstupní požadavky, doporučení a metodické pokyny

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk

Algoritmizace. Cíle předmětu

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

SYLABUS TVŮRCE SYSTÉMŮ MODULU. Michal Červinka, Ivo Špička

Projektč.3dopředmětuIZP. Maticové operace

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

DUM 06 téma: Tvorba makra pomocí VBA

1 Základy algoritmizace a programování. 1.1 Algoritmus Možnosti zápisu algoritmů. Základy algoritmizace a programování

Matematika - 6. ročník Vzdělávací obsah

Sbírka příkladů. verze

Sada 1 - Základy programování

Úvod. Programovací paradigmata

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

Transkript:

Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení se základními objekty programové implementace (proměnnými a konstantami) a jejich typy. 1. od úlohy (problému) k algoritmu a programu 2. jednoduché typy proměnných a konstant 1. dílčí téma: od úlohy (problému) k algoritmu a programu K prvnímu dílčímu tématu si přečtěte kapitoly 1 a 2 v: 1. Znát pojmy algoritmus (postup řešení) program (konkrétní implementace algoritmu) 2. Pochopit významový rozdíl mezi algoritmem a programem 2. dílčí téma: jednoduché typy proměnných a konstant K druhému dílčímu tématu si přečtěte kapitoly 3 a 4 v: 1. Znát pojmy konstanta, proměnná, identifikátor a jeho deklarace v programu číselné typy integer a real, typ char (znak), typ Boolean, a jejich realizace v paměti počítače 2. Umět napsat část záhlaví (programu v jazyce Pascal) obsahující deklarace konstant část záhlaví (programu v jazyce Pascal) obsahující deklarace proměnných 1

Způsob zakončení: Zápočet je udělován za účast na výuce. V případě absence na více než dvou přednáškách (řízených konzultacích) je zápočet udělován za zpracování zápočtové úlohy, která bude individuálně přidělena. Zkouška probíhá u počítače, každý student samostatně řeší zadané úlohy. Úkolem je zvolit pro každou úlohu správný algoritmus, naprogramovat ho v Pascalu a program odladit. Pracuje se v prostředí Borland Pascal 7.0 nebo Free Pascal. Po odladění musí student svůj program předvést, vysvětlit jeho funkci, případně být schopen ho jednoduše modifikovat. 2

Metodický list č. 2 Základní prostředky programovacího jazyka Pascal Základním cílem tohoto tematického celku je seznámení se základními výrazovými prostředky programovacího jazyka Pascal a použití těchto prostředků k psaní jednoduchých programů. 3. jednoduché a strukturované příkazy jazyka Pascal 4. vstupní a výstupní data 1. dílčí téma: jednoduché a strukturované příkazy jazyka Pascal K prvnímu dílčímu tématu si přečtěte kapitoly 5 až 9 v: 1. Znát pojmy jednoduchý příkaz, složený příkaz přiřazovací příkaz, podmíněný příkaz, cyklus 2. Umět použít výše uvedené typy příkazů v jednoduchém několikařádkovém programu 2. dílčí téma: vstupní a výstupní data K druhému dílčímu tématu si přečtěte kapitoly 5 až 9 v: 3

1. Znát pojmy standardní vstup, příkazy read a readln standardní výstup, příkazy write a writeln 2. Umět napsat krátký smysluplný program se vším všudy (tj. v odladitelné podobě), tedy program obsahující záhlaví (deklarace), vstup dat, vlastní výpočet i výstup 1. Vstup: posloupnost kladných celých čísel ukončená nulou. Výstup: minimum a maximum ze zadané posloupnosti čísel (ukončovací nula se nebere jako člen vstupní posloupnosti). 2. Vstup: kladné celé číslo n, které je nejvýše 30. Výstup: prvních n lichých čísel, každé číslo na samostatném řádku. 3. Vstup: kladné číslo h, které udává délku hrany krychlové nádrže na vodu (v metrech), a kladné číslo s, které udává denní spotřebu vody na zalévání zahrady. Výstup: na kolik dní zalévání nádrž postačuje? 4. Vstup: koeficienty a,b,c, kvadratické rovnice ax 2 +bx+c=0. Výstup: reálné kořeny dané rovnice, pokud existují. 5. Vytvořte program, který na obrazovku vytiskne přehlednou tabulku malé násobilky. 4

Metodický list č. 3 Složené datové struktury programovacího jazyka Pascal Základním cílem tohoto tematického celku je seznámení se třemi základními typy složených datových struktur programovacího jazyka Pascal a použití těchto datových typů v krátkých programech. 5. typ pole (array) 6. typ řetězec (string) 7. typ záznam (record) Ke všem dílčím tématům si přečtěte kapitoly 10 a 11 v: 3. Znát pojmy pole, položka pole, přístup k položce, vícerozměrné pole řetězec, standardní operace s řetězci záznam, položka záznamu, přístup k položce, tečková notace 4. Umět definovat výše uvedené typy v deklarační části programu použít výše uvedené typy datových struktur v jednoduchých několikařádkových programech 1. Vstup: matice reálných čísel řádu n x n (kde n je konstanta). Výstup: ANO pokud je matice symetrická (podle hlavní diagonály), NE v opačném případě. 2. Vstup: matice reálných čísel řádu n x n (kde n je konstanta). Výstup: Matice překlopená podle vedlejší diagonály. 3. Vstup: Dvě posloupnosti celých kladných čísel mezi 1 a 30, každá z nich ukončená nulou. Výstup: posloupnost čísel, které jsou v obou vstupních posloupnostech (pokud znáte datový typ množina, tak ho můžete použít) 4. Vstup: řetězec znaků Výstup: statistika výskytu písmen, číslic, a jiných znaků (tj. tři čísla udávající počet znaků ve vstupním řetězci, které patří do jednotlivých kategorií) 5. Vstup: řetězec znaků (výhradně z písmen) Výstup: vstupní řetězec v Morseovce 5

6

Metodický list č. 4 Podprogramy v jazyce Pascal Základním cílem tohoto tematického celku je seznámení s konceptem podprogramu, jakožto logicky samostatné části programu, která může být použita opakovaně. Důraz je kladen na pochopení práce s parametry podprogramu a různé způsoby jejich volání. 8. syntaxe procedur a funkcí v jazyce Pascal 9. parametry podprogramu a způsoby jejich volání 10. lokální platnost proměnných 1. dílčí téma: syntaxe procedur a funkcí v jazyce Pascal K prvnímu dílčímu tématu si přečtěte první část kapitoly 13 v: 5. Znát pojmy podprogram procedura a funkce v Pascalu a rozdíl mezi nimi 6. Umět napsat záhlaví procedury v Pascalském programu záhlaví funkce v Pascalském programu 2. dílčí téma: parametry podprogramu a způsoby jejich volání K druhému dílčímu tématu si přečtěte druhou část kapitoly 13 v: 7

3. Znát pojmy parametr podprogramu volání parametru hodnotou volání parametru odkazem 4. Umět napsat záhlaví a tělo jednoduché procedury či funkce, která volá parametr hodnotou záhlaví a tělo jednoduché procedury či funkce, která volá parametr odkazem 3. dílčí téma: lokální platnost proměnných K třetímu dílčímu tématu si přečtěte příslušný oddíl kapitoly 13 v: 5. Znát pojmy rozsah platnosti proměnné lokalita identifikátorů v podprogramu 6. Umět napsat program (včetně všech deklarací), který obsahuje podprogramy používající lokální proměnné a mající parametry s různými způsoby volání. 1. napsat procedury pro vstup čtvercové matice reálných čísel z klávesnice a pro vypsání matice na obrazovku 2. napsat procedury počítající součet a součin dvou čtvercových matic 3. napsat funkci, která vrací true pokud je daná matice regulární 4. napsat proceduru která vrátí řetězec znaků zapsaný pozpátku 5. napsat funkci která zjistí, zda je v daném řetězci znaků daný konkrétní znak a vrátí pozici prvního takového znaku nebo nulu pokud znak v řetězci není (bez použití standardní funkce Pos) 8

Metodický list č. 5 Seznámení s prostředím Borland Pascal Základním cílem tohoto tematického celku je seznámení s prostředím Borland Pascal pro tvorbu, ladění a spouštění programů psaných v jazyce Pascal. 11. ovládání integrovaného editoru 12. syntaktické ladění programu 13. sémantické ladění programu Ke všem dílčím tématům si přečtěte příslušné kapitoly v: manuál Borland Pascalu, nebo příslušné on-line nápovědy jakémkoli manuálu popisujícím ovládání programů v prostředí MS Windows Po prostudování uvedené doporučené literatury a praktickém cvičení na PC byste měli: Umět napsat v integrovaném editoru krátké zdrojové programy probírané na předchozích přednáškách spustit překladač a provést syntaktické odladění jednoduchých programů spustit překladačem vytvořený kód a odladit ho sémanticky naprogramovat a v prostředí Borland Pascal odladit úlohy z metodických listů č.2 a 3 9

Metodický list č. 6 Ladění programů v prostředí Borland Pascal Základním cílem tohoto tematického celku je naučit se používat prostředí Borland Pascal pro tvorbu, ladění a spouštění mírně netriviálních programů psaných v jazyce Pascal. 14. syntaktické ladění programu 15. sémantické ladění programu Ke všem dílčím tématům si přečtěte příslušné kapitoly v: manuál Borland Pascalu, nebo příslušné on-line nápovědy Po prostudování uvedené doporučené literatury a praktickém cvičení na PC byste měli: Umět provést syntaktické odladění mírně netriviálních programů (jejichž zdrojový kód přesahuje cca 10 řádků), tj. naučit se odhalovat i složitější zavlečené chyby provést sémantické odladění výše uvedených programů za použití pokročilejších ladících technik (krokování programu, sledování změn hodnot proměnných) naprogramovat a v prostředí Borland Pascal odladit úlohy z metodického listu č.4 10

Metodický list č. 7 a 8 Od návrhu algoritmu k implementaci programu Základním cílem tohoto tematického celku je kompletně vyřešit jeden mírně obtížný cvičný problém od analýzy problému, přes návrh algoritmu a jeho implementaci pomocí programu v jazyce Pascal, až po odladění napsaného programu a dosažení jeho plné funkčnosti. Na splnění tohoto úkolu předpokládáme práci řízenou vyučujícím v rozsahu 4 vyučovacích hodin v počítačové laboratoři. 16. analýza problému 17. návrh algoritmu na abstraktní úrovni (slovní popis) 18. implementace algoritmu Pascalským programem a jeho odladění K tomuto tématickému celku není třeba číst žádnou literaturu, jde o praktické cvičení, ve kterém budou použity dovednosti získané během předchozí výuky. Po absolvování tohoto praktického cvičení byste měli: Umět provést analýzu podobných mírně těžkých problémů navrhnout algoritmy na řešení takovýchto problémů implementovat navržené algoritmy pomocí programů v Pascalu odladit implementované programy 6. navrhněte způsob reprezentace komplexních čísel a napište podprogramy pro jejich zadávání a vypisování a pro základní aritmetické operace s kompl. čísly (+,-,*,\). 7. navrhněte způsob reprezentace velkých přirozených čísel, např. v rozsahu (0,2 128-1) a napište podprogramy pro stejné operace jako v příkladu č.1. 8. vytvořte program, který bude řešit soustavu n (lineárních) rovnic o n neznámých 9. vytvořte program, jehož vstupem je posloupnost čísel (platy zaměstnanců) a výstupem tabulka počtu jednotlivých mincí a bankovek, které jsou potřeba pro výplaty 10. vytvořte program (soubor procedur), který převádí arabská čísla na římská a naopak 11