Differences between revisions 3 and 9 (spanning 6 versions)
Revision 3 as of 2010-02-23 20:35:30
Size: 1462
Editor: sarkoci
Comment:
Revision 9 as of 2010-03-03 17:15:31
Size: 3451
Editor: sarkoci
Comment: Caste chyby
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

 * Vypracované zadania zasielajte na sarkoci@math.sk, prikladajte ich k e-mailu skomprimované ako prílohu a subject nastavte na "seminar z programovania".
Line 15: Line 17:
 * Analyzuje a zisťuje pozíciu a dĺžku najdlhšej klesajúcej podpostupnosti.  * Analyzuje a zisťuje pozíciu a dĺžku najdlhšej klesajúcej podpostupnosti bezprostredne po sebe nasledujúcich prvkov.
Line 25: Line 27:

=== Priebežný stav ===

|| ID || 1 || 2 || 3 || 4 ||
|| 41458 || || || || ||
|| 67640 || || || || ||
|| 67644 || || || || ||
|| 67654 || <!> || <!> || || ||
|| 67660 || || || || ||
|| 67667 || || || || ||
|| 67674 || || || || ||
|| 67678 || || || || ||
|| 67682 || || || || ||
|| 67687 || || || || ||
|| 67692 || || || || ||
|| 67698 || <!> || <!> || || ||
|| 67705 || || || || ||
|| 67708 || || || || ||
|| 67718 || || || || ||
|| 67720 || || || || ||
|| 67725 || || || || ||
|| 67728 || || || || ||
|| 67733 || || || || ||
|| 67737 || <!> || || || ||
|| 67743 || <!> || <!> || || ||
|| 67746 || || || || ||
|| 69782 || || || || ||

=== Časté chyby ===

 1. Chyby týkajúce sa designu funkcií
   a. Funkcia alebo procedúra má vykonávať ''jednu'', čo možno ''najjednoduchšiu'' činnosť a túto činnosť má vykonávať dobre.
   a. Rozmeniac na drobné predchádzajúci bod: ak žiadam implementáciu funkcie ktorá vykonáva činnosť Č tak tým myslím, bez toho aby som to explicitne zdôraznoval, že funkcia žiadnu inú činnosť ''nevykonáva''. Napríklad ak chcem, aby funkcia inicializovala pole premenných typu `int` na zadanú hodnotu <<latex($h$)>> tak, bez toho aby som to explicitne písal, očakávam, že funkcia nebude ani nič čítať z klávesnice, ani nič písať na obrazovku a vôbec, nebude robiť nič čo bezprostredne nesúvisí s inicializáciou pola.

Zadania

Všeobecné zásady:

  • Vypracované zadania zasielajte na sarkoci@math.sk, prikladajte ich k e-mailu skomprimované ako prílohu a subject nastavte na "seminar z programovania".

  • Zdrojový kód odsádzajte.
  • Program rozbíjajte na zmysluplné funkčné bloky ktoré sú realizované funkciami - čím viac, tým lepšie.
  • Ošetrujte chybové stavy.
  • Programujte tak, aby kompilátor nevyhlasoval ani jedno varovanie pri pedantnom móde kompilácie.

1

Naprogramujte funkciu ktorá zadané dynamicky allokované $n$-prvkové pole premenných typu int:

  • Inicializuje na hodnotu 0.
  • Inicializuje na aritmetickú postupnosť $\{a+i.b\}_{i\in \mathbf{Z}_{n}}$ so zadanými parametrami $a,b\in\mathbf{Z}$.

  • Inicializuje na postupnosť náhodne generovaných celých čísel.
  • Analyzuje a zisťuje pozíciu a dĺžku najdlhšej klesajúcej podpostupnosti bezprostredne po sebe nasledujúcich prvkov.
  • Sčituje a vracia hodnotu súčtu všetkých prvkov v poli.
  • Analyzuje a vracia aritmetický priemer prvkov v poli.
  • Analyzuje a vracia rozptyl prvkov v poli.

Design funkcií (čiže voľba návratových typov a argumentov) je na vás. Urobte to ale tak, aby funkcie referovali všetky možné chybové stavy aké pri ich vykonávaní môžu nastať.

2

Napíšte program ktorý od uživateľa z klávesnice načíta prirodzené číslo $n$ a následne, metódou Erastotenovho sita, zistí všetky prvočísla nie väčšie než $n$. Pamäť v ktorej Erastotenov algoritmus vykonáva Erastotenovské značkovanie allokujte dynamicky.

Priebežný stav

ID

1

2

3

4

41458

67640

67644

67654

<!>

<!>

67660

67667

67674

67678

67682

67687

67692

67698

<!>

<!>

67705

67708

67718

67720

67725

67728

67733

67737

<!>

67743

<!>

<!>

67746

69782

Časté chyby

  1. Chyby týkajúce sa designu funkcií
    1. Funkcia alebo procedúra má vykonávať jednu, čo možno najjednoduchšiu činnosť a túto činnosť má vykonávať dobre.

    2. Rozmeniac na drobné predchádzajúci bod: ak žiadam implementáciu funkcie ktorá vykonáva činnosť Č tak tým myslím, bez toho aby som to explicitne zdôraznoval, že funkcia žiadnu inú činnosť nevykonáva. Napríklad ak chcem, aby funkcia inicializovala pole premenných typu int na zadanú hodnotu $h$ tak, bez toho aby som to explicitne písal, očakávam, že funkcia nebude ani nič čítať z klávesnice, ani nič písať na obrazovku a vôbec, nebude robiť nič čo bezprostredne nesúvisí s inicializáciou pola.

KMaDGWiki: KurzSeminarZProgramovania (last edited 2019-01-28 14:51:18 by sarkoci)