- •Министерство образования Российской Федерации
- •Информатика
- •Самара 1999
- •Компоненты
- •1. Полоса меню и подменю.
- •1.1. Выбор команд меню с помощью клавиш.
- •1.2. Выбор команд меню с помощью мышки.
- •1.3. Сокращения
- •Общие горячие клавиши
- •Горячие клавиши меню
- •Горячие клавиши редактирования
- •Горячие клавиши управления окнами
- •Горячие клавиши встроенной справочной информации
- •Горячие клавиши отладки/запуска
- •2. Окна TurboPascal
- •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. Операторы отношений
- •4.4. Логические операторы
- •4.5. Строковые операторы
- •5. Вывод
- •5.1. Процедура WriteLn
- •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/TraceInto(или нажмите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>…).
Теперь Вы поняли, каким мощным средством является отладчик. Можно передвигаться в программе строка-за-строкой; можно показывать значение переменных и выражений своей программы и просматривать изменение значений по мере выполнения программы.