Программирование на языке высокого уровня. Марапулец Ю.В. - 184 стр.

UptoLike

Составители: 

// Вычисление среднего арифметического
Average=Sum/(float)5.0;
// Вывод данных на экран
OutString.Format("Среднее арифметическое пяти чисел равно:%.3f",
Average);
Invalidate();
}
Объявим OutString в заголовочном файле вида:
. . .
protected:
CString OutString;
. . .
Добавим код в метод OnDraw для отображения данных:
void CBedView::OnDraw(CDC* pDC)
{
CBedDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
pDC->TextOut(0, 0, OutString);
}
Запустите ее, и выберите команду Calculate Average. Вы обнаружите, что програм-
ма выдает данные, не соответствующие действительности.
На следующем этапе перейдем к отладке программы. Желательно попасть в про-
грамму во время ее работы, чтобы можно было начать пошаговое выполнение, однако
начинать с самого начала программы не хочется, поскольку в этом случае нам придется
проходить через стартовый код Visual C++, который нет необходимости рассматривать.
Отладка должна начинаться поближе к тому месту, где, как можно предположить, воз-
никает проблема - к фрагменту, отвечающему за вычисление среднего арифметического.
Чтобы начать отладку с произвольной строки, следует установить
точку прерывания.
Во время выполнения программа остановится на ней, в результате появляется возмож-
ность просмотреть свой код и при необходимости перейти в пошаговый режим. Помес-
тим точку прерывания в начале фрагмента для вычисления среднего арифметического,
конкретнее - в начале метода OnCalculateCalculateaverage(), в первой строке цикла for.
Точку прерывания можно установить перед запуском программы или во время ее оста-
новки на другой точке. Следует отметить, что компилятор не позволяет устанавливать
точки прерывания на строках программы, содержащих объявления переменных. Для то-
го, чтобы разместить точку прерывания, необходимо установить на необходимой строке
текстовый курсор и нажмите клавишу F9 или кнопку с поднятой рукой на панели инст-
рументов. В результате будет установлена точка прерывания, которая обозначается ма-
леньким значком в виде стоп-сигнала на левом поле. Нажимая клавишу F10, можно пе-
ремещаться по коду программы. Однократное нажатие этой клавиши переводит к сле-
дующей строке программы. Многократно нажимая F10, можно перемещаться в про-
грамме и дальше. Одновременно возможно будет просмотреть значения различных пе-
ременных.
Запустите программу bed в отладчике - для этого достаточно выполнить команду
Build
-> Start Debug -> Go. На экране появляется окно приложения, и появляется воз-
184
// Вычисление среднего арифметического
       Average=Sum/(float)5.0;
// Вывод данных на экран
       OutString.Format("Среднее арифметическое пяти чисел равно:%.3f",
Average);

      Invalidate();
}

     Объявим OutString в заголовочном файле вида:

      ...
protected:
       CString OutString;
...

     Добавим код в метод OnDraw для отображения данных:

void CBedView::OnDraw(CDC* pDC)
{
      CBedDoc* pDoc = GetDocument();
      ASSERT_VALID(pDoc);
      // TODO: add draw code for native data here
      pDC->TextOut(0, 0, OutString);
}

      Запустите ее, и выберите команду Calculate Average. Вы обнаружите, что програм-
ма выдает данные, не соответствующие действительности.
      На следующем этапе перейдем к отладке программы. Желательно попасть в про-
грамму во время ее работы, чтобы можно было начать пошаговое выполнение, однако
начинать с самого начала программы не хочется, поскольку в этом случае нам придется
проходить через стартовый код Visual C++, который нет необходимости рассматривать.
Отладка должна начинаться поближе к тому месту, где, как можно предположить, воз-
никает проблема - к фрагменту, отвечающему за вычисление среднего арифметического.
Чтобы начать отладку с произвольной строки, следует установить точку прерывания.
Во время выполнения программа остановится на ней, в результате появляется возмож-
ность просмотреть свой код и при необходимости перейти в пошаговый режим. Помес-
тим точку прерывания в начале фрагмента для вычисления среднего арифметического,
конкретнее - в начале метода OnCalculateCalculateaverage(), в первой строке цикла for.
Точку прерывания можно установить перед запуском программы или во время ее оста-
новки на другой точке. Следует отметить, что компилятор не позволяет устанавливать
точки прерывания на строках программы, содержащих объявления переменных. Для то-
го, чтобы разместить точку прерывания, необходимо установить на необходимой строке
текстовый курсор и нажмите клавишу F9 или кнопку с поднятой рукой на панели инст-
рументов. В результате будет установлена точка прерывания, которая обозначается ма-
леньким значком в виде стоп-сигнала на левом поле. Нажимая клавишу F10, можно пе-
ремещаться по коду программы. Однократное нажатие этой клавиши переводит к сле-
дующей строке программы. Многократно нажимая F10, можно перемещаться в про-
грамме и дальше. Одновременно возможно будет просмотреть значения различных пе-
ременных.
      Запустите программу bed в отладчике - для этого достаточно выполнить команду
Build -> Start Debug -> Go. На экране появляется окно приложения, и появляется воз-

                                           184