3.4. Отладка и доказательство правильности работы программы Отладка программы сводиться к ее многократным запускам с целью обнаружения и исправления синтаксических и алгоритмических ошибок в исходном тексте программы, которые неизбежны даже в маленьких программах начинающих программистов. При этом выполняются следующие действия:
1)С помощью кнопки Compile(Ctrl+F7) или команды меню Build/Compile имя файла.cpp запускается программа Компилятор(Compiler), которая компилирует и выполняет полный синтаксический контроль исходного текста программы. Ошибки компиляции выводятся в окно сообщений(нижнее окно главной формы VC). Кроме текста сообщения с сущностью ошибки компилятор указывает, правда не всегда точно, местоположение ошибки на строках исходного текста. Для этого необходимо перевести курсор мыши на строку нужного сообщения и дважды щелкнуть левой клавишей мыши. При этом против строки с ошибкой в окне редактирования кода появляется стрелка-указатель голубого цвета. После исправления всех синтаксических ошибок(при этом в протоколе синтаксического контроля счетчики числа ошибок и замечаний будут показывать 0) можно перейти к следующему этапу обработки исходного текста программы– компоновке исполняемой программы.
2)Для этого необходимо с помощью кнопки Buield или команды главного меню Build/Rebuild All запустить программу Компоновщик(Linker). Если эта программа обработала откомпилированный текст программы(объектный код) без ошибок(при этом счетчики числа ошибок и замечаний будут показывать 0), то можно запускать полученную исполняемую программу на выполнение, в противном случае необходимо устранить ошибки и замечания Компоновщика. Для этого можно воспользоваться кнопкой Execute Program, клавишей F7 или пунктом меню Build/ Build имя файла. exe.
3)После исправления всех ошибок Компилятора и Компоновщика можно приступить к обнаружению и исправлению алгоритмических ошибок, присутствующих в коде программы, т.е. доказательству правильности работы программы.
Так как все числовые задачи проекта имеют один исходный файл и не имеют зависимостей по искомым результатом, то наиболее продуктивной методикой доказательства правильности работы программы является формирование контрольных точек по каждой из задач с помощью любых внешних средств и сопоставление их с получаемыми программой результатами.
При совпадении результатов программа работает правильно. В противном случае следует искать алгоритмическую ошибку в коде задачи: сначала найти ее место в коде, а затем придумать как ее устранить и добиться совпадения контрольного и получаемого программой результирующего значения.