Základy algoritmizace a programování

Petr Sváček, Luděk Beneš, Olga Majlingová
Ústav technické matematiky

Cviceni č. 10


Ulohy pro 10. tyden

Jazyk C: Definice a použití funkce, parametry a lokální proměnné.


  1. Funkce
    a) Doplnte funkci mojefunkce tak aby vracela hodnotu "sinu (x na druhou)" případně hodnotu "odmocniny z (5 - x) ".

    b) Vytvořte funkci mocnina s dvěma vstupními argumenty (float x, int n), která bude vracet hodnotu x na n-tou (float). Pro výpočet použijte cyklus. Otestujte zda zadaná hodnota n je nulová nebo záporná, v tomto případě vraťte odpovídající hodnotu.

    c) Vytvořte funkce obsahkruhu, obvodkruhu, které budou provádět odpovídající výpočet.


    #include <stdio.h>
    #include <math.h>
    
    float mojef(float x)
    {
    }
    
    
    main()
    {
      double S, obv;
    
      if (mocnina(2, 3) != 8)
          printf("Chyba: Funkce mocnina!\n\n");
    
      S = obsahkruhu(2); 
      if ((S < 12.56) || (S > 12.57))
          printf("Chyba: Funkce obsah kruhu!\n\n");
      
      obv = obvodkruhu(1);
      if ((obv < 3.1415) || (obv > 3.1416))
          printf("Chyba: Funkce obvod kruhu!\n\n");
          
    }
    

  2. Funkce (zadaná po částech)
    a) Doplnte funkci mojefunkce tak, aby pro zadane x vracela hodnotu y vypoctenou jako b) Uzijte funkci v cyklu pro x od -1 do 6 s krokem h = 0.25, navod viz predchozi cviceni. Hodnoty x, y ulozte do pole tabx, taby.

    #include <stdio.h>
    #include <math.h>
    
    float mojef(float x)
    {
    }
    
    
    main()
    {
    
    }
    

  3. Přibližný výpočet obsahu pod grafem funkce
    a) Uzijte funkci mojefunkce z 1. casti b) Uzijte vysledek 1. cviceni a hodnoty ulozene v polich tabx[], taby[]. Pro dane i urcete obsah S lichobezniku urceneho osou x a hodnotami funkce ulozenymi v tabx[], taby[] ("plocha pod grafem")
    dx =  tabx[i+1] - tabx[i];
    fx = (taby[i+1] + taby[i]) / 2;
    S  = S + fx * dx
    
    c) Hodnoty S sectete pro i = 0 ... n - 1
    float mojef(float x)
    {
    }
    
    
    main()
    { 
       int i, n;
       float a, b, h, x, y;
       float tabx[500], taby[500];
       
    
    }