70
Рассмотренный пример служит иллюстрацией постановки задачи, в которой выделены как
требуемые и исходные данные, так и условия допустимости исходных данных. Такая постановка
задачи позволяет заранее выделить все случаи и ситуации недопустимости данных, что в даль-
нейшем понадобится при составлении сценария диалога с компьютером.
В общем случае математическая постановка задач должна содержать не только условия
допустимости данных, но и точное описание требований к результатам:
1) дано: перечень исходных данных;
2) треб: перечень требуемых данных;
3) где: требования к результатам;
4) при: условия допустимости данных.
Вторая задача: определение среднего арифметического последовательности из N чисел х1,
х2, ..., х
N
. Приведем постановку, метод решения и сценарий диалога для решения этой задачи.
Постановка задачи
Сценарий
Дано: N - количество чисел,
среднее N чисел
x1, х2, .., х
N
- числа,
чисел =? <N>
Треб.: s - среднее N чисел. *
Где: s = (х1, + х2 +...+ х
N
)/ N.
1: <х1>
При: N > 0.
2: <х2>
..
Метод решения
N: <х
N
>
S
0
= 0
среднее = <s>
S
k
= S
k-1
+ х
k
[k = 1, ..., N]
недопустимо N
s = S
N
/ N
Обратите внимание: метод вычисления среднего N чисел здесь описан через подсчет сум-
мы чисел. Правильность метода может быть проверена по отношению к требованиям постановки
задачи.
Приведем алгоритм и программу обработки данных, составленные в точном соответствии с
выбранным сценарием и методом решения:
Алгоритм
Программа
алг «среднее арифметическое»
' среднее арифметическое
нач
cls
вывод («среднее N чисел»)
? «среднее N чисел»
запрос («чисел=», N)
input «чисел=», N
S := 0
S = 0
если N <= 0 то
if N <= 0 then
вывод («недопустимо N»)
? «недопустимо N»
инеc N > 0 то
elseif N > 0 then
от k = 1 до N цикл
for k = 1 to N
вывод (k, «:»)
? k, «:»
запрос (x)
input x
S := S + x
S = S + x
кцикл
next k
s := S/N
s = S/N
вывод («среднее =», s)
? «среднее=», s
все
end if
кон
end
|