Navigation bar
  Print document Start Previous page
 123 of 179 
Next page End  

123
Конструктивно, доказательства правильности алгоритмов и программ строятся на суждениях и
утверждениях о результатах выполнения каждого из составляющих их действий и операций в соответ-
ствии с порядком их выполнения.
В качестве примера проведем анализ результатов алгоритма, состоящего из трех присваиваний.
алг «у = х
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   
   
у = х
Таким образом можно высказать окончательное 
Утверждение. Конечным результатом выполнения будет
у = х
5
для любых значений х.
Доказательство. Исходя из описания результатов выполнения присваиваний значение у будет равно
у = v2
x = (v1
v1)
x = ((х
х).(х
х)))
х = x
5
.
Что и требовалось доказать.
Техника анализа и доказательства правильности алгоритмов и программ во многом совпадает с
техникой доказательства любых других утверждений и состоит в применении следующих четырех
приемов:
разбор случаев;
подбор контрпримеров;
выделение лемм;
индуктивный вывод.
Разбор случаев применяется для анализа результатов выполнения конструкций альтернативного
выбора. В качестве примера проведем анализ приведенного выше алгоритма «выбора» максимума трех
чисел, содержащего выбор альтернатив. 
Сайт создан в системе uCoz