Реферат: Отладка программ пользователя в Tubro Pascal

List [Indx] := - List [Indx]

идентична записи

Indx := -Indx.

Так как значение переменной Indx равно 11, этот оператор изменит ее значение на -11. В результате в программе начнется повторное выполнение цикла. Этот цикл теперь изменяет дополнительные байты в месте, соответствующем List[-11..0]. И т.к. значение Indx никогда не будет заканчивать цикл со значением большим или равным 11, то цикл никогда не закончится.

Важно отметить то, что используя лишь две клавиши (F7 и Ctrl - F7), через несколько минут, Вы быстро и легко прослеживаете промежуточные значения переменных и находите ошибку.

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

Различие между командами Trace Into (F7) и Step Over (F8) в том, что при использовании F7 осуществляется трассировка внутри процедур и функций, в то время как использование F8 приведет к обходу вызовов подпрограмм. Эти команды имеют особое значение при выполнении оператора begin основной программы, если программа использует модули, имеющие раздел инициализации. В этом случае, использование F7 приведет к трассировке раздела инициализации каждого модуля, что позволяет увидеть, что инициализируется в каждом модуле. При использовании F8 эти разделы не будут трассироваться, и курсор выполнения переходит на следующую строку после begin.

Рассмотрим следующий (неполный) пример программы:

($D+,L+)

program TestSort;

const

NLMax=100;

type

NumList=array[1..NLMax] of integer;

var

List : NumList;

I,Const : word;

procedure Sort ( var L:NumList; Cnt:Integer);

begin

(sort the list) (сортировкасписка)

end; (of proc sort) (процедуры Sort)

begin

randomize;

Count:=NLMax;

for I:=1 to Count do

List[I] := Random(1000);

sort(List,Count);

for I:=1 to Count do

Write(List[I] :8);

К-во Просмотров: 696
Бесплатно скачать Реферат: Отладка программ пользователя в Tubro Pascal