VÝUKOVÝ MATERIÁL Identifikační údaje školy
Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vytvořeno Určeno pro Přílohy
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 CZ.1.07/1.5.00/34.1076 Pro vzdělanější Šluknovsko 32 – Inovace a zkvalitnění výuky prostřednictvím ICT 0207 Mgr. Bc. Jan Škoda Programování VY_32_INOVACE_0207_0220 Cvičení Žák si upevní příkazy probrané v předchozích kapitolách v programovacím jazyku C 22. 7. 2013 3. ročník oboru Informační technologie 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.