4 урок

Программирование разветвляющихся алгоритмов


Определение. Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.
Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий - простые и составные.
Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:
   
 <    - меньше, чем...
 
   >    - больше, чем...
    
<=    - меньше, чем... или равно
   
 >=    - больше, чем... или равно
   
 <>    - не равно
  
  =    - равно

В общем случае полная форма конструкции условного оператора имеет вид:
if  <логическое выражение>  then  <оператор 1> else    <оператор 2>
 
if
читается "иф"
переводится  "если"
then
читается "зэн"
переводится  "то"
else
читается "элз"
переводится  "иначе"
Условный оператор работает по следующему алгоритму.
Сначала вычисляется значение логического выражения, расположенного за служебным словом IF. Если его результат истина, выполняется <оператор 1>, расположенный после слова THEN, а действия после ELSE пропускаются; если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется <оператор 2>.
Рассмотрим пример.
Задача.
 Вывести на экран большее из двух данных чисел.

Var
    x, y : integer; 
{вводимые числа}
Begin
    writeln('Введите 2 числа '); 
{вводим два целых числа через пробел}
    readln(x,y);
    if x>y
      then
          writeln (x)  {
если х больше y, то выводим х}
      else
          writeln (y)  
{иначе выводим y}
     
End.
Можно также использовать и сокращенную (неполную) форму записи условного оператора.
 Эта форма  используется тогда, когда в случае невыполнения условия ничего делать не надо.
Неполная форма условного оператора имеет следующий вид.
if  <логическое выражение>
 
 then
      <оператор>

Тогда если выражение, расположенное за служебным словом IF. в результате дает истину, выполняются действия после слова THEN, в противном случае эти действия пропускаются.
Управляющая структура if может показаться негибкой, так как выполняемые действия могут быть описаны только одним оператором. Иногда может потребоваться выполнение последовательности операторов. В этом случае хотелось бы заключить всю последовательность в воображаемые скобки. В Паскале предусмотрен этот случай.
Если в качестве оператора должна выполниться серия операторов, то  они заключаются в операторные скобки begin-end. 
Конструкция Begin ... End называется составным оператором.
if  <логическое выражение>
  
then
      begin
         оператор 1;
         оператор 2;
         ...
      
end
  else 

      
begin
        оператор 1;
        оператор 2;
         ...
      
end;
ОпределениеСоставной оператор - объединение нескольких операторов в одну группу. Группа операторов внутри составного оператора заключается в операторные скобки (begin-end).
begin
    оператор 1;
    оператор 2;
end;

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

Практические задания


1. Запишите на языке Паскаль следующие условия (ссылка)
2. Какое значение будет принимать переменная х, после выполнения фрагмента программы?

№1
f:=5; d:=7;
if f>=d then x:=f else x:=d;

№2
a:=8; b:=4;
if a>b then x:=a + b else x:=a-b;

3. Напишите программу, вычисляющую значение функции
       -1 при х<0,
y={ 0 при х=0,
       1 при х>0.

4. Напишите программу, которая производит обмен значений переменных х и у, если х больше у.
На входе х=5, у=6
На выходе х=5, у=6
На входе х=6, у=5
На выходе х=5, у=6

Ответы занесите в таблицу продвижения



Комментариев нет:

Отправить комментарий