Differences between revisions 8 and 288 (spanning 280 versions)
Revision 8 as of 2010-03-02 21:15:59
Size: 2681
Editor: sarkoci
Comment:
Revision 288 as of 2016-02-15 18:23:13
Size: 1721
Editor: sarkoci
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 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.
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;
        }
Line 28: Line 40:
=== Priebežný stav ===         for(i=0;;i++)
                if(i != k) {
                        printf(".");
                        k -= i;
                } else {
                        printf("zaverecna");
                        break;
                }
Line 30: Line 49:
|| 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 || || || || ||
        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 }

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