1. ročník informatika, Zbierka úloh z jazyka PASCAL


Táto zbierka slúži na precvičenie základného učiva z programovacieho jazyka PASCAL, pre žiakov prvého ročníka GJAR. Pre všetky nasledujúce úlohy platí: vytvorte program v jazyku PASCAL.
  1. Príkazy vstupu a výstupu. Príkazy WRITE, WRITELN, READ, READLN, TEXTCOLOR, CLRSCR, TEXTBACKGROUND, GOTOXY, SOUND, NOSOUND, DELAY.
    1. Vytvorte program, ktorý napíše na obrazovku vaše meno. {write}
    2. Vytvorte program, ktorý vypíše na obrazovku vašu vizitku. Prvý riadok "vaše meno", druhý riadok "vaša adresa", tretí riadok "váš telefón". {writeln}
    3. Modifikujte program 2 tak, aby text mena bol modrý, text adresy červený a text telefónu zelený. {writeln, textcolor}
    4. Vytvorte program, ktorý z klávesnice načíta vaše meno a potom ho vypíše na čistú obrazovku. {read, write, clrscr}
    5. Modifikujte program 4 tak, aby sa meno vypísalo modrým písmom na červenom pozadí. {read, write, textcolor, textbackground}
    6. Vytvorte program, ktorý načíta z klávesnice vaše meno a potom ho vypíše do stredu (aspoň približne) obrazovky. {read, write, gotoxy}
    7. Vytvorte program, ktorý načíta dve celé čísla (x,y) a vašu prezývku z klávesnice. Prezývku potom vypíše na súradnice [x,y]. {read, write, gotoxy}
    8. Vytvorte program, ktorý zahrá tón dĺžky 1s. {sound, delay, nosound}
    9. Vytvorte program, ktorý zahrá jednoduchú melódiu. {platí približne: c=262, cis=277, d=294, dis=311, e=330, f=349, fis=370, g=392, gis=415, a=440, ais=466, h=494}

  2. Aritmetické operácie a funkcie. Operácie +, -, *, / a funkcie ABS, COS, FRAC, INT, PI, SIN, SQR, SQRT, ROUND, TRUNC.
    1. Vytvorte program, ktorý načíta reálne číslo a vypíše nasledovné: zaokrúhlené číslo, desatinnú časť čísla a celú časť čísla.
    2. Vytvorte program, ktorý načíta dve čísla (a,b) a vypíše hodnotu výrazu: odmocnina(a2+b2).
    3. Vytvorte program, ktorý načíta váš vek (počet rokov, mesiacov, dní) a vypíše koľko to je dní, koľko to je mesiacov a koľko to je rokov. (počítajte: 1 rok je 12 mesiacov alebo 365 dní, 1 mesiac je 30 dní)
    4. Vytvorte program, ktorý načíta číslo a vypíše jeho 4-tú mocninu a jeho 4-tú odmocninu.
    5. Vytvorte program, ktorý načíta číslo (x) a vypíše hodnotu výrazu: odmocnina(sin2(x)+cos2(x)).

  3. Príkaz priradenia: :=, aritmetické operácie DIV a MOD a podmienený príkaz IF.
    1. Vytvorte program, ktorý načíta dve čísla (a,b) a vypíše väčšie z nich.
    2. Vytvorte program, ktorý načíta reálne číslo a vypíše jeho absolútnu hodnotu. Nepoužite funkciu ABS.
    3. Vytvorte program, ktorý načíta dve čísla (a,b), koeficienty lineárnej rovnice (ax+b=0) a vypíše (ak existuje) jej koreň.
    4. Vytvorte program, ktorý načíta tri čísla (a,b,c), koeficienty kvadratickej rovnice (ax2+bx+c=0)a vypíše (ak existujú) korene kvadratickej rovnice.
    5. Vytvorte program, ktorý načíta tri čísla (a,b,c) a vypíše ich od najmenšieho po najväčšie.
    6. Vytvorte program, ktorý načíta prirodzené číslo a vypíše informáciu či je číslo párne alebo nepárne.
    7. Vytvorte program, ktorý načíta dve celé čísla (a,b) a vypíše zvyšok celočíselného delenie čísla a číslom b.

  4. Príkaz cyklu: FOR. Tvary FOR TO a FOR DOWNTO.
    1. Vytvorte program, ktorý vypíše písmenka malej a veľkej anglickej abecedy.
    2. Vytvorte program, ktorý načíta dve celé čísla (a,b) a vypíše všetky celé čísla od a po b. (Pozor! a<b alebo a>b)
    3. Vytvorte program, ktorý načíta celé číslo a (0<a<20) a vypíše štvorček z hviezdičiek.

      napr.: pre vstup a=5 je výsledok:
      * * * * *
      * * * * *
      * * * * *
      * * * * *
      * * * * *
    4. Vytvorte program, ktorý načíta celé číslo a (0<a<5) a vypíše stromček z hviezdičiek.

      napr.: pre vstup a=3 je výsledok:
          *    
        * * *  
      * * * * *
          *    
        * * *  
      * * * * *
          *    
        * * *  
      * * * * *
      
    5. Vytvorte program, ktorý načíta vaše meno a nechá ho rolovať po obrazovke. Meno nech roluje zľava do prava.
    6. Vytvorte program, ktorý načíta dve celé čísla a,b (a<b), a vypíše všetky párne čísla z intervalu <a,b>.
    7. Vytvorte program, ktorý bude napodobňovať sirénu. (tón sa postupne zvýšuje potom znižuje a celé sa to opakuje)
    8. Vytvorte program, ktorý načíta vaše meno a nechá ho blikať na obrazovke. Blikanie znamená, že bude striedať všetky možné farby.
    9. Vytvotre program, ktorý načíta celé číslo x (0<x<=10) a vypíše tabuľku malej násobilky po x. Každé číslo sa vypisuje na štyri miesta.

      napr.: pre vstup a=4 je výsledok:
         *   1   2   3   4
      
         1   1   2   3   4
         2   2   4   6   8
         3   3   6   9  12
         4   4   8  12  16
      
    10. Vytvorte program, ktorý načíta vaše meno a vypíše ho všetkými farbami na všetkých možných pozadiach.

  5. Príkaz cyklu REPEAT. Generovanie pseudonáhodných čísiel, RANDOMIZE, RANDOM. Funkcie KEYPRESSED a READKEY.
    1. Vytvorte program, ktorý vygeneruje náhodné číslo a nechá vás hádať ho.
    2. Vytvorte program, ktorý bude hádať vami vymyslené číslo z vopred určeného intervalu. Program vám kladie otázky typu "je číslo väčšie ako ..." alebo "je číslo menšie ako ...", na ktoré vy odpovedáte len "a" alebo "n".
    3. Vytvorte program, ktorý načíta dve prirodzené čísla (a,b) a vypíše všetky párne čísla z tohto intervalu. Nepoužite FOR.
    4. Vytvorte program, ktorý načíta prirodzené číslo a zistí, či toto číslo je prvočíslo.
    5. Vytvorte program, ktorý náhodne vygeneruje znak, farbu pera, farbu pozadia a umiestnenie na obrazovke. Potom znak vypíše. Opakuje do stlačenia klávesy.
    6. Vytvorte program, ktorý nechá pohybovať písmenko po obrazovke. Využite spôsob pohybu, ako pri biliarde. Pohyb začne v náhodnom bode a náhodným smerom.
    7. Vytvorte program, ktorý otestuje váš sluch. Postupne zvyšuje (znižuje) frekveciu tónu, ak už nepočujete, stlačíte kláves. Progam vypíše frekveciu posledného počutého zvuku.
    8. Vytvorte program, ktorý bude simulovať hádzanie kockou. Generuje čísla <1,6>, vypisuje ich na obrazovku a po stlačení klávesy vypíše posledne vygenerované.
    9. Vytvorte program, ktorý po spustení bude chcieť vstupné heslo (reťazec). Len ak bude heslo správne, môžete pokračovať.
    10. Vytvorte program, ktorý načíta postupnosť čísel (minimálne jedno) a vypíše ich priemer. Nie je vopred určené, koľko je čísiel.
    11. Vytvorte program, ktorý načíta prirodzené číslo v desiatkovej sústave a prevedie ho do dvojkovej sústavy. Výsledok vypíše.
    12. Vytvorte program, ktorý načíta dve prirodzené čísla (a, 1<b<=10) a prevedie číslo a v desiatkovej sústave do sústavy so základom b.
    13. Vytvorte program, ktorý načíta dve prirodzené čísla (a, 1<b<=16) a prevedie číslo a v desiatkovej sústave do sústavy so základom b. (10-A, 11-B, 12-C, 13-D, 14-E, 15-F)

  6. Príkaz cyklu WHILE
    1. Vytvorte program, ktorý načíta dve prirodzené čísla (x, y). Pomocou Euklidovho algoritmu nájde a vypíše NSD(x,y).
    2. Vytvorte program, ktorý načíta dve prirodzené čísla (x, y). Pomocou vylepšeného Euklidovho algoritmu nájde a vypíše NSD(x,y).
    3. Vytvorte program, ktorý načíta dve prirodzené čísla (x, y). Nájde a vypíše nsn(x,y).
    4. Vytvorte program, ktorý načíta prirodzené číslo x a vypíše jeho ciferný sučet.
    5. Vytvorte program, ktorý načíta prirodzené číslo x a vypíše počet cifier čísla x.
    6. Vytvorte program, ktorý načíta prirodzené čislo x a vyrobí číslo y, ktoré má tie isté cifry ako číslo x, ale v opačnom poradí.
    7. Vytvorte program, ktorý načíta prirodzené čísla (x, y) a vypíše hodnotu (x mod y) bez toho, aby ste použili operáciu mod.
    8. Vytvorte program, ktorý načíta prirodzené čísla (x, y) a vypíše hodnotu (x div y) bez toho, aby ste použili operáciu div.
    9. Vytvorte program, ktorý načíta prirodzené čísla (x, 0<=y<=9) a zistí, koľkokrát sa cifra y vyskytuje v zápise čísla x.