Учебное пособие Для студентов технических специальностей всех форм обучения



бет9/24
Дата10.03.2016
өлшемі2.27 Mb.
#49466
түріУчебное пособие
1   ...   5   6   7   8   9   10   11   12   ...   24

§4.1. Оператор присваивания


Этот оператор является одним из простейших, и наиболее используемым оператором языка. Он предназначен для определения нового значения переменной или значения, возвращаемого функцией. Общий вид оператора:

<имя> := <выражение>

Частным случаем выражения может быть константа или переменная.

Тип имени и выражения должны совпадать. Допускается только одно исключение: выражение целого типа, а переменная – вещественного.

При выполнении оператора вычисляется выражение, и полученный результат записывается в ячейку памяти, выделенную под переменную. Присваивание допускается для всех простых типов, для структурированных типов присваивание выполняется поэлементно. Нельзя использовать присваивание для файловых типов.


§4.2. Ввод-вывод данных


Для ввода информации с клавиатуры и вывода ее на экран (стандартные устройства ввода-вывода) используются 4 оператора обращения к процедурам. Для ввода используются:

Read (<список параметров ввода>);

ReadLn (<список параметров ввода>);

В списке параметров указываются вводимые переменные. Во втором случае после ввода указанного количества параметров происходит переход на новую строку. Но, так как ввод с клавиатуры всегда должен заканчиваться переходом на новую строку, то именно для устройства ввода – клавиатуры, – эти операторы можно считать равнозначными. При вводе числовых значений их необходимо разделять хотя бы одним пробелом или переходом на новую строку.


Например, если в программе встретится оператор

Read (x,y,z);

то выполнение программы приостановится (будет индицироваться экран данных, стандартно черного цвета), пока не будет введена строка

0.28 32.5 1.0

Для вывода так же используются два оператора

Write (<список параметров вывода>);

WriteLn (<список параметров вывода>);

В списке параметров указываются выражения, в частности переменные и константы, например строковые:

WriteLn ('Сумма=',S,' Произведение=',a*b);

Аналогично с вводом, после выполнения второго оператора осуществляется переход на новую строку. Оператор Write обычно используется при необходимости формирования одной строки с помощью нескольких операторов.


При выводе вещественные числа имеют 15 цифр мантиссы и 4 цифры порядка, а целые занимают место, равное количеству значащих цифр. Так, при выполнении операторов

Read (i,j,k,x);

Writeln (i,j,k);

Writeln (x);

на экране данных появится информация:

35 128 15 0.75

3512815

7.50000000000000Е-0001



Первая строка – это введенные с клавиатуры данные. Гораздо нагляднее использовать форматированный вывод. Здесь параметр выглядит следующим образом:

<выражение>:<количество выделяемых позиций>

При этом данное прижимается к правому краю. Вещественные числа в таком формате все равно будут выводится в экспоненциальной форме (с плавающей точкой). Только для вещественных чисел, чтобы использовать формат с фиксированной точкой, используется следующий общий вид:



< выражение>:<общее количество выделяемых позиций>:<количество позиций дробной части>

Внимание! Не путать общее количество выделяемых позиций с количеством позиций целой части вещественного числа!

Аналогично предыдущему примеру:

Read (i,j,k,x);

Writeln (i:4,j:4,k:4);

Writeln (x:7:3);

на экран будет выведена информация в более удобном для восприятия виде:

35 128 15 0.75

35 128 15

0.750

Необходимо обратить внимание: первая цифра при задании формата числа является общим количеством выделяемых позиций, в которых необходимо учитывать место под знак числа и десятичную точку.



Формат с двумя числами предназначен только для вещественных чисел в форме с фиксированной точкой.

§4.3. Составной оператор


Все операторы Паскаля условно можно разбить на простые и структурные. Структурные включают в свой состав другие операторы. В частности, в условном операторе, операторе выбора и двух операторах цикла может быть записан только один внутренний оператор. Это ограничение можно обойти, если использовать операторные скобки или составной оператор. Он имеет следующий вид:

Begin


<оператор1>;

<оператор2>;

...


<операторn>

end


Пример: вся программа состоит из одного составного оператора.

§4.4. Пустой оператор


Пустой оператор никак не обозначается и не вызывает действий – это просто лишняя точка с запятой в программе. Предназначен он в качестве носителя метки, если ее необходимо поставить перед словом END в конце составного оператора или программы. Поэтому любой оператор может заканчиваться одной или несколькими точками с запятой.

§4.5. Безусловный оператор перехода


Это единственный оператор, в котором используется метка. Он имеет вид:

Go To <метка>;

После выполнения этого оператора будет осуществлен переход на оператор, перед которым стоит указанная метка.

Использование безусловных передач управления в программе считается теоретически избыточным для многих языков высокого уровня и способствует созданию малопонятных и трудно модифицируемых программ, которые вызывают сложности при отладке и сопровождении. Если же программист считает, что без условных переходов не обойтись, то необходимо выполнять следующие условия:


  1. Не допускаются переходы внутрь подпрограмм (процедур и функций) или из них.

  2. Переход внутрь структурного оператора может вызвать непредсказуемые эффекты, хотя компилятор не выдает сообщение об ошибке.

Примером на условный и безусловный операторы можно считать алгоритм вычисления кубического корня, хотя реально для этих целей удобнее и нагляднее использовать один из операторов цикла без параметра.

Program S;

Label L;

Const Eps = 1E-6; {определим точность как константу}

Var a,x,y:real;

Begin


WriteLn (‘Введите число для определения кубического корня’);

Read (a);

x := a;

L: y := x; {«старим» предыдущее значение}



x := 1/3*(a/sqr(y)+2*y); {вычисляем новое значение}

If Abs(x-y)>Eps Then

GoTo L; {повторим, если разность старого и нового значений не достигла заданной точности}

WriteLn (‘Значение корня:’, x:10:6);

End.



Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   24




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет