Naučte se myslet jako programátor II

Algoritmy Naučte se myslet jako programátor II

Opět se setkáváme u mého dalšího článku s názvem "Naučte se myslet jako programátor II". V tomto pokračování se zaměříme na tvorbu funkcí (metod). Znovu budete navrhovat banální algoritmy, ale tentokrát je budete separovat do samostatných funkcí (metod), které budou vracet požadovaný výsledek do "hlavního vlákna" programu. Úlohy opět pochází ze školních zdrojů, kdy jsem se ještě učil programovat. :-)

  1. Vytvořte funkci „Signum“ (česky „Znaménko“). Napište program, který přečte od uživatele 20 reálných čísel a s pomocí této funkce rozhodne, zda bylo více kladných nebo záporných a o kolik. Pozn. funkce Signum je funkcí jedné reálné proměnné. Je definována tak, že pro kladné vstupní hodnoty dává výsledek 1, pro záporné -1 a pro nulu je výsledkem 0.
  2. Naprogramujte funkci pro výpočet n-té mocniny daného reálného čísla, kde n je kladné celé číslo. Parametry funkce budou umocňované číslo a mocnina n. Napište program, který od uživatele načte reálné číslo x a celé kladné číslo n. S pomocí uvedené funkce program spočítá a vypíše xn. Program zajistí opakování výpočtu, dokud to bude uživatel vyžadovat.
  3. Zapište funkci, která na základě kartézských souřadnic dvou bodů v rovině spočítá jejich vzdálenost. S pomocí této funkce vytvořte program, který ze vstupu přečte souřadnice vrcholů trojúhelníka v rovině a spočítá jeho obvod.
  4. Zapište funkci, která zjišťuje, zda je kladné celé číslo prvočíslo. S pomocí této funkce napište program, který vypíše na obrazovku všechna prvočísla menší než uživatelem zadané číslo.
  5. Napište funkce na výpočet největšího společného dělitele daných dvou čísel. Napište program, který s použitím této funkce převede daný zlomek na základní tvar. Zlomek je předáván jako dvojice celých čísel představujících jeho čitatele a jmenovatele.
  6. Napište funkci na výpočet nejmenšího společného násobku dvou daných celých čísel. Napište program, který s pomocí této funkce vypočítá součet dvou zlomků. Každý zlomek je předáván jako dvojice celých čísel představujících jeho čitatele a jmenovatele.
  7. Napište funkci, která na požadované souřadnice na obrazovce vypíše zadaný text požadovanou barvou. S pomocí této funkce vytvořte program, který na 50 náhodně vygenerovaných míst na obrazovce vypíše text „AHOJ!“ náhodnými barvami.
  8. Vytvořte funkci, která zjišťuje, zda je daný rok přestupný. S pomocí této funkce napište program, který na základě čísla roku a pořadového čísla dne v roce spočítá a vypíše datum ve tvaru „den.měsíc.rok“.
  9. Vytvořte funkci na výpočet faktoriálu z daného čísla. (n! = n(n-1)(n-2)* … 32*1). S pomocí této funkce vytvořte funkci, která spočítá kombinační číslo „n nad k“. Napište program, který načte od uživatele 2 čísla x a y a spočítá „x nad y“.
  10. Napište funkci, která vypočítá ciferný součet daného čísla. Vytvořte program, který s pomocí této funkce vypíše všechna trojciferná s čísla s ciferným součtem větším než 20.
  11. Napište funkci, která převede dané číslo z desítkové soustavy do dvojkové. Vytvořte program, který s pomocí této funkce vypíše přehledně všechna čísla od nuly do 32 vždy ve dvojkové, desítkové a šestnáctkové soustavě.
  12. Přirozené číslo se nazývá dokonalé, je-li rovno součtu všech svých dělitelů s výjimkou sebe sama. Například 6 je dokonalé číslo, neboť 6 = 1 + 2 + 3. Napište funkci, která rozhodne, zda je nebo není zadané číslo dokonalé. S pomocí této funkce napište program, který vytiskne všechna dokonalá čísla menší než uživatelem zadané N.
  13. Napište funkci, která převádí malá písmena anglické abecedy na velká. Zadáme-li této funkci jako hodnotu parametru jiný znak než malé písmeno, funkce ho ponechá beze změn. S pomocí této funkce napište program, který přečte od uživatele jednu větu a vypíše jí velkými písmeny.
  14. Napište funkci, která přehledně vypíše násobilku až do zadaného čísla n. S pomocí této funkce vytvořte program, který obrazovku vypíše násobilku až do uživatelem požadovaného čísla.
  15. Napište funkci, která vypočítá počet dní, který uplyne mezi dvěma daty, která budou funkci předána jako parametry (zvolte sami vhodný počet a význam parametrů). S pomocí této funkce napište program, který vypíše počet dní mezi uživatelem zadanými daty (opět zvolte vhodný způsob zadávání dat).
  16. Napište funkci, která vypočítá počet sekund, které uplynou mezi dvěma časy, které budou funkci předány jako parametry (zvolte sami vhodný počet a význam parametrů). S pomocí této funkce napište program, který vypíše počet sekund mezi uživatelem zadanými časy (opět zvolte vhodný způsob zadávání dat).
  17. Napište funkci, která podle zadaného data narození a pohlaví určí prvních 6 číslic z rodného čísla.
  18. Napište funkci, která ověří, zda je zadané rodné číslo přípustné. V případě že ano, funkce vrátí den, měsíc i rok narození a správné pohlaví příslušné k rodnému číslu.
  19. Napište funkci, která převede kartézské souřadnice v rovině na polární.

 

  Aktivity (1)

Článek pro vás napsal Mediel
Avatar
Autor se věnuje programování v C#, ThaiBoxu, ženám a posilování :) „Jestliže si vsugerujete neúspěch, pak vás čeká neúspěch. Někdo říká, že je nesmělý, hloupý. Zopakujte si to desetkrát za sebou a vaše nesmělost a hloupost se tím jen prohloubí.“ MUHAMMAD

Jak se ti líbí článek?
Celkem (7 hlasů) :
3.571433.571433.571433.57143 3.57143


 


Miniatura
Všechny články v sekci
Česká encyklopedie algoritmů
Miniatura
Následující článek
Online test znalostí algoritmizace

 

 

Komentáře

Avatar
Honza Bittner
Redaktor
Avatar
Honza Bittner:

Podle mě dobré procvičení do každého jazyka.
Hlavně tedy pro začínající, které to nutí přemýšlet jak to udělat co nejjednodušeji. :)

Odpovědět  +2 14.5.2014 12:36
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.