C2184 Úvod do programování v Pythonu Nepovinné úkoly – vzorová řešení Cvičení 2.1: Obdélník V této ukázce si napíšeme program pro výpočet obvodu a povrchu obdélníku: Obvod 𝑜 a povrch 𝑆 obdélníku o stranách 𝑎, 𝑏 můžeme spočítat podle vzorců: 𝑜 = 2𝑎 + 2𝑏 𝑆 = 𝑎𝑏 Úkol: Spočítejte obvod a povrch obdélníku o stranách a, b. Výsledky uložte do proměnných o, S. (O vstup a výstup se stará předpřipravený kód. Tj. první řádek kódu vám zobrazí okénko, do kterého vpíšete vzorový vstup (nebo jiný vstup), a zadané hodnoty se uloží do proměnných a, b. Poslední řádek pak vypíše hodnoty o, S. Stačí doplnit výpočet mezi tím.) Vzorový vstup: 4 2.5 Vzorový výstup: o: 13.0 S: 10.0 [ ]: a, b = [float(x) for x in input().split()] # vstup o = 2*a + 2*b S = a*b print('o:', o, 'S:', S) # výstup 1 Cvičení 2.2: Pravoúhlý trojúhelník Mějme pravoúhlý trojúhelník 𝐴𝐵𝐶 s odvěsnami 𝑎, 𝑏 a přeponou 𝑐. Pro úhel 𝛼 platí tyto vztahy: sin 𝛼 = 𝑎 𝑐 cos 𝛼 = 𝑏 𝑐 tan 𝛼 = 𝑎 𝑏 Úkol: Ze zadaných délek odvěsen a, b spočítejte velikost úhlu 𝛼 ve stupních. Výsledek uložte do proměnné alpha. (O vstup a výstup se stará předpřipravený kód.) Vzorový vstup: 10 20 Vzorový výstup: 26.565 [ ]: a, b = [float(x) for x in input().split()] # vstup import math # Ze 3. vzorce vyjádříme alfu - musíme použít inverzní funkci # k tangensu, tj. arkus tangens: alpha_rad = math.atan(a/b) # Výsledek v radiánech ještě musíme převést na stupně: alpha = math.degrees(alpha_rad) print(f'{alpha:.3f}') # výstup (na 3 desetinná místa) Cvičení 2.3: Oblíbené číslo Alice, Bob a Cyril si chtějí vybrat společné oblíbené číslo. • Alici se líbí dvouciferná čísla, která obsahují čtyřku. • Bobovi se líbí čísla dělitelná třemi. • Cyrilovi se líbi všechna čísla kromě násobků sedmi. Úkol: Zjistěte, jestli se zadané přirozené číslo n bude líbit všem třem. Výsledek uložte do proměnné all_like. (O vstup a výstup se stará předpřipravený kód.) 2 Tip: úkol rozdělte na podúkoly a částečné výsledky si ukládejte do pomocných proměnných (např. has_2_digits, bob_likes…). Vzorový vstup 1:   Vzorový vstup 2:   Vzorový vstup 3:   45 42 12 Vzorový výstup 1:   Vzorový výstup 2:   Vzorový výstup 3:   True False False [ ]: n = int(input()) # vstup # Alice: # Dvoucifernost ověříme tak, že zjistíme, jestli je číslo # z intervalu 10-99. # Jestli obsahuje číslici 4 zjistíme tak, že číslo rozdělíme # na první a druhou cifru pomocí operátorů celočíselného dělení: # první cifra je n // 10, druhá cifra je n % 10. # (Pozor, toto řešení funguje jen za předpokladu, že číslo je # dvouciferné. Existuje i jednodušší řešení, ale vyžaduje operace # s řetězci (naučíme se v příští kapitole).) alice = (10 <= n <= 99) and (n // 10 == 4 or n % 10 == 4) # Bob a Cyril: # Dělitelnost nějakým číslem ověříme tak, že zjistíme, # jestli je zbytek po dělení nulový: bob = n % 3 == 0 cyril = n % 7 != 0 all_like = alice and bob and cyril print(all_like) # výstup 3