Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 14. 10. 2013 12:28

natalie1993
Příspěvky: 39
Reputace:   
 

jak zapsat v pascalu desetiné místa

Ahoj, prosím o radu jak zapsat v pascalu , že chci aby se něco opakovalo do doby než bude x přirození číslo, a nebo do doby než bude za desetinou čárkou od x padesát destiných míst? Děkuji moc.

Offline

 

#2 14. 10. 2013 19:07

Formol
Místo: Praha
Příspěvky: 782
Pozice: krotitel mikroskopů (UHIEM 1. LF UK)
Reputace:   42 
 

Re: jak zapsat v pascalu desetiné místa

↑ natalie1993:

Celé číslo můžeš testovat na nulovost desetinné části:

Code:

repeat
  .......
until floor(x)=0;

Co se týče padesáti desetinných míst, tak to se obávám, že narazí na realitu datových typů. Každopádně můžeš zkusit hrubou sílu a postupně zahodit celou část čísla, testovat na nulový zbytek, vynásobit deseti, zahodit celou část čísla,.... až dokud nebude desetinná část čísla nulová - pak budeš vědět, kolik desetinných míst je  v čísle - a můžeš porovnat s padesátkou.

Daleko rychlejší přístup by byl založený na tom, že Pascal má pevně dané velikosti datových typů a že existuje variantní záznam. To ti umožní si definovat proměnnou, kde na stejném místě v paměti bude jednak reálný typ (nikoliv real) a několik celočíselných proměnných, které ti umožní kouknout na exponent a jednotlivé číslice přímou adresací.


Доктор сказал «в морг» — значит в морг!

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson