Size: 1623
Comment:
|
Size: 1721
Comment: vacsina plkov je uz but uplne nepotrebna alebo prenesena do neverejneho pdfka so podmienkami absolvovania predmetu
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Zadania = | = Štúdijné materiály = |
Line 3: | Line 3: |
Všeobecné zásady: | * [[MercurialReceptar|Mercurial: Varíme z ortuti - zdravo, rýchlo, lacno]] * [[http://mercurial.selenic.com/quickstart/|Mercurial: Quick Start]] * [[http://hgbook.red-bean.com/read/|Mercurial: The Definitive Guide]] * [[http://mercurial.selenic.com/wiki/CzechMercurial|Mercurial: Návod v českom jazyku]] |
Line 5: | Line 8: |
* 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. |
=== Ukážkový Zdroják === |
Line 11: | Line 10: |
=== 1 === | {{{#!cplusplus #include <stdlib.h> #include <stdio.h> |
Line 13: | Line 14: |
Naprogramujte funkciu ktorá zadané dynamicky allokované <<latex($n$)>>-prvkové pole premenných typu `int`: * Inicializuje na hodnotu 0. * Inicializuje na aritmetickú postupnosť <<latex($\{a+i.b\}_{i\in \mathbf{Z}_{n}}$)>> so zadanými parametrami <<latex($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. * 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. |
void print_num(int a) { printf("%d",a); } |
Line 22: | Line 19: |
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ť. | int main(void) { int i, j, k; char *string; double ratio; |
Line 24: | Line 25: |
=== 2 === | /* nadomnou je volny riadok oddelujuci deklaracie (zasada 3.e) */ if(i == j) printf("Premenne i a j maju, zhodou okolnosti, rovnaku hodnotu.\n"); else { printf("Premenne i a j maju, zhodou okolnosti, roznu hodnotu.\n"); print_num(i); print_num(j); } |
Line 26: | Line 34: |
Napíšte program ktorý od uživateľa z klávesnice načíta prirodzené číslo <<latex($n$)>> a následne, metódou Erastotenovho sita, zistí všetky prvočísla nie väčšie než <<latex($n$)>>. Pamäť v ktorej Erastotenov algoritmus vykonáva Erastotenovské značkovanie allokujte dynamicky. | if(&i == (int*)string) { printf("tento kod sa NIKDY nevykona."); i = j+k; j = i-k; } for(i=0;;i++) if(i != k) { printf("."); k -= i; } else { printf("zaverecna"); break; } if(i < 0) i = -i; do{ i--; printf("."); }while(i!=1) /* aj jednoriadkovy blok je blok */ if(i>0) if(j<0) j=i; else if(j>0) i=j; /* dovidenia */ return(0); } }}} |
Štúdijné materiály
Ukážkový Zdroják
1 #include <stdlib.h>
2 #include <stdio.h>
3
4 void print_num(int a)
5 {
6 printf("%d",a);
7 }
8
9 int main(void)
10 {
11 int i, j, k;
12 char *string;
13 double ratio;
14
15 /* nadomnou je volny riadok oddelujuci deklaracie (zasada 3.e) */
16 if(i == j)
17 printf("Premenne i a j maju, zhodou okolnosti, rovnaku hodnotu.\n");
18 else {
19 printf("Premenne i a j maju, zhodou okolnosti, roznu hodnotu.\n");
20 print_num(i);
21 print_num(j);
22 }
23
24 if(&i == (int*)string) {
25 printf("tento kod sa NIKDY nevykona.");
26 i = j+k;
27 j = i-k;
28 }
29
30 for(i=0;;i++)
31 if(i != k) {
32 printf(".");
33 k -= i;
34 } else {
35 printf("zaverecna");
36 break;
37 }
38
39 if(i < 0)
40 i = -i;
41
42 do{
43 i--;
44 printf(".");
45 }while(i!=1)
46
47 /* aj jednoriadkovy blok je blok */
48 if(i>0)
49 if(j<0)
50 j=i;
51 else
52 if(j>0)
53 i=j;
54
55 /* dovidenia */
56 return(0);
57 }