- •Министерство образования Российской Федерации
- •Информатика
- •Самара 1999
- •Компоненты
- •1. Полоса меню и подменю.
- •1.1. Выбор команд меню с помощью клавиш.
- •1.2. Выбор команд меню с помощью мышки.
- •Горячие клавиши меню
- •1.3. Сокращения
- •Общие горячие клавиши
- •Горячие клавиши редактирования
- •Горячие клавиши управления окнами
- •Горячие клавиши встроенной справочной информации
- •Горячие клавиши отладки/запуска
- •2. Окна Turbo Pascal
- •2.1. Управление окнами
- •2.2. Строка статуса
- •3. Диалоговые окна
- •3.1. Зависимые и независимые кнопки
- •3.2. Окна ввода и списки
- •4. Создание Вашей первой программы
- •4.1. Анализ Вашей первой программы
- •4.2. Сохранение Вашей первой программы
- •4.3. Компиляция Вашей первой программы
- •4.4. Выполнение Вашей первой программы
- •4.5. Проверка файлов, которые Вы создали
- •5. Ваша вторая программа
- •5.1. Отладка Вашей второй программы
- •5.2. Использование окна Watch
- •5.3. Исправление Вашей второй программы
- •Программирование на turbo pascal
- •1. Элементы программирования
- •2.1. Целые числа
- •2.2. Вещественный тип данных
- •2.3. Символьные и строковые типы данных
- •2.4. Булевские данные
- •2.5. Тип массив
- •3. Идентификаторы
- •4. Операторы
- •4.1. Операторы присваивания
- •4.2. Арифметические операторы
- •4.3. Операторы отношений
- •6. Ввод
- •7. Условные операторы
- •7.1. Оператор If
- •7.2. Оператор выбора Case
- •8. Цикл.
- •8.1. Цикл while.
- •8.2. Цикл Repeat … Until
- •8.3. Цикл For
- •9. Процедуры и функции.
- •10. Структура программ.
- •11. Структура процедуры и функции.
- •12. Пример программы.
- •13. Комментарии.
- •Контрольные задания Вариант №1
- •Вариант№2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
5.1. Отладка Вашей второй программы
Если Вы программировали раньше, Вы можете узнать эту ошибку и как ее исправить. Но давайте воспользуемся этой возможностью, чтобы показать Вам, как использовать интегрированный отладчик, встроенный внутри Turbo Pascal.
Интегрированный отладчик Turbo Pascal позволит Вам передвигаться по своему коду по строкам. В то же время, Вы сможете просматривать переменные: как изменяются их значения.
Чтобы начать сеанс отладки, выберите команду Run/Trace Into (или нажмите F7). Если Ваша программа нуждается в перекомпиляции, Turbo Pascal сделает это. Первое утверждение (в данном случае Begin) в теле Вашей программы будет высвечено; с этого момента мы будем называть эту высвеченную полосу – полосой запуска.
Первое нажатие клавиши F7 инициализирует сеанс отладки. Теперь нажмите F7, чтобы начать выполнение программы. Отладчик выполнит невидимый код запуска. Следующая выполнимая строка в этой программе – утверждение Write в строке 7.
Нажмите F7 снова. На этот раз появится экран пользователя и останется. Это произойдет потому, что утверждение ReadLn ожидает ввода двух чисел. Наберите два целых числа, разделенные пробелом; убедитесь, что второе число – не нуль. Теперь нажмите Enter. Вы вернетесь назад в окно редактора, с полосой запуска на утверждении присваивания в строке 9.
Нажмите F7 и выполните утверждение присваивания. Теперь полоса запуска находится на утверждении WriteLn в строке 10. Нажмите F7 дважды. Теперь вы должны выполнить ReadLn в строке 12.
Нажмите F7, посмотрите вывод программы и затем нажмите Enter/
Полоса запуска теперь находится на предложении Until. Нажмите F7 несколько раз, и Вы вернетесь к началу цикла Repeat.
5.2. Использование окна Watch
Давайте посмотрим на значение объявленных переменных. Нажмите Alt-D для появления меню Debug. Выберите команду Add Watch из меню Watches (или нажмите Ctrl-F7). Наберите А в окне ввода Watch Expression и нажмите Enter. А появится в окне Watch вместе со своим текущим значением. Теперь используйте команду Add Watch для добавления В и Ratio в окно Watch. Наконец, используйте ее для добавления выражения А/В в окно Watch.
Выберите Run/Trace Into (или нажмите F7) для того, чтобы сделать шаг в своей программе. На этот раз, когда Вы должны ввести два числа, введите 0 для второго числа. Когда Вы нажмете Enter и вернетесь в редактор, посмотрите на выражение А/В в окне Watch (нажмите Alt и # (номер) окна или Alt-W W). Вместо этого значения будет стоять фраза”Invalid floating-point operation” (неправильная операция над числами с плавающей запятой); это произошло потому, что деление на нуль неопределено. Хотя заметим, что наличие этого выражения в окне Watch не приводит к остановке программы с ошибкой. Вместо этого выдается сообщение об ошибке, а отладчик не выполняет деление в окне Watch.
Теперь нажмите F7 снова, присваивая А/В переменной Ratio. В этой точке произойдет аварийное завершение программы, и вверху окна редактора опять появится сообщение об ошибке “Division by zero”.
5.3. Исправление Вашей второй программы
Теперь возможно Вы задумались о том, что неправильно в Вашей программе: если Вы вводите значение 0 для второго числа (В), программа завершается с ошибкой выполнения.
Как исправить ее? Если В имеет значение 0, не делите А на В. Отредактируйте свою программу так, чтобы она выглядела следующим образом:
program MySecond;
var
A, B: Integer;
Ratio: Real;
Begin
Repeat
Write(‘Enter two numbers: ‘);
ReadLn(A, B);
If B = 0 Then
Writeln(‘The ratio is undefined’);
Else
Begin
Ratio := A/B;
Writeln(‘The ratio is ‘, Ratio:8:2);
End;
Write(‘Press <Enter>…’);
ReadLn;
Until B = 0;
End.
Теперь запустите свою программу (или сами, или используя отладчик, замечайте, как изменяются значения в окне Watch по мере совершения шагов в программе. Когда Вы готовы остановиться, введите 0 для В. Программа остановится после выведения сообщения “The ratio is undefined/ Press <Enter>…” (Отношение не определено. Нажмите <Enter>…).
Теперь Вы поняли, каким мощным средством является отладчик. Можно передвигаться в программе строка-за-строкой; можно показывать значение переменных и выражений своей программы и просматривать изменение значений по мере выполнения программы.
