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

89
алг «максимум трех чисел»        
'максимум трех чисел 
нач                              
cls 
ввод (а, b, с)                     
    input a, b, с 
если а > b то                    
    if а > b then
тах := a                        
       max = a 
инеc b > с то                    
    elseif b > с then
тах := b                        
       mах = b 
инеc с > а то                    
    elseif с > a then
тах:= с                       
       mах = с 
кесли                          
    end if 
вывод («тах=»,тах)            
    ? «mах=»; mах 
кон                           
end
Запуск этой программы на ЭВМ можно проверить на следующих данных:
Tecт1       
Тест2       
Тест3
? 1 1 2    
? 1 2 3    
? 3 2 1 
max = 2 
max = 3   
max = 3
Все три результата правильные. Отладку программы после запуска этих примеров можно
было бы считать завершенной. Однако есть контрпример:    
                              
Контрпример1
? 2 1 3
max = 2
Но этот результат - неправильный. Следовательно, алгоритм и программа содержат ошиб-
ки. Но сколько этих ошибок - одна, две, а может быть больше?
При доказательном подходе разработка алгоритмов и программ предполагает составление
спецификаций и доказательство их правильности по отношению к этим спецификациям. Процесс
разработки программ считается завершенным после проверки их на ЭВМ и предоставлении дока-
зательств отсутствия ошибок.
Доказательства правильности алгоритмов и программ, равно как и любые другие доказа-
тельства, строятся на основе суждений и рассуждений. В данном случае суждения и рассуждения
касаются результатов выполнения алгоритмов и программ с теми или иными данными.
Конструктивно, доказательства правильности алгоритмов и программ строятся на сужде-
ниях и утверждениях о результатах выполнения каждого из составляющих их действий и опера-
ций в соответствии с порядком их выполнения.
В качестве примера проведем анализ результатов алгоритма, состоящего из трех присваи-
ваний.
алг «у = х
5
»  
 
Результаты       
Утверждения 
нач
v := х
х          
 
v1 = х
х     
    
v1 = x²
v := v
v          
 
v2 = v1
v1     
 
v2 = x
4
у := v
x         
у = v2
x    
   
у = х
кон
Справа от алгоритма приведены результаты выполнения присваиваний. Результатом перво-
го присваивания v := х
х будет значение v1 = х
х переменной v. Результат следующего присваива-
ния v := v
v - второе значение переменной v, равное v2 = v1
v1 . Результатом третьего присваивания
у := v
x будет значение у = v2
x .
На основе приведенных рассуждений, можно сделать три утверждения о промежуточных и
конечных результатах вычислений:
Результаты        
Утверждения 
{ v1 = х
х    
   
v1 = х²
{ v2 = v1
v1   
    
v2 = x
4
{ у = v2
x   
   
у = х
Сайт создан в системе uCoz