Базовые управляющие конструкции алгоритмов




1. Линейные алгоритмы – последовательность блоков, каждый из которых имеет по одному входу и одному выходу, и выполняется в программе один раз (рис. 2, 3).

Рассмотрим алгоритм линейной структуры на примере определения площади треугольника по трем известным сторонам а, b и с с использованием теоремы Герона (рис. 3):

, где .

Рисунок 2 – Алгоритм линейной структуры Рисунок 3 – Алгоритм вычисления площади треугольника по трем сторонам

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

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

Рисунок 4 – Развилка типа «Если...то...иначе» Рисунок 5 – Развилка типа «Если...то»

Решение квадратного уравнения ах2 + bх + с =0 (рис. 6).

В зависимости от значения подкоренного выражения D = b2 -4acискомые результаты могут быть получены из выражений:

, если D≥0,

, где , , если D<0.

Рисунок 6 – Блок-схема алгоритма вычисления корней квадратного уравнения

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

Одна из изменяющихся в арифметическом цикле переменных выбирается в качестве параметра цикла.

Для организации цикла необходимо выполнить три действия

· задать начальное значение параметра цикла;

· задать правило изменения параметра цикла;

· задать условие окончания цикла.

В зависимости от места нахождения условия циклы можно разделить на циклы с предусловием (рис. 7а) и циклы с постусловием (рис. 7б).

а) б)

Рисунок 7. Блок-схема арифметического цикла: а) с предусловием, б) с постусловием

 

Пример алгоритма арифметической циклической структуры:

вычислить сумму чисел, последовательно вводимых с клавиатуры (рис. 8, 9).


Рисунок 8 – Блок-схема циклического алгоритма вычисления суммы с использованием блоков «процесс» и «решение» Рисунок 9 – Блок-схема циклического алгоритма вычисления суммы с использованием блока «модификация»


ЗАДАНИЕ 1.

Задание. Решить неравенство ах > b (а, b –произвольные действительные числа).

Варианты условий:

1a) a= 0; b> 0 решений нет, например при b = 4; 0∙х > b;

1б) a= 0; b< 0; х – любое число, например при b = -4 0; 0∙х > -4;

2а) а>0; b>0 х>b/a;

2б) а>0; b<0 х>b/а;

3а) a<0; b>0 x<b/a;

3б) а<0; b<0 x<b/a;

При а > 0 и а < 0 решение не зависит от знака b.

 

ТЕХНОЛОГИЯ РАБОТЫ

При разработке блок-схемы можно использовать редактор диаграмм Microsoft Visio или текстовый процессор Microsoft Office. Методика выполнения работы приведена на рис. 10.

Рисунок 10 – Блок-схема решения неравенства

 

ЗАДАНИЕ 2.

Построить алгоритм определения квадранта декартовой системы, в котором находится точка с координатами X,Y.

 

ТЕХНОЛОГИЯ РАБОТЫ

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

Рисунок 11 – Блок-схема определения номера квадранта

 

ЗАДАНИЕ 3.

Составить алгоритм, имитирующий работу микрокалькулятора. После ввода двух чисел и символа соответствующего арифметического действия, например:2 2 * или 18.35 0.12 / над числами производится арифметическое действие и результат выводится на экран. Признаком конца работы является ввод любого символа отличного от +, -, * или /.

 

ТЕХНОЛОГИЯ РАБОТЫ

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

Рисунок 12 – Блок-схема алгоритма работы калькулятора

 

ЗАДАНИЕ 4.

Какие значения А и В будут выведены на экран в результате работы алгоритма на рис. 13?

Варианты ответов:

а) А=7, В=6;

б) А=6, В=2;

в) А=7, В=2;

г) Ошибка.

Рисунок 13 – Блок-схема алгоритма для задачи 4

 

ТЕХНОЛОГИЯ РАБОТЫ

На рис. 13 показана блок-схема алгоритм программы. Разберем работу алгоритма и найдем верное решение.

1) Присвоим значения переменным А и В (Блок 1).

2) В блоке 2 схемы алгоритма сравним значения 6<3+1, т. е. 6 не меньше 4, следовательно, переходим к блоку 4.

3) В блоке 4 – Значение В станет равно 5 (т. е. к предыдущему значение В =3 прибавим число 2). Переход к блоку 2.

4) Снова сравним значение 6<5+1, условие не выполняется, и переходим на блок 4. Значение В будет равно 7 (т. е. В=5+2=7). Переход к блоку 2.

5) Сравним значения А и В (6<6+1), условие выполняется переходим к блоку 3.

6) Вычислив значения А и В, получим А=6+1=7, В=7-1=6 – (Блок З).

7) На экране в результате работы алгоритма будут выведены числа 7 и 6 – Блок 5.

Правильный ответ – вариант а (см. рис. 13).

 

ЗАДАНИЕ 5.

Какие значения А и В будут выведены на экран в результате работы алгоритма на рис. 14?

Варианты ответов:

а) А=7, В=6;

б) А=6, В=2;

в) А=7, В=2;

г) Ошибка.

 

Рисунок 14 – Блок-схема алгоритма для задачи 5

 

ТЕХНОЛОГИЯ РАБОТЫ

1) Присвоим значения переменным А и В – (Блок 1).

2) В блоке 2 схемы алгоритма сравним значения 6>=3+1, т. е. 6 больше 4, следовательно, переходим к блоку 4.

3) В блоке 4 значение В станет равно 5 (т. е. к предыдущему значение В=3 прибавим число 2). Переход к блоку 2.

4) Снова сравним значение 6=5+1, условие выполняется, и переходим на блок 4. Значение В будет равно 7 (т. е. В=5+2=7). Переход к блоку 2.

5) Сравним значения А и В (6>=7+1), условие не выполняется – переходим к блоку 3.

6) Вычислив значения А и В получим А=6+1=7, В=7-1=6 – Блок 3.

7) На экране в результате работы алгоритма будут выведены числа 7 и 6 – Блок5.

Правильный ответ – вариант а (см. рис. 14).

 

ЗАДАНИЕ 6.

Дан фрагмент программы:

 

S:=0

нцдля i от 1 до 10

ввод а

S:=S+a

кц

S:=S/10

вывод S

 

Данная программа вычисляет:

а) остаток от деления на 10 заданного числа;

б) среднее из десяти чисел, введенных с клавиатуры;

в) сумму десяти чисел, введенных с клавиатуры;

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

 

ТЕХНОЛОГИЯ РАБОТЫ

Необходимо разобрать работу программы и найти правильный ответ.

1) Задана переменная S и ее начальное значение – 0.

2) Задан цикл, в котором переменная i изменяет свое значение от 1 до 10, т. е. цикл выполняется 10 раз.

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

4) Переменная S суммируется с переменной а и результат записывается опять в переменную S.

5) Конец цикла. Программа переходит к строке 2, увеличивает значение переменной i на 1 и сравнивает с 10, затем переходит к строке 3 (если i<=10) или к строке 6 (если i> 10).

6) В цикле переменная S каждый раз суммировалась с переменной а. Таким образом, после завершения цикла в переменной S накапливается сумма 10 чисел а. В строке 6 переменная S делится на 10 (количество чисел, введенных с клавиатуры). Следовательно, в программе сумма 10 чисел делится на 10, что представляет собой среднее из десяти чисел, введенных с клавиатуры. Правильный ответ б).

7) Вывод значения переменной S (например, на экран).

 

ЗАДАНИЕ 7.

В результате выполнения фрагмента алгоритма

 

ввод Х, А, В, С

Y:= X^A+B* sin (C)

вывод Y

 

При вводе значений Х, А, В, С, равных: 5, 2, 467 и 0 соответственно, значение Y будет равно…

а) 25

б) 492

в) 10

г) 49

 

ТЕХНОЛОГИЯ РАБОТЫ

Самостоятельно решите задачу.

 

ЗАДАНИЕ 8.

Вычислить значения Y по формуле:

 

ТЕХНОЛОГИЯ РАБОТЫ

Самостоятельно решите задачу. Составьте блок-схему алгоритма в одной из доступных вам программ.

 

ЗАДАНИЕ 9.

Какие значения А и В будут выведены на экран в результате работы алгоритма на рис. 15?

Варианты ответов:

а) А=5, В=2;

б) А=7, В=7;

в) А=41, В=66;

г) А=280, В=453.

 

Рисунок 15 – Блок-схема алгоритма для задачи 9

 

ТЕХНОЛОГИЯ РАБОТЫ

Необходимо самостоятельно разобрать работу алгоритма и найти верное решение задачи.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-12-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: