Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".
1 /*
2 * Soubor: pi.c
3 * Datum: 22.09.2011 08:27
4 * Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
5 * Licence: GNU/GPL
6 * Úloha:
7 * Popis:
8 ****************************************************/
9 #define _ISOC99_SOURCE
10 #define _GNU_SOURCE
11 #include <stdio.h>
12 #include <math.h>
13
14 #define PRESNOST 1E-10
15 /****************************************************
16 * Hlavní program.
17 ****************************************************/
18 int main(void)
19 {
20 double jmenovatel = 3.0;
21 double znamenko = -1.0;
22 double pi = 4.0;
23 double clen;
24
25 clen = 4.0 / jmenovatel;
26 while (clen > PRESNOST) {
27 pi += znamenko * clen;
28 jmenovatel = jmenovatel + 2;
29 znamenko *= -1.0;
30 clen = 4.0/jmenovatel;
31 }
32
33 printf("%.20lf\n", M_PI);
34 printf("%.20lf\n", pi);
35
36 return 0;
37 }