Article View: be.comp.programming
Article #10842Re: Integer vs Real
From: Luc Kumps
Date: Sun, 24 Feb 2002 07:25
Date: Sun, 24 Feb 2002 07:25
43 lines
2735 bytes
2735 bytes
"Babsje" <newsgroupemail2000.removenospam@yahoo.com> wrote in message
news:3c781e09$0$75152$ba620e4c@news.skynet.be...
> blijft uiteindelijk een real. Balen! Weet iemand hoe ik de uitkomst van
een
> bewerking die een real geeft, om kan zetten in een integer?
In Turbo Pascal 1.0 ging dat als volgt:
i := round(sqrt(f));
Ik neem aan dat men dat er heeft laten inzitten ;-)
> De tweede vraag gaat over de invoer van een bepaald getal door de
gebruiker.
> Ik doe dat met een readln, en het lukt me wel om te checken of dat getal
> tussen door mij bepaalde grenzen ligt. Echter, wat moet ik doen als iemand
> letters ingeeft in plaats van een getal? De compiler geeft dan een
> foutmelding (logisch), hoe kan ik dat checken?
Als je {$I-} zet voor jouw readln, dan zal er geen runtime error worden
gegenereerd als er iets fout loopt.
Je activeert de runtime checking weer mbv {$I+}
Je kunt testen of er een fout was dmv IOERROR.
Bv.
{$I-}
readln(i);
if (IOError <> 0) then
writeln('Dat was volgens mij geen integer');
{$I+}
Ik denk dat ook dit in alle TP versies ondersteund werd. Ik heb het zonet in
TP 3.0 (dat is het nostalgisch hoekje van mijn harde schijf zit) geprobeerd,
en het werkte. Voor de mensen die het niet (meer) weten: Turbo Pascal 3
bevatte een volledige editor, compiler en runtime environment in 39671 bytes
(ik herinner me niet meer hoeveel dat was voor 1.0 en 2.0, maar het was
minder). Zelfs op de machines van 15 jaar geleden waren compilaties razend
snel! Het geheim van de snelle compilatie was simpel: 1) enkel de eerste
compilerfout werd getoond, en 2) optimalisatie van gegenereerde code bestond
niet.
Luc
Technical Details
Message-ID:
<3A0e8.178450$rt4.19921@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<3c781e09$0$75152$ba620e4c@news.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,bb91a838e416d0a9 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-02-23 23:25:53 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!193.190.198.17!newsfeeds.belnet.be!news.belnet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: "Luc Kumps" <NOkumpsSPAM@pandora.be> Newsgroups: be.comp.programming References: <3c781e09$0$75152$ba620e4c@news.skynet.be> Subject: Re: Integer vs Real Lines: 46 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Message-ID: <3A0e8.178450$rt4.19921@afrodite.telenet-ops.be> Date: Sun, 24 Feb 2002 07:25:51 GMT NNTP-Posting-Host: 213.118.69.68 X-Complaints-To: abuse@pandora.be X-Trace: afrodite.telenet-ops.be 1014535551 213.118.69.68 (Sun, 24 Feb 2002 08:25:51 MET) NNTP-Posting-Date: Sun, 24 Feb 2002 08:25:51 MET Organization: Telenet Internet