Article View: pl.comp.lang.pascal
Article #92641Re: WHile a For
From: Andrzej Grażyński
Date: Tue, 21 Oct 2008 08:23
Date: Tue, 21 Oct 2008 08:23
37 lines
1754 bytes
1754 bytes
> Serio tak jest w pascalu?
Weź debugger i przekonaj się
> Gdzie można znaleźć semantykę fora w Pascalu?
Od samego początku, czyli od tzw. Pascala wzorcowego (1971) autorstwa N.
Wirtha i Miss Jensen, wartości graniczne pętli for wyliczane są
bezpośrednio przed jej rozpoczęciem. Czyli
i := 10;
for i := i to i+i do ..
jest równoważne
for i := 10 to 20 do ..
Z założenia bowiem w momencie rozpoczęcia pętli for znana jest już
liczba jej obrotów. Umożliwia to kompilatorom optymalizację, na przykład
w poniższym przykładzie
M := 2000;
for i := K to L do
begin
if Odd(M)
then
M := 3*M + 1
else
M := M div 2;
end;
śledząc wartość zmiennej i możemy jej w ogóle nie zauważyć.
Technical Details
Message-ID:
<gdk3j3$l0m$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<20080905121945.03f2cdf2.solaris@be.inspired> <gdcdu2$27s$1@news.onet.pl> <uh9w37logg5j.dlg@lukasz.5.waw.pl> <gdfssl$m98$1@news.onet.pl> <npf1qas94rtl.dlg@lukasz.5.waw.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Andrzej Grażyński <grazynsk@petex.com.pl> Newsgroups: pl.comp.lang.pascal Subject: Re: WHile a For Date: Tue, 21 Oct 2008 10:23:52 +0200 Organization: Onet.pl Lines: 40 Message-ID: <gdk3j3$l0m$1@news.onet.pl> References: <20080905121945.03f2cdf2.solaris@be.inspired> <gdcdu2$27s$1@news.onet.pl> <uh9w37logg5j.dlg@lukasz.5.waw.pl> <gdfssl$m98$1@news.onet.pl> <npf1qas94rtl.dlg@lukasz.5.waw.pl> NNTP-Posting-Host: rt-bras1.welnowiec.net Mime-Version: 1.0 X-Trace: news.onet.pl 1224577444 21526 83.143.96.27 (21 Oct 2008 08:24:04 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Tue, 21 Oct 2008 08:24:04 +0000 (UTC) X-Sender: 2ysppuKZfnIJFd8Xm5/5BA== In-Reply-To: <npf1qas94rtl.dlg@lukasz.5.waw.pl> User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit