Algoritmy I Cvičení č. 3
Cíl hodiny Příprava na písemku Cykly for, while, do-while Příkazy break, continue, return Příkaz switch
Úloha č.1 Jsou dána tři nezáporná čísla, která představují délky stran trojúhelníka. Ověřte, zda-li by bylo možné zkonstruovat trojúhelník. Příklad vstup: 1 1 0 výstup: Nelze vstup: 5 4 3 výstup: Ano lze zkonstruovat trojúhelník.
Úloha č.2 Vypište všechna celá čísla od nuly po n na obrazovku. Uživatel tedy zadá číslo n a program vypíše všechna čísla po n. Číslo n musí být větší než 1 a menší než 100, jinak program vypíše chybovou hlášku a ukončí se. A.) cyklem for B.) cyklem while C.) cyklem do-while
Úloha č.3 Napište program, který přečte číslo n z klávesnice, kde n > 0 a zároveň n < 10. A.) Program vypíše na řádek n znaků X. B.) Program vypíše na první řádek jednu hvězdičku, na druhý dvě, atd. Až po n řádků. C.) Program vypíše na první řádek n znaků O, na druhý n-1 znaků O atd. Až po jeden znak O na posledním řádku.
Úloha č.4 Vypište všechna lichá čísla z intervalu <a,b>. Příklad: Vstup: <-2, 5> Výstup: -1 1 3 5
Úloha č.5 Uživatel bude v cyklu zadávat celá čísla. Pokud uživatel zadá číslo 0, program vypíše nejmenší a největší zadané číslo (s číslem 0 se nepočítá).
Úloha č.6 V cyklu načítejte postupně celá čísla. A.) Pokud bude číslo záporné, program vypíše: Číslo je záporné. B.) Pokud bude číslo sudé a větší než 10, program vypíše: Číslo je sudé a > než 10 C.) Pokud bude číslo 0, program se ukončí
Úloha č.7 Uživatel zadá interval celých čísel <a, b>. A.) Pokud a < b, tak vypíše všechna čísla vzestupně B.) Pokud je a >= b tak vypíše všechna čísla od největšího po nejmenší Příklad: Vstup: 10, 15 Výstup: 10 11 12 13 14 15
Úloha č.8 Napište program, který bude opisovat zadané znaky na obrazovku. Znaky @ a G nahraďte znakem #. Jakmile program přečte znak *, okamžitě se ukončí. A.) Využijte pouze podmínku if B.) Využijte pouze příkaz switch (bez podmínky if) Pozor změna zadání !!!
Úloha č.9 Napište program, který vypíše faktoriál zadaného čísla. Například pokud uživatel zadá číslo 5, program vypíše 120, protože 5! = 5.4.3.2.1 = 120
Úloha č.10 Určete ciferný součet daného přirozeného čísla (např. číslo 463 má ciferný součet 13) - pomocí operací dělení a zbytek po celočíselném dělení. Nápověda: 463 / 100 = 4 463 % 100 = 63 63 / 10 = 6 63 % 10 = 3
Úloha č.11 Napište program pro iterační výpočet n-té mocniny daného reálného čísla a (pro n=0, n>0, n<0). Zkontrolujte správnost vstupu.
Úloha č.12 Napište program pro iterační výpočet největšího společného dělitele dvou kladných celých čísel a, b.
Úloha č.13 Zkuste si práci s příkazy break, continue a return například v tomto cyklu: for (int i = 0; i < 5; i++) { if (i == 0) continue; if (i == 1) { cout << ”i se rovna 1”; continue; cout << ”Tento text se nezobrazi”; return; } break; a tak dále
Co si zapamatovat? Tvorbu cyklu for, while, do-while a jejich použití Co dělají příkazy break, continue, return
Domácí úkol Na vstupu jsou dvě data tj. den, měsíc a rok prvního data a den, měsíc a rok druhého data. Váš program určí které datum bylo dříve (případně vypíše, že data jsou shodná). Dále program pro oba zadané roky, jestli byl či nebyl přestupný. Pozor, pro určení přestupného roku nestačí jen dělitelnost 4!