всегда осуществляется на той же строке до тех пор, пока на ней есть место.
Другими словами, после выполнения оператора WRITE курсор остается в конце строки, а после реализации оператора WRITELN курсор переходит в начало строки.
Рассмотрим конкретные примеры:
Пример 1.
Для а=1; b=2; с=3, которые находятся в памяти ЭВМ, вывод на экран дисплея можно осуществить следующим образом:
Write (а, b, с);
1 2 3
То же самое (в виде строки) будет напечатано, если вывод осуществляется с помощью следующей процедуры:
Write (а);
Write (b);
Write (с);
Либо:
Write (а);
Write (b);
Writeln (с);
В то же время, если вывод осуществляется по следующей процедуре с ln:
Writeln (а);
Writeln (b);
Writeln (с);
То будет напечатано:
1
2
3
Пример 2.
Для i=1; j=2; k=3; l=4; m=7; n=8 и вывод осуществить по следующей процедуре:
Write (i, j); Writeln (k); Write (l, m, n);
То будет напечатано:
1 2 3
4 7 8
В данных примерах «по умолчанию» компьютером отводится определенное количество позиций на экране дисплея для печати соответствующего числа. На PASCAL есть возможность управлять данным процессом. В этом случае необходимо после написания переменной, текста, либо выражения после обязательного двоеточия указать число позиций, отводимых под каждый из этих данных. Пример 3.
Если а=1; b=2; с=3 и вывод осуществляется с помощью следующего оператора:
Writeln (а:2, b:3, с:4); (указываются позиции),
то будет напечатано :
|
_ 1 _ _ |
2 _ _ |
3 _ |
|
|
а |
b |
c |
|
В тоже время можно управлять и вещественными |
||||
константами (дробные числа). |
|
|
||
Пусть для а=3,2; b=0,072; с=75,25 и вывод |
|
|||
осуществить с помощью следующего оператора: |
|
|||
Writeln (а:6:2, b:7:3, c:8:3); |
|
|
||
|
то будет напечатано: |
|
||
_ |
3 . 20 _ _ 0 . 072 _ _ |
75 . 250 |
_ |
|
а→6 |
b→7 |
|
с→8 |
|
Таким образом, первая цифра после первого двоеточия – это общее количество позиций, а вторая – после второго двоеточия – это количество позиций, отводимых для дробного числа.
Следует отметить, что пустой оператор WRITELN (без списка и скобок) используется для перехода к новой строке, если находится между операторами WRITE, другими словами для печати другой строки (пропуск строки). Так осуществляется регулирование интервала между строк при печати.
С другой стороны без такого пустого оператора невозможно обойтись при печати результатов в виде матрицы (он вставляется между внешним и внутренним циклом).
Рассмотрим другой пример, связанный с выводом произвольного текста на экран дисплея.
Рассмотрим процесс так называемого табулирования функции. Результат удобнее всего вывести на экран дисплея (для удобства чтения), когда переменную со знаком равенства необходимо заключить в апостроф.
Writeln (´x=´, x, ´y=´, y);
Тогда результат будет напечатан в следующем виде (при табулировании в цикле):
x=1 y=… x=2 y=…
.
.
.
x=20 y=…
В результате будет два столбца.
Расстояние между двумя столбцами можно отрегулировать с помощью следующей процедуры:
Writeln (´x=´, x:10, ´y=´, y);
Можно отрегулировать количество позиций и для вещественного значения y:
Writeln (´x=´, x:10, ´y=´, y:10:5)
Следует отметить что, на клавиатуре символ апострофа находится на клавише с символом «Э»(кириллица).
На клавиатуре символ апострофа находится на клавише символа «Э».
Пример 4.
Рассмотрим пример, связанный с какими-либо вычислениями с помощью данного оператора; например, если:
Writeln ((a+b)/c+sin (a));
То компьютер вычисляет выражение:
a b |
sin |
|
|
||
c |
||
|
И результат вычисления выводится на экран дисплея, а сам результат в памяти компьютера не сохраняется.
На основе вышеизложенного материала можно теперь составлять простейшие программы. Рассмотрим некоторые из них. В первую очередь приведѐм несложный текст программы на использование данных runastring:
PROGRAM igra; Var
Name:string; Begin
Write(‗Введите имя и Enter‘);
Readln(Name);
Write(‗Здравствуй,‘,Name);
End.
В результате на экран дисплея выйдет, например: Здравствуй, Masa.
Это, при условии, если в момент останова с клавиатуры ввести «Masa» и нажать клавишу Enter.
Рассмотрим другой пример.
Пусть требуется вычислить следующее значение функции:
y ax2 |
|
|
|
|
|
ax |
b , при х=7,8; |
||
|
||||
3 dx2 |
b |
c cx |
||
где a=1,2; b=7,8; c=0,2*10; d=17 · 10-4.
Вариант программы будет выглядеть следующим образом.
PROGRAM func; VAR
A,B,C,D,X,Y:REAL; BEGIN
A:=1.2;
B:=7.8; C:=0.2E-2; D:=17E-2; X:=7.8;
Y:=(Y*SQR(X)+SQRT(A*X+B))/ (EXP((1/3)*LN(D*SQR(X)+B))+EXP(-C*X)); WRITE (Y);
END.
Здесь вместо оператора Х:=7.8; (программный ввод аргумента) можно использовать оператор READ(X); (ручной- с клавиатуры ввод аргумента).
ОПЕРАТОР УСЛОВНОГО ПЕРЕХОДА IF
Иногда его называют логическим оператором условного перехода. На языке PASCAL имеются две формы данного оператора:
1.Неполная (сокращенная).
2.Полная.
В общем виде неполную форму можно представить: