Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Praktikum_po_programmirovaniyu.doc
Скачиваний:
23
Добавлен:
09.12.2018
Размер:
2.5 Mб
Скачать

3.2.2. Операторы ввода-вывода

Для обеспечения ввода информации используются операторы Read и Readln, а для вывода - Write и Writeln. Различие между операторами Read и Readln, а также Write и Writeln состоит в том, что первые из них после выполнения оставляют курсор на той же самой строке, а вторые переводят его на следующую строку

Пример использования операторов ввода-вывода:

var

a: integer;

b: real;

c: char;

begin

{Оператор writeln выводит на экран фразу, }

{заключенную в апострофы, и переводит курсор на}

{другую строку}

writeln(‘Ведите значения переменных’);

{Оператор read обеспечивает ввод данных}

{данные вводятся минимум через один пробел}

{ в соответствии с порядком написания и типом}

{курсор остается на той же строке}

read(a,b,c);

writeln(‘Переменная a = ‘, a);

36

writeln(‘Переменная b = ‘, b);

writeln(‘Переменная c = ‘, c);

end.

Если последовательность вводимых символов на экране будет выглядеть так:

35 105.43 ‘d’ , то после выполнения программы на экране появится сообщение:

Переменная a = 35

Переменная b = 105.43

Переменная c = d

При вводе последовательности символов:

‘d’ 105.43 35 появится сообщение об ошибке, так как введенные символы не соответствуют заданному типу.

В операторах вывода возможна такая форма записи:

Writeln((a+b/2);

После вычисления значения выражения в скобках оно будет напечатано.

Для операторов вывода возможно задание формата вывода.

Writeln(a:6); _ _ _ _ 35

Writeln(b:6:2); 105.43

Writeln(c:4); _ _ _d

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

В том случае, если число не умещается в заданном формате, то недостающие позиции заполняются символом *. Например, число a = 13267 при выводе в формате writeln(a:3) будет представлено так: **267.

37

3.2.3. Структурные операторы

Структурные операторы представляют собой конструкции, построенные из других операторов по строго определенным правилам.

Составной оператор – группа из произвольного числа операторов, заключенных в операторные скобки begin и end.

begin

Группа операторов

end;

Этот оператор позволяет писать программы по современной технологии программирования (без использования оператора goto).

3.2.4. Условные операторы

Оператор условия if может быть использован в двух видах:

  1. if <условие > then <оператор_1>

else <оператор_2>;

  1. if <условие > then <оператор_1 >

<Условие> - это выражение булевского типа. Сложные условия образуются с помощью логических операций and, or, not, xor. При записи условий могут быть использованы все возможные операции отношения. Результат будет иметь булевский тип.

Если условие является истинным, то при использовании первого вида условного оператора управление передается оператору 1, в противном случае выполняется оператор 2.

При использовании второго вида условного оператора управление передается оператору 1, если условие истинно, в противном случае управление передается оператору, следующему за данным условным оператором.

38

Примеры.

  1. С простым оператором:

if a > b then d: = a + b

else d: = a – b;

writeln(‘d = ‘,d);

  1. С составным оператором:

If a < b then

begin

writeln(‘ a меньше b’);

d:=a*b;

end

else

begin

writeln(‘a b’);

d:=a/b;

end;

3. C использованием сложного условия:

if (a = b) and (c >=d) then

begin

f: = 0;

writeln(f);

end

else

begin

f: = 100;

writeln(f);

end;

Оператор выбора case является обобщением оператора if и позволяет сделать выбор из множества условий.

Оператор выбора case имеет такую структуру:

Case <выражение-селектор> of

<константа выбора 1>: оператор_1;

39

<константа выбора 2>: оператор_2;

. . .

<константа выбора >: оператор_;

else <оператор>

end; {end case}

Оператор выбора работает следующим образом. Вначале вычисляется значение селектора. Затем отыскивается оператор, константа выбора которого совпадает с вычисленным значением селектора. Этот оператор выполняется, после чего оператор выбора прекращает свою работу. Если же ни одна из констант выбора не равна значению селектора, то выполняется оператор, следующий за else, а если else отсутствует, то управление передается на конец оператора выбора и он прекращает свою работу.

Выражение-селектор может иметь любой скалярный тип, кроме вещественного. Использование строкового типа в качестве селектора также запрещено.

Селектор интервального типа:

case i of

1.. 10: writeln(‘Число в диапазоне 1..10’);

11..20: writeln(‘Число в диапазоне 11..20’);

21..30: writeln(‘Число в диапазоне 21..30’);

else writeln(‘Число вне пределов контроля;);

end;

Селектор целочисленного типа:

case i of

5: z: = i + 10;

8: z: = i + 100;

3: z: = i +1000;

end;

Селектор перечисленного типа:

var

s: (au, fe, cu);

begin

40

case s of

au: writeln(‘золото’);

fe: writeln(‘железо’);

cu: writeln(‘медь’);

end

end.

С помощью селектора перечисленного типа можно выводить на экран значения переменных перечисленного типа.

Селектор символьного типа:

case i of

‘A’, ’a’: writeln(‘Вычисление абсолютной величины’);

‘S’, ’s’: writeln(‘Вычисление синуса ’);

‘C’, ‘c’: writeln(‘Вычисление косинуса’);

‘V’, ‘v’: begin

writeln(‘Работа закончена’);

halt;

end

else writeln(‘Указанного имени нет в меню’);

end; {end case}