Способы и средства отладки
В ходе отладки программа должна быть проверена в двух измерениях: в пространстве и во времени. Первое представляет собой контроль содержимого памяти в конкретные моменты работы программы, отслеживание текущих значений всех или выбранных групп переменных, проверку на соответствие их значений декларированным диапазонам (типам). Второе – это отслеживание хода выполнения алгоритма для проверки правильности заданной последовательности операций и передач управления при различных значениях параметров. Самым распространенным и полезным приемом отладки, позволяющим объединить обе формы контроля, являются отчеты о трассировке. Трассировка программы – это регистрация логического пути выполнения программы – последовательности выполнения ее операторов/блоков с контрольной выдачей информации о результатах каждого шага – обо всех изменениях значений рабочих переменных и параметров связи. Сам принцип трассировки – слишком общий. На практике реализуют трассировку программы в том или ином объеме, используя различные способы и средства отладки.
Самый простой способ отладки – это расстановка в тексте программы отладочных печатей промежуточных результатов вычислений, позволяющих проследить логический и арифметический следы программы, т. е. каким образом она выполнялась и что она вычисляла. Отладочные печати ставятся в узловых/ключевых точках программы, позволяющих контролировать ошибки ввода (эхо-печать введенных данных), результаты вычислительных операций и логику работы программы или отдельных ее частей. Отладочные операторы оформляются в отдельные строки, выделяются особым образом (например, сдвигом влево или вправо) и в зависимости от цели контроля могут содержать вывод значений контролируемых переменных, проверку условий или идентифицирующее сообщение (комментарий) о прохождении заданной точки программы, о начале или завершении работы определенного участка/блока. Средства для отладки могут быть вставлены в программу еще при ее разработке. В ходе отладки количество и место расположения отладочных операторов меняется, но их лучше не удалять, а превращать в комментарии. Такой способ отладки весьма трудоемок и может сам служить источником ошибок.
Процесс отладки значительно облегчается, если использовать для этого системные средства отладки – специальные программы-отладчики, имеющиеся в программном обеспечении компьютера.
Встроенный отладчик среды Delphi или Турбо Паскаля (Debugger) позволяет контролировать ход выполнения программы – выполнять трассировку программы без изменения самой программы с помощью следующих действий:
выполнения программы построчно/по шагам;
остановки выполнения программы в заданной точке останова;
перезапуска программы, не закончив ее выполнение;
назначения и модификации значений любых переменных и параметров программы, а также получения некоторых дополнительных сведений о программе, например списка активных процедур.
Эти возможности позволяют, отследив выполнение каждого оператора/операции, определить местоположение ошибки и понять ее причину. (Далее рассмотрим все эти управляющие средства.)
18 билет.
Система счисления – это соглашение о представлении чисел посредством конечной совокупности символов (цифр) A = {a0, a1, …, an-1}, называемой алфавитом. Каждой цифре ставится в соответствие определенный количественный эквивалент.
Системы счисления разделяют на позиционные и непозиционные. Рассмотрим эти системы счисления.
Непозиционная система счисления – это система, в которой цифры не меняют своего количественного эквивалента в зависимости от местоположения (позиции) в записи числа.
К непозиционным системам счисления относится система римских цифр, основанная на употреблении латинских букв для десятичных разрядов I = 1, X = 10, С = 100, М = 1000 и их половин V = 5, L = 50, D = 500.
Рассмотрим запись единиц. Числа 1 и 5 представляются соответственно цифрами I и V. Чтобы представить числа 2 или 3 необходимо записать соответствующее число единиц: II или III. Для представления чисел 4 или 9 к цифре V (пять) или X (десять) слева дописывается единица I: IV или IX. Для представления чисел 6, 7, 8 к цифре V справа подписываются соответствующее число единиц: VI, VII, VIII. Аналогично записываются десятки, сотни и тысячи.
Число в системе римских чисел записывается по схеме «тысячи-сотни-десятки-единицы».
Непозиционные системы счисления обладают следующими недостатками:
- сложность представления больших чисел (больше 10000);
- сложность выполнения арифметических операций над числами, записанными с помощью этих систем счисления.
Из-за перечисленных недостатков числа принято записывать с помощью позиционных систем счисления.
Позиционная система счисления – это система, в которой количественный эквивалент цифры зависит от ее положения в числе. Примером позиционной системы счисления является используемая нами десятичная система счисления.
Основание позиционной системы счисления – это количество символов в ее алфавите. Например, в десятичной системе счисления десять цифр, поэтому она имеет основание n = 10. Позиционная система счисления с основанием n называется n-ичной.
Далее рассматриваются только позиционные системы счисления, поэтому слово «позиционная» опускается.
