Программирование алгоритмов разветвляющейся структуры

Цель работы:Разработка программ, реализующих разветвления, с помощью условных операторов и переключателей.

Алгоритм разветвляющегося вычислительного процесса – алгоритм, в котором в зависимости от значений некоторого признака производится выбор одного из нескольких направлений, называемых ветвями. В основе организации разветвления лежит проверка логического условия, которое может быть истинно или ложно. Частный случай логического условия – это операция типа =, ≠, >, <, ≥, ≤..

Программирование алгоритмов разветвляющейся структуры - student2.ru Программирование алгоритмов разветвляющейся структуры - student2.ru Рис.5.3. Развилка «Если…, то…, иначе» Рис.5.4. Развилка «Если…, то»

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

Задание № 1. Построить алгоритм определения квадранта декартовой системы, в котором находится точка с координатами X, Y. Разработать, набрать и отладить программу на языке Паскаль, реализующую этот алгоритм.

Методика выполнения работы

1. Алгоритм в виде блок-схемы:

Программирование алгоритмов разветвляющейся структуры - student2.ru

Программирование алгоритмов разветвляющейся структуры - student2.ru Рис.5.5. Блок-схема определения номера квадранта

2. Программа на основе алгоритма рис.5.5:

Program Kvadrant;

Uses crt;

Label 1;

Var x,y:Real;

n:Integer;

Begin

Clrscr;

{Ввод исходных данных}

Writeln(‘Введите координаты точки: x, y’);

Readln(x,y);

{Анализ расположения точки и определение квадранта}

n:=1;

If (x>0) and (y<0) Then

Begin n:=4;Goto 1 End

Else If (x<0) and (y<0) Then

Begin n:=3;Goto 1 End

Else If (x<0) and (y>0) Then

Begin n:=2;Goto 1 End;

{Вывод результата расчета}

1:Writeln(‘Номер квадранта = ’, n)

End.

3. Наберите, откомпилируйте и исправьте возможные ошибки. Затем запустите программу на счет.

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

Задание № 2. Разработать алгоритм, имитирующий работу калькулятора. После ввода двух чисел и символа арифметической операции над числами должно производиться соответствующее действие и результат выводиться на экран. Признаком конца работы является ввод любого символа, отличного от ‘+’, ‘-‘, ‘*’ или ’/’.

Разработать, набрать и отладить программу, реализующую этот алгоритм.

Методика выполнения работы

1. Алгоритм в виде блок-схемы:

Программирование алгоритмов разветвляющейся структуры - student2.ru

Рис. 5.6. Блок схема алгоритма работы калькулятора

2. Программа на основе алгоритма рис.5.6:

Program Kalculator;

Uses crt;

Var x,y,z:Real;

oper:Char;

stop:Boolean;{Признак конца работы}

Begin

Clrscr;

stop:=False;

Repeat{Оператор цикла}

Writeln;{Пустая строка - разделитель}

Write(‘Введите x и y ’);

Readln(x,y);

Write(‘Операция:’);

Readln(oper);

Case oper Of{Переключатель – оператор выбора Case}

‘+’:z:=x+y;

‘-’:z:=x-y;

‘*’:z:=x*y;

‘/’:z:=x/y;

Else stop:=True;

End;{ Конец оператора Case}

If Not stop Then Writeln(x:5:2,oper,y:5:2,’=’,z:5:2);

Until stop;{ Конец оператора Repeat}

Writeln(‘Конец работы’)

End.

3. Наберите, откомпилируйте и исправьте возможные ошибки. Затем запустите программу на счет.

4. Проведите тестовые расчеты так, чтобы проработали все разветвления программы. Убедитесь в правильности работы программы. В противном случае исправьте ошибки в алгоритме.

Наши рекомендации