If week == 4: E 3011 Jan Bóhm RECETOX March 13, 2024 Jan Bohm (RECETOX) Cvičení IV □ S> - = March 13, 2024 1/16 Co nás dnes čeká O lf-else 0 1 Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 2/16 If-else Algorithm 1: Vnitřek funkce sign(x) Input: xGl if x > 0 then return 1; else if x < 0 then return -1; else return 0; end Jan Bohm (RECETOX) Cvičení IV □ g - = March 13, 2024 3/16 Struktura v Pythonu conditionl = Falše condition2 = True if conditionl: print("A") elif condition2: print("B") else : print("C") Co program vypíše? Struktura v Pythonu conditionl = Falše condition2 = True if conditionl: print("A") elif condition2: print("B") 8 else : 9 print("C") Co program vypíše? A co vypíše pro ostatní kombinace hodnot conditionl a condition2? Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 4/16 Ukázka lf-else Vytvořte funkci intOddEven(x), která o vstupním čísle rozhodne, zdaje sudé, liché, nebo ani jedna možnost (není celé) a tuto informaci vypíše. Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 5/16 Co nás dnes čeká Q Prvočísla 0 1 Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 6/16 Prvočísla Definice prvočísla Prvočíslo je přirozené číslo p e N takové, že má právě dva dělitele (1 a sebe samo). Jan Bóhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 7/16 Prvočísla Definice prvočísla Prvočíslo je přirozené číslo p e N takové, že má právě dva dělitele (1 a sebe samo). Test prvočísel nosti Vymyslete, jak bude fungovat funkce isPrime(x), která pokud je x prvočíslo vrátí True, jinak Falše. Jan Bóhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 7/16 Prvočísla Definice prvočísla Prvočíslo je přirozené číslo p e N takové, že má právě dva dělitele (1 a sebe samo). Test prvočísel nosti Vymyslete, jak bude fungovat funkce isPrime(x), která pokud je x prvočíslo vrátí True, jinak Falše. A teď tu funkci vytvořte. Jan Bóhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 7/16 Prvočísla - pokračování Prvních n prvočísel Vytvořte funkci f irstPrimes(n), která vypíše prvních n prvočísel Prvních n prvočísel Vytvořte funkci primesLessThen(n), která vypíše všechna prvočísla menší než n. V obou případech využijte svou hotovou funkci isPrime(x) Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 8/16 Co nás dnes čeká o i Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 9/16 Desítková binární Vytvořte funkci decToBin(x), která převede číslo (int) v desítkové soustavě do binární (opět jako int). Jan Bóhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 10/16 Desítková binární Vytvořte funkci decToBin(x), která převede číslo (int) v desítkové soustavě do binární (opět jako int). Binární desítková Vytvořte funkci binToDec(x), která převede číslo (int) v dvojkové soustavě do desítkové (opět jako int). Jan Bóhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 10/16 Co nás dnes čeká o i O ? Jan Bohrn (RECETOX) Cvičení IV □ S> - = March 13, 2024 11/16 Tajemný vývojový diagram ? Tajemný vývojový diagram Začátek ^) Načti celá čísla x, y -w^ Tiskni x Konec Naprogramujte tento vývojový diagram jako funkci mystery(x,y) a zkuste přijít na to, co dělá. Pak tuto funkci vhodně přejmenujte. Jan Bôhm (RECETOX) Cvičení IV March 13, 2024 12/16 Co nás dnes čeká o i O ! Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 13/16 I Následující funkci budeme potřebovat příští týden. Pokud ji nestihnete během hodiny, připravte si ji doma! Vytvořte funkci f actorial(x), která vrací faktoriál x, tj. factorial (x) = x! = x • (x - 1) • (x - 2) • • • 2 • 1 pro x > 1 přirozené a factorial(0) = 1. Pokud chcete, přidejte podmínku, že pro nesmyslné hodnoty vstupu x funkce vypíše chybovou hlášku a vrátí None, např. pro factorial (1.5) napíše Vstupem musí být přirozené číslo. Jan Bôhm (RECETOX) Cvičení IV □ g - = March 13, 2024 14/16 Co nás dnes čeká o i O Jan Bôhm (RECETOX) Cvičení IV □ S> - = March 13, 2024 15/16 <5 (Takeaway) Co si odnést? Po tomto cvičení byste měli mít nachystané funkce, které: • Rozhodne, zda je číslo prvočíslo isPrime(x) o Převede číslo z desítkové soustavy do binární decToBin(x) a zpátky binToDec(x) • Největší společný dělitel dvou čísel GCD(x,y) • Faktoriál factorial (x) Tyto funkce udržujte v jenom skriptu functions.py, ať jej můžeme snadno importovat. Jan Bôhm (RECETOX) Cvičení IV □ g - = March 13, 2024 16/16