Алгоритмизации
Скачать 1.15 Mb.
|
ПошаговоевыполнениепрограммыТеперь можно выполнять один за другим операторы оставшейся части программы, нажимая клавишу F10. При этом есть следующие дополнительные возможности. Предположим, что код программы содержит функцию пользователя f1() и что при пошаговом выполнении программы вы дошли до строки, содержащей вызов этой функции. Возможны две ситуации: если необходимо просмотреть код вызываемой функции, то надо нажать клавишуF11; если нужен только результат ее выполнения, то надо нажать клавишу F10. Далее, пусть мы проходим код функции f1(), нажав клавишу F11. Нажатие клавиш Shift+F11 обеспечит досрочный выход из нее в точку вызова. Существует возможность пропустить пошаговое выполнение некоторого участка программы. Для этого нужно установить курсор в нужное место программы и нажать клавиши Ctrl+F10. Продолжаем отладку, нажав клавишу F10, после чего указатель переместится на оператор: Summa+=a[i]; ПроверказначенийпеременныхвовремявыполненияпрограммыВ любой момент можно узнать текущее значение любой переменной. Чтобы узнать, например, значение переменной summa, в которой будет накапливаться сумма элементов массива а, установите и задержите над ней указатель мыши. Рядом с именем переменной на экране появляется подсказка со значением этой переменной: Summa=– 858993446 (или с другим произвольным значением). Переменная summaуже ненулевая, хотя еще не было никакого суммирования, т.к. допущена ошибка1– не обнулена переменная накопления summa до входа в цикл по организации суммирования. Нажимаем комбинацию клавиш Shift+F5, чтобы выйти из отладчика, и исправляем найденную ошибку: inti,Summa=0,n=5; снимаем точку прерывания, компилируем – Build(F7), запускаем на выполнение – ExecuteProgram(Ctrl+F5) и получаем новый результат: Summa=14 Все равно неправильно, необходимо продолжить отладку. Приложение5 Вновь устанавливаем точку прерывания перед оператором for, запускаем программу в отладочном режиме – клавиша F5, нажимаем клавишу F10 – указатель следующей выполняемой команды переместился на оператор Summa+=а[i]; нажимаем клавишу F10 – указатель следующей выполняемой команды переместится на оператор for(i = 1; i Опять указатель мыши – над переменной summa, рядом с именем переменной на экране появится подсказка со значением этой переменной Summa=2 Сделана только 1-я итерация цикла, переменная Summaдолжна быть равна значению первого элемента массива 1, а у нас число 2, т.е. значение второго элемента массива. Ошибка 2находится в заголовке цикла for(i = 1; i < n; i++) – нумерация элементов массива в языке Си начинается с нуля, а у нас i = 1 – первоначально из цикла выдергивается второй по счету элемент, а не первый. Выйдя из отладчика, снимаем точку прерывания, исправляем текст программы в операторе for: for(i = 0; i < n; i++) Вновь компилируем, запускаем на выполнение и получаем требуемый результат: Summa=15 |