Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отладка и пошаговое выполнение программы

Операция typedef

Любому типу данных, как стандартному, так и определенному пользователем, можно задать новое имя с помощью операции typedef:

typedef тип новое_имя;

Введенный таким образом новый тип используется аналогично стандартным типам; например, можно ввести пользовательские типы:

 

typedef unsigned int UINT; – здесь UINT – новое имя для типа unsigned int;

typedef char M_s [101]; –здесь M_s – тип пользователя, определяющий строки, длиной не более 100 символов.

Декларации объектов введенных типов будут иметь вид:

UINT i, j; ® две переменные типа unsigned int;

M_s str[10]; ® массив из 10 строк по 100 символов.

 

Рассмотренная операция упрощает использование указателей на функции.


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

При отладке необходимо:

- проверять работу программы при различных исходных данных;

- выводить на экран не только окончательные, но и промежуточные результаты программы, чтобы проверить их правильность.

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

Для вывода промежуточных результатов можно добавлять в середину текста программы операторы вывода, а после отладки - удалять их или оформлять как комментарии. Но это - трудоемкий способ, поэтому в большинстве сред программирования предусмотрены средства пошагового выполнения программы. Пошаговое выполнение означает возможность "приостановить" работу программы в желаемом ее месте и посмотреть текущие значения переменных, после чего продолжить ее работу дальше.

Среда С++ Builder обладает богатейшими средствами пошагового выполнения программ (для их использования служат команды среды C++ Builder'а, которые могут быть вызваны либо через ее меню (пункт Run), либо через горячие клавиши):

- точки останова;

- клавиши пошагового выполнения (с заходом в функцию и без);

- просмотр значений переменных во всплывающей подсказке или в отдельном окне;

- просмотр массивов и строк как целого.

 

Точка останова - это строка программы, достигнув которой, машина приостанавливает процесс выполнения программы, давая человеку возможность просмотреть текущие результаты и значения переменных. Точка останова может быть поставлена на любую строку программы, содержащую исполняемые операторы (не объявления), с помощью щелчка мыши слева от строки, и убирается так же. Точка останова в среде С++ Builder выделяется красным цветом. В одной программе одновременно может быть несколько точек останова. Кроме того, с помощью команды Run to cursor (клавиша F4) можно заставить программу выполняться до того места, где стоит курсор, и остановиться по его достижении (подобно одноразовой точке останова). Однако при "перескакивании" (невыполнении) строки программы с точкой останова (например, с помощью оператора if) выполнение программы не приостанавливается.

Чтобы в момент останова посмотреть текущее значение переменной, в среде С++ Builder достаточно просто подвести курсор мыши к имени этой переменной в любом месте текста программы и ненадолго задержать его там. Значение переменной появится во всплывающей подсказке. (Разумеется, показывается текущее (на момент останова) значение переменной, независимо от места текста, куда подведен курсор). Отображаются также значения строк и статических (нединамических) массивов, как целого. Но показываются лишь значения переменных, в чью область видимости входит точка останова.

Существует также возможность просматривать значения переменных в отдельном окне с помощью команды Evaluate / Modify (клавиша Ctrl+F7).

Чтобы продолжить выполнение программы до конца (либо до следующей точки останова), нужна команда Run (клавиша F9). Чтобы полностью прекратить выполнение программы, нужна команда Program Reset (клавиша Ctrl+F2). Но существует также возможность выполнения программы по одному оператору (точнее, по одной строчке) с помощью команд Trace Into (клавиша F7) или Step Over (клавиша F8). Различие между ними в том, что Trace Into заходит и внутрь функций для их пошагового выполнения, а Step Over выполняет любой вызов функции за один шаг. После каждого шага можно вновь просмотреть значения переменных; кроме того, становится наглядно видна последовательность выполнения операторов.

Для удобства пошагового выполнения, рекомендуется избегать написания нескольких операторов в одной строчке.

 

<== предыдущая лекция | следующая лекция ==>
Создание двуxмерного динамического массива | Материаловедение - наука о свойствах материалов, их происхождении, строении и возможных изменениях, происходящих в этих материалах под влиянием различных факторов
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.