Sign in Join
Wiki copytemporary

Becomes/ru: what changed

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

OldNewLine
1-<div style="float:left; margin: 0 10px 20px 0; padding:40px; font-size:500%; font-family: Georgia; background-color: #f9f9f9; border: 2px solid #777777;">
1+:=
22
33
4-=
54
6-</div>
5+
6+Символ _** := **_ (состоит из символа [[Colon/ru|двоеточия]] и следующего за ним символа [[Equal/ru|равно]] без пробела или другого символа) читается как _**присвоить**_ и используется в [[Pascal]] для обозначения _присваивания значения_ :
77
8-Символ ***:=*** (состоит из символа [[Colon/ru|двоеточия]] и следующего за ним символа [[Equal/ru|равно]] без пробела или другого символа) читается как ***присвоить*** и используется в [[Pascal]] для обозначения *присваивания значения*:
8+
99
10-``` pascal
11- A := 4 ;
12- Circle_Area := Pi * Diameter ;
13- Name := 'Smith' ;
14- C := 1000 - C div 2 ;
1510```
16-
17-Причина использования двух символов для присваивания (вместо одного, скажем, знака **=**) состоит в том, чтобы отличать присваивание значения от проверки на равенство.
18-
19-Например, в языках программирования, кроме Pascal, можно написать так
20-
21-
22-A = B = D ;
11+A := 4 ;
12+ Circle_Area := Pi * Diameter ;
13+ Name := 'Smith' ;
14+ C := 1000 - C div 2 ;
15+```
2316
24-или так
17+Причина использования двух символов для присваивания (вместо одного, скажем, знака **=**) состоит в том, чтобы отличать присваивание значения от проверки на равенство.
2518
26-A = B = D
19+Например, в языках программирования, кроме Pascal, можно написать так
2720
28-в зависимости от того, требуется ли указывать точку с запятой.
21+ A = B = D ;
22+ или так
23+ A = B = D
2924
30-В зависимости от языка программирования смысл этого выражения будет различным. Например, в языках Fortran и Basic данная инструкция будет означать "присвоить переменной A значение ответа на вопрос *равно ли B значению D?*". В языке программирования C это выражение будет означать "присвоить переменным A и B значение переменной D". Инструкция такого типа является достаточно распространенной ошибкой в языке программирования C; компилятор часто выдает предупреждение, если вы не сообщите ему, что намеренно сделали это (множественное присваивание) с помощью заключения выражения в круглые скобки. (Правильным способом получить значение результата проверки на равенство в языке C является выражение ***A = B == D;*** ).
25+в зависимости от того, требуется ли указывать точку с запятой.
3126
32-В языке Pascal такая путаница не происходит, потому что данное выражение синтаксически некорректно. Можно было бы написать выражение
27+В зависимости от языка программирования смысл этого выражения будет различным. Например, в языках Fortran и Basic данная инструкция будет означать "присвоить переменной A значение ответа на вопрос _равно ли B значению D?_ ". В языке программирования C это выражение будет означать "присвоить переменным A и B значение переменной D". Инструкция такого типа является достаточно распространенной ошибкой в языке программирования C; компилятор часто выдает предупреждение, если вы не сообщите ему, что намеренно сделали это (множественное присваивание) с помощью заключения выражения в круглые скобки. (Правильным способом получить значение результата проверки на равенство в языке C является выражение _**A = B == D;**_ ).
3328
34-``` pascal
29+В языке Pascal такая путаница не происходит, потому что данное выражение синтаксически некорректно. Можно было бы написать выражение
30+```
3531A := B = D;
3632```
3733
38-которое будет означать то же самое, что в языках Fortran или Basic, т.е. присвоить переменной A значение ответа на вопрос "*равны ли переменные B и D?*"
39-
40-Для присваивания переменным A, B и D одинакового значения требуется явное разделение выражений следующим образом
41-
42-
43-A := D ; B := D ;
34+которое будет означать то же самое, что в языках Fortran или Basic, т.е. присвоить переменной A значение ответа на вопрос "_равны ли переменные B и D?_ "
4435
45-или
36+Для присваивания переменным A, B и D одинакового значения требуется явное разделение выражений следующим образом
4637
47-B := D ; A := B ;
38+ A := D ; B := D ;
39+ или
40+ B := D ; A := B ;
41+ или
42+ A := D ; B := A ;
4843
49-или
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 может отличаться между первым и вторым использованием.)
5045
51-A := D ; B := A ;
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|/ (слеш)]]
5248
53-в зависимости от того, есть ли разница в выполнении или побочные эффекты (D может быть динамической переменной, такой как системный [[Port/ru|порт]], [[Function/ru|функцией]] или [[Property/ru|свойством]] [[Object/ru|объекта]], таким образом, значение [[Identifier/ru|идентификатора]] D может отличаться между первым и вторым использованием.)
49+
50+****
5451
5552---
56-*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).*
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).*

Back to history