Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на билеты 2012.doc
Скачиваний:
26
Добавлен:
22.09.2019
Размер:
866.82 Кб
Скачать

Билет № 10

  1. Алгоритмическая структура «ветвление». Команда ветвления в языке программирования Pascal – полная и сокращенная форма. Примеры.

В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входит условие, в зависимости от выполнения или невыполнения которого выполняется та или иная последовательность команд (серий).

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

Условие – это высказывание, которое может быть истинным или ложным. В условии два числа, две строки, две переменных или строковых выражения сравниваются между собой с использованием операций сравнения (>, <, =, >=, <=).

Ветвление может использоваться в полной и неполной форме:

Неполная форма ветвления

Полная форма ветвления

Для организации ветвления в языке Турбо Паскаль существуют условный оператор, который может выглядеть следующим образом:

  1. if … then … (неполная форма ветвления)

  2. if … then … else … (полная форма ветвления)

Конструкция ifthen(неполная форма ветвления)

В общем случае структура оператора If … then выглядит следующим образом:

If Условие then

Begin

Оператор_1;

Оператор_2; Список операторов

….

End;

Здесь Условие — выражение логического типа. Для его составления используют знаки отношения (>, <, >=, <=, =, < >), а также логические операции (not, and, or). Операторы, указанные в списке операторов будут выполнены лишь в том случае, когда Условие будет истинно.

Например:

1) if a<0 then writeln ('число а отрицательное');

2) if (a=5) and (b=-7) then с:=a/b;

3) if ((a+b)>0) then a:=-b;

Операторные скобки Begin—End необходимо ставить в том случае, когда в списке операторов указано более одного оператора.

Конструкция Ifthenelse (полная форма ветвления)

В общем случае структура оператора If … then…else выглядит следующим образом:

If Условие then

Begin

Оператор_1_1;

Оператор_1_2; Список операторов_1

….

End

Else Begin

Оператор_2_1;

Оператор_2_2; Список операторов_2

….

End;

При такой конструкции всегда один из списков операторов будет выполнен (или первый, или второй). В этом случае при значении Условие = True будет выполнен Список операторов_1, а при Условие = False будет выполнен Список операторов_2.

Перед служебным словом Else точку с запятой ставить нельзя (правила языка).

Пример. Определите номер квадранта нахождения точки на плоскости по заданным координатам X и Y.

program uslovie;

var n:integer;

x,y:real;

begin

writeln ('введите координаты точки');

write ('x='); readln(x);

write ('y='); readln(y);

n:=1;

if (x>=0) and (y<0) then n:=4;

if (x<0) and (y<0) then n:=3;

if (x<0) and (y>=0) then n:=2;

writeln ('точка находится в ',n,'-квадранте');

end.