|
Основные алгоритмические конструкцииСтр 1 из 5Следующая ⇒
Линейная алгоритмическая конструкция Линейной называют алгоритмическую конструкцию, реализованную в виде последовательности действий (шагов), в которой каждое действие (шаг) алгоритма выполняется ровно один раз, причем после каждого i -го действия (шага) выполняется (i +1)-е действие (шаг), если i -е действие - не конец алгоритма (рис. 1).
Рис. 1. Линейный алгоритм Пример.
Алгоритм на псевдокоде: Начало Ввод a, b S=a+b Вывод S Конец
Рис. 2. Блок-схема алгоритма сложения двух чисел
Упражнения для самостоятельной работы. 1. Вычислить периметр квадрата, площадь которого равна S. 2. Вычислить значение выражения . Запись выражения выполнить в одну строку, учитывая приоритет операций. 3. Поменять местами значения двух переменных a и b. 4. Какое значение примет переменная d после выполнения фрагмента линейного алгоритма: a =3, b =4, c =1, d =2, c = a + b, d = b + c, a = b * b, b = a - c, d = b * c. 3.2. Разветвляющаясяалгоритмическая конструкция Разветвляющейся (или ветвящейся) называется алгоритмическая конструкция, обеспечивающая выбор между двумя альтернативами в зависимости от значения входных данных. При каждом конкретном наборе входных данных разветвляющийся алгоритм сводится к линейному. Различают полное (если - то - иначе) и неполное (если - то) ветвления. Полное ветвление (рис. 3) позволяет организовать две ветви в алгоритме (то или иначе), каждая из которых ведет к общей точке их слияния, так что выполнение алгоритма продолжается независимо от того, какой путь был выбран. Алгоритм на псевдокоде: Если условие то действие 1 иначе действие 2 Все
Рис. 3. Полное ветвление
Неполное ветвление (рис. 4) предполагает наличие некоторых действий алгоритма только на одной ветви (то), вторая ветвь отсутствует, т.е. для одного из результатов проверки никаких действий выполнять не надо, управление сразу переходит к точке слияния. Алгоритм на псевдокоде:
то действие 1 Все
Рис. 4. Неполное ветвление Пример 1. Вычислить значение функции Опишем алгоритм вычисления значения функции y на псевдокоде и в виде блок-схемы (рис. 5). Алгоритм на псевдокоде: Начало Ввод х Если то иначе Все Вывод y Конец
Рис. 5. Блок-схема алгоритма вычисления значения функции Пример 2. Даны два различных числа x и y. Наибольшее из двух значений x и y уменьшить на 0,5. Опишем алгоритм задачи на псевдокоде и в виде блок-схемы (рис. 6). Алгоритм на псевдокоде: Начало Ввод х, y Если x > y то x = x -0.5 иначе y = y -0.5 Все Вывод x, y Конец
Рис. 5. Блок-схема алгоритма вычисления значения числа Пример 3. Решить квадратное уравнение . Обозначим: коэффициенты квадратного уравнения a, b, c; дискрими-нант d и корни уравнения x (если d =0) и х 1, х 2 (если d >0). Опишем алгоритм решения квадратного уравнения на псевдокоде и в виде блок-схемы (рис. 7).
Алгоритм на псевдокоде: Начало Ввод a, b, с d = b * b -4* a * c Если то Если d =0 то Вывод х иначе , Вывод х 1, х 2 Все Иначе Вывод "Корней нет" Все Конец
Рис. 7. Блок-схема алгоритма решения квадратного уравнения Рассмотрим стандартный алгоритм поиска наибольшего (наименьшего) значения среди нескольких заданных. Основная идея алгоритма сводится к следующему: за наибольшее (наименьшее) принимаем значение любого из данных. Поочередно сравниваем оставшиеся данные с наибольшим (наименьшим). Если окажется, что очередное значение входного данного больше (меньше) наибольшего (наименьшего), то наибольшему (наименьшему) присваиваем это значение. Таким образом, сравнив все входные данные, найдем наибольшее (наименьшее) среди них. Алгоритм использует неполное ветвление. Пример 4.
Обозначим: заданные числа а, b, с; результирующее наибольшее – тax. Опишем алгоритм поиска наибольшего значенияна псевдокоде и в виде блок-схемы (рис. 8). Алгоритм на псевдокоде: Начало Ввод a, b, с max = a Если b > max то max = b Все Если c>max то max = c Все Вывод max Конец Рис. 8. Блок-схема алгоритма поиска наибольшего значения Упражнения для самостоятельной работы. 1. Вычислить значения функции y по значению x: 2. Даны три числа x, y, z. Найти max (x + y + z, xyz). 3. Даны два числа x и y (x ¹ y). Меньшее из этих двух чисел увеличить в 5 раз, а большее уменьшить в 2 раза. Замечание. Описание алгоритма следует начинать с проверки неравенства чисел x и y. 4. Даны два числа x и y. Меньшее из двух значений переменных x и y заменить нулем, а в случае их равенства – заменить нулями оба. Замечание. Описание алгоритма следует начинать с проверки равенства чисел x и y. 5. Заданы три числа x, y, z. Если x <0, то P задать как максимальное из y и z. Если x ³0, то Р задать как минимальное из y и z. 6. Какие значения примут переменные a и b в результате выполнения разветвляющего алгоритма, если начальные значения a =0.5, b =1.7. Ввод a, b Если a < b то a = b иначе b = a Все Вывод a, b Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|