Faktoriály

C# .NET Windows Forms Zdrojákoviště Faktoriály

Program slouží k výpočtu faktoriálu zadaného čísla. Po zadání čísla a kliknutí na "OK" se provede výpočet. Tedy, pokud uživatel zadá přirozené číslo, jinak se objeví chybová hláška. Pokud zadá číslo větší než 100 000 sdělí mu program, že výpočet bude trvat dlouho, jestli chce pokračovat. V průběhu výpočtu se zobrazuje hláška "Probíhá výpočet, prosím čekejte..." a taky je dole umístěn progress bar, který ukazuje průběh (i když ne úplně dokonale-začátek je mnohem rychlejší než konec). K výpočtu se používá BigInteger. Je to má druhá okenní aplikace v C#.


Galerie

Program byl vytvořen v roce 2012.

 

Stáhnout

Staženo 342x (81.3 kB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

  Aktivity (1)

Program pro vás napsal Michal Maršálek
Avatar
Autor se věnuje programování, hře na kytaru a klavír a sledování seriálů. Mezi jeho znalosti v oblasti počítačů patří HTML5, CSS3, Javascript, PHP, SQL, C#, OOP, základy Pythonu, Cinema 4D a Photoshop.

Jak se ti líbí článek?
Celkem (1 hlasů) :
55555


 



 

 

Komentáře
Zobrazit starší komentáře (3)

Avatar
Kit
Redaktor
Avatar
Kit:

Faktoriál se většinou nepočítá pomocí double, protože pro větší čísla dává chybné výsledky. Je to dáno vlastnostmi datových typů s pohyblivou řádovou čárkou.

Odpovědět 7.5.2013 10:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Kit:

Teď jsem si teprve všiml tohoto bludu o faktoriálech v komplexních číslech. Komplexní čísla se pro výpočet faktoriálu vůbec nehodí.

Odpovědět 7.5.2013 10:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Také jsme na to koukal :D I ta druhá část je špatně, jelikož C# na to má knihovnu.

Odpovědět 7.5.2013 10:36
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

Co? Tak jsem zvědavý jak jinak zpočítáš velká čísla... Komplexní čísla == scriptovací jazyk...

 
Odpovědět 7.5.2013 14:07
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

Už tady byl zmíněn BigInteger, který k těmto účelům velmi dobře poslouží.

Měl by sis někde přečíst, co to jsou komplexní čísla a k čemu se používají. Se skriptovacím jazykem nemají nic společného.

Odpovědět 7.5.2013 14:18
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

Ale mají - viz. Python. (Scriptovací jazyk se obecně hodí pro velké počty.) Komplexní čísla jsou "imaginární"/ne­omezená čísla - proto v nich lze počítat velké hodnoty faktoriálů... Zkusil jsem kdysi onen BigInteger - je to nesrovnatelně horší...

Editováno 7.5.2013 17:35
 
Odpovědět 7.5.2013 17:35
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

Komplexní číslo má dvě složky, reálnou a imaginární, a zapisuje se nejčastěji jako a + bi, přičemž i znamená imaginární jednotku, definovanou vztahem i2 = −1. Zmíněná rovnice pak má dvě řešení, ± i. Pro operace s komplexními čísly platí pravidla pro počítání s dvojčleny.

Takže? To fakt ne... :) (neomezenou - myslel jsem, že co v oboru reálných nejde, zde ano...) Vím naprosto přesně o čem tu píši - což se zrovna o tobě očividně říci nedá...

Editováno 7.5.2013 17:55
 
Odpovědět 7.5.2013 17:54
Avatar
Odpovídá na matesax
Luboš Běhounek (Satik):

"Ale mají - viz. Python. (Scriptovací jazyk se obecně hodí pro velké počty.)"

  • skriptovací jazyky jsou obvykle interpretované = pomalejší než kompilované, takže se pro velké výpočty moc nehodí

"Komplexní čísla jsou "imaginární"/ne­omezená čísla"

  • komplexní čísla mají reálnou a imaginární část a jsou stejně neomezená jako obyčejná reálná čísla, jen na počítači jsou ještě čísla členěna podle toho, jakou přesnost dokáží uložit nebo jaké maximální číslo se do nich vejde.

"proto v nich lze počítat velké hodnoty faktoriálů..."

  • i komplexní čísla jsou jen čísla, takže mají omezenou přesnost a rozsah reálné i imaginární části
Odpovědět 7.5.2013 18:02
:)
Avatar
Luboš Běhounek (Satik):

Podle toho, co jsi napsal před chvílí to evidentně nevíš ty, viz:
"Komplexní čísla jsou "imaginární"/ne­omezená čísla - proto v nich lze počítat velké hodnoty faktoriálů"

Takže třeba v obyčejných celých číslech nelze počítat velké hodnoty faktoriálů? Opravdu k tomu potřebuješ komplexní čísla? :)

Odpovědět  +1 7.5.2013 18:06
:)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 13. Zobrazit vše