Size: 2681
Comment:
|
Size: 3451
Comment: Caste chyby
|
Deletions are marked like this. | Additions are marked like this. |
Line 51: | Line 51: |
|| 67743 || || <!> || || || | || 67743 || <!> || <!> || || || |
Line 54: | Line 54: |
=== Č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é -prvkové pole premenných typu int:
- Inicializuje na hodnotu 0.
Inicializuje na aritmetickú postupnosť
so zadanými parametrami
.
- 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 a následne, metódou Erastotenovho sita, zistí všetky prvočísla nie väčšie než
. 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
- Chyby týkajúce sa designu funkcií
Funkcia alebo procedúra má vykonávať jednu, čo možno najjednoduchšiu činnosť a túto činnosť má vykonávať dobre.
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
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.