выражении они могут отсутствовать. Пусть требуется выражение:
y |
a |
b |
|
|
|
||
c |
d |
||
|
представить с помощью математического оператора присваивания. Такой оператор обязательно должен выглядеть:
у:=(a+b)/(c+d).
Здесь числитель и знаменатель обязательно должен быть заключен в круглые скобки. Отсутствие их приведет к неправильным результатам. Докажем это с помощью вышеизложенного приоритета. Пусть мы забыли заключить в скобки числитель:
y:=a+b/(c+d)
Данный оператор не соответствует исходному выражению, а соответствует совсем другому выражению:
y a |
b |
|
a(c |
d ) |
b |
|
|
|
|
|
|
c d |
|
c |
d |
|
|
|
|
|
Если совсем опустить круглые скобки: y:=a+b/c+d,
то данный оператор также не будет соответствовать исходному выражению:
y a |
b |
d |
|
|
|||
c |
|||
|
и т.д. |
Таким образом, если в исходном выражении в числителе и знаменателе имеется операция сложения и вычитания, то в операторе числитель и знаменатель заключаются в круглые скобки, а дробь заменяется наклонной черточкой.
Рассмотрим более сложный пример:
|
|
|
a |
b |
|
|
|
|
1 |
1 |
|
|
|
y |
|
|
c1 |
d1 |
|
|
|
a2 |
b2 |
|
|
||
|
|
|
|
|||
|
|
c2 |
d 2 |
|
|
|
Соответствующий математический оператор может выглядеть в следующей форме:
y : ((a1 b1) /(c1 d1)) /((a2 b2) /(c2
;
1 |
2 |
3 |
4 |
|
5 |
|
6 |
7
ВВОД И ВЫВОД ДАННЫХ
Ввод данных осуществляется с помощью операторов read и readln, а вывод осуществляется с помощью операторов write и writeln, приставка ln появилась от служебного слова line (ввод в линию или вывод в линию).
ОПЕРАТОРЫ ВВОДА ДАННЫХ
Для ввода исходных данных справа от соответствующих служебных слов (read, readln) в обязательных круглых скобках, через запятую
указываются переменные, для которых с клавиатуры компьютера через пробел ввести соответствующие данные, например:
READ (А, В, С);
Выполняя данный оператор ЭВМ делает остановку и «ждет»- введенных данных с клавиатуры.
При этом такой ввод для данного оператора ввод можно осуществить по нескольким вариантам:
1.2_3_5.9Е-2<Enter> - это ввод в строчку.
аможно вводить в столбик:
1.2<Enter>
3 <Enter>
5.9E-2 <Enter>
либо,
1.2_3 <Enter>
5.9E-2 <Enter>
В любом из этих случаев в памяти компьютера будут находиться такие значения:
a=1,2 ; b=3;
c=5,9
10 2 ;
В выше приведенном примере ввод a,b и c можно осуществить по другому варианту:
Read (a);
Read (b);
Read (с);
Рассмотрим другой пример. Пусть в программе имеется:
Read (a, b, c); Read (x, y, z); Read (m);
А исходные данные с клавиатуры вводятся следующим образом:
3_7 <Enter>
2_5_9 <Enter>
1_8 |
<Enter> |
В результате переменные примут следующие |
|
значения: |
|
a=3, |
b=7, c=2, m=8, x=5, y=9, z=1. |
Таким образом, все переменные можно включить в один оператор READ, либо в несколько, а исходные данные с клавиатуры можно вводить в одну или несколько строк. Считывание будет осуществленная оператором READ, последовательно слева на право, сверху вниз.
Рассмотрим процедуру ввода данных с помощью оператора READLN. Процедура ввода для него отличается от процедуры READ тем, что оператор READLN после считывания данных из соответствующей строки переходит к считыванию данных с новой строки с помощью нижеследующего оператора ввода. Даже, если в первой строке остались не считанные данные.
Например если в программе:
Readln (a, b); Readln (c, d, e);
Аввод осуществляется по следующей процедуре:
1_2_3 <Enter> 4_5_6_7_8 <Enter>
В результате будет присвоено: a=1; b=2; c=4; d=5; e=6
Другой пример. Пусть в программе:
Read (a, b); Readln (c, d); Read (m, n);
Аввод осуществляется следующим образом:
1_2_3_4_5_6 <Enter> 7_8 <Enter>
В результате будет присвоено: a=1; b=2; c=3; d=4; m=7; n=8
Оператор READLN без списка переменных (пустой оператор) осуществляет переход к началу новой строки данных, т.е. он игнорирует все оставшиеся данные в текущей строке (в том числе и <Enter>) и осуществляет переход к чтению данных из следующей строки. Например:
Readln (a, b); Readln; Readln (c, d);
А вывод осуществляется по следующей процедуре:
1_2_3 <Enter>
4_5 <Enter>
6_7_8 <Enter>
тогда будет присвоено: a=1; b=2; c=6; d=7
Следует отметить, что оператор READLN на практике часто используется только для ввода текстовых данных.
ОПЕРАТОРЫ ВЫВОДА ДАННЫХ
Для вывода данных на экран дисплея необходимо после служебного слова WRITE в обязательных круглых скобках через запятую указать список переменных, выражений либо какого-либо символьного текста.
При этом оператор WRITE отличается от WRITELN тем, что после реализации печати всех данных из оператора WRITELN осуществляется печать с новой строки. Реализация печати из оператора WRITE