Navigation bar
  Print document Start Previous page
 70 of 144 
Next page End  

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
Сайт создан в системе uCoz