ВУЗ:
Составители:
Рубрика:
51
Упражнение
. Проверьте правильность работы последней программы,
подставив в нее числа.
Для нахождения среднего по величине числа можно поступить, например,
так: среднее=a+b+c-max(a,b,c)-min(a,b,c). В этом случае программа для робота
будет иметь вид: ср(a,b,c) = раз(раз (сум (сум(a,b), c), max(a,b,c)), min(a,b,c)).
Можно также заметить, что средним будет число, являющееся
максимальным из минимумов всевозможных пар, которые можно
образовать из
трех чисел. Всего возможны три пары: ab, ac, bc. Отсюда получаем программу
ср(a,b,c)=max(min(a,b),min(a,c),min(b,c)).
Можно найти среднее как минимум из максимумов пар, тогда программа
будет иметь вид ср(a,b,c)=min(max(a,b),max(a,c),max(b,c)).
В этом примере для построения программы использовался метод пошаговой
детализации (метод последовательных уточнений, структурное
программирование). Метод состоит в том, что исходная задача разбивается на
ряд подзадач, менее сложных, но в совокупности позволяющих решить
исходную сложную задачу. На основе этого разбиения составляется программа,
в которой для решения подзадач используются обращения к еще ненаписанным
программам (вспомогательным алгоритмам). Их можно заменить заглушками -
подпрограммами, не решающими подзадачу, а возвращающими заранее
известный ответ. Заглушки моделируют работу подзадачи. Используя
заглушки,
можно начать отладку основной программы до написания программ,
реализующих подзадачи. При разработке программ для подзадач в свою
очередь используется тот же прием: подзадачи разбиваются на мелкие, легко
программируемые части, решающие в совокупности подзадачу. Такое
разбиение продолжается до тех пор, пока в качестве подзадач не будут
использованы стандартные функции и операторы языка
программирования.
Этот метод облегчает построение программы, так как позволяет решать
задачу по частям и отлаживать программу с помощью заглушек до завершения
полного ее построения. Разбивая задачу, на каждом шаге мы отвлекаемся от
рассмотрения всех деталей задачи, а учитываем только то, что необходимо для
данного разбиения.
Пример 8.15. Написать программу для
робота, вычисляющую y=5(3x
2
+4)
4
-
3(3x
2
+4)
3
+7(3x
2
+4)
2
-1/4·(3x
2
+4).
Решение. Составим спецификацию задачи.
Исходные данные: переменная х.
Результат: значение заданного выражения в переменной y.
Отвлекаясь от деталей, представим заданное выражение формулой
y=(((f1(x)-f2(x))+f3(x))-f4(x)). Здесь f1(x) - вспомогательный алгоритм для
вычисления выражения 5(3x
2
+4)
4
, f2(x) - вспомогательный алгоритм для
вычисления выражения 3(3x
2
+4)
3
, f3(x) - вспомогательный алгоритм для
вычисления выражения 7(3x
2
+4)
2
, f4(x) - вспомогательный алгоритм для
вычисления выражения 1/4·(3x
2
+4).
Программа для робота будет иметь вид выр(х) = раз( сум( раз( f1(x), f2(x)),
f3(x)), f4(x)).
51
Упражнение. Проверьте правильность работы последней программы,
подставив в нее числа.
Для нахождения среднего по величине числа можно поступить, например,
так: среднее=a+b+c-max(a,b,c)-min(a,b,c). В этом случае программа для робота
будет иметь вид: ср(a,b,c) = раз(раз (сум (сум(a,b), c), max(a,b,c)), min(a,b,c)).
Можно также заметить, что средним будет число, являющееся
максимальным из минимумов всевозможных пар, которые можно образовать из
трех чисел. Всего возможны три пары: ab, ac, bc. Отсюда получаем программу
ср(a,b,c)=max(min(a,b),min(a,c),min(b,c)).
Можно найти среднее как минимум из максимумов пар, тогда программа
будет иметь вид ср(a,b,c)=min(max(a,b),max(a,c),max(b,c)).
В этом примере для построения программы использовался метод пошаговой
детализации (метод последовательных уточнений, структурное
программирование). Метод состоит в том, что исходная задача разбивается на
ряд подзадач, менее сложных, но в совокупности позволяющих решить
исходную сложную задачу. На основе этого разбиения составляется программа,
в которой для решения подзадач используются обращения к еще ненаписанным
программам (вспомогательным алгоритмам). Их можно заменить заглушками -
подпрограммами, не решающими подзадачу, а возвращающими заранее
известный ответ. Заглушки моделируют работу подзадачи. Используя
заглушки, можно начать отладку основной программы до написания программ,
реализующих подзадачи. При разработке программ для подзадач в свою
очередь используется тот же прием: подзадачи разбиваются на мелкие, легко
программируемые части, решающие в совокупности подзадачу. Такое
разбиение продолжается до тех пор, пока в качестве подзадач не будут
использованы стандартные функции и операторы языка программирования.
Этот метод облегчает построение программы, так как позволяет решать
задачу по частям и отлаживать программу с помощью заглушек до завершения
полного ее построения. Разбивая задачу, на каждом шаге мы отвлекаемся от
рассмотрения всех деталей задачи, а учитываем только то, что необходимо для
данного разбиения.
Пример 8.15. Написать программу для робота, вычисляющую y=5(3x2+4)4-
3(3x2+4)3+7(3x2+4)2-1/4·(3x2+4).
Решение. Составим спецификацию задачи.
Исходные данные: переменная х.
Результат: значение заданного выражения в переменной y.
Отвлекаясь от деталей, представим заданное выражение формулой
y=(((f1(x)-f2(x))+f3(x))-f4(x)). Здесь f1(x) - вспомогательный алгоритм для
вычисления выражения 5(3x2+4)4, f2(x) - вспомогательный алгоритм для
вычисления выражения 3(3x2+4)3, f3(x) - вспомогательный алгоритм для
вычисления выражения 7(3x2+4)2, f4(x) - вспомогательный алгоритм для
вычисления выражения 1/4·(3x2+4).
Программа для робота будет иметь вид выр(х) = раз( сум( раз( f1(x), f2(x)),
f3(x)), f4(x)).
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »
