Programování Delphi 7 Object Pascal
|
|
- Tomáš Konečný
- před 8 lety
- Počet zobrazení:
Transkript
1 MASARYKOVA UNIVERZITA PEDAGOGICKÁ FAKULTA Programování Delphi 7 Object Pascal (Příloha diplomové práce) Pavel Dohnal 2008/2009
2 OBSAH ÚVOD ODDÍL I. ZÁKLADY CO JE TO PROGRAM? DELPHI Vývojové prostředí Spuštění vývojového prostředí Ukázka a popis vývojového prostředí ZÁKLADNÍ STRUKTURA PROGRAMU ZÁKLADNÍ POJMY Co je to příkaz? Klíčová slova Rezervovaná slova Poznámky Pravidla zápisu zdrojového kódu PŘÍKAZY VÝSTUPU IDENTIFIKÁTORY DATOVÉ TYPY Ordinální typy Datové typy reálných čísel Datové typy řetězců PROMĚNNÉ, KONSTANTY A JEJICH DEKLARACE VÝRAZY PŘIŘAZOVACÍ PŘÍKAZ PŘÍKAZ VSTUPU SAMOSTATNÁ PRÁCE K PRVNÍ ČÁSTI ODDÍL II. ŘÍZENÍ CHODU PROGRAMU VĚTVENÍ PROGRAMU Neúplný podmíněný příkaz Úplný podmíněný příkaz Relační operátory Volba náhodných čísel CYKLY Cyklus s příkazem While Cyklus s příkazem Repeat Cyklus s příkazem For ODDÍL III POLE A ŘETĚZEC STATICKÉ JEDNOROZMĚRNÉ POLE A PŘÍKAZ ARRAY Přístup k prvkům pole Plnění polí STRING A PRÁCE S ŘETĚZCEM Přehled příkazů a funkcí pro práci s řetězci ODDÍL IV PODPROGRAMY PROCEDURY Procedury a parametry FUNKCE Funkce a parametry DOPORUČENÁ LITERATURA: MOŽNÁ ŘEŠENÍ PŘÍKLADŮ NA PROCVIČENÍ: MOŽNÁ ŘEŠENÍ PŘÍKLADŮ SAMOSTATNÉ PRÁCE:
3 Úvod Programovací jazyky jsou umělé jazyky vytvořené pro zápis počítačového programu. Mají přesně definovanou syntaktickou stavbu a sémantiku a pracují s lexikálními jednotkami. Z tohoto pohledu by se dalo říci, že fungují stejně jako jazyky přirozené. Existují různé přirozené jazyky a stejně tak existují i různé jazyky umělé. Od přirozených jazyků se však tyto jazyky výrazně liší. Zatímco přirozené jazyky vznikaly svou vlastní cestou a neustále se kontinuálně vyvíjejí, umělé jazyky jsou vytvářeny cíleně a k jejich změnám dochází pouze v případě, že stávající podoba jazyka přestane vyhovovat požadavkům tvorby programů, pro jejichž vytváření je programovací jazyk určen. Změny nejsou postupné, nýbrž skokové. Programovací jazyky a jejich vývojová prostředí slouží k vývoji a realizaci nejrůznějších programů a systémů. Každý program má svůj zdrojový kód, tedy textový soubor, který obsahuje popis algoritmu v daném programovacím jazyce. Přeložený a sestavený program je uceleným souborem instrukcí zapsaných ve strojovém kódu, který je schopen spouštění na počítači. Tento text se bude věnovat strukturované formě programování v jazyce Object Pascal a ve vývojovém prostředí Delphi 7 Personal Edition. Bude možné ho využít jako materiál pro výuku základů programování na základních školách, jako referenční příručku ho zároveň budou moct využít všichni, kdo se s programováním zatím nesetkali a chtěli by do základů programování proniknout. Dokument je rozdělen do čtyř oddílů: Základy, Řízení chodu programu, Pole a řetězec a Podprogramy. Každý oddíl obsahuje teoretické informace, obecné vysvětlení problematiky a příklady na procvičení. Na konci textu jsou uvedena řešení jednotlivých úkolů. Materiál je k dispozici rovněž na CD-ROMu a na webových stránkách kde je také zprovozněno fórum, ve kterém si uživatelé mohou navzájem předávat zkušenosti, diskutovat o problémech, řešit nové úlohy a komentovat studijní materiál jako takový. 3
4 1. Oddíl I. Základy 1.1 Co je to program? Zjednodušeně by se dalo říct, že program je text zapsaný v některém z programovacích jazyků. Tento text (zdrojový kód) je tvořen posloupností instrukcí a příkazů, již zpravidla označujeme pojmem algoritmus. Programátor text vytváří v podobě srozumitelné člověku. Po spuštění programu je však text programu pomocí překladače programovacího jazyka přeložen do jazyka srozumitelného počítači (procesoru počítače), do tzv. strojového kódu, jinak by počítač nebyl schopný s textem programu pracovat. Program vždy pracuje s konkrétními daty s přesně stanovenými vlastnostmi. Kromě dat jsou vždy specifikovány i příkazy neboli operace, jež mají být s daty provedeny. Výsledkem programu jsou opět data, jež byla získána provedením požadovaných operací. K výsledným datům je možné se dopracovat několika různými způsoby, a není proto výjimkou, že zdrojové kódy programů se u jednotlivých programátorů do značné míry liší, a to i v případech, že programátoři řeší stejné zadání. 1.2 Delphi Vývojové prostředí Vývojovým prostředím se rozumí software (aplikace), která programátorovi umožňuje vytvářet programy. Tyto aplikace bývají často vázány na jeden programovací jazyk a tomuto jazyku jsou rovněž přizpůsobeny, např. vývojové prostředí Delphi je založeno na jazyku Object Pascal. Téměř každé vývojové prostředí se skládá ze tří částí, a to z textového editoru, překladače a debuggeru. Textový editor slouží k samotnému zápisu zdrojového kódu, překladač daného jazyka překládá zdrojový kód zapsaný programátorem do strojového kódu, tj. do podoby, se kterou může pracovat procesor, a debugger je ladicí nástroj sloužící k ladění programů. Delphi, ale i některá jiná vývojová prostředí obsahují navíc systém pro rychlý vývoj aplikací (RAD), který umožňuje snadné vytváření vizuálních návrhů grafického uživatelského rozhraní Spuštění vývojového prostředí Spuštění vývojového prostředí: Ikona na ploše Delphi 7 nebo Start programy Borland Delphi 7 Delphi 7 Spuštění konzoly: File New Other... Console Application Spuštění programu: Klávesa F9 4
5 1.2.3 Ukázka a popis vývojového prostředí Na následujícím obrázku je zobrazena pracovní plocha vývojového prostředí Delphi 7. Červeně jsou zvýrazněny prvky, které budeme využívat: pracovní okno pro zápis zdrojového kódu (editor kódu) a zelený trojúhelník pro spuštění programu. Nezvýrazněné ikony panelu nástrojů se zpravidla využívají při tvorbě programů v rámci objektového programování. 1.3 Základní struktura programu program Název programu; {hlavička programu je povinná a obsahuje název programu} {V této části se deklarují globálně dostupné prvky programů, které se budou později využívat. Jsou jimi konstanty (za klíčovým slovem const); proměnné (za klíčovým slovem var); typy (za klíčovým slovem type); procedury a funkce.} {příkazová část je tvořena posloupností příkazů} 5
6 1.4 Základní pojmy Co je to příkaz? Příkaz v tomto smyslu přestavuje předpis pro vykonání určité operace. Příkazy se vykonávají ve stejné posloupnosti, v jaké byly zapsány, není-li řídicí strukturou určeno jinak. Příkazy se dělí na ty, které mění tok programu (cykly, větvení atd.), a na ty, které mění stav paměti (vstupní/výstupní příkazy atd.) Klíčová slova Klíčová slova vyznačují jednotlivé konstrukce jazyka, podle nichž se překladač orientuje ve zdrojovém kódu. Mají jednoznačně definovaný význam, nelze je měnit a nemohou být použita v jiném významu. Klíčovými slovy v Object Pascalu jsou např. výrazy, end, if, else, do, div, var, while, and, array, class, for, in, or, repeat, set, type atd Rezervovaná slova Rezervovaná slova se od klíčových slov liší tím, že mají svůj význam pouze v určitém bloku. Mimo tento blok je možné tato slova použít jako identifikátory, z důvodu přehlednosti se však toto použití nedoporučuje. Rezervovanými slovy Object Pascalu jsou např. výrazy default, private, public, published apod Poznámky Poznámka ve zdrojovém kódu je část textu, kterou překladač při spouštění programu ignoruje. Slouží k vytváření vlastních záznamů a vysvětlivek, kterými programátor pro vlastní potřebu popisuje jednotlivé části kódu a zvyšuje tak jeho přehlednost. Object Pascal nabízí několik možností, jak poznámku zapsat. Chceme-li zapsat poznámku na více řádků, je vhodné použít složené závorky {,} a text vepsat mezi ně. Pro krátkou poznámku, tedy pro poznámku na jeden řádek je vhodnější použít dvojité lomítko //. Překladač ignoruje veškerý text, který je zapsán od tohoto znaku až do konce řádku Pravidla zápisu zdrojového kódu Zdrojový text programu se formátuje tak, aby byl co nejpřehlednější. Každý programátor si může vytvořit svůj vlastní styl podle toho, co mu vyhovuje. Existuje však několik obecných pravidel, které je vhodné při psaní programu dodržovat: každý příkaz začíná na samostatném řádku středník oddělující dva příkazy se píše za prvním z nich vnořené příkazy jsou od levého okraje odsazeny více než jejich obalující konstrukce dvojice k sobě příslušejících klíčových slov jsou psány pod sebe (např. a end, if a else) významnější části programu jsou odděleny prázdnými řádky a doplněny o komentáře do záhlaví programu se vkládá komentář, který stručně rekapituluje zadání problému, jejž program řeší 6
7 1.5 Příkazy výstupu Aby byl program užitečný, musí být schopný zveřejnit vypočtené výsledky. K tomu slouží příkazy výstupu. Standardní výstup (výstup na obrazovku) se zajistí příkazy Write a Writeln. Obecný tvar zápisu příkazů je: Write (P 1, P 2,, P n ); - zobrazí na standardní výstup hodnoty parametrů P 1 - P n nebo Writeln (P 1, P 2,, P n ); - zobrazí na standardní výstup hodnoty parametrů P 1 - P n, a navíc provede přechod na následující řádek Parametry P 1, P 2,, P n mohou být výrazy, proměnné nebo texty (řetězce). Výstupní text se uzavírá do apostrofů ( ) a od proměnných a výrazů se odděluje čárkami. Jednoduché výrazy jsou před vlastním výstupem vypočteny za použití příkazů Write a Writeln. Příklad výstupu na obrazovku Write ( Adresa skoly: ); - na obrazovku se vypíše text Adresa skoly: Write ( ); - na obrazovku se vypíše výsledek výrazu, čili 50 Write ( Obvod ctverce je:, 4*15, cm ); - na obrazovku se vypíše text Obvod ctverce je: 60 cm Problematika výstupu je značně rozsáhlá. Výše uvedený přehled bude v budoucnu dále rozšiřován. * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (01) Napište program, který na obrazovku vypíše pozdrav (např. Zdravím všechny!). (02) Vytvořte program, který na obrazovku vypíše název a adresu vaší školy. Jednotlivé položky adresy budou uvedeny na samostatných řádcích. (03) Rozšiřte předchozí program (02) tak, aby mezi názvem školy a adresou byl jeden volný řádek. (04) Napište program, který na obrazovku vypíše obvod a obsah obdélníka, jehož velikosti stran jsou: a = 5 cm, b = 7 cm. (Program vypíše informaci o tom, co bude počítat, rozměry obdélníka a na samostatných řádcích bude vypsán obsah a obvod.) 7
8 1.6 Identifikátory Identifikátory (jména) se používají jako označení proměnných, konstant, typů, procedur, funkcí a mnoha dalších objektů, které jsou programem používány. Identifikátorem je posloupnost písmen a číslic, která začíná písmenem a je různá od klíčových a rezervovaných slov. V identifikátoru mohou být použita malá a velká písmena anglické abecedy spolu se znakem podtržítka _, a číslic 0 až 9. Příklady SPRÁVNĚ vytvořených identifikátorů Cislo, SoucetCisel, Pocet_znaku, X_1, ZNAK apod. Příklady NESPRÁVNĚ vytvořených identifikátorů Identifikátor 1pomoc Číslo X>Y B-A Pocet znaku DO POZOR! G4d8ee5_bl Popis chyby Identifikátor musí začínat písmenem. Znaky české abecedy, které nejsou zároveň znaky abecedy anglické, nepatří mezi písmena (č, š, ř, ž, ě apod.). Speciální symboly nelze použít. Znak minus (pomlčka) nelze použít, nejedná se o znak podtržítka. Oddělovač (mezera) nesmí být součástí identifikátoru. Klíčové slovo nemůže být použito jako identifikátor. Znak vykřičníku nesmí být použit. Syntakticky správný identifikátor, ale nesrozumitelný. 1.7 Datové typy Object Pascal je silně typizovaný programovací jazyk, a každá proměnná proto musí mít svůj datový typ. Datový typ určuje, jaké operace může kompilátor (překladač) s proměnnou provádět a jakým způsobem jsou data v proměnné uložena na harddisku. Object Pascal má k dispozici širokou škálu standardních datových typů, které lze rozšířit o typy, jež si nadefinuje sám uživatel. Datové typy se v Object Pascalu dělí na typy ordinální, číselné s pohyblivou desetinnou čárkou (reálná čísla), řetězcové, strukturované, ukazatelové a na typ Variant Ordinální typy Ordinálními typy se rozumí všechny takové typy, které mají omezený počet hodnot a které můžeme navíc snadno seřadit jeden za druhým. Na ordinálních typech potom můžeme definovat funkce Pred (z angl. Predecessor předchůdce) a Succ (z angl. Successor následník), které vracejí předchůdce, resp. následníka zadaného prvku. Mezi ordinální prvky patří všechny celočíselné datové typy, znakové sady, booleovské typy a typ výčtový. Celočíselné datové typy Object Pascal nabízí pro reprezentaci celých čísel hned několik datových typů. Tyto typy se liší svým rozsahem (tj. intervalem hodnot, jež mohou proměnné daného typy nabývat) a také nároky na místo v paměti. 8
9 Přehled celočíselných datových typů Typ Rozsah hodnot Formát ShortInt bitů se znaménkem Byte bitů bez znaménka SmallInt bitů se znaménkem Integer podle prostředí 16 nebo 32 bitů se LongInt znaménkem 32 bitů se znaménkem Znakový datový typ Char Datový typ Char je výchozím typem pro práci se znaky. Do proměnné tohoto typu je možné uložit jeden libovolný znak, který se ve zdrojovém kódu ohraničuje apostrofy ( ). Je-li v programu napsáno 5, znamená to konstanta s číselnou hodnotou pět. Je-li v programu napsáno 5, znamená to konstanta pro znak pětky. Jednotlivé hodnoty typu Char jsou v počítači ukládány pomocí kódu, tj. každému znaku je přiřazeno konkrétní číslo (vychází z ASCII tabulky). Díky tomu lze mezi sebou jednotlivé hodnoty typu Char porovnávat (menší znak má menší číslo v ASCII tabulce). Ukázka uspořádání číslic a písmen anglické abecedy: 0 < 1 < 2 <... < 9 < A < B <... < Z < a < b <...< z Typ Boolean Booleovský typ reprezentuje pouze dvě hodnoty pravda (true) a nepravda (false). Pravda je reprezentovaná hodnotou jedna (1) a nepravda hodnotou nula (0). Výčtový typ Tento typ si definuje každý uživatel sám podle svých potřeb, a to buď vyjmenováním všech hodnot, jakých může proměnná nabývat, nebo pomocí intervalu. Definice může vypadat následovně: var rocniobdobi : (jaro, leto, podzim, zima); var nabytek : (zidle, skrin, postel, stul); var pocetstenat : 0..12; var cislice : 0..9; Při definici výčtového typu vyjmenováním všech hodnot nelze použít jako hodnoty číslice či znaky (např. A ). Musí se definovat vlastní prvky pomocí platných identifikátorů (hodnota zde vystupuje jako konstanta, tedy identifikátor). Při definici pomocí intervalu musí být tento interval ordinálního typu. Interval musí být spojitý, to znamená, že nemůže být složen např. ze dvou různých intervalů. Jednotlivým prvkům tohoto typu jsou přiřazeny hodnoty od nuly, tedy: Ord (jaro) = 0 Ord (leto) = 1 Ord (podzim) = 2 Ord (zima) = 3 // význam Ord bude vysvětlen vyučujícím 9
10 1.7.2 Datové typy reálných čísel Provádění nejrůznějších operací nad reálnými čísly je při programování velmi častým jevem. K tomu účelu Object Pascal nabízí hned několik datových typů reálných čísel. Tak jako celočíselné datové typy se i tyto datové typy liší svým rozsahem hodnot a nároky na místo v paměti. Přehled datových typů pro reálná čísla Typ Rozsah hodnot Počet bytů Real 5,0x ,7x v závislosti na platformě Single 1,5x ,4x Double 5,0x ,7x Extended 3,6x ,1x Datové typy řetězců Řetězcové datové typy se používají k uchovávání celých znakových řetězců, tj. řetězců, které jsou složeny z konečného počtu jednotlivých znaků (Char). Pro krátké řetězce se používá datový typ String, kde je délka řetězce omezena na 255 znaků. Více o výčtových a strukturovaných typech později. 1.8 Proměnné, konstanty a jejich deklarace Pojem proměnná je v programování chápán jako symbolické označení (jméno) pro určitou oblast paměti, ve které jsou uložena data daného typu. Hodnoty proměnných mohou být za chodu programu měněny. Každá použitá proměnná musí být nejprve nadeklarována v bloku deklarací tak, že se za klíčové slovo var uvede jméno proměnné, dvojtečka a její datový typ. Konstanty se od proměnných liší tím, že jejich hodnotu nelze za chodu programu měnit. Konstanty se deklarují pomocí klíčového slova const. Obecná deklarace proměnné: var název_proměnné(identifikátor): typ; Příklad deklarace proměnných: var Cislo, Soucet2: integer; Znak: char; Obecná deklarace konstanty: const název_konstanty(identifikátor) = hodnota; Příklad deklarace konstant: const Dny_v_tydnu = 7; PrvniDen = pondělí ; Výpis proměnných a konstant na obrazovku (tj. na standardní výstup) se provádí pomocí příkazů výstupu write a writeln tak, že se jako parametr uvede identifikátor proměnné. V mnoha případech je třeba výstupní parametr naformátovat do požadovaného tvaru, tj. číselná hodnota se například bude vypisovat na předem daný počet znaků. 10
11 Formátování celého čísla writeln (parametr:n); číslo, které je formátováno počet znaků výstupní hodnoty Příklad formátovaného výstupu celočíselných parametrů: writeln ( Obvod obdélníka je:, vysledek:5); Na obrazovku se vypíše text Obvod obdélníka je:, za kterým bude uvedena hodnota proměnné výsledek. Tato hodnota bude zobrazena na pět míst. Formátování reálného čísla writeln (parametr:n:d); číslo, které je formátováno celkový počet znaků výstupní hodnoty počet znaků na desetinných místech Příklad formátovaného výstupu reálných parametrů: writeln ( Obvod kruhu je:, vysledek:7:3); Na obrazovku se vypíše text Obvod kruhu je:, za kterým bude uvedena hodnota proměnné výsledek. Tato hodnota bude zobrazena celkem na 7 míst, z nichž 3 místa budou vyhrazena pro desetinnou část. 1.9 Výrazy Výraz je předpis pro získání hodnoty, který je tvořen z operandů, operátorů a okrouhlých závorek. operandy jsou číslice, číselné proměnné, číselné konstanty operátory jsou +, -, *, / a další výraz uzavřený v závorkách bude vyhodnocován jako první násobení a dělení je vyhodnoceno dříve než sčítání a odčítání (není-li závorkami stanoveno jinak) 11
12 Příklad správně vytvořeného výrazu PI v tomto příkladě vystupuje jako konstanta. Operandy (3 + 6) * 8 / PI Operátory * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (05) Rozšíření předchozího příkladu (04). Napište program, který na obrazovku vypíše obvod a obsah obdélníka, jehož strany mají velikost: a = 5 cm, b = 7 cm. (Program vypíše informaci o tom, co bude počítat, rozměry obdélníka a na samostatných řádcích bude vypsán obsah a obvod. Řešte s použitím konstant.) (06) Vytvořte program, který na obrazovku vypíše obvod a obsah kruhu, jehož poloměr je 15 cm. (Program vypíše informaci o tom, co bude počítat, velikost poloměru a na samostatných řádcích bude vypsán obsah a obvod. Řešte s použitím konstant.) (07) Rozšiřte předchozí příklad (06) o formátování výstupu. Výsledek bude vypsán na 9 míst, z nichž 3 místa budou vymezena pro desetinnou část Přiřazovací příkaz Jde o nejzákladnější a nejčastěji používaný příkaz, jehož prostřednictvím se mění hodnota proměnné. Přiřazovací příkaz má tvar: proměnná := výraz Příklad přiřazovacího příkazu: Cislo_1 := 5; Cislo_2 := 66; SoucetCisel := Cislo_1 + Cislo_2; Postup zpracování přiřazovacího příkazu: 1. Určí se cíl přiřazení (proměnná na levé straně). 2. Vyhodnotí se výraz na pravé straně. 3. Získaná hodnota se uloží do stanovené cílové proměnné. 12
13 1.11 Příkaz vstupu Každý program potřebuje odněkud získávat informace, které bude zpracovávat, případně přijímat pokyny ovlivňující jeho další činnost. K tomuto účelu slouží vstup. Pro standardní vstup neboli načítání údajů z klávesnice slouží příkaz Readln (seznam_proměnných); Readln (p1, p2,...); Seznam_proměnných je seznam identifikátorů proměnných, jejichž hodnoty mají být načteny, identifikátory jsou odděleny čárkami. Příklad vstupu z klávesnice Readln (Cislo_1); Bude-li na klávesnici jako vstup zadána např. hodnota 45, bude mít po provedení uvedeného příkazu proměnná Cislo_1 hodnotu 45. Readln (Cislo_2, Cislo_3); Bude-li na klávesnici jako vstup zadáno např , bude mít po provedení uvedeného příkazu proměnná Cislo_2 hodnotu 454 a proměnná Cislo_3 hodnotu 6. Poznámka: Všimněte si zápisu vstupu, pro oddělení hodnot proměnných se využívá mezera. * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (08) Napište program, který vyzve uživatele k zadání dvou celých čísel a vypíše na obrazovku jejich součet. (09) Upravte program (05) na výpočet obvodu a obsahu obdélníka tak, aby hodnoty pro výpočet byly zadány uživatelem (datový typ proměnných si zvolte libovolně). (10) Upravte program (07) na výpočet obvodu a obsahu kruhu tak, aby hodnota π vystupovala ve zdrojovém kódu jako konstanta a velikost poloměru byla zadávána uživatelem. (11) Napište program, který převede zadanou hodnotu v metrech na kilometry, decimetry, centimetry a milimetry. Program vypíše všechny převody. (12) Přizpůsobte předešlý program (11) na převod čtverečních jednotek. Program bude převádět čtverečné metry na decimetry čtverečné, centimetry čtverečné a milimetry čtverečné. 13
14 (13) Vytvořte program na převod české měny do zahraniční. Uživatel zadá částku v českých korunách a kurz a program na obrazovku vypíše částku v cílové měně. (14) Napište program, který vypočítá váš index tělesné hmotnosti (BMI). Program vyzve uživatele k zadání vstupních hodnot výška postavy v metrech a tělesnou hmotnost v kilogramech. BMI se vypočítá jako podíl tělesné hmotnosti a druhé mocniny výšky postavy v metrech. Program zároveň vypíše tabulku s jednotlivými kategoriemi BMI (hodnoty BMI pro podváhu, průměr a nadváhu). (15) Vytvořte program, který spočítá konečný zůstatek na vašem spořicím účtu. Uživatel zadá výši vkladu, dobu spoření (v měsících) a úrok u spořicího učtu (p.a.). (Předpokládejte, že se každý měsíc připisuje úrok pouze z původního vkladu a neuvažujte daň z úroku.) Samostatná práce k první části * * * Máte před sebou dva měsíce letních prázdnin. Doma v kasičce se objevilo nečekaně velké množství peněz, a proto jste se rozhodli, že letošní dovolená bude trochu neobvyklá. Poletíte na dovolenou se svými kamarády a vyberete si kam. 1) Prázdniny: Rozmyslete si, kam byste se v létě chtěli podívat, a napište program, který na obrazovku vypíše text: O prázdninách poletím... [doplňte]. 2) Cena letenky: Společnost, se kterou chcete letět, uvádí zvlášť ceny letenky a zvlášť veškeré letištní poplatky. Napište program, který spočítá celkovou cenu, již za let budete muset zaplatit (tj. uživatel do programu vždy zadá cenu letenky a cenu letištních poplatků, ceny uvažujeme pouze v celých číslech). 3) Počet cestujících: Některým vašim kamarádům je více než 24 let, a cena jejich letenky je proto odlišná. Napište program, který spočítá celkovou částku, kterou budete muset za cenu letenek zaplatit (tj. uživatel do programu vždy zadá počet studentů do 24 let, počet dospělých, cenu letenky pro studenta, cenu letenky pro dospělého a letištní poplatky). 4) Zpáteční let: V internetových vyhledávačích spojení uživatel vždy vyplňuje políčka Odkud a Kam. Většina z nich disponuje i funkcí, která umožňuje hodnoty vyměnit. Napište program, který prohodí jednotlivé proměnné (tj. uživatel zadá proměnnou Odkud a proměnnou Kam a program vypíše zpáteční let tak, že prohodí obsah proměnných). 5) Vstupenky: Jedním z míst, kam se během svých prázdnin dostanete, je Paříž. Stejně jako na většinu památek je i na Eiffelovu věž rozdílné vstupné pro studenty a pro dospělé. Napište program, který spočítá celkovou cenu, již musíte za vstup zaplatit (tj. uživatel vypíše počet studentů, počet dospělých, cenu vstupenky pro studenta a cenu vstupenky pro dospělého). 6) Zmrzlina: Přímo pod Eiffelovou věží prodávají zmrzlinu. Návštěvníci si mohou vybrat, zda si koupí zmrzlinu točenou nebo kopečkovou, jejich cena není stejná. Napište program, který spočítá celkovou cenu, již zaplatíte za kopečkovou zmrzlinu, a celkovou cenu zmrzliny točené (tj. uživatel vypíše cenu točené zmrzliny, cenu kopečku a jejich celkové počty). 14
15 2. Oddíl II. Řízení chodu programu Tento blok se bude věnovat základním programovacím strukturám, které se používají pro řízení chodu programu. Jsou to struktury, které se běžně používají při programování i těch nejjednodušších programů a se kterými se můžete setkat téměř ve všech programovacích jazycích. Jde především o větvení programu pomocí podmínek a opakované provádění příkazů pomocí cyklů. 2.1 Větvení programu Velmi často je zapotřebí provést některou část kódu pouze v případě, že jsou splněny určité podmínky. K těmto účelům slouží podmíněný příkaz, který je buď neúplný, nebo úplný Neúplný podmíněný příkaz if podmínka then příkaz; Zpracování příkazu začne vyhodnocením podmínky. Je-li podmínka splněna, provede se příkaz (skupina příkazů), v opačném případě se neprovede žádná operace a program pokračuje. Příklad: if Cislo<0 then Cislo := -Cislo; Uvedený příklad se vyhodnotí takto: zjistí se, je-li hodnota v proměnné Cislo menší než nula. Je-li to pravda (tj. jde o záporné číslo), provede se příkaz za klíčovým slovem then, který změní záporné číslo na kladné. Není-li to pravda (tj. jde o kladné číslo), příkaz za klíčovým slovem then se neprovede. Po průchodu programu touto podmínkou je hodnota v proměnné Cislo vždy kladné číslo. Má-li se při splnění podmínky provést více příkazů, musejí být tyto příkazy napsány mezi klíčovými slovy a if podmínka then příkaz_1; příkaz_2; M příkaz_n; 15
16 2.1.2 Úplný podmíněný příkaz if podmínka then příkaz1; else příkaz2; Úplný podmíněný příkaz definuje i to, co se má stát, je-li podmínka nesplněna. Má-li se v každé větvi provést více příkazů, musejí být tyto příkazy opět ohraničeny klíčovými slovy a Zpracování příkazu začne rovněž vyhodnocením podmínky. Je-li podmínka splněna, provede se příkaz1 (skupina příkazů), v opačném případě se provede příkaz2 (skupina příkazů). Před klíčovým slovem else se nepíše středník, tento znak patří až na konec celého podmíněného příkazu. Podmíněné příkazy lze do sebe vnořovat. if podmínka1 then if podmínka2 then příkaz1 else příkaz2 end Rozdělit program najednou do více větví je možné pomocí několika podmíněných příkazů If, kdy každý tento příkaz představuje jednu větev. Pro rozvětvení programu do více větví (tj. 3 a více) je vhodnější použít speciální druh podmíněného příkazu Case, který má obecný tvar: case výraz of hodnoty_1: příkaz_1 hodnoty_2: příkaz_2 M hodnoty_n: příkaz_n end 16
17 Výraz mezi klíčovými slovy case a of může být libovolný výraz ordinálního typu. (Většinou se používá jednoduchá proměnná.) Hodnoty_1, hodnoty_2,..., hodnoty_n v levé části jsou navzájem disjunktní hodnoty (nebo intervaly), kterých může výraz po vyhodnocení nabývat. V pravé části za dvojtečkou jsou příkazy (příkaz_1, příkaz_2,..., příkaz_n), jež se v závislosti na hodnotě výrazu provádějí. Zpracování příkazu spočívá ve vyhodnocení výrazu. Následně se v levé části najde větev, která má stejnou hodnotu jako vyhodnocený výraz, a provede se příslušný příkaz za dvojtečkou. Vždy se provede jen jedna větev. Příkaz case lze rozšířit o nepovinnou větev else, která se provede v případě, že se vyhodnocený výraz nerovná žádné hodnotě uvedené vlevo od dvojtečky. Není-li větev else uvedena a hodnota výrazu je různá od všech nabízených hodnot, je příkaz case ekvivalentní prázdnému příkazu. Příklad: case cislo_dne of 7,12: write('šťastné dny v měsíci.'); 13: write('špatné dny v měsíci.'); 1..6: write('neutrální dny v měsíci.'); else write('n/a'); V uvedeném příkladu je proměnná cislo_dne ordinálního typu integer. Zpracování proběhne tak, že se porovná hodnota v proměnné cislo_dne s hodnotami uvedenými v levé části. je-li hodnota proměnné 7 nebo 12, vypíše se na obrazovku text Šťastné dny v měsíci. je-li hodnota proměnné 13, vypíše se na obrazovku text Špatné dny v měsíci. je-li hodnota proměnné v intervalu 1 až 6 (psáno 1..6), vypíše se na obrazovku text Neutrální dny v měsíci. je-li hodnota proměnné jiná než 1..6, 7, 12, 13, vypíše se na obrazovku text N/A Poznámka: proměnná mezi klíčovými slovy case a of musí být ordinálního typu (tj. celočíselný datový typ, znakový typ Char, booleovský datový typ nebo datový typ výčtový) hodnoty v levé části musí být disjunktní Relační operátory Pomocí relačních operátorů lze porovnávat jak hodnoty číselné, tak i hodnoty jiné (podrobné vysvětlení bude uvedeno později). A = B A <> B A < B A je rovno B A není rovno B A je menší než B A<=B A > B A>=B A je menší rovno B A je větší B A je větší rovno B Složitější výrazy lze vytvářet pomocí pravdivostních operací, které vycházejí z matematické logiky. Negace se značí klíčovým slovem not, konjunkce neboli logický součin se značí klíčovým slovem and a pro disjunkci neboli logický součet se používá or. 17
18 Logické operace P Q not P P and Q P or Q True True False True True True False False False True False True True False True False False True False False Volba náhodných čísel Většina programovacích jazyků umožňuje provést náhodný výběr prvku z dané množiny, čehož se často využívá například při programování her nebo při testování a ladění programů. Object Pascal náhodný výběr umožňuje také, a to pomocí spuštění generátoru náhodných čísel randomize a funkce random. Funkce random se používá k náhodnému výběru (volbě) přirozeného čísla, kdy se jako parametr do závorek uvádí horní mez, která je vždy o jedna menší než zadané číslo v závorce. Například pro náhodný výběr čísla od jedné do dvaceti se jako parametr uvede číslo 21 tj. random(21). Dále je možné funkci random použít k náhodnému výběru desetinného čísla v intervalu 0 x < 1. V takovém případě se neuvádí parametr, tj. random. Aby bylo možné s náhodně zvoleným číslem dále pracovat, je třeba je uložit do proměnné. nahodnecislo := random(10); Kdyby byla v programu použita pouze funkce random, generoval by program při spuštění vždy tatáž čísla. Aby byl výběr při každém spuštění programu jiný, musí se do příkazové části zdrojového kódu (tj. mezi a end) zápisem randomize spustit generátor náhodných čísel. Příklady volby náhodného čísla: randomize; // spuštění generátoru náhodných čísel x:= random(10); // náhodný výběr čísla od 0 do 9 y:= 1 + random(10); // náhodný výběr čísla od 1 do 10 z:= 100 * random; // náhodný výběr reálného čísla v intervalu 0 x < 100 * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (16) Napište program, který vyzve uživatele k zadání dvou celých (reálných) čísel a zadaná čísla porovná. Výsledek vypíše na obrazovku. 18
19 (17) Vytvořte program, který rozhodne, zda číslo zadané uživatelem bylo liché, nebo sudé. (Použijte operaci mod vrací celočíselný zbytek po dělení. Syntaxi vyhledejte pomocí nápovědy F1 nebo v referenčních příručkách jazyka Object Pascal.) (18) Napište program, který uživatele vyzve k zadání tří celých (reálných) čísel, zadaná čísla porovná a vypíše největší z nich. (19) Vytvořte program, který převede zadanou hodnotu v metrech na jinou jednotku délky. Uživatel si sám vybere, zda chce provést převod na kilometry, decimetry, centimetry či milimetry. Jako základ můžete použít předchozí příklad (11). (20) Upravte program (14) na výpočet BMI tak, aby nevypisoval celou tabulku s jednotlivými kategoriemi BMI, ale jen jednu kategorii, která odpovídá výsledné hodnotě BMI uživatele. (21) Vytvořte program, do něhož uživatel zadá tři libovolná čísla, a program je poté sečtěte. Dále určí, zda je součet zároveň dělitelný šesti i devíti. (22) Vytvořte program, který vyzve uživatele k zadání libovolného znaku z klávesnice. Program poté vypíše na obrazovku, zda se jedná o číslici (0-9), malé písmeno, velké písmeno nebo jiný znak. (23) Naprogramujte program, který vypočítá cenu za jízdu taxíkem. Uživatel zadá vzdálenost (může být i desetinné místo), jakou taxíkem urazil, a program mu podle sazby vypočítá cenu, kterou má zaplatit. Neuvažujeme nástupní taxu. Sazba za jízdu je: 0 14 km 40 Kč/km km 36 Kč/km km 32 Kč/km 60 a více 25 Kč/km Poznámka: Je-li zadaná vzdálenost 14,8 km, sazba je stále 40 Kč/km. Řešte pomocí příkazu case a použijte funkci trunc(r), která vrací celou část reálného čísla. Použití této funkce nastudujte z nápovědy F1 nebo v referenčních příručkách jazyka Object Pascal. (24) Vytvořte program, který uživatele vyzve k zadání tří libovolných čísel, tato čísla pak seřadí podle velikosti a ve správném pořadí vypíše na obrazovku. 2.2 Cykly Opakované provádění příkazů je v programování velice častým jevem, a proto je nezbytné se s touto problematikou seznámit. Zjednodušeně by se dalo říci, že se používají dva základní druhy cyklů cyklus řízený podmínkou a cyklus s pevně daným počtem opakování. Cykly řízené podmínkou Object Pascal nabízí dvě různé konstrukce cyklů, jež jsou řízeny podmínkou. Prvním z nich je cyklus s příkazem While, který má podmínku na začátku, druhým je cyklus s příkazem Repeat s podmínkou na konci. 19
20 Cyklus s podmínkou na začátku Cyklus s podmínkou na konci Cyklus s příkazem While Cyklus s příkazem while má následující tvar: while podmínka do příkaz (tento příkaz se nazývá tělo cyklu) Význam cyklu s příkazem while by bylo možné zapsat následovně: dokud platí podmínka, opakuj příkaz. Zpracování cyklu probíhá takto: 1. vyhodnotí se podmínka 2. jestliže podmínka neplatí (není pravda), cyklus se ukončí a program pokračuje příkazem, který následuje za tělem cyklu 3. jestliže podmínka platí (je pravda), provede se tělo cyklu 4. provádění programu se vrátí k bodu 1 (opakuje se celý postup) Je-li tělo cyklu tvořeno více než jedním příkazem, musejí být tyto příkazy ohraničeny klíčovými slovy a Poznámka: Zpracování While-cyklu začíná vyhodnocením podmínky. Není-li tato podmínka splněna hned na začátku, tělo cyklu se neprovede ani jednou. Celý cyklus se ukončí a program pokračuje příkazem, který následuje za tělem cyklu. Tento příkaz používáme tehdy, neznáme-li předem přesný počet opakování potřebných k dosažení cílového stavu. Ukončení je reprezentováno splněním dané podmínky. 20
21 Poznámka: Dávejte pozor na to, aby vaše podmínka mohla někdy nabýt hodnoty nepravda. V opačném případě by se cyklus prováděl do nekonečna (tzv. nekonečný cyklus) a program by nikdy nemohl skončit. V takovém případě se program ukončuje násilným zásahem zvenku. Ukázkový příklad cyklu s příkazem While: Zadání: Program vyzve uživatele k zadání přirozeného čísla n. Poté vypíše čísla od 1 do n, každé na nový řádek. (Předpokládáme, že uživatel nezadá jiné číslo než přirozené.) program While_1; var n,i:integer; // název programu //deklarace proměnných write('zadej pocet vypisovanych cisel: '); // vyzve uživatele k zadání čísla readln(n); // načtení čísla do proměnné n i:=0; // proměnná i je nastavena na hodnotu nula while i<n do i:=i+1; writeln(i); // začátek cyklu... podmínka zní: jestliže i je menší než n, proveď tělo cyklu. Mezi klíčovými slovy /end je tělo cyklu. Při jednom průchodu tělem se zvýší hodnota i o jedničku a vypíše se jeho hodnota Cyklus s příkazem Repeat Cyklus s příkazem Repeat má následující tvar: repeat příkaz_1 příkaz_2 M příkaz_n until podmínka Význam tohoto cyklu by bylo možné vyjádřit takto: opakuj příkazy, dokud nezačne platit podmínka. Zpracování cyklu probíhá následovně: 1. provedou se příkazy v těle cyklu 2. poté se vyhodnotí podmínka 3. jestliže je podmínka neplatná (není pravda), opakuje se postup od bodu 1 4. je-li podmínka splněna (pravda), cyklus se ukončí a program pokračuje prvním příkazem za cyklem 21
22 Poznámka: Cyklus Repeat (s podmínkou na konci) začíná provedením příkazů, které tvoří tělo cyklu. Z toho vyplývá, že se tělo cyklu provede alespoň jednou, což u cyklu s podmínkou na začátku neplatí. Pomůcka: while Máš hlad? do repeat Tak jez. Najez se. until Jsi syt? Jednotlivé cykly lze vzájemně zaměňovat. To znamená, že je zpravidla jedno, použije-li se cyklus While nebo Repeat. V některých případech je však výhodnější použít jeden, v jiných zase druhý. Volba cyklu záleží na charakteru úlohy i na osobním vkusu programátora. Ukázkový příklad cyklu s příkazem Repeat: Cykly s podmínkou na začátku a na konci je v mnoha případech možné vzájemně zaměňovat, proto je pro ukázkový příklad cyklu s příkazem Repeat použito stejné zadání jako pro cyklus s příkazem While. Zadání: Program vyzve uživatele k zadání přirozeného čísla n. Poté vypíše čísla od 1 do n, každé na nový řádek. (Předpokládáme, že uživatel nezadá jiné číslo než přirozené.) program Repeat_1; var n,i:integer; // název programu //deklarace proměnných write('zadej pocet vypisovanych cisel: '); // vyzve uživatele k zadání čísla readln(n); // načtení čísla do proměnné n i:=0; // proměnná i je nastavena na hodnotu nula repeat i:=i+1; writeln(i); until i=n; //začátek cyklu... nejprve se provedou příkazy (tělo cyklu) mezi klíčovými slovy repeat/until, tj. zvýší se hodnota proměnné i o jedničku a její hodnota se vypíše na obrazovku. Poté se vyhodnotí podmínka. Je-li podmínka pravdivá, cyklus se ukončí, v opačném případě se tělo cyklu provede znovu. * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (25) Program (19) má zásadní nedostatek v tom, že zadá-li uživatel jiný znak, než je požadováno, převod se neprovede. Upravte proto program tak, aby vždy došlo k požadovanému převodu jednotek, tj. v případě, že uživatel zadá špatný znak, program vyčká na zadání znaku odpovídajícího. 22
23 (26) Naprogramujte hru na hádání čísla. Program náhodně vygeneruje číslo z intervalu , úkolem hráče je toto číslo uhodnout. Vytvořte hru tak, aby hádající věděl, zda je jeho tip větší nebo menší než hádané číslo. (27) Upravte předchozí hru tak, aby měl hráč na uhodnutí čísla jen osm pokusů a aby měl přehled o tom, kolik pokusů mu ještě zbývá. V případě neúspěchu se na konci vypíše hledané číslo a informace, že hráč číslo neuhodl. (28) Zdramatizujte hru hádání čísla tak, že tipne-li si hráč číslo o jedničku větší nebo menší, než je číslo hledané, program automaticky vygeneruje nové číslo a bude o tom hráče informovat. Počet pokusů omezte podle vlastního uvážení. Cyklus s pevně daným počtem opakování: Object Pascal nabízí pro cyklus s předem daným počtem opakování konstrukci s příkazem For Cyklus s příkazem For Cyklus s příkazem For má následující tvar: nebo for počítadlo := DolníMez to HorníMez do příkaz for počítadlo := HorníMez downto DolníMez do příkaz Počítadlo je proměnná ordinálního typu, při každém průchodu programu cyklem se mění její hodnota o jedničku. Je-li použit tvar s to, počítadlo se při průchodu o jedničku zvyšuje, je-li použit tvar s downto, počítadlo se při průchodu o jedničku snižuje. Cyklus končí v okamžiku, kdy počítadlo dosáhne stejné hodnoty, jako je krajní mez cyklu. Tento cyklus se používá tehdy, známe-li předem přesný počet průchodů. Je-li tělo cyklu tvořeno více než jedním příkazem, musejí být tyto příkazy ohraničeny klíčovými slovy a Ukázkový příklad cyklu s příkazem For: Pro demonstraci příkladu cyklu s příkazem For bude použito stejné zadání jako pro cyklus s příkazem While a Repeat. program For_1; var n,i:integer; 23
24 write('zadej pocet vypisovanych cisel: '); readln(n); for i:=1 to n do writeln(i); //začátek cyklu //při každém průchodu cyklem se bude //provádět příkaz writeln(i) * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (29) Vytvořte program, který na obrazovku počítače vypíše všechna sudá čísla z intervalu 1 < x < 30. Pro výpis použijte cyklus s příkazem For. (30) Vytvořte program, jenž na obrazovku vypíše tabulku druhých mocnin čísel od 1 do 20. (31) Napište program, jehož výstup na obrazovce bude vypadat takto: Počet čísel ve sloupcích bude zadán uživatelem. (32) Vytvořte program, který na obrazovku vypíše pyramidu ze znaku * tak, aby byl vrchol pyramidy přibližně šest řádků od horního okraje obrazovky a aby byl horizontálně zarovnán doprostřed okna. Počet vypisovaných řádků pyramidy si uživatel určí sám. (Předpokládejme, že uživatel zadá nejvíce 30 řádků.) Pyramida na šest řádků bude vypadat takto: * * * * * * * * * * * * * * * * * * * * * (33) Upravte předchozí příklad (32) s pyramidou tak, aby se pyramida vypsala převráceně, tj. vrcholem dolů. Převrácená pyramida na šest řádků bude vypadat takto. * * * * * * * * * * * * * * * * * * * * * 24
25 (34) Představte si posloupnost přirozených čísel, ve které se každá číslice opakuje tolikrát, jaká je její hodnota, tj. 1,2,2,3,3,3,4,4,4,4, atd. (posloupnost je vzestupná). Vytvořte program, který bude umět určit číslici na libovolné pozici posloupnosti. Pozici posloupnosti bude opakovaně zadávat uživatel. Pro ukončení programu uživatel zadá nulu. (35) Rozšiřte jeden z předchozích příkladů s pyramidou tak, aby si uživatel sám zvolil znak, ze kterého bude pyramida postavena. (36) Vytvořte program na výpočet zůstatku na spořicím účtu. Uživatel zadá částku, kterou chce na spořicí učet vložit, úrok spořicího účtu (p.a.) a délku spoření v měsících. Úrok se bude na účet připisovat každý měsíc z aktuálního zůstatku na účtu. Program bude brát v úvahu i patnáctiprocentní daň z úroku. 25
26 3. Oddíl III Pole a řetězec Tento blok se bude věnovat základnímu strukturovanému datovému typu pole, který se objevuje téměř ve všech programovacích jazycích. Datový typ pole lze rozdělit na pole statická a dynamická, případně na pole jednorozměrná a vícerozměrná. Problematika polí je značně rozsáhlá, tento blok se proto bude věnovat jen jednomu typu, a to poli statickému jednorozměrnému. Dále se tento blok bude věnovat datovému typu String, ke kterému lze přistupovat obdobně jako k datovému typu pole. 3.1 Statické jednorozměrné pole a příkaz Array Strukturovaný datový typ pole umožňuje snadně zpracovávat skupinu souvisejících dat. Pod pojmem statické jednorozměrné pole je možné si představit konečnou skupinu prvků stejného datového typu (tj. všechny prvky pole mají stejný typ, např. integer nebo char). Počet prvků pole je dán při deklaraci a za běhu programu jej nelze měnit. Každý prvek (položka) pole je přímo přístupný a má své jedinečné označení, tzv. index. Ordinální hodnota indexu následujícího prvku je vždy o jedničku větší než ordinální hodnota prvku výchozího. Při práci s poli se velmi často využívá cyklu s příkazem For. Datový typ pole se v Object Pascalu definuje pomocí klíčového slova array: array[typ_indexu] of typ_položky typ_indexu je libovolný ordinální typ, který stanoví, jak budou prvky pole indexovány a kolik jich bude. Zpravidla bývá používán interval datového typu Integer typ_položky je libovolný datový typ, který určuje, jaký typ budou mít jednotlivé prvky pole Deklaraci pole v Object Pascalu je možné provést v zásadě dvěma způsoby. Pro účely tohoto studijního materiálu postačí, bude-li předvedena deklarace typu pole, v němž bude pomocí klíčového slova type vytvořen (nadefinován) datový typ pole a za klíčovým slovem var nadeklarován potřebný počet proměnných toho typu. Tato deklarace vypadá následovně: Obecně: type název_pole = array[typ_indexu] of typ_položky var název_proměnné_pole(identifikátor):typ_pole; název_pole je identifikátor, který slouží k identifikaci pole a přístupu k němu 26
27 Příklady deklarací polí: type poledny = array [1..7] of string; polemesice = array [1..12] of string; var dny : poledny; mesice : polemesice; Výše uvedený příklad ukazuje deklaraci strukturovaného datového typu pole. Za klíčovým slovem type jsou vytvořena dvě pole. První typ pole s názvem poledny má sedm prvků typu String (řetězec), typ_indexu je od jedné do sedmi. Dvanáct prvků druhého typu pole polemesic má stejný datový typ String (řetězec), prvky jsou indexovány od jedné do dvanácti. Za klíčovým slovem var jsou vytvořeny dvě proměnné těchto polí. Proměnná dny má sedm prvků, proměnná mesice má prvků dvanáct. Poznámka: Budeme-li ve zdrojovém kódu pracovat s poli, použijeme pro ně proměnné typu pole. V tomto případě proměnné dny, mesice (práce s poli bude upřesněna níže). Další způsoby deklarace polí pomocí klíčového slova type. Příklady jsou uvedeny bez deklarace proměnných za klíčovým slovem var. type polecisel = array [1..20] of real; Deklarace typu pole s názvem polecisel, které má dvacet prvků typu Real, jež jsou indexovány od jedné do dvaceti. const min=1; max=20; type polecisel = array [min..max] of integer; Typ_indexu může obsahovat i konstanty, jako je tomu v tomto příkladě. Důležité je, aby byly konstanty vytvořeny před samotnou deklarací pole. const min=1998; max=2008; type polecisel = array [min..max] of integer; Typ_indexu nemusí vždy začínat (být indexován) od jedničky. Je možné použít jiné indexování, viz výše uvedený příklad. type poleznaku = array [1..10] of char; Zde je uveden příklad deklarace pole znaků, které má deset prvků typu Char a typ_indexu je od jedné do deseti. 27
28 3.1.1 Přístup k prvkům pole K jednotlivým položkám pole lze přistupovat (číst nebo měnit jejich hodnotu) tak, že se ve zdrojovém kódu nejprve uvede identifikátor (název) proměnné daného typu pole, za který se do hranatých závorek přidá index požadované položky. Při přístupu k položkám pole nesmí index v hranatých závorkách překročit (přetéct) meze indexu pole. Jinými slovy, index nesmí odkazovat mimo pole Plnění polí Ukážeme si dva způsoby, jimiž je možné pole naplnit. První způsob je ten, že programátor hodnoty jednotlivých složek pole vyplní ve zdrojovém kódu. Tento způsob se v programátorské praxi zpravidla nepoužívá. Jeho využití je omezeno především pro účely výuky práce s poli. Druhý způsob je dynamický, tj. pole se naplní teprve při běhu programu. Hodnoty jednotlivých položek může program získat různými způsoby: jsou zadány uživatelem, program je náhodně vygeneruje nebo načte z externího souboru apod. Příklady plnění pole: Vytvoříme pole poledny, které bude mít sedm prvků (složek) typu String. Prvky pole budou obsahovat jednotlivé dny v týdnu, viz obr.: První způsob pole naplní programátor ve zdrojovém kódu type poledny = array [1..7] of string; var dny : poledny; dny[1]:= 'Pondělí'; dny[2]:= 'Úterý'; dny[3]:= 'Středa'; dny[4]:= 'Čtvrtek'; dny[5]:= 'Pátek'; dny[6]:= 'Sobota'; dny[7]:= 'Neděle'; // v tomto okamžiku je pole naplněno a můžeme s jeho daty pracovat 28
29 Druhý způsob pole naplní uživatel poté, co jej program vyzve k zadání jednotlivých dnů type poledny = array [1..7] of string; var dny : poledny; i:integer; for i:= 1 to 7 do write('zadej ',i,' den v tydnu: '); readln(dny[i]); // v tomto okamžiku je pole naplněno, následující příkaz For jednotlivé prvky pole vypíše na obrazovku for i:= 1 to 7 do writeln(dny[i]); * * * Procvičení: Všechny programy opatřete poznámkou, ve které bude uvedeno jméno programu a k jakým výpočtům je určen. (37) Vytvořte jednoduchý program tak, že nadefinujete pole, které bude mít pět prvků, prvky budou mít datový typ Integer. Pole naplňte libovolnými hodnotami a poté je pomocí cyklu s příkazem For vypište na obrazovku do dvou řádků. V prvním řádku budou hodnoty jednotlivých složek pole vypsány v pořadí, v jakém jste je zadali, v druhém řádku budou tyto hodnoty vypsány v pořadí obráceném. (38) Upravte předcházející program (37) tak, že hodnoty zadá uživatel. Podmínky pro výpis zůstávají nezměněny. (39) Vytvořte program, který vygeneruje 15 náhodných čísel v intervalu 1 < x < 100. Tato čísla vypíše na obrazovku stejně jako v příkladu (37). (40) Rozšiřte předcházející program o nalezení největšího a nejmenšího prvku. Oba prvky se vypíší na obrazovku. 29
30 3.2 String a práce s řetězcem Datovému typu řetězce String byla pozornost věnována již výše. Nyní se zaměříme na jeho vlastnosti a způsob použití. Definice má tvar: string[délka_řetězce] Délka_řetězce udává maximální délku daného řetězce v intervalu od 1 do 255. Není-li délka_řetězce v definici za klíčovým slovem String uvedena, je délka řetězce automaticky nastavena na maximální velikost, tj. na velikost 255. Kratší řetězce se používají z důvodu úspory místa v operační paměti. Příklady deklarací řetězců: type Str[50] = string [50]; // zde se zavádí typ Str[50] pro ukládání řetězců o délce max. 50 znaků var jmeno: string [15]; prijmeni: string [20]; nadpis: string; // zde jsou deklarovány proměnné jmeno (max. 15 znaků), prijmeni (max. 20 znaků) a nadpis (max. 255 znaků) Datový typ String má obdobné vlastnosti jako typ pole, tj. typ String[N] je reprezentován jako array [0..N] of Char. Na pozici s indexem nula je uložena informace o aktuální délce řetězce a samotný řetězec začíná na pozici s indexem jedna. K jednotlivým pozicím (položkám) je možné přistupovat obdobně, jako je tomu u pole, tj. pomocí indexu pozice uzavřeného v hranatých závorkách. Např. jmeno[1] je první znak řetězce uloženého v proměnné jmeno. Čtení a zápis řetězců Řetězce se čtou pomocí příkazů Read a Readln tak, že se přečtou všechny znaky na řádku a přiřadí se do dané proměnné typu String. Je-li počet znaků v řetězci (na řádku) delší než deklarovaná hodnota, např. 280 znaků, jsou přebývající znaky ignorovány a do proměnné se uloží jen max. nadeklarovaná délka. Je-li počet načítaných znaků menší než max. deklarovaná hodnota, načtou se jen tyto znaky. Pro výpis proměnné typu String se používají příkazy Write a Writeln, které vždy vypíší tolik znaků, jaká je aktuální délka řetězce. 30
31 3.2.1 Přehled příkazů a funkcí pro práci s řetězci V následující části je uveden přehled nejpoužívanějších operací, které lze s řetězci provádět. Pro více informací je možné použít nápovědu vývojového prostředí nebo dostupné referenční příručky jazyka Object Pascal. Copy (řetězec, začátek, délka) Funkce, která vrátí podřetězec z řetězce, jehož počet znaků je zadán hodnotou délka a začíná na pozici začátek. Příklad: Copy( ZakladniSkola,4,5) // vrátí podřetězec ladni Length (řetězec) Funkce, která vrací aktuální délku řetězce zadaného v závorkách. Výsledek je typu Integer. Příklad: delka := Length ( ZakladniSkola ); // do proměnné délka vloží hodnotu 13 delka := Length (jmeno); // do proměnné délka se vloží aktuální počet znaků řetězce jmeno Delete (řetězec, odkud, delka ) Procedura, která vymaže z řetězce podřetězec s počátkem na pozici odkud, jehož počet znaků je dán hodnotou délka. Příklad: nadpis:= Základní_škola ; Delete (nadpis,3,6); // Výsledná hodnota se uloží do proměnné nadpis, jejíž hodnota je: nadpis = Zá_škola Concat (řetězec_1, řetězec_2,..., řetězec_n) Funkce spojující řetězce uvedené v závorce v jeden celek. Je-li délka zřetězeného řetězce větší než deklarovaná délka, je řetězec automaticky zakrácen na tuto délku. Výsledek má typ String. 31
Algoritmizace a programování
Pátek 4. ledna Algoritmizace a programování V algoritmizaci a programování je důležitá schopnost analyzovat a myslet. Všeobecně jsou odrazovým můstkem pro řešení neobvyklých, ale i každodenních problémů.
Více2.4.11 Nerovnice s absolutní hodnotou
.. Nerovnice s absolutní hodnotou Předpoklady: 06, 09, 0 Pedagogická poznámka: Hlavním záměrem hodiny je, aby si studenti uvědomili, že se neučí nic nového. Pouze používají věci, které dávno znají, na
Více( ) 2.4.4 Kreslení grafů funkcí metodou dělení definičního oboru I. Předpoklady: 2401, 2208
.. Kreslení grafů funkcí metodou dělení definičního oboru I Předpoklady: 01, 08 Opakování: Pokud jsme při řešení nerovnic potřebovali vynásobit nerovnici výrazem, nemohli jsme postupovat pro všechna čísla
VíceKvadratické rovnice pro studijní obory
Variace 1 Kvadratické rovnice pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické
VíceAUTORKA Barbora Sýkorová
ČÍSLO SADY III/2 AUTORKA Barbora Sýkorová NÁZEV SADY: Číslo a proměnná číselné označení DUM NÁZEV DATUM OVĚŘENÍ DUM TŘÍDA ANOTACE PLNĚNÉ VÝSTUPY KLÍČOVÁ SLOVA FORMÁT (pdf,, ) 1 Pracovní list číselné výrazy
VíceSada 2 - MS Office, Excel
S třední škola stavební Jihlava Sada 2 - MS Office, Excel 03. Úvod do Excelu 2007. Vkládání dat, vzorce Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
VíceKaždý jednotlivý záznam datového souboru (tzn. řádek) musí být ukončen koncovým znakem záznamu CR + LF.
Stránka 1 z 6 ABO formát Technický popis struktury formátu souboru pro načtení tuzemských platebních příkazů k úhradě v CZK do internetového bankovnictví. Přípona souboru je vždy *.KPC Soubor musí obsahovat
VíceKvadratické rovnice pro učební obory
Variace 1 Kvadratické rovnice pro učební obory Autor: Mgr. Jaromír JUŘEK Kopírování a jkaékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Kvadratické
Více2.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou
.8.9 Parametrické rovnice a nerovnice s absolutní hodnotou Předpoklady: 0,, 806 Pedagogická poznámka: Opět si napíšeme na začátku hodiny na tabuli jednotlivé kroky postupu při řešení rovnic (nerovnic)
VíceSada 2 Microsoft Word 2007
S třední škola stavební Jihlava Sada 2 Microsoft Word 2007 04. Text v záhlaví, zápatí, číslování stránek Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
VíceČíselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana 1 (celkem 7) Číselné soustavy
Číselné soustavy Ing. M. Kotlíková, Ing. A. Netrvalová Strana (celkem 7) Polyadické - zobrazené mnohočlenem desítková soustava 3 2 532 = 5 + 3 + 2 + Číselné soustavy Číslice tvořící zápis čísla jsou vlastně
Více1. Programování, typy programovacích jazyků, historie.
1. Programování, typy programovacích jazyků, historie. třída Console metody Write, WriteLina, ReadLine, ResetColor vlastnosti ForegroundColor, Backgroundcolor třída Form objekt Label vlastnost Text význam
VícePlá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
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPP) Školní rok: 2009/2010 Ročník: I Semestr: II. (letní) Typ předmětu: povinný Rozsah předmětu: 3 3 z, zk Počet kreditů: 6 Přednášející: RNDr.
VícePŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK
PŘÍRUČKA K POUŽÍVÁNÍ APLIKACE HELPDESK Autor: Josef Fröhlich Verze dokumentu: 1.1 Datum vzniku: 4.4.2006 Datum poslední úpravy: 10.4.2006 Liberecká IS, a.s.;jablonecká 41; 460 01 Liberec V; IČ: 25450131;
Více16. února 2015, Brno Připravil: David Procházka
16. února 2015, Brno Připravil: David Procházka Skrývání implementace Základy objektového návrhu Připomenutí návrhu použitelných tříd Strana 2 / 17 Obsah přednášky 1 Připomenutí návrhu použitelných tříd
VíceCERTIFIKOVANÉ TESTOVÁNÍ (CT) Výběrové šetření výsledků žáků 2014
(CT) Výběrové šetření výsledků žáků 2014 Uživatelská příručka pro přípravu školy Verze 1 Obsah 1 ÚVOD... 3 1.1 Kde hledat další informace... 3 1.2 Posloupnost kroků... 3 2 KROK 1 KONTROLA PROVEDENÍ POINSTALAČNÍCH
VíceGymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana
Více1.3.1 Kruhový pohyb. Předpoklady: 1105
.. Kruhový pohyb Předpoklady: 05 Předměty kolem nás se pohybují různými způsoby. Nejde pouze o přímočaré nebo křivočaré posuvné pohyby. Velmi často se předměty otáčí (a některé se přitom pohybují zároveň
Více2.7.2 Mocninné funkce se záporným celým mocnitelem
.7. Mocninné funkce se záporným celým mocnitelem Předpoklady: 70 Mocninné funkce se záporným celým mocnitelem: znamená? 3 y = = = = 3 y y y 3 = ; = ; = ;.... Co to Pedagogická poznámka: Nechávám studenty,
VíceBlueJ a základy OOP. Programování II 1. cvičení Alena Buchalcevová
BlueJ a základy OOP Programování II 1. cvičení Alena Buchalcevová Konzultační hodiny v ISu doc. Alena Buchalcevová Po 14:00-15:00 NAR 220 2 Cíle 1. cvičení pochopit pojmy: třída instance konstruktor metoda
Více( ) ( ) ( ) 2 ( ) 2.7.16 Rovnice s neznámou pod odmocninou II. Předpoklady: 2715
.7.6 Rovnice s neznámou pod odmocninou II Předpoklady: 75 Př. : Vyřeš rovnici y + + y = 4 y + + y = 4 / ( y + + y ) = ( 4) y + + 4 y + y + 4 y = 6 5y + 4 y + y = 8 5y + 4 y + y = 8 - v tomto stavu nemůžeme
VíceM - Rovnice - lineární a s absolutní hodnotou
Rovnice a jejich ekvivalentní úpravy Co je rovnice Rovnice je matematický zápis rovnosti dvou výrazů. př.: x + 5 = 7x - M - Rovnice - lineární a s absolutní hodnotou Písmeno zapsané v rovnici nazýváme
VíceTvorba trendové funkce a extrapolace pro roční časové řady
Tvorba trendové funkce a extrapolace pro roční časové řady Příklad: Základem pro analýzu je časová řada živě narozených mezi lety 1970 a 2005. Prvním úkolem je vybrat vhodnou trendovou funkci pro vystižení
VíceDUM 16 téma: Dávkové soubory
DUM 16 téma: Dávkové soubory ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10Algoritmizace a programování určeno pro: 2-3.ročník vzdělávací obor: vzdělávací oblast: číslo projektu:
VíceDopravní úloha. Jiří Neubauer. Katedra ekonometrie FEM UO Brno
Přednáška č. 9 Katedra ekonometrie FEM UO Brno Distribuční úlohy Budeme se zabývat 2 typy distribučních úloh dopravní úloha přiřazovací problém Dopravní úloha V dopravním problému se v typickém případě
VíceInovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_33_12 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních
VíceJAZYK C PRO MIKROKONTROLÉRY
JAZYK C PRO MIKROKONTROLÉRY Jazyk C pro mikrokontroléry Číslo DUM v digitálním archivu školy VY_32_INOVACE_10_03_01 Vytvořeno 07/2013 Materiál vysvětluje základní princip programování mikrokontrolérů v
VíceJAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY
JAK PŘIDAT UŽIVATELE PRO ADMINISTRÁTORY Po vytvoření nové společnosti je potřeba vytvořit nové uživatele. Tato volba je dostupná pouze pro administrátory uživatele TM s administrátorskými právy. Tento
VíceProgramovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
VíceSada 2 - MS Office, Excel
S třední škola stavební Jihlava Sada 2 - MS Office, Excel 20. Excel 2007. Kontingenční tabulka Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
Více= musíme dát pozor na: jmenovatel 2a, zda je a = 0 výraz pod odmocninou, zda je > 0, < 0, = 0 (pak je jediný kořen)
.8.7 Kvadratické rovnice s parametrem Předpoklady: 507, 803 Pedagogická poznámka: Na první pohled asi každého zarazí, že takřka celá hodina je psána jako příklady a studenti by ji měli vypracovat samostatně.
VíceMetodika pro učitele
Metodika pro učitele Úprava a práce s fotografiemi v programu PhotoScape Obrázkový editor PhotoScape je zdarma dostupný program, který nabízí jednoduchou úpravu obrázků a fotek, je určen začátečníků a
VíceLokální a globální extrémy funkcí jedné reálné proměnné
Lokální etrémy Globální etrémy Použití Lokální a globální etrémy funkcí jedné reálné proměnné Nezbytnou teorii naleznete Breviáři vyšší matematiky (odstavec 1.). Postup při hledání lokálních etrémů: Lokální
VíceMinisterstvo pro místní rozvoj. podprogram 117 513
Pokyny pro vyplnění elektronické žádosti podprogram 117 513 Podpora výstavby technické infrastruktury Elektronická žádost je umístěna na internetové adrese http://www3.mmr.cz/zad a lze na ni vstoupit i
VíceStřední průmyslová škola strojnická Olomouc, tř.17. listopadu 49
Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49 Výukový materiál zpracovaný v rámci projektu Výuka moderně Registrační číslo projektu: CZ.1.07/1.5.00/34.0205 Šablona: III/2 Informační
VíceSvobodná chebská škola, základní škola a gymnázium s.r.o. pochopení pojmů a výpočtů objemů a obvodů
METODICKÝ LIST DA46 Název tématu: Autor: Předmět: Ročník: Metody výuky: Formy výuky: Cíl výuky: Získané dovednosti: Stručný obsah: Obvod a obsah I. - obrazce Astaloš Dušan Matematika šestý frontální, fixační,
VíceGoogle Apps. pošta 2. verze 2012
Google Apps pošta verze 0 Obsah Obsah... Úvod... Přečtení emailu... Napsání emailu... Odpověď na email... 6 Úvod V dnešní době chce mít každý své informace po ruce. Díky Internetu a online aplikacím je
VíceVstup a přihlášení do systému. Dokumentace k programu. Zápis hodnocení studentů 1. možnost zápis po jednotlivých studentech
Manuál pro vyučující pro práci se Smile ISIS Smile ISIS je nový internetový školní informační systém, který naše škola postupně zavádí. do systému je možno vstupovat z jakéhokoliv počítače, stačí mít připojení
VíceStudijní informační systém. Nápověda pro vyučující 2 Práce s rozvrhem a předměty
Studijní informační systém Nápověda pro vyučující 2 Práce s rozvrhem a předměty Vyučující a tajemníci (osoby s tajemnickou rolí pro SIS) mají možnost v období elektronického zápisu upravovat zápis studentů
VíceDůkazové metody. Teoretická informatika Tomáš Foltýnek
Důkazové metody Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Matematický důkaz Jsou dány axiomy a věta (tvrzení, teorém), o níž chceme ukázat, zda platí. Matematický důkaz je nezpochybnitelné
Více1.1.1 Kvadratické rovnice (dosazení do vzorce) I
.. Kvadratické rovnice (dosazení do vzorce) I Předpoklady: základní početní operace Rovnicí se nazývá vztah rovnosti mezi dvěma výrazy obsahujícími jednu nebo více neznámých. V této kapitole se budeme
VíceSystém zvukové signalizace a spouštění motoru na základě stavu světla
Systém zvukové signalizace a spouštění motoru na základě stavu světla vzorová úloha (SŠ) Jméno Třída.. Datum.. 1. Teoretický úvod Cílem této úlohy je sestavit systém sledující stav světla, které bude vyhodnocováno
VíceVyužití EduBase ve výuce 2
B.I.B.S., a. s. Využití EduBase ve výuce 2 Projekt Vzdělávání pedagogů v prostředí cloudu reg. č. CZ.1.07/1.3.00/51.0011 Mgr. Jitka Kominácká, Ph.D. a kol. 2015 1 Obsah 1 Obsah... 2 2 Úvod... 3 3 Aktivita:
VícePostup práce s elektronickým podpisem
Obsah 1. Obecné informace o elektronickém podpisu... 2 2. Co je třeba nastavit, abyste mohli používat elektronický podpis v MS2014+... 2 2.1. Microsoft Silverlight... 2 2.2. Zvýšení práv pro MS Silverlight...
VíceDůležité zásady pro vytváření korektních souborů pro import do databáze IWAM
Důležité zásady pro vytváření korektních souborů pro import do databáze IWAM Přednášející: Luděk Habrda Ing. Libor Juriš, Ing. Tomáš Kocman Kocman Monitoring, Teyschlova 30, 635 00 Brno tel. +420602786247,
VíceIMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE
Nové formy výuky s podporou ICT ve školách Libereckého kraje IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE Podrobný návod Autor: Mgr. Michal Stehlík IMPORT A EXPORT MODULŮ V PROSTŘEDÍ MOODLE 1 Úvodem Tento
Více1. Kruh, kružnice. Mezi poloměrem a průměrem kružnice platí vztah : d = 2. r. Zapíšeme k ( S ; r ) Čteme kružnice k je určena středem S a poloměrem r.
Kruh, kružnice, válec 1. Kruh, kružnice 1.1. Základní pojmy Kružnice je množina bodů mající od daného bodu stejnou vzdálenost. Daný bod označujeme jako střed kružnice. Stejnou vzdálenost nazýváme poloměr
VíceE-ZAK. metody hodnocení nabídek. verze dokumentu: 1.1. 2011 QCM, s.r.o.
E-ZAK metody hodnocení nabídek verze dokumentu: 1.1 2011 QCM, s.r.o. Obsah Úvod... 3 Základní hodnotící kritérium... 3 Dílčí hodnotící kritéria... 3 Metody porovnání nabídek... 3 Indexace na nejlepší hodnotu...4
Více{ } 9.1.9 Kombinace II. Předpoklady: 9108. =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce.
9.1.9 Kombinace II Předpoklady: 9108 Př. 1: Je dána pěti prvková množina: M { a; b; c; d; e} =. Vypiš všechny dvoučlenné kombinace sestavené z těchto pěti prvků. Urči počet kombinací pomocí vzorce. Vypisujeme
VíceA. Struktura grafického kódu na dokladech o získání základního vzdělání
Příloha 1 A. Struktura grafického kódu na dokladech o získání základního vzdělání Uvedená struktura údajů je určena pro doklady vydávané podle vzoru 3.1 Vysvědčení o získání základního vzdělání v základní
VíceINFORMACE K POKUSNÉMU OVĚŘOVÁNÍ ORGANIZACE PŘIJÍMACÍHO ŘÍZENÍ SŠ S VYUŽITÍM JEDNOTNÝCH TESTŮ
INFORMACE K POKUSNÉMU OVĚŘOVÁNÍ ORGANIZACE PŘIJÍMACÍHO ŘÍZENÍ SŠ S VYUŽITÍM JEDNOTNÝCH TESTŮ INFORMACE PRO UCHAZEČE O PŘIJETÍ KE STUDIU ZÁKLADNÍ INFORMACE KE KONÁNÍ JEDNOTNÝCH TESTŮ Český jazyk a literatura
VíceMobilní aplikace pro ios
Předběžná zadávací dokumentace k projektu: Mobilní aplikace pro ios Kontaktní osoba: Jan Makovec, makovec@ckstudio.cz Obsah Cíl projektu... 2 Obrazovky aplikace... 2 Základní prostředí aplikace... 2 Intro...
VíceVýsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013
Výsledky testování školy Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy Školní rok 2012/2013 Gymnázium, Šternberk, Horní náměstí 5 Termín zkoušky: 13.
Více2.7.1 Mocninné funkce s přirozeným mocnitelem
.7. Mocninné funkce s přirozeným mocnitelem Předpoklad: 0 Pedagogická poznámka: K následujícím třem hodinám je možné přistoupit dvěma způsob. Já osobně doporučuji postupovat podle učebnice. V takovém případě
VíceElektronický formulář
Úvod Elektronický formulář a postup při jeho podání Tento dokument je průvodcem uživatele při vyplňování a odeslání elektronického formuláře žádosti. Jednotlivé žádosti o dotaci jsou ve formátu 602 XML
VíceKlientský formát POHLEDÁVKY platný od 23. 11. 2012
Klientský formát POHLEDÁVKY platný od 23. 11. 2012 1/5 1 Úvod 1.1 Účel dokumentu Účelem tohoto dokumentu je popis formátu POHLEDAVKA a požadovaných validací při IMPORTu dat ve vazbě na návazné účetní SW
VícePrůvodce e learningem
Průvodce e learningem Vstup do systému Pro správnou funkci kurzů je nutné používat aktuální verze internetových prohlížečů. Pokud si nejste jisti, jakou verzi internetového prohlížeče používáte, doporučujeme
VícePoznámky k verzi Remote Support Platform 3.0
Poznámky k verzi Remote Support Platform for SAP Business One Verze dokumentu: 1.0 2012-10-08 VEŘEJNÉ Poznámky k verzi Remote Support Platform 3.0 Všechny státy Typografické konvence Styl typu Příklad
VíceSada 1 CAD1. 15. Registrace studentů a učitelů středních škol pro účely stažení legálního výukového SW firmy Autodesk
S třední škola stavební Jihlava Sada 1 CAD1 15. Registrace studentů a učitelů středních škol pro účely stažení legálního výukového SW firmy Autodesk Digitální učební materiál projektu: SŠS Jihlava šablony
VícePROGRAMOVÁNÍ SVĚTELNÝCH OZDOB
Středoškolská technika 2016 Setkání a prezentace prací středoškolských studentů na ČVUT PROGRAMOVÁNÍ SVĚTELNÝCH OZDOB Jiří Bendík, Martin Bárta Střední odborná škola strojní a elektrotechnická U Hřiště
VíceModul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení
Modul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení 7.10.2015 Denková Barbora, DiS. Datum tisku 7.10.2015 2 Modul účetnictví: Kontrolní výkaz DPH (SK) Modul u c etnictví : Kontrolní vý kaz DPH
Víceimedicus - internetové objednávání
imedicus - internetové objednávání verze: 27. červenec 2009 2 1. Medicus Komfort imedicus - internetové objednávání imedicus slouží k internetovému objednávání pacientů. Přispívá ke zvýšení pohodlí pacientů
Více( ) 2.5.7 Neúplné kvadratické rovnice. Předpoklady: 020501
..7 Neúplné kvadratické rovnice Předpoklady: Pedagogická poznámka: Tato hodina patří mezi vzácné výjimky, kdy naprostá většina studentů skončí více než pět minut před zvoněním. Nechávám je dělat něco jiného
VíceVzdělávací oblast: Matematika a její aplikace. Obor vzdělávací oblasti: Seminář z matematiky. Ročník: 7. Poznámky
Vzdělávací oblast: Matematika a její aplikace Obor vzdělávací oblasti: Seminář z matematiky Ročník: 7. Výstupy - kompetence Učivo Průřezová témata,přesahy, a další poznámky - převádí jednotky délky, času,
VícePŘÍLOHA č. 2B PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU
PŘÍLOHA č. 2B PRAVIDEL PRO ŽADATELE A PŘÍJEMCE PŘÍRUČKA IS KP14+ PRO OPTP - ŽÁDOST O ZMĚNU OPERAČNÍ PROGRAM TECHNICKÁ POMOC Vydání 1/7, platnost a účinnost od 04. 04. 2016 Obsah 1 Změny v projektu... 3
VíceVerzovací systémy (systémy pro správu verzí)
Verzovací systémy (systémy pro správu verzí) Co je verzování 1 / Úvod způsob uchovávání historie všech provedených změn u nějakého dokumentu - typicky zdrojové kódy, blueprinty,... >> správa více verzí
VíceGoogle AdWords - návod
Google AdWords - návod Systém Google AdWords je reklamním systémem typu PPC, který provozuje společnost Google, Inc. Zobrazuje reklamy ve výsledcích vyhledávání či v obsahových sítích. Platí se za proklik,
VíceZvyšování kvality výuky technických oborů
Zvyšování kvality výuky technických oborů Klíčová aktivita IV. Inovace a zkvalitnění výuky směřující k rozvoji matematické gramotnosti žáků středních škol Téma IV.. Kvadratické funkce, rovnice a nerovnice
VíceDUM 11 téma: Nástroje pro transformaci obrázku
DUM 11 téma: Nástroje pro transformaci obrázku ze sady: 2 tematický okruh sady: Bitmapová grafika ze šablony: 09 Počítačová grafika určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu:
VícePoznámky k verzi. Scania Diagnos & Programmer 3, verze 2.27
cs-cz Poznámky k verzi Scania Diagnos & Programmer 3, verze 2.27 Verze 2.27 nahrazuje verzi 2.26 programu Scania Diagnos & Programmer 3 a podporuje systémy ve vozidlech řady P, G, R a T a řady F, K a N
VíceDUM téma: KALK Výrobek sestavy
DUM téma: KALK Výrobek sestavy ze sady: 2 tematický okruh sady: Příprava výroby a ruční programování CNC ze šablony: 6 Příprava a zadání projektu Určeno pro : 3 a 4 ročník vzdělávací obor: 23-41-M/01 Strojírenství
VíceAritmetika s didaktikou I.
Katedra matematiky PF UJEP Aritmetika s didaktikou I. KM1 / 0001 Přednáška 03 Operace v množině, vlastnosti binárních operací O čem budeme hovořit: zavedení pojmu operace binární, unární a další operace
VíceA7B39PDA Deliverable D3 ČVUT FEL, 2014/2015 Daniil Barabash, Adam Samec, Tatiana Okonechnikova. Principy tvorby mobilních aplikací (A7B39PDA)
Principy tvorby mobilních aplikací (A7B39PDA) Deliverable D3 Staročeská šibenice ITJ HGM Daniil Barabash Adam Samec Tatiana Okonechnikova České vysoké učení technické v Praze Fakulta elektrotechnická 2014/2015
VícePHP formátování řetězců
PHP formátování řetězců V této části se budeme zabývat relativně podrobně formátováním řetězců v PHP. Kdy se nám může formátování řetězců hodit? Například při generování loginů, jako jednoznačných identifikátorů
VíceVrtání závitů bez vyrovnávací hlavičky (G331, G332)
Předpoklady Funkce Technickým předpokladem pro vrtání závitů bez vyrovnávací hlavičky je vřeteno s regulací polohy a systémem pro měření dráhy. Vrtání závitů bez vyrovnávací hlavičky se programuje pomocí
VíceNázev: VY_32_INOVACE_PG3309 Booleovské objekty ve 3DS Max - sčítání a odčítání objektů
Název: VY_32_INOVCE_PG3309 ooleovské objekty ve 3DS Max - sčítání a odčítání objektů utor: Mgr. Tomáš Javorský Datum vytvoření: 05 / 2012 Ročník: 3 Vzdělávací oblast / téma: 3D grafika, počítačová grafika,
VíceAplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 18 TVORBA PLOCH]
Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Aleš Najman [ÚLOHA 18 TVORBA PLOCH] 1 ÚVOD V této kapitole je probírána tématika tvorby ploch pomocí funkcí vysunutí, rotace a tažení. V moderním světě,
VíceWindows 10 (6. třída)
Windows 10 (6. třída) Okno spuštěné aplikace: takto vypadá okno aplikace Malování - panel nástrojů Rychlý přístup Titulkový pruh se jménem souboru (Bez názvu) tlačka pro minimalizaci, obnovení z maxima
Více9.2.5 Sčítání pravděpodobností I
9.2.5 Sčítání pravděpodobností I Předpoklady: 9203 Pedagogická poznámka: Následující problém sice zadávám jako příklad, ale minimálně na začátku s žáky počítám na tabuli. I kvůli tomu, aby jejich úprava
VíceUživatelská dokumentace
Uživatelská dokumentace k projektu Czech POINT Provozní řád Vydání ověřeného výstupu z živnostenského rejstříku Vytvořeno dne: 11.4.2007 Aktualizováno: 25.5.2010 Verze: 4.3 2009 MVČR Obsah 1. Přihlášení
VíceDS SolidWorks PDM Workgroup
Komplexní správa dat s podporou systému DS SolidWorks PDM Workgroup Příklad 3 - Tvorba CAD sestavy s podporou PDMW Ing. Martin Nermut, 2012 Cíl: Vytvořit pomocí aplikace SolidWorks jednoduchou sestavu
VíceKlientský portál leasing24.cz. KLIENTSKÝ PORTÁL 24 NÁVOD NA PŘIHLÁŠENÍ A REGISTRACI UŽIVATELE Leasing24.cz. Stránka 1 z 15
KLIENTSKÝ PORTÁL 24 NÁVOD NA PŘIHLÁŠENÍ A REGISTRACI UŽIVATELE Leasing24.cz Stránka 1 z 15 OBSAH O klientském portálu... 3 Registrace klienta... 4 K první registraci budete potřebovat... 5 Registrace prostřednictvím
VíceVýsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013
Výsledky testování školy Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy Školní rok 2012/2013 Základní škola Ústí nad Orlicí, Komenského 11 Termín zkoušky:
Více3.2.4 Podobnost trojúhelníků II
3..4 odobnost trojúhelníků II ředpoklady: 33 ř. 1: Na obrázku jsou nakresleny podobné trojúhelníky. Zapiš jejich podobnost (aby bylo zřejmé, který vrchol prvního trojúhelníku odpovídá vrcholu druhého trojúhelníku).
VíceSekvenční logické obvody
Sekvenční logické obvody 7.přednáška Sekvenční obvod Pokud hodnoty výstupů logického obvodu závisí nejen na okamžitých hodnotách vstupů, ale i na vnitřním stavu obvodu, logický obvod se nazývá sekvenční.
VíceSrovnání posledních dvou verzí studijních plánů pro studijní obor. Informační systémy. (studijní program Aplikovaná informatika)
Srovnání posledních dvou verzí studijních plánů pro studijní obor Informační systémy (studijní program Aplikovaná informatika) Úvod Ve STAGu jsou poslední verze studijních plánů pro studijní obor Informační
VícePohyb v listu. Řady a posloupnosti
Pohyb v listu. Řady a posloupnosti EU peníze středním školám Didaktický učební materiál Anotace Označení DUMU: VY_32_INOVACE_IT4.05 Předmět: IVT Tematická oblast: Microsoft Office 2007 Autor: Ing. Vladimír
VíceMicrosoft Office. Word styly
Microsoft Office Word styly Karel Dvořák 2011 Styly Používání stylů v textovém editoru přináší několik nesporných výhod. Je to zejména jednoduchá změna vzhledu celého dokumentu. Předem připravené styly
Více(a) = (a) = 0. x (a) > 0 a 2 ( pak funkce má v bodě a ostré lokální maximum, resp. ostré lokální minimum. Pokud je. x 2 (a) 2 y (a) f.
I. Funkce dvou a více reálných proměnných 5. Lokální extrémy. Budeme uvažovat funkci f = f(x 1, x 2,..., x n ), která je definovaná v otevřené množině G R n. Řekneme, že funkce f = f(x 1, x 2,..., x n
VíceVirtuální přístroje. Použití grafického programování v LabVIEW. Ing. Pavel Mlejnek
Virtuální přístroje Použití grafického programování v LabVIEW Ing. Pavel Mlejnek mlejnp1@fel.cvut.cz Grafické programování LabVIEW Základní informace Principy grafického programování Vývojové prostředí
VíceVýukový materiál zpracován v rámci projektu EU peníze školám
Výukový materiál zpracován v rámci projektu EU peníze školám Název školy: Střední zdravotnická škola a Obchodní akademie, Rumburk, příspěvková organizace Registrační číslo projektu: CZ.1.07/1.5.00/34.0649
VícePravidla pro publicitu v rámci Operačního programu Doprava
Pravidla pro publicitu v rámci Operačního programu Doprava Prioritní osa 7 -Technická pomoc Praha - prosinec 2010 Verze 1.0 Ministerstvo dopravy www.opd.cz OBSAH Úvod...3 Obecná pravidla...4 Legislativní
VíceKIV/ZI Základy informatiky. MS Excel maticové funkce a souhrny
KIV/ZI Základy informatiky MS Excel maticové funkce a souhrny cvičící: Michal Nykl zimní semestr 2012 MS Excel matice (úvod) Vektor: (1D) v = [1, 2, 3, 5, 8, 13] Např.: matice sousednosti Matice: (2D)
VíceSignály Mgr. Josef Horálek
Signály Mgr. Josef Horálek Signály = Jedná se o nejstarší metody komunikace mezi procesem a jádrem, a mezi samotnými procesy. = Princip: = Prosec vykonává určitou činnost přijde mu signál přeruší původní
VíceVyužití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448
Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Číslo projektu
Více1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
VíceOperační program Rybářství 2007-2013
OP Rybářství 2007-2013 Operační program Rybářství 2007-2013 Elektronické podání Žádosti o dotaci opatření 3.1. a) (6.kolo OP Rybářství) Oddělení metodiky OP Rybářství Ing. Antonín VAVREČKA, Ing. Miroslav
VíceZvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010
Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010 Novinky v PowerPoint 2010 Správa souborů v novém zobrazení Backstage Automatické ukládání verzí prezentace Uspořádání snímků
Vícehttp://www.zlinskedumy.cz
Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Autor Ročník 2, 3 Obor Anotace CZ.1.07/1.5.00/34.0514 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Elektronické obvody, vy_32_inovace_ma_42_06
VíceELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT 2-3
ELEKTROTECHNICKÁ MĚŘENÍ PRACOVNÍ SEŠIT - Název úlohy: Měření vlastností regulačních prvků Listů: List: Zadání: Pro daný regulační prvek zapojený jako dělič napětí změřte a stanovte: a, Minimálně regulační
Více