Реферат: Отладка программ пользователя в Tubro Pascal
program RangeTest;
var
List:array [1..10] of integer;
Indx:integer;
begin
for Indx:=1 to 10 do List[Indx]:=Indx;
Indx:=0;
while (Indx < 11) do
begin
Indx:=Indx+1;
if List[Indx]>0 then
List[Indx]:=-List[Indx]
end;
for Indx:=1 to 10 do writeln(List[Indx]);
end.
Начните отладку, нажав клавишу F7. Это пошаговая команда. Turbo Pascal произведет компиляцию автоматически, а затем подготовится к пошаговой обработке этой программы. Заметим, что курсор выполнения расположен на операторе begin (строка 7). Помните, что курсор выполнения помечает следующую строку программы, которая должна быть выполнена.
Нажмите клавишу F7 несколько раз. Курсор выполнения переместится на оператор List[Indx]:=Indx и остановится. Это значит, что строка выполняется в цикле.
Выберите команду Debug/Watches/Add Watch (Ctrl-F7) для просмотра в окне Add Watch. Вы можете просматривать значения переменных, структур данных или выражений в окне Watch.
То, что появится в окне Add Watch зависит от того, где располагается курсор, когда Вы нажимаете на клавишу Ctrl-F7. Если курсор расположен на первой букве любой алфавитно-цифровой строки, внутри строки или сразу за ней, строка будет копироваться в окно Add Watch и подсвечиваться. Так, если курсор был спозиционирован на слове Indx, то Indx появится в окне. Если в окне необходимо что-либо изменить, начните набор на клавиатуре и первоначальное выражение и подсветка исчезнут.
Как только появится окно Add Watch, независимо от его содержимого, можно добавить в него текст, если нажать клавишу Ў (которая копирует дополнительный текст из редактора). Поместите List в окно, используя Ў, и нажмите Enter. Тогда в окне Watch в нижней части экрана появится строка:
List : (1,2,0,0,0,0,0,0,0,0)
Cнова нажмите клавишу Ctrl-F7, наберите слово Indx и нажмите Enter. Indx будет первым в списке в окне Watch:
Indx : 3
List : (1,2,0,0,0,0,0,0,0,0)
Нажмите клавишу F7 снова и Вы увидите, что значения Indx и List в окне Watch изменятся, отражая работу Вашей программы.
Как только Вы войдете в цикл while, Вы снова увидите, что значения Indx и List изменяются шаг за шагом. Заметим, что эти изменения в окне Window отражают действия каждой строки цикла после нажатия клавиши F7.
Продолжайте нажимать на клавишу F7, пока не достигнете начала цикла while, c Indx равным 10. Во время прохождения через цикл, Вы можете наблюдать как изменяются значения в окне Watch. Когда выполняется оператор
List [ Indx ] := - List [ Indx ];
значение Indx изменится на -11. Если Вы продолжаете нажимать на F7, то обнаружится, что вы вошли в бесконечный цикл.