IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Naučte sa myslieť ako programátor

Vitajte v mojom ďalšom článku, tu si budeme trénovať programátorské myslenia. Budeme sa učiť zostavovať algoritmy pre nejaké (na oko banálne) úlohy. Bohužiaľ programovací jazyk nie je tak dokonalý ako ľudský mozog a tak sa to programu musí celé vysvetliť ako úplnému hlupákovi, aby vôbec vedel, čo má robiť :) Tieto úlohy som našiel na disku ešte zo školy :) Takže to nie je môj výtvor avšak všetky tieto úlohy mám napísané v jazyku C #.

Ak sa naozaj chcete niečomu naučiť, tak nepodvádzajte a skúste si každú úlohu urobiť poctivo a sami. Výsledky potom môžete vkladať vo forme zdrojovej kódu alebo obrázka do komentárov. Nezabudnite uviesť číslo úlohy, ktorú ste vyriešili :)

Tu máte úvod do teórie algoritmov

  1. Program dostane na vstup postupnosť 30 celých čísel. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše druhé najmenšie zo zadaných čísel. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 8, -2, 1, -5, ...
  2. Program dostane na vstup postupnosť celých kladných čísel; zadávanie je ukončené nulou. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše druhé najväčšie zo zadaných čísel. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 8, 3, 5, 15, ...
  3. Program dostane na vstup 2 kladné celé čísla. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše najväčší spoločný deliteľ zadaných čísel. Vyplňte tabuľku obsahu premenných pre čísla 12 a 18.
  4. Program dostane na vstup 2 kladné celé čísla. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše najmenší spoločný násobok zadaných čísel. Vyplňte tabuľku obsahu premenných pre čísla 12 a 8.
  5. Zostavte vývojový diagram k algoritmu, podľa ktorého program rozhodne, či zadané číslo je alebo nie je prvočíslo. Vyplňte tabuľku obsahu premenných pre číslo 15.
  6. Program dostane na vstup postupnosť 30 celých čísel. Zostavte vývojový diagram k algoritmu, podľa ktorého program rozhodne a vypíše, či zadaná postupnosť je alebo nie je rastúca. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 2, 3, 1, 5, ...
  7. Program dostane na vstup postupnosť celých čísel; zadávanie je zakončené nulou. Zostavte vývojový diagram k algoritmu, podľa ktorého program rozhodne a vypíše, či zadaná postupnosť je alebo nie je klesajúci. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 18, 13, 15, 9, ...
  8. Program dostane na vstup postupnosť 40 celých čísel. Zostavte vývojový diagram k algoritmu, podľa ktorého program spočíta a vypíše, koľko bolo medzi zadanými číslami kladných, záporných a nulových hodnôt. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 0, 13, -15, -9, ...
  9. Program dostane na vstup postupnosť celých čísel; zadávanie je zakončené nulou. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše najväčšie číslo, najmenšie číslo a aritmetický priemer zo zadaných čísel. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 10, 13, -15, -9, ...
  10. Program dostane na vstup číslo X a potom postupnosť 50 čísel. Zostavte vývojový diagram k algoritmu, podľa ktorého program nájde a vypíše to číslo z postupnosti, ktoré je hodnotou najbližšie zadanému číslu X. Vyplňte tabuľku obsahu premenných pre vstup začínajúcich číslami 20, 33, 2, 15, ...
  11. Zostavte vývojový diagram k algoritmu, podľa ktorého program spočíta hodnotu N! (N faktoriál) pre zadané prirodzené číslo N. Vyplňte tabuľku obsahu premenných pre zadané číslo 4.Pozn. N! = N. (N-1). (N-2). ... .3.2.1 (napr. 5! = 5.4.3.2.1 = 120)
  12. Zostavte vývojový diagram k algoritmu, podľa ktorého program vyrieši kvadratickú rovnicu ax2 + Bx + C = 0. Program dostane na vstup koeficienty A, B a C. Pokiaľ je zadávaný koeficient A rovný nule, program vypíše upozornenie a nechá si zadávať inú hodnotu tak dlho, dokiaľ nebude rôzna od nuly. Vyplňte tabuľku obsahu premenných pre zadané čísla 0, 0, 1, 2, 1.
  13. Program dostane na vstup 2 celé čísla A a B a jedno prirodzené číslo X. Zostavte vývojový diagram k algoritmu, podľa ktorého program vypíše z intervalu <A; B> všetky čísla deliteľná číslom X. Vyplňte tabuľku obsahu premenných pre zadané čísla 3, 20, 5.
  14. Zostavte vývojový diagram k algoritmu, podľa ktorého program rozhodne, či zadané prirodzené číslo je alebo nie je tzv. Dokonalým číslom. Vyplňte tabuľku obsahu premenných pre zadané číslo 12. Pozn. Dokonalé číslo je také číslo, ktoré je rovné súčtu všetkých svojich deliteľov okrem seba samého. Napríklad 28 je dokonalé číslo, pretože 28 = 1 + 2 + 4 + 7 + 14.
  15. Zostavte vývojový diagram k algoritmu, podľa ktorého program rozhodne, či zadané prirodzené čísla sú alebo nie sú tzv. Priateľské čísla. Vyplňte tabuľku obsahu premenných pre zadané čísla 12 a 16. Pozn. Spriatelenými číslami sa nazývajú dve rôzne prirodzené čísla a, b takých vlastností, že sa súčet všetkých vlastných deliteľov čísla a rovná číslu ba naopak. Príkladom spriatelených čísel je dvojica čísel 220 a 284.
  16. Zostavte vývojový diagram k algoritmu, podľa ktorého program prevedie zadané číslo z desiatkovej sústavy do dvojkovej. Vyplňte tabuľku obsahu premenných pre zadané číslo 9.
  17. Je daný počet dní v mesiaci (tj. Číslo z rozmedzia 28 až 31) a informácie, na ktorý deň v týždni pripadá prvý deň v mesiaci (v tvare poradového čísla: pondelok = 1, utorok = 2, ..., nedeľa = 7). Zostavte vývojový diagram k algoritmu, ktorý zistí a vypíše koľko je v danom mesiaci piatkov. Vyplňte tabuľku obsahu premenných pre vstup: 30, 6.
  18. Je daný počet dní v mesiaci (tj. Číslo z rozmedzia 28 až 31) a informácie, na ktorý deň v týždni pripadá prvý deň v mesiaci (v tvare poradového čísla: pondelok = 1, utorok = 2, ..., nedeľa = 7). Zostavte vývojový diagram k algoritmu, ktorý zistí a vypíše koľko je v danom mesiaci pracovných dní. Vyplňte tabuľku obsahu premenných pre vstup: 29, 3.
  19. Zostavte vývojový diagram k algoritmu, podľa ktorého program prevedie zadané číslo z dvojkovej sústavy do desiatkovej. Vyplňte tabuľku obsahu premenných pre zadané číslo 11010.
  20. Zostavte vývojový diagram k algoritmu, ktorý spočíta a vypíše ciferný súčet daného prirodzeného čísla. Vyplňte tabuľku obsahu premenných pre zadané číslo 3059.
  21. Hodnotu Ludolfovho čísla pí možno aproximovať nekonečnou radom pí = 4. (1 - 1/3 + 1/5 - 1/7 + 1/9 - ...) Zostavte vývojový diagram k algoritmu, ktorý vypočíta pomocou tejto rady hodnotu pí s ľubovoľnou presnosťou (zadá užívateľ). Vyplňte tabuľku obsahu premenných pre zadanú presnosť 0,1.

V ďalšom diele spojíme ľahké algoritmy s funkciami. Budeme teda vymýšľať ľahké programy a ich hlavné časti vkladať do funkcií (metód)

V nasledujúcom kvíze, Online test znalostí algoritmizácia, si vyskúšame nadobudnuté skúsenosti z kurzu.


 

Všetky články v sekcii
Česká encyklopédia algoritmov
Preskočiť článok
(neodporúčame)
Online test znalostí algoritmizácia
Článok pre vás napísal Mediel
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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
Aktivity