Информатика и ИКТ_лекция 16.ppt
- Количество слайдов: 14
Алгоритмические конструкции «ветвление» и «выбор» Блок-схемы разветвляющихся алгоритмов Тема 16
Разветвляющиеся алгоритмы • Вычислительный процесс называется разветвляющимся, если направление его продолжения на некотором этапе в зависимости от исходных данных или результатов промежуточных вычислений осуществляется по одному из возможных вариантов • Варианты вычислений называются ветвями • Разветвляющиеся алгоритмы реализуются через алгоритмические структуры «ветвление» и «выбор»
Алгоритмическая структура «ветвление» • В алгоритмической структуре «ветвление» та или иная серия команд выполняется в зависимости от истинности условия • Условием называется высказывание, которое может быть истинным или ложным. Условие, записанное на формальном языке, называется условным или логическим выражением. • Условия могут быть простыми и сложными. • Ветвление может быть полным или неполным да Серия 1 Условие нет Серия 2 да Серия Условие нет
Алгоритмическая структура «ветвление» да нет Условие Серия 1 да Серия на алгоритмическом языке (псевдокоды) Серия 2 Условие нет если «условие» то «серия 1» иначе «серия 2» кв если «условие» то «серия» кв
Алгоритмическая структура «выбор» • Алгоритмическая структура «выбор» применяется для реализации ветвления со многими вариантами серий команд • В структуру выбора входят несколько условий, проверка которых осуще -ствляется в строгой последовательности их записи в команде выбора. • При истинности одного из условий выполняется соответствующая последовательность команд да Условие 1 да Серия 1 Серия 2 нет Условие 2 нет . . . 2 В алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд выполняется в зависимости от истинности соответствующего условия
Виды задач, решаемых с помощью ветвления • Выбор (минимума или максимума) – из 2 величин – из n величин • Упорядочение (по возрастанию или по убыванию) – 2 величин – n величин
Виды задач, решаемых с помощью ветвления Пример 1: найти минимальное из чисел А и В полное ветвление неполное ветвление min : = B да min : = A А<B нет да min : = B А<B нет min : = A Задача: напишите полностью алгоритмы поиска минимума из А, В, используя структуры последовательного и вложенного ветвления. Постройте блок-схему и напишите на алгоязыке. Постройте трассировочную таблицу для А = 2, В = 5 и А = 3, В = -7.
Виды задач, решаемых с помощью ветвления Пример 1: найти минимальное из чисел А и В (проверка с A=3, B=7) Решение: на алгоритмическом языке алг поиск минимума вещ А, В, min нач ввод А, В min : = B если A<B min : = A кв вывод min кон начало Ввод А, В min : = B да А <B нет № команда конец В Ввод А, В 3 7 2 Вывод min А 1 min : = A min : = B 3 7 7 3 А<В 3 7 7 4 min : =С 3 7 3 5 вывод min 3 7 3 проверка условия 3 < 7, да
Виды задач, решаемых с помощью ветвления Пример 2: упорядочить значения X, Y по возрастанию Решение: Алгоритм на алгоритмическом языке (псевдокоды) начало Ввод X, Y да X>Y C: = X X: = Y Y: = C нет алг вещ нач Вывод X, Y конец кон СОРТИРОВКА X, Y, C ввод X, Y если X > Y C : = X X : = Y Y : = С кв вывод X, Y
Виды задач, решаемых с помощью ветвления Пример 3: составить алгоритм поиска минимума из А, В, С начало Решение: Алгоритм на алгоритмическом языке (псевдокоды) Ввод А, В, С да А<B min : = A да нет С < min алг вещ нач нет min : = C Вывод mi n конец кон поиск минимума А, В, С, min ввод А, В, С если А<B то min : = A иначе min : = B кв если C < min то min : = C кв вывод “минимум из А, В, С =“, min
Виды задач, решаемых с помощью ветвления Задача: исправьте алгоритм поиска минимума из А, В, С, используя вместо последовательного ветвления вложенное. 1. Напишите текст алгоритма на алгоязыке. 2. Постройте трассировочную таблицу для А=5, В=7, С=2. начало Ввод А, В, С да да min : = A А<C А<B нет min : = C да min : = C Вывод mi n конец нет C<B нет min : = B
Виды задач, решаемых с помощью ветвления Любой алгоритм должен приводить к определенному результату и завершать работу, какими бы ни были исходные и промежуточные данные. Задача 1: исправьте блок-схему алгоритма деления двух дробей, учитывая, что на 0 делить нельзя. Задача 2: постройте блок-схему решения квадратного уравнения ax 2 + bx + c = 0, учитывая случаи возможного ввода исходных a = 0, b = 0, c = 0, и случай d < 0.
Виды задач, решаемых с помощью ветвления Задача 1: составить алгоритм поиска минимума из А, В, С, D Задача 2: постройте блок-схему для проверки существования треугольника с углами α и β, а в случае удачи также проверьте, будет ли он прямоугольным. Задача 3: постройте блок-схему для проверки, какая из точек A(x 1, y 1) или В(x 2, y 2) лежит ближе к началу координат. Задача 4: постройте блок-схему для вычисления значения функции Y = |X|. Задача 5: постройте блок-схему для проверки, попадает ли точка A(x, y) в определенную область на координатной плоскости (например, а) в первый квадрант, б) в окружность определенного радиуса с центром в начале координат)
Домашняя работа на разветвляющиеся алгоритмы Построить блок-схемы разветвляющихся алгоритмов • Задача 1: «Геометрическая задача» - по вариантам (по карточкам). • Задача 2: «Математическая задача» - по вариантам (по карточкам).
Информатика и ИКТ_лекция 16.ppt