Article View: pl.comp.tlumaczenia
Article #7145Re: Statement a expression
From: Michał Politowski
Date: Sun, 11 Sep 2005 13:27
Date: Sun, 11 Sep 2005 13:27
42 lines
3784 bytes
3784 bytes
On Sat, 10 Sep 2005 20:47:10 +0200, bartt <bartt@wp.pl> wrote: > Jaka jest różnica pomiędzy "statement" a "expression" w nazewnictwie > informatycznym? Oba można przetłumaczyć jako "wyrażenie" ale czy znaczą > zawsze to samo? Nie można, a przynajmniej zwykle bym odradzał. Jeśli powiedzmy opis (definicja) języka programowania posługuje się obydwoma terminami, "expression", czyli "wyrażenie" oznacza zwykle fragment tekstu programu wyliczany dla uzyskania jakiejś wartości (jak np. wyrażenie (a+foo(b)), którego wyliczenie zwróci sumę wartości zmiennej a i wyniku wyrażenia foo(b)). Wyrażenie może być fragmentem większego wyrażenia (jako parametr funkcji czy operatora). Przykładowe wyrażenie zawiera podwyrażenia a, b, foo(b). Może być też częścią instrukcji. "Statement" zaś czyli "instrukcja" (mogą się pewnie pojawić inne propozycje) jest, w językach, w których to pojęcie w ogóle występuje, jednostką wyższego rzędu. Program w takich językach (a w zasadzie każdy fragment programu: podprogram, procedura, funkcja) składa się z ciągu instrukcji wykonywanych po kolei. Instrukcje nie zwracają wartości, zmieniają natomiast stan programu (wartości zmiennych), wykonują operacje wejścia/wyjścia, itp. A także wpływają na kolejność wykonywania innych instrukcji (pętle, instrukcje warunkowe, niesławne goto). Bywa przy tym tak, że pojedyncze wyrażenie może być instrukcją programu. Ma to sens jeśli oprócz wyliczenia wartości, która będzie w takim wypadku zapewne zignorowana, powoduje ono jeszcze jakieś skutki uboczne [side effects] (operacje wejścia/wyjścia, zmiana stanu). Podobne konstrukcje mogą w jednych językach być wyrażeniami, gdy w innych są instrukcjami. Są też języki, w których takie rozróżnienie nie ma większego sensu i przynajmniej formalnie występują w zasadzie wyłącznie wyrażenia (i definicje). Patrz też np.: http://en.wikipedia.org/wiki/Expression_%28programming%29 http://en.wikipedia.org/wiki/Statement_%28programming%29 -- Michał Politowski Talking has been known to lead to communication if practiced carelessly.
Technical Details
Message-ID:
<slrndi8c6b.e28.reply@Amber.lab.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!opoka.org.pl!news.idn.org.pl!news.signoff.com.pl!chlor.kofeina.net!not-for-mailReferences:
<dfv9ol$62h$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!opoka.org.pl!news.idn.org.pl!news.signoff.com.pl!chlor.kofeina.net!not-for-mail
From: Michał Politowski <reply@reply-to.address>
Newsgroups: pl.comp.tlumaczenia
Subject: Re: Statement a expression
Date: Sun, 11 Sep 2005 13:27:39 +0000 (UTC)
Organization: Mixing Metaphors for Fun and Profit
Lines: 42
Sender: Jaroslaw Hirny <agnus@hell.pl>
Approved: usenet+pl.comp.tlumaczenia@kofeina.net
Message-ID: <slrndi8c6b.e28.reply@Amber.lab.icm.edu.pl>
References: <dfv9ol$62h$1@nemesis.news.tpi.pl>
Reply-To: !#$%&'*+-/=?^_`{|}~@mp.pl.eu.org
NNTP-Posting-Host: chlor.kofeina.net
Mime-Version: 1.0
X-Trace: chlor.kofeina.net 1126445414 26030 194.114.145.51 (11 Sep 2005 13:30:14 GMT)
X-Complaints-To: usenet@kofeina.net
NNTP-Posting-Date: Sun, 11 Sep 2005 13:30:14 +0000 (UTC)
Return-Path: <agnus@hell.pl>
X-PGP: 1024D/6B757C5B; 1C98 622F 6A6D 822D 3E95 2626 14EB 98C1 6B75 7C5B; 2004-02-29 -- 2006-02-28
X-User: mdp
User-Agent: slrn/0.9.8.1pl1 (Debian)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
X-Virus-Scanned: amavisd-new at kofeina.net
X-Bogosity: No, tests=bogofilter, spamicity=0.000000, version=0.15.11
X-NNTP-Posting-Host: 64-mi2-2.acn.waw.pl
X-Path: not-for-mail
X-NNTP-Posting-Date: Sun, 11 Sep 2005 13:27:39 +0000 (UTC)
X-Moderator: Jaroslaw Hirny <agnus@hell.pl>
X-Moder-Tool: $Id: modpunk.pl 75 2004-11-24 18:26:09Z eloy $
X-X-Trace: inews.gazeta.pl 1126445259 20261 82.210.189.64 (11 Sep 2005 13:27:39 GMT)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit