🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.tlumaczenia
3 messages
3 total messages Started by bartt Sat, 10 Sep 2005 18:47
Statement a expression
#7144
Author: bartt
Date: Sat, 10 Sep 2005 18:47
9 lines
1616 bytes
Witam

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?

Pozdrawiam!

Bartek
Re: Statement a expression
#7145
Author: Michał Politowski
Date: Sun, 11 Sep 2005 13:27
42 lines
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.
Re: Statement a expression
#7146
Author: bartt
Date: Sun, 11 Sep 2005 21:50
5 lines
1665 bytes
Wielkie dzięki za dokładne wyjaśnienie problemu.

Pozdrawiam!

Bartek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads