Алгоритмическая структура «ветвление». Команда ветвления. Привести пример
Алгоритмы могут предполагать выполнение различных действий в разных ситуациях. Это значит, что должна допускаться возможность выбора варианта действий в зависимости от результатов анализа исходных условий.
Разветвляющийся алгоритм — такой, в котором выполняется либо одна, либо другая последовательность действий, в зависимости от условия.
Здесь важно правильно сформулировать условие. В программировании под условием понимается предположение, начинающееся со слова «если» и заканчивающееся словом «то». Условие может принимать одно из двух значений — «истина», если оно выполнено, и «ложь», когда не выполнено. От выполнения этого условия зависит дальнейший порядок действий.
В качестве простейшего примера можно привести следующее условие: «Если идет дождь, то берем зонт».
Но порой вовсе не просто бывает продумать каждый возможный вариант и все последствия выбора.
Одним из примеров такой разветвляющейся структуры может быть алгоритм решения квадратного уравнения ах2+Ьх+с=0:
Рис.14. Разветвляющаяся структура алгоритма
Выполнение алгоритма осуществляется в следующем порядке. После ввода значений коэффициентов производится проверка значения а. При а=0 уравнение становится линейным и дальнейшие действия не имеют смысла. Компьютер сообщает нам об этом, и выполнение алгоритма прекращается. Если значение а отлично от 0, производится вычисление дискриминанта, а затем — его проверка. При D<0 уравнение корней не имеет, о чем сообщается пользователю, и выполнение алгоритма опять-таки должно прекратиться. В другом случае производится вычисление значений xl и х2.
|
|
В этом примере команда ветвления применена дважды — для того, чтобы предусмотреть различные варианты.
Задание 2.
К билету №16.
Задание 1.
Алгоритмическая структура «цикл». Команда повторения. Привести пример
Способы решения многих задач часто основаны на повторении одних и тех же целей вплоть до достижения конечного результата. Повторение действий в алгоритмах называется циклом. Описания алгоритмов в циклах строятся по следующим правилам, которые удобнее разобрать на примерах.
Пример 1.Цикл со счетчиком.
Подсчет суммы квадратов всех целых чисел от kдо l.
Нач
S:=0
От N = k до l
Цикл
S = S + N2
N = N + 1
Конец цикла
Сумма = S
Кон
До начала цикла счетчик получает начальное значение N = k. Далее выполняются действия, а затем проверяется, достиг ли счетчик конечного значения. Если не достиг, то он увеличивается на единицу и действия выполняются еще раз. Если достиг, то выполнение цикла завершается. Таким образом, действия в цикле со счетчиком выполняются (l - k)+1 раз.
|
|
Пример2. Цикл «пока». Применяется в задачах с неопределенным числом членов. В задаче нужно найти для заданного числа N ближайшей степени двойки, не превышающей этого числа.
Нач
m = 1
Пока2m <=N
Цикл
m = 2m
Конец цикла
Рез = m
Кон
Первое присваивание записывает в переменную т начальное значение 1. Если значение N меньше или разно 1, то цикл вообще не будет выполняться, так как условие 2m <= N не будет выполнено для начального значения переменной. Если исходное число больше или равно 2, то цикл начнет выполняться. На первом шаге будет вычислено 21 = 2.
Задание 2.
К билету №17.
Задание 1.
Основные этапы решения задач на компьютере
Решение задач на компьютере подразделяется на несколько этапов. Для большей наглядности процесс лучше разобрать на примере.
Задача.Определить дальность полета тела, брошенного под углом к горизонту.
I этап— построение описательной модели. Из условия можно вывести следующие предположения:
- размеры тела малы по сравнению с траекторией полета, поэтому тело можно считать материальной точкой;
- сопротивлением воздуха можно пренебречь.
|
|
II этап— формализация (запись задачи с помощью формул).
Дано:V0— начальная скорость (м/с), α— угол бросания (рад).
Найти:L — дальность полета (м).
Решение: L = Vx* t, где t— время полета.
0 = Vy*t-gt2/2 — координата точки падения,
Vx = V0*Cos α— горизонтальная проекция вектора скорости,
Vy = V0*Sin α — вертикальная проекция вектора скорости,
g = 9,81 — ускорение свободного падения.
Ограничения: при V0>0 и 0< α <π/2
Как видно из этой системы неравенств, бросание тела не должно происходить вправо и вверх, и начальная скорость не должна быть отрицательной.
Таким образом, метод решения данной задачи описывается следующей последовательностью формул:
1. g = 9,81
2. Vy = V0.sin a
3. Vx = V0.cos a
4. t = 2*Vy/g
5. L = Vx.t
III этап— алгоритмизация — построение алгоритма решения задачи. Собственно алгоритм решения данной задачи состоит из последовательного решения наших уравнений.
IV этап— составление программы, т.е. запись задачи на понятном компьютеру языке. В качестве примера выбран QBasic.
INPUT; "V0=", V0; "A=", A
VY = V0*SIN(A)
VX = V0*COS(A)
T = 2*VY/9.81
L = VX*T
PRINT "L=",L
END
V этап— компьютерный эксперимент — запуск программы на выполнение, если нужно — отладка программы и получение результатов.
|
|
VI этап— анализ полученных результатов и корректировка модели. В нашем случае можно попробовать запустить программу с различными исходными данными.
Задание 2.
К билету №18.
Задание 1.
Дата добавления: 2018-05-02; просмотров: 1417; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!