Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
16.02.2016
Размер:
4.72 Mб
Скачать

5)Описание функций, созданных программистом

Функции созданные программистом должны размещаться за пределами тела функции main(). Для данного проекта целесообразно разработать функцию, например с именемmenu(), реализующую функциональное символьное меню, в котором должно быть десять пронумерованных символьных строк с содержательным наименованием задач и содержательный вопрос к пользователю программы: Введите номер выбранной задачи? В ответ на этот вопрос пользователь вводит один из номеров задач из списка 1…10., которое присваивается целочисленной переменной, напримерL. Значение переменнойLиспользуется в оператореif….elseif() для управления переходами на решаемые задачи.

Начальная часть кода функции menu() может иметь, например такой вид:

int menu()

{ int L;

char fm0[]=” Функциональное меню для задач обработки одномерных массивов”;

AnsiToOem(fm0,fm0);

cout<<fm0<<endl<<endl;

char fm1[]=” 1. Задача 1. Формирование исходной числовой последовательности”;

AnsiToOem(fm1,fm1);

cout<<fm1<<endl<<endl;

………………………..

………………………..

char fm11[]=” Выберите и введите номер требуемого пункта меню”;

AnsiToOem(fm11,fm11);

cout<<fm11<<endl<<endl;

char fm12[]=” Для выхода из программы введите 0”;

AnsiToOem(fm12,fm12);

cout<<fm12<<endl<<endl;

getch();

cin>>L;

return L;

}// Конец меню

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)После исправления всех ошибок Компилятора и Компоновщика можно приступить к обнаружению и исправлению алгоритмических ошибок, присутствующих в коде программы, т.е. доказательству правильности работы программы.

Так как все числовые задачи проекта имеют один исходный файл и не имеют зависимостей по искомым результатом, то наиболее продуктивной методикой доказательства правильности работы программы является формирование контрольных точек по каждой из задач с помощью любых внешних средств и сопоставление их с получаемыми программой результатами. При совпадении результатов программа работает правильно. В противном случае следует искать алгоритмическую ошибку в коде задачи: сначала найти ее место в коде, а затем придумать как ее устранить и добиться совпадения контрольного и получаемого программой результирующего значения.

Соседние файлы в папке МетодУказЛабРабот