Главная страница
Навигация по странице:

  • Shift

  • Алгоритмизации


    Скачать 1.15 Mb.
    НазваниеАлгоритмизации
    Дата27.09.2022
    Размер1.15 Mb.
    Формат файлаdocx
    Имя файла12_100229_1_124427 (1).docx
    ТипДокументы
    #700459
    страница52 из 67
    1   ...   48   49   50   51   52   53   54   55   ...   67

    Пошаговоевыполнениепрограммы


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

      1. Предположим, что код программы содержит функцию пользователя f1() и что при пошаговом выполнении программы вы дошли до строки, содержащей вызов этой функции.

    Возможны две ситуации:

          • если необходимо просмотреть код вызываемой функции, то надо нажать клавишуF11;

          • если нужен только результат ее выполнения, то надо нажать клавишу

    F10.

      1. Далее, пусть мы проходим код функции f1(), нажав клавишу F11.

    Нажатие клавиш Shift+F11 обеспечит досрочный выход из нее в точку вызова.

      1. Существует возможность пропустить пошаговое выполнение некоторого участка программы. Для этого нужно установить курсор в нужное место программы и нажать клавиши 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; ii++)

    Опять указатель мыши над переменной 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

    1   ...   48   49   50   51   52   53   54   55   ...   67


    написать администратору сайта