| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
іє while (i <= Length(S)) and IsLetter(S[i]) do ±і
іє begin ±і
іє Inc(NumLetters); ±і
іє Inc(LetterTable[UpCase(S[i])].Count); vі
іИ<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>їі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
іі іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.13 Точка останова на строке 121
Теперь нажмите клавишу F9 для выполнения вашей программы без
прерывания. Экран переключается в режим экрана программы. Демонс-
трационная программа при этом работает и ждет, пока вы введете
строку текста. Наберите abc, пробел, def и нажмите клавишу Enter.
На дисплее появится экран Турбо отладчика, а стрелка будет пози-
ционирована на строке 121, где установлена точка останова и прек-
ратила свое выполнение программа.
Полное описание точек останова, включая условные и глобаль-
ные точки останова, содержится в Главе 7.
TDeb 3.0 #1-3 = 87 =
Использование окна Watches
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В окне Watches (Просмотр) в нижней части экрана показываются
значения заданных вами переменных. Например, чтобы увидеть значе-
ние переменной NumWords, переместите курсор на имя переменной на
строке 144 и выберите команду Watch (Просмотр) локального меню
окна Module. Можно также использовать сокращенный вариант - кла-
виши Alt-F10 и клавиши Ctrl-W (строка состояния). Это сокращенный
вариант команды локального меню.
Кроме того можно позиционироваться на Ctrl-Win в строке сос-
тояния и нажать правую кнопку "мыши".
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЙН[*]НModule: TPDEMO file: TPDEMO.PAS 121НННННННННННН1Н[ ][ ]»і
іє IncLetterTable(UpCase(S[i])].Count; ^і
іє if WordLen = 0 then Іі
іє Inc(LetterTable[UpCase(S[i])].FirstLetter; ±і
іє Inc(WordLen); ±і
іє end; ±і
іє ±і
іє { Обработать счетчик слов } ±і
іє if WordLen > 0 then ±і
іє begin ±і
іє Inc(NumWords); ±і
іє if WordLen <= MaxWordLen then ±і
іє Inc(WordLenTable[WordLen]); ±і
іє end; ±і
іє end; { while } ±і
іє end; { ProcessLine } ±і
іє ±і
іє function GetLine : BufferStr; ±і
іє Inc(LetterTable[UpCase(S[i])].Count); vі
іИ<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>Щі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііNumWords 2 ($2) : WORD іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.14 Переменная Паскаля в окне Watches
Переменная NumWords появилась теперь в окне Watches (Прос-
мотр) в нижней части экрана, где указаны также ее тип (word) и
значение. По мере выполнения программы Турбо отладчик изменяет
это значение и отражает текущее значение переменной.
TDeb 3.0 #1-3 = 88 =
Анализ простых объектов данных программы на языке Паскаль
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы останавливаете выполнение своей программы, сущест-
вует много способов просмотра данных с помощью команды Inspect
(Проверка). Это очень мощное средство позволяет вам анализировать
структуры данных таким же образом, как если бы вы визуально наб-
людали их при разработке программы.
Команды Inspect (в различных локальных меню и в меню данных
Data) позволяют вам наблюдать за любой заданной переменной. Пред-
положим, вы хотите взглянуть на значение переменной NumLines. Пе-
реместите курсор обратно на строку 121 таким образом, чтобы он
оказался под одной из букв имени nlines и нажмите клавиши Ctrl-I.
При этом будет выведено окно Inspector (Проверка).
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЪД[*]ДModule: TPDEMO file: TPDEMO.PAS 121ДДДДДДДДДДДДДДДДДДДДїі
іі i : integer; іі
іі WordLen : Word; іі
іі іі
іі begin { ProcessLine } іі
іі> Inc(NumLines); іі
іі i := ЙInspecting NumLinesНН3Н[ ][ ]НН» іі
іі whileє@77D1:003E є іі
іі beginєWORD±±±±±±±±±±±±±±±±±±±±±1±($1)є іі
іі { ПИНННННННННННННННННННННННННННННННј іі
іі while (i <= Length(S)) and not IsLetter(S[i]) do іі
іі Inc(i); іі
іі іі
іі { Найти конец слова, обработать счетчики букв и слов } іі
іі WordLen := 0; іі
іі while (i <= Length(S)) and IsLetter(S[i]) do іі
іі begin іі
іі Inc(NumLetters); іі
іі Inc(LetterTable[UpCase(S[i])].Count); іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііNumWords 2 ($2) : WORD іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.15 Окно Inspector
В первой строке окна проверки вам сообщается имя переменной,
вторая строка показывает ее показывает ее адрес в памяти. В
третьей строке сообщается, какой тип данных хранится в переменной
NumLines (это тип Паскаля word), и выводится текущее значение
данной переменной.
Теперь, проверив значение этой переменной, нажмите клавишу
TDeb 3.0 #1-3 = 89 =
Esc для того, чтобы закрыть окно проверки Inspector. Для этого
(как и во всех других окнах) можно также воспользоваться клавиша-
ми ALt-F3 или закрыть его с помощью "мыши".
Давайте рассмотрим, что вы в действительности здесь сделали.
Нажав Ctrl, вы выбрали сокращенный вариант команд локальных меню
в окне Module. Нажатие I задало команду Inspect (Проверка).
Для проверки элемента данных, который не виден в окне
Module, выберите команду локального меню DataіInspect (Дан-
ныеіПроверка). Выводится диалоговое окно, где вы можете ввести
имя переменной, которую требуется проверить. Наберите имя
LetterTable и нажмите клавишу Enter. Появляется окно проверки,
где выводится значение LetterTable. Для просмотра (с помощью
"прокрутки" окна) 26 элементов, входящих в LetterTable, исполь-
зуйте клавиши стрелок. В заголовке окна проверки выводится имя и
тип проверяемых вами данных, которые в точности соответствуют
описанию этих данных, содержащемуся в исходном файле. В следующем
разделе рассказывается о том, как можно проверять такие сложные
объекты данных.
TDeb 3.0 #1-3 = 90 =
Анализ сложных объектов данных программы на языке Паскаль
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Сложные (составные) объекты данных, такие, как массивы или
структуры, содержат несколько компонентов. Переместитесь на чет-
вертый элемент массива LetterTalk (элемент, указанный индексом
['D']). Для вывода локального меню для окна Inspector (Проверка)
нажмите клавиши Alt-F10 и и выберите команду Inspect (Проверка).
Появляется новое окно проверки, в котором показывается содержимое
этого элемента массива. В этом окне проверки показано содержимое
записи LInfoRec.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЪД[*]ДModule: TPDEMO file: TPDEMO.PAS 121ДДДДДДДДДД1ДДДДДДДДДїі
іі i : integer; іі
іі WordLen : Word; ЪInspecting LetterTableДД3ДДДї іі
іі і@77D1:005A і іі
іі begin { ProcessLine } і['A'] (1,1) і іі
іі> Inc(NumLines); і['B'] (1,0) і іі
іі i := 1; і['C'] (1,0) і іі
іі while i <= Length(S) і['D'] (1,1) і іі
іі begin іЙInspecting LetterTable['D']Н4Н» іі
іі { Пропустить не букіє$77D1:0066±±±±±±±±±±±±±±±±±±±±є іі
іі while (i <= Length(ієCOUNT 1 ($1) є іі
іі Inc(i); АєFIRSTLETTER 1 ($1) є іі
іі є<І°°°°°°°°°°°°°°°°°°°°°°°°°°°>є іі
іі { Найти конец слова,єLINFOREC є } іі
іі WordLen := 0; ИННННННННННННННННННННННННННННННј іі
іі while (i <= Length(S)) and IsLetter(S[i]) do іі
іі begin іі
іі Inc(NumLetters); іі
іі Inc(LetterTable[UpCase(S[i])].Count); іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііNumWords 2 ($2) : WORD іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
|
adfun.ru
|
|
|
|