Sign in Join
Wiki copytemporary

Becomes/ru: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-:=
1+=
22
3-
3+Символ ***:=*** (состоит из символа [[Colon/ru|двоеточия]] и следующего за ним символа [[Equal/ru|равно]] без пробела или другого символа) читается как ***присвоить*** и используется в [[Pascal]] для обозначения *присваивания значения*:
44
5-
6-Символ _** := **_ (состоит из символа [[Colon/ru|двоеточия]] и следующего за ним символа [[Equal/ru|равно]] без пробела или другого символа) читается как _**присвоить**_ и используется в [[Pascal]] для обозначения _присваивания значения_ :
5+``` pascal
6+ A := 4 ;
7+ Circle_Area := Pi * Diameter ;
8+ Name := 'Smith' ;
9+ C := 1000 - C div 2 ;
10+```
711
8-
12+Причина использования двух символов для присваивания (вместо одного, скажем, знака **=**) состоит в том, чтобы отличать присваивание значения от проверки на равенство.
913
10-```
11-A := 4 ;
12- Circle_Area := Pi * Diameter ;
13- Name := 'Smith' ;
14- C := 1000 - C div 2 ;
15-```
14+Например, в языках программирования, кроме Pascal, можно написать так
1615
17-Причина использования двух символов для присваивания (вместо одного, скажем, знака **=**) состоит в том, чтобы отличать присваивание значения от проверки на равенство.
16+
17+A = B = D ;
1818
19-Например, в языках программирования, кроме Pascal, можно написать так
19+или так
2020
21- A = B = D ;
22- или так
23- A = B = D
21+A = B = D
2422
25-в зависимости от того, требуется ли указывать точку с запятой.
23+в зависимости от того, требуется ли указывать точку с запятой.
2624
27-В зависимости от языка программирования смысл этого выражения будет различным. Например, в языках Fortran и Basic данная инструкция будет означать "присвоить переменной A значение ответа на вопрос _равно ли B значению D?_ ". В языке программирования C это выражение будет означать "присвоить переменным A и B значение переменной D". Инструкция такого типа является достаточно распространенной ошибкой в языке программирования C; компилятор часто выдает предупреждение, если вы не сообщите ему, что намеренно сделали это (множественное присваивание) с помощью заключения выражения в круглые скобки. (Правильным способом получить значение результата проверки на равенство в языке C является выражение _**A = B == D;**_ ).
25+В зависимости от языка программирования смысл этого выражения будет различным. Например, в языках Fortran и Basic данная инструкция будет означать "присвоить переменной A значение ответа на вопрос *равно ли B значению D?*". В языке программирования C это выражение будет означать "присвоить переменным A и B значение переменной D". Инструкция такого типа является достаточно распространенной ошибкой в языке программирования C; компилятор часто выдает предупреждение, если вы не сообщите ему, что намеренно сделали это (множественное присваивание) с помощью заключения выражения в круглые скобки. (Правильным способом получить значение результата проверки на равенство в языке C является выражение ***A = B == D;*** ).
2826
29-В языке Pascal такая путаница не происходит, потому что данное выражение синтаксически некорректно. Можно было бы написать выражение
30-```
27+В языке Pascal такая путаница не происходит, потому что данное выражение синтаксически некорректно. Можно было бы написать выражение
28+
29+``` pascal
3130A := B = D;
3231```
3332
34-которое будет означать то же самое, что в языках Fortran или Basic, т.е. присвоить переменной A значение ответа на вопрос "_равны ли переменные B и D?_ "
33+которое будет означать то же самое, что в языках Fortran или Basic, т.е. присвоить переменной A значение ответа на вопрос "*равны ли переменные B и D?*"
3534
36-Для присваивания переменным A, B и D одинакового значения требуется явное разделение выражений следующим образом
35+Для присваивания переменным A, B и D одинакового значения требуется явное разделение выражений следующим образом
3736
38- A := D ; B := D ;
39- или
40- B := D ; A := B ;
41- или
42- A := D ; B := A ;
37+
38+A := D ; B := D ;
4339
44-в зависимости от того, есть ли разница в выполнении или побочные эффекты (D может быть динамической переменной, такой как системный [порт](</index.php?title=Port/ru&action=edit&redlink=1> "Port/ru \(page does not exist\)"), [[Function/ru|функцией]] или [свойством](</index.php?title=Property/ru&action=edit&redlink=1> "Property/ru \(page does not exist\)") [объекта](</index.php?title=Object/ru&action=edit&redlink=1> "Object/ru \(page does not exist\)"), таким образом, значение [[Identifier/ru|идентификатора]] D может отличаться между первым и вторым использованием.)
40+или
4541
46-
47-**Символы:** [[*/ru|* (звездочка)]] — := (присвоить) — [[Colon/ru|: (двоеточие)]] — [[Equal/ru|= (равно)]]; — [[Greater than/ru|> (больше чем)]] — [[Less than/ru|< (меньше чем)]] — [[Minus/ru|\- (минус)]] — [[Not equal/ru|<> (не равно)]] — [. (точка)](</index.php?title=period/ru&action=edit&redlink=1> "period/ru \(page does not exist\)") — [[Plus/ru|\+ (плюс)]] — [; (точка с запятой)](</index.php?title=;/ru&action=edit&redlink=1> ";/ru \(page does not exist\)") — [[Slash/ru|/ (слеш)]]
42+B := D ; A := B ;
4843
49-
50-****
44+или
5145
46+A := D ; B := A ;
47+
48+в зависимости от того, есть ли разница в выполнении или побочные эффекты (D может быть динамической переменной, такой как системный [[Port/ru|порт]], [[Function/ru|функцией]] или [[Property/ru|свойством]] [[Object/ru|объекта]], таким образом, значение [[Identifier/ru|идентификатора]] D может отличаться между первым и вторым использованием.)
49+
5250---
53-*From the Free Pascal wiki, page "Becomes/ru", as the Internet Archive kept it on 2023-04-06. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
51+*From the Free Pascal wiki, page "Becomes/ru", as it stood on 2020-02-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history