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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

 

                                                                                          Рис.5.3. Развилка «Если…, то…, иначе»         Рис.5.4. Развилка «Если…, то»

                                                 

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

 

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

 

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

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

 

Рис.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. Алгоритм в виде блок-схемы:

 

Рис. 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. Проведите тестовые расчеты так, чтобы проработали все разветвления программы. Убедитесь в правильности работы программы. В противном случае исправьте ошибки в алгоритме.

Задания для самостоятельной работы

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

 

Вариант 1.1

Даны три различных натуральных числа. Найти их медиану (то из них, которое не является ни максимумом, ни минимумом).

Вариант 1.2

                                    ,          

Значение ‘ b ’ вводится с клавиатуры.

 

Вариант 1.3

Заданы три различных числа. Найти наибольшее из них.

 

Вариант 1.4

 

Значение ‘ y ’ вводится с клавиатуры.

Вариант 1.5

С клавиатуры вводится натуральное число.

С использованием функции ODD(x) определить четное оно или нечетное.

 

Вариант 2.1

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

I - 1;                      L    - 50;            D   - 500;       

     V - 5;                      C  - 100;          M - 1000.

  X - 10;           

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

 

Вариант 2.2

 

С клавиатуры вводится число от 1 до 7. Вывести на экран соответствующий ему день недели: понедельник, вторник, среда, четверг, пятница, суббота, воскресенье.

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

 

Вариант 2.3

С клавиатуры вводится произвольный символ. Если это буква от A до Z, то вывести ее на экран с надписью  буква, если это число от 0 до 9, вывести его с надписью число, если это разделитель ‘. ’,  ‘, ’, ’; ’, ’: ’, вывести его с надписью – разделитель.

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

 

Вариант 2.4                          

                                                                                                  

Вариант 2.5                           

 

Лабораторная работа № 4



Поделиться:


Последнее изменение этой страницы: 2021-11-27; просмотров: 100; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.156.179 (0.012 с.)