[ Príspevkov: 12 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
NapísalOffline : 20.03.2010 12:32 | PI

Len tak by ma zaujimalo akymi sposobmi sa da vypocitat konstanta PI ?


Offline

Skúsený užívateľ
Skúsený užívateľ
PI

Registrovaný: 11.01.09
Prihlásený: 25.04.26
Príspevky: 1399
Témy: 10 | 10
Bydlisko: Hrinova
NapísalOffline : 20.03.2010 12:40 | PI

22/7


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 19.09.06
Prihlásený: 19.02.26
Príspevky: 749
Témy: 31 | 31
Bydlisko: Ružomberok&...
NapísalOffline : 20.03.2010 12:44 | PI

http://en.wikipedia.org/wiki/Leibniz_formula_for_pi


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
Napísal autor témyOffline : 20.03.2010 12:58 | PI

diky, len tak som bol zvedavy ako sa pocita PI (kdo nevia ako sa pocita, tak je to dost velka zahada).
A tych 22/7 ale to je nepresna hodnota, preco sa to pouziva?

Skusim napisat program a uvidim ako sa presne k PI konstante priblizim :D


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
Napísal autor témyOffline : 20.03.2010 13:36 | PI

Uz som aj v C++ napisal nejaky program:
Kód:
#include <iostream>
long int n, i;
long double pi;

using std::cout;

int main() {

    pi = 1;

     for(i = 3; i < 1000000; i += 4) {
        pi += ((long double) -1/(i)) + ((long double) 1/(i+2));
      }

    cout << "\n vysledne PI = " << pi *4 <<"\n\n";
    return 0;
}


Este sa len C++ ucim, tak ak tam je nieco blbo napisane nesmejte sa len ma na to upozornite. Fungovat funguje :) , dostal som sa k hondnote 3,14159, len sa chcem opytat ako sa vystup dat pomocou -- cout -- formatuje? Pretoze sa mi zobrazi vysledok len na tych 5 desatinnych miest.


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 20.03.2010 15:05 | PI

vama píše:
Este sa len C++ ucim, tak ak tam je nieco blbo napisane nesmejte sa len ma na to upozornite. Fungovat funguje :) , dostal som sa k hondnote 3,14159, len sa chcem opytat ako sa vystup dat pomocou -- cout -- formatuje? Pretoze sa mi zobrazi vysledok len na tych 5 desatinnych miest.

Nikto sa Ti nebude smiat. Ved od toho je forum :) Je pekne, ze sa takym veciam venujes. Kludne pokracuj :) Co sa tyka poctu desatinych miest s cout, skus sa pohrat s precision.

Fico píše:
22/7
To je nezmysel. PI je iracionalne cislo. Podielom dvoch celych cisel moze vzniknut nekonecne cislo, no s periodou. Vziadnom pripade nie iracionalne. PI je nekonecne ale bez periody.

Inac na realne cisla treba davat velky bacha, kedze pocitac pocita s binarnou sustavou. Napriklad 0.1 sa neda presne reprezentovat ako binarne cislo. Zvlast kriticke je to pri porovnavani s nulou. Vid nasledujuci kod, ktory by mal velmi rychlo skoncit. Ale nikdy neskonci sam od seba...

Kód:
int main()
{   
   float i = 1;
   while (true) {
       i -= 0.1;
       if (i == 0)
         break;
   } 

}


_________________
Učet je neaktívny.
Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
Napísal autor témyOffline : 20.03.2010 17:16 | PI

ado21 píše:
Co sa tyka poctu desatinych miest s cout, skus sa pohrat s precision.

A to je co? Aj nejaky priklad by ste mi tu niekdo uviedol. Lebo ako som spominal este sa len ucim C++ (citam knihu Naucte se C++ za 21 dni)

Ked som zacinal programovat v Object Pascal (DELPHI), tak som pocul o tom porovnavani s NULOU realnych cisiel, ze sa priamo neporovnava rovnost s 0, ale pouziva sa, ak je mensi ako napr. 0,0001, tak vtedy "je" 0.
A ako vypada ulozene desiatkove desatinne cislo v dvojkovej sustave ?


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 20.03.2010 17:30 | PI

vama píše:
A to je co? Aj nejaky priklad by ste mi tu niekdo uviedol. Lebo ako som spominal este sa len ucim C++ (citam knihu Naucte se C++ za 21 dni)

Ked som zacinal programovat v Object Pascal (DELPHI), tak som pocul o tom porovnavani s NULOU realnych cisiel, ze sa priamo neporovnava rovnost s 0, ale pouziva sa, ak je mensi ako napr. 0,0001, tak vtedy "je" 0.
A ako vypada ulozene desiatkove desatinne cislo v dvojkovej sustave ?


Prepac, hoci by som to za minutu vygooglil, co s tym precision ale skus sam. O tom je... vyhladaci retazec si hadam domyslis sam.

Na to som uz pouzil google namiesto Teba. Prve dva odkazy su tieto:
prvy
druhy

Ako vyhladavaci retazec som pouzil realne cisla v dvojkovej sustave

Poznamka: Realne cisla pre informatikov neexistuju. Ti poznaju iba racionalne.


_________________
Učet je neaktívny.
Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
Napísal autor témyOffline : 20.03.2010 21:24 | PI

Tak som to aj rychlo vygooglil, http://www.cplusplus.com/reference/iost ... precision/ . takze je to prikaz (funkcia)
Kód:
 cout.precision(x);

pricom to x udava pocet celkovych miest, len mi teraz vrta hlavou to sa neda vyhradit pocet desatinnych a celych miest cisla ako pri prikaze v jazyku C - printf() ?

Ja som to negooglil, pretoze ked niekdo to pozna tak mi to aj lepsie a niekedy aj rychlejsie vysvetli ako keby som to hladan. Preto sa skor pytam ako googlim :D


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 20.03.2010 21:38 | PI

Hm, sice su to elementalne ulohy, ale aj tak asi nemas odpoved ihned. Po elementarnych ulohach pridu nie elementarne, a pokial nemas na nejakom chate kamosov programatorov, tak Ti aj tak velmi neostane nic ine, ako hladat. A ak to budu specificke veci a kamosi sa tomu nevenuju, tak to nebudu vediet tiez.

Inac C++ je najzlozitejsi jazyk aky poznam. Bez kvalitnych knih sa naozaj neda zvladnut na slusnej urovni...


_________________
Učet je neaktívny.
Offline

Užívateľ
Užívateľ
PI

Registrovaný: 20.11.09
Prihlásený: 02.11.14
Príspevky: 241
Témy: 58 | 58
Bydlisko: Myjava
Napísal autor témyOffline : 20.03.2010 21:44 | PI

No viem, ze C++ patri medzi najzlozitejsie jazyky, pre zaciatok som si kupil (uz ako som spominal) Naucte se C++ za 21 dni . Potom dalej uvidim, ci budem v C++ pokracovat alebo si zvolim nejaky iny C# alebo JAVA. A na pokrocilejsie metody v C++ ake knih by si mi odporucal?


Offline

Užívateľ
Užívateľ
PI

Registrovaný: 16.02.08
Prihlásený: 08.12.10
Príspevky: 235
Témy: 13 | 13
NapísalOffline : 20.03.2010 21:51 | PI

Najprv precitaj napr. Mistrovstvi v C++. Inac ten nazov velmi silno zavadza. Ide iba o uvod do C++ aj to pre uplnych zaciatocnikov... Ze vraj je super, ja neviem. Mne sa vidi velmi roztahana ale zas uz nie som zaciatocnik :)

Ked zvladnes tu, potom sa ozvi a Ti dam odporucim stredne pokrocile :). Medzitym sa preorientuj na anglincinu.

Prajem vela sil :)


_________________
Učet je neaktívny.
 [ Príspevkov: 12 ] 


PI




© 2005 - 2026 PCforum, edited by JanoF