VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu CZ.1.07/1.5.00/34.1076 Název projektu Pro vzdělanější Šluknovsko Číslo a název šablony 32 Inovace a zkvalitnění výuky prostřednictvím ICT Autor 0207 Mgr. Bc. Jan Škoda Tematická oblast Programování Číslo a název materiálu VY_32_INOVACE_0207_0220 Cvičení Anotace Žák si upevní příkazy probrané v předchozích kapitolách v programovacím jazyku C Vytvořeno 22. 7. 2013 Určeno pro 3. ročník oboru Informační technologie Přílohy Bez příloh
Metodický list Učitel: Výklad s projekcí elektronického učebního materiálu. Demonstrace v reálném prostředí. Ukázka obecného postupu činností. Monitorování činnosti žáků. Žák: Sleduje výkladovou projekci a demonstraci učitele. Procvičuje na reálném prostředí softwaru.
c++ Cvičení
Začínáme Napište program, který vypíše na obrazovku text "Ahoj světe". Upravte program tak, aby se text vypsal pod sebe dvakrát.
Proměnné Napište program, který vypíše na obrazovku cele číslo 32. Toto číslo bude uložené v proměnné. Přidejte do programu proměnnou, která bude obsahovat řetězec "lidí" a vypište jej na obrazovku hned za číslem z předchozího úkolu.
Pole Vytvořte pole celých čísel o délce 5 a naplňte jej hodnotami 5,4,3,2,1. Vytvořte pole jmen o velikosti 3 a naplňte je vlastními daty. Vytvořte program, ve kterém přečtete několik jmen (nepoužívejte jména s diakritickými znaménky), abecedně je seřaďte a opět vypište. Napište funkci, která přečte jméno a příjmení (jako dva řetězce - používejte pouze písmena anglické abecedy), u příjmení změňte všechny znaky na velká písmena a u jména všechny znaky na malá písmena. Hodnota funkce bude text vytvořený spojením příjmení, mezera, jméno. Tuto funkci vyzkoušejte v nějakém programu.
Větvení (IF) Zadaná tři čísla uspořádejte sestupně podle jejich absolutní hodnoty. Zjistěte, zda daná tři čísla mohou být stranami trojúhelníku. Otestujte číslo na vstupu, zda je liché nebo sudé. Zjistěte, zda je číslo na vstupu kladné, záporné nebo nulové.
Cykly Vypište na obrazovku 1000x Hello". Vytvořte pole celých čísel o velikosti 100 a naplňte jej hodnotami 0-99. Pokuste se přepsat algoritmus tak, abyste použili jiný cyklus než jaký je ve stávajícím programu.
Procedury Napište proceduru, která vytiskne N znaků znaku Z. Napište proceduru, která počítá součet dvou matic dané velikosti. Napište proceduru, která v poli s 20 celými čísly nahradí všechny záporné hodnoty nulami, nezáporné ponechá beze změn.
Funkce Naprogramujte funkci, která vypočítá n-tou mocninu celého čísla. Napište funkci, která bude dávat výsledek, zda je číslo liché. Vytvořte funkci, které budou počítat přeponu pravoúhlého trojúhelníku, jsou-li dány dvě odvěsny. Vytvořte funkci, která převede čas zadaný v sekundách na hodiny, minuty a sekundy a vytiskne ve tvaru h:mm:ss.
Standardní vstup a výstup Napište proceduru, která zapíše do souboru text Hello". Napište proceduru, která přečte ze souboru vytvořeného předchozím příkladem Hello". Napište program, který se zeptá na jméno, příjmení a věk a údaje uloží do souboru. Využijte procedury a funkce.
Ukazatele Napište program, který dynamicky přidělí paměť celému číslu. Vložte do paměti hodnotu 32. Vypište adresu a hodnotu této proměnné. Napište funkci, která bude dynamicky přidělovat paměť celému číslu a bude vracet jeho ukazatel.
Test Jaký je rozdíl mezi aplikací GUI a konzolovou aplikací? Můžeme přiřadit číselnou konstantu s desetinnou částí do proměnné celočíselného datového typu? Jakou hodnotu proměnná získá, když ji deklarujeme? Kolik volání funkcí main může mít program?
Test Co C++ dělá k zajištění nepřepsání informací za koncem pole? Kolik hodnot může vracet funkce? Co dělá funkce strcpy? Kolik funkcí může program obsahovat? Může funkce volat jinou funkci? Je index prvního prvku pole 0 nebo 1?
Test Kolik úrovní vnoření může být u příkazu if? Bude cyklus automaticky ukončen v případě nekonečného cyklu? Musí příkaz switch obsahovat část default? Které příkazy jsou provedeny, když podmínka příkazu if je pravdivá? Co reprezentují tři parametry příkazu for? Čím se liší cykly while a do-while? Co dělají příkazy break a continue?
Test Může být více proměnných stejného jména? Můžeme používat samotnou strukturu bez vytvoření její instance? Co je to globální proměnná? Může struktura obsahovat různé typy dat (char, int, float, atd.)? Jak přistupujeme ke složkám struktury? Je dovoleno mít pole struktur?
Zdroje BERAN, Martin. Učebnice Borland C: učebnice programování v Borland C 4. generace. Praha: BEN - technická literatura, 1995, 442 s. ISBN 80-238-0304-2. HEROUT, Pavel. Učebnice jazyka C. 3. vyd. České Budějovice: Kopp, 1994, 269 s. ISBN 80-858-2821-9. HEROUT, Pavel. Učebnice jazyka C: 2. díl. 1. vyd. České Budějovice: KOPP, 1995, 236 s. ISBN 80-858-2850-2. SCHILDT, Herbert. Nauč se sám C. Překlad Jiří Grée, Adéla Gréeová. Praha: SoftPress, 2001, 623 s. ISBN 80-864-9713-5.