Каковы особенности отладки программы использующей функции или процедуры

При отладке программ, содержащих процедуры и функции, используется опция Run/Trace into (F7), которая задает пошаговый режим отладки с заходом в подпрограмму.

При нажатии функциональной клавиши F7, когда подсветка находится на строке, содержащей вызов подпрограммы, произойдет переход в начало данной подпрограммы на словоbegin. Далее можно осуществить пошаговую отладку подпрограммы с помощью командF7 илиF8, в частности, с просмотром в окнеWatch. В теле подпрограммы допускается также ввод контрольных точек. Пошаговую отладку можно продолжить до конца подпрограммы (строкаend;) или до команды досрочного выхода из подпрограммыexit. При последующем нажатииF7произойдет возврат к оператору основной программы, который следует за вызовом этой подпрограммы.

После отладки подпрограммы заходить в нее не требуется, и для дальнейшей пошаговой отладки основной программы достаточно использовать опцию Run/Step over (F8).

В меню Debugпредусмотрено специальное окноCall stack, предназначенное для просмотра последовательности вызываемых процедур и функций. Это окно открывается через пункт менюDebug/Call stack (Ctrl + F3). В нем прослеживается текущее, т.е. изменяющееся при пошаговой отладке состояние стека вызова подпрограмм. В верхней строке окна находится имя исполняемой в данный момент подпрограммы с параметрами вызова, в нижней – основная программа, а между ними – последовательность вызовов подпрограмм от основной программы до текущей подпрограммы. При выходе из подпрограммы стек освобождается от ее вызова и верхняя строка в окне стека убирается.

Отладчик 1С за 10 минут

Окно Call stackследует применять при сложной иерархии взаимных вызовов подпрограмм, когда не очевидно, каким путем выполнение алгоритма привело к данной подпрограмме.

!! Наберите текст программы Th_2 и осуществите ее отладку с использованием опции Run/Trace into (F7) и просмотром текущих результатов в окне Watch .

1. Составить программу вычисления биссектрис треугольника по сторонам a, b и c, предусмотрев проверку возможности построения треугольника по заданным сторонам.

Вычисление биссектрисы оформить в виде функции, используя известную тригонометрическую формулу:

где

2. Составить программу для вычисления значения при x = 9.2; y = 7.45; b = 2

с процедурой вычисления логарифма

3. Вычислить при а > 0, оформив в виде функции вычисление корня

4. Составить программу для вычисления выражения при n = 10; m = 6 с процедурой вычисления факториала.

PYCHARM ДЛЯ PYTHON. 2 ЧАСТЬ. DEBUGGER

5. Вычислить

оформив вычисление суммы в виде функции

  1. Чем отличаются структурированные программы от монолитных?
  2. Какие подпрограммы называются стандартными? Приведите примеры.
  3. Какой вид имеет структура описания процедуры?
  4. В чем состоит отличие описания функции от процедуры?
  5. Что такое область действия идентификаторов?
  6. Каковы основные правила определения области действия для идентификаторов процедур и функций?
  7. Какие параметры называются формальными и какие – фактическими?
  8. По каким признакам различаются параметры подпрограмм?
  9. Какая директива предназначена для прерывания подпрограмм?
  10. Как осуществляется обращение к функции и процедуре?
  11. В каких случаях подпрограмма реализуется как процедура, а в каких – как функция?
  12. Как описать массив в заголовке подпрограммы?
  13. Как передать в подпрограмму функцию или процедуру как формальный параметр?
  14. Для чего предназначена директива far?
  15. Что такое рекурсивный вызов подпрограмм?
Читайте также:
Программа которая угадывает пароли

Источник: studfile.net

Методика отладки программ с подпрограммами

При отладке программ, содержащих процедуры и функции, используется опция Run/Trace into (F7), которая задает пошаговый режим отладки с заходом в подпрограмму.

При нажатии функциональной клавиши F7, когда подсветка находится на строке, содержащей вызов подпрограммы, произойдет переход в начало данной подпрограммы на слово begin. Далее можно осуществить пошаговую отладку подпрограммы с помощью команд F7 или F8, в частности, с просмотром в окне Watch. В теле подпрограммы допускается также ввод контрольных точек. Пошаговую отладку можно продолжить до конца подпрограммы (строка end;) или до команды досрочного выхода из подпрограммы exit. При последующем нажатии F7 произойдет возврат к оператору основной программы, который следует за вызовом этой подпрограммы.

После отладки подпрограммы заходить в нее не требуется, и для дальнейшей пошаговой отладки основной программы достаточно использовать опцию Run/Step over (F8).

В меню Debug предусмотрено специальное окно Call stack, предназначенное для просмотра последовательности вызываемых процедур и функций. Это окно открывается через пункт меню Debug/Call stack (Ctrl + F3). В нем прослеживается текущее, т.е. изменяющееся при пошаговой отладке состояние стека вызова подпрограмм. В верхней строке окна находится имя исполняемой в данный момент подпрограммы с параметрами вызова, в нижней – основная программа, а между ними – последовательность вызовов подпрограмм от основной программы до текущей подпрограммы. При выходе из подпрограммы стек освобождается от ее вызова и верхняя строка в окне стека убирается.

Окно Call stack следует применять при сложной иерархии взаимных вызовов подпрограмм, когда не очевидно, каким путем выполнение алгоритма привело к данной подпрограмме.

!! Наберите текст программы Th_2 и осуществите ее отладку с использованием опции Run/Trace into (F7) и просмотром текущих результатов в окне Watch.

1. Составить программу вычисления биссектрис треугольника по сторонам a, b и c, предусмотрев проверку возможности построения треугольника по заданным сторонам.

Вычисление биссектрисы оформить в виде функции, используя известную тригонометрическую формулу:

2. Составить программу для вычисления значения при x = 9.2; y = 7.45; b = 2

с процедурой вычисления логарифма

3. Вычислить при а > 0, оформив в виде функции вычисление корня

4. Составить программу для вычисления выражения при n = 10; m = 6 с процедурой вычисления факториала.

оформив вычисление суммы в виде функции

1. Чем отличаются структурированные программы от монолитных?

2. Какие подпрограммы называются стандартными? Приведите примеры.

3. Какой вид имеет структура описания процедуры?

4. В чем состоит отличие описания функции от процедуры?

5. Что такое область действия идентификаторов?

6. Каковы основные правила определения области действия для идентификаторов процедур и функций?

Читайте также:
Программы похожие на корел дроу

7. Какие параметры называются формальными и какие – фактическими?

8. По каким признакам различаются параметры подпрограмм?

9. Какая директива предназначена для прерывания подпрограмм?

10. Как осуществляется обращение к функции и процедуре?

11. В каких случаях подпрограмма реализуется как процедура, а в каких – как функция?

12. Как описать массив в заголовке подпрограммы?

13. Как передать в подпрограмму функцию или процедуру как формальный параметр?

14. Для чего предназначена директива far?

15. Что такое рекурсивный вызов подпрограмм?

8. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ

Модули – автономно компилируемые программные единицы. Их использование упрощает модификацию программ, их тестирование и обнаружение ошибок. Кроме того, модули не подвержены влиянию глобальных переменных, поэтому могут использоваться как строительные блоки в других программах.

Источник: mydocx.ru

Особенности отладки и компиляции программ, содержащих процедуры и функции

При пошаговой отладке программ, содержащих процедуры и функции, при нажатии клавиши F7 в строке, которая содержит вызов подпрограммы, мы переходим в начало (на слово begin) данной подпрограммы. При завершении работы подпрограммы – если подсвечена конечная строка end или exit. При следующем нажатии F7 мы возвращаемся в ту строку основной программы, с которой попали в подпрограмму. Постоянный заход в подпрограммы часто бывает не нужен. Для пошагового исполнения основной программы без захода в подпрограммы используйте клавишу F8.

В меню Debug предусмотрено специальное окно для просмотра последовательности вызываемых функций и процедур. Это окно открывается клавишами Ctrl+F4 или через пункт меню Debug/Call stack. В этом окне прослеживается текущее, то есть изменяющееся при пошаговой отладке, состояние стека вызова подпрограмм. В верхней строке – исполняемая в данный момент подпрограмма, в нижней – основная программа, в промежутке между ними – последовательность вызовов подпрограмм от основной программы до текущей программы.

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

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

Пункты этого меню позволяют выбрать расположение окон на экране, переключаться между окнами, закрывать окна. Пункт Tile разделяет экран на отдельные кусочки, в каждом из которых находится свое окно. Такой способ разбиения имеет смысл применить, если открыто 2-4 окна. Пункт Cascade накладывает окна одно на другое таким образом, что край нижних окон виден из-под верхних. При таком раскладе окон каждое из них имеет достаточно большой размер и легко может быть активизировано.

Переключение между окнами производится нажатием клавиш, указанными в меню. Для изменения размера и положения окна нужно нажатием клавиш Ctrl+F5 вызвать пункт Size/Move. Размеры окна изменяются клавишами перемещения курсора. Когда требуемый размер установлен, нужно нажать Enter для фиксации положения окна. Если Вы забудете нажать Enter, все действия будут блокированы.

Читайте также:
Программа по стандартизации это

Для перемещения окна при нажатии клавиш управления курсором надо держать нажатой клавишу Shift.

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

По нажатию клавиш Alt+F9 компилируется программа или модуль, находившиеся в активном окне. Используемые этой программой модули должны быть предварительно откомпилированы.

Компиляцию проектов, состоящих из нескольких модулей, удобно производить, установив основной файл – это, как правило, файл с основной программой. Для этого выбирается пункт Primary file и вводится имя файла. Уничтожение этой записи производится путем выбора пункта Clear primary file. Если начальный файл установлен, компиляция или компиляция с исполнением происходит всегда так, как будто активным окном являлось окно основной программы. Это позволяет вносить изменения в отдельных модулях и сразу запускать компиляцию и исполнение всего проекта, не переключаясь специально к основной программе.

Для подключения к основной программе модулей компилятор ищет их прежде всего в рабочем каталоге, а затем в каталогах, указанных в строке Units окна настройки, которое появляется при выборе пункта меню Options/Directories.

При нажатии клавиши F9 (Make) прежде всего происходит компиляция начального файла, заданного в строке Primary file. Если эта строка пуста, компиляция начинается с активного окна. когда в процессе компиляции программы или модуля встречаются ссылки на другие модули, проверяется необходимость перекомпиляции подключаемых модулей.

Проверка заключается в сверке изменений файла с текстом модуля на Паскале и откомпилированного модуля (по времени внесения последних изменений в файл). Если в текст были внесены изменения, данный модуль компилируется вновь. Если файл модуля с текстом не найден, берется откомпилированный файл без проверки. Эта опция компилятора оптимальна по затратам времени на компиляцию, так как компилируется только то, что нужно. Компиляция и запуск на исполнение, вызываемые клавишами Ctrl+F9, производит компиляцию по данной логике.

В ряде случаев нам необходима обязательная перекомпиляция всех файлов (Build). В частности, это необходимо, если мы изменили опции компиляции в меню Options/Compiler. Изменение опций компиляции через окно не прослеживается далее автоматически, то есть среда не определяет, откомпилирован файл с новыми или старыми опциями, и не производит автоматически перекомпиляцию. Для полной компиляции всех файлов вызывается пункт Build.

Пункт Target устанавливает, для какой платформы – реального режима, защищенного режима или Windows – должны компилироваться файлы.

Одномерные массивы

Занятие 1. Понятие массива. Одномерные массивы. Способы задания одномерных массивов

На прошлом занятии мы завершили изучение простых типов Turbo Pascal и сегодня приступаем к изучению структурированных. Их в Turbo Pascal три:

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru