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

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
↑ natalie1993:
Celé číslo můžeš testovat na nulovost desetinné části:
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