na obsah klávesové zkratky na hlavní stránku na menu

Třetí cvičení – podmínky a cykly

Toto cvičení přineslo několik důležitých programových prvků. Prvně jde o možnost ovlivnit chod programu pomocí podmínek. Zadruhé byly probrány cykly for, while a do-while

Obsah cvičení

V tomto cvičení jsme si ukázali velmi důležité a mocné prvky jazyka C – podmínky a cykly. Pomocí podmínek můžeme ovlivnit chod programu a cykly nám umožňují efektivně vykonávat opakující se činnosti.

Vytvořte program, který na vstupu dostane celé číslo n (počet výstřelů) a dvě reálná čísla a a b (meze integrálu). Program poté vypočítá určitý integrál z funkce sinus pomocí metody Monte-Carlo. Uvažujte funkci sinus zúženou na interval [0; π]. Myšlenka je taková, že okolo funkce vytvoříme pomyslný obdélník velikosti b - a a 1. Do tohoto obdélníku se náhodně strefujeme a počítáme, kolikrát se trefíme pod graf funkce. Nakonec máme celkový počet vystřelených bodů n a počet bodů pod grafem. Tento poměr určuje přibližně i poměr ploch obdélníku a funkce. Zájemci ještě mohou vypočítat integrál analyticky a zkoumat chybu metody Monte-Carlo při rostoucím počtu bodů.

Pro střelbu potřebujete generátor pseudonáhodných čísel. V jazyce C je zabudovaný jednoduchý generátor, který se použije následujícím způsobem

#include <stdlib.h>
#include <time.h>
#include <limits.h>

int main (int argc, char **argv)
{
  /*
  Inicializace generátoru, nutné provést právě jednou před prvním
  vygenerováním pseudonáhodného čísla. Zde využíváme jako
  počáteční hodnotu aktuální čas v systému.
  */
  srand(time(0));
  
  // vygenerování čísla s rovnoměrným rozdělením v intervalu [0, 1)
  float cislo = rand()/(1.0 + RAND_MAX);
  
  // další kód ...
  
  return 0;
}