Народна Освіта » Інформатика » Настройка проекта

НАРОДНА ОСВІТА

Настройка проекта

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

2.    Какие ошибки называют синтаксическими? Как они обнаруживаются на этапе компиляции проекта?

3.    Как открыть ранее созданный проект?

ТЕСТИРОВАНИЕ ПРОЕКТА

Вы уже знаете, что при создании проекта могут возникать синтаксические ошибки. Синтаксические ошибки, которые не заметил автор проекта, находит компилятор на этапе компиляции при запуске проекта на исполнение. Необходимо исправить все такие ошибки и снова запустить на исполнение новую версию проекта.

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

Одним из способов выявления логической ошибки является создание тестовых наборов входных данных. Для каждого из этих наборов данных определяют ожидаемый результат исполнения проекта и сравнивают его с реальным результатом исполнения проекта. Если они отличаются, следует найти команды в проекте, исполнение которых является причиной появления этих различий.

Процесс поиска логических ошибок в проекте с использованием тестовых наборов входных данных называют тестированием проекта.

Процедура для

 

Объясним этот способ на следующем примере. Пусть необходимо составить проект для вычисления значений функции

вычисления значений этой функции, в которой значение переменной x

вводится в поле, будет выглядеть так:

procedure TForm1.Button1Click(Sender: TObject);

var x, y: real;

begin

x := StrToFloat(Editl.Text);

y := (2*x-5)/(x*x+1);

Labell.Caption := FloatToStr(y); end;

Часто ученики, записывая команду присваивания для вычисления значения соответствующего выражения y := (2*x — 5)/(x*x + 1), забывают заключить знаменатель (а то и числитель) в скобки, то есть вводят, например, команду y := (2*x — 5)/x*x + 1 или y := 2*x - 5/x*x + 1. Такую логическую ошибку несложно заметить, применив удачную подборку тестов. Так, при тестировании для x = 0 станет очевидным, что проект не выдает ожидаемого правильного результата —5, а неожиданно прерывает свое исполнение, открывая окно с сообщением об ошибке (рис. 6.8).

В этом окне, кроме сообщения об ошибке, указывается номер и содержание строки с ошибкой. После выбора кнопки ОК это окно закрывается, а строка с ошибкой в тексте процедуры становится окрашенной (рис. 6.9).

Чтобы прервать исполнение проекта в этом случае, необходимо нажать комбинацию клавиш Ctrl + F2 или выбрать кнопку J Остановить. Далее следует понять, в чем заключается ошибка, исправить ее и снова запустить проект на исполнение. В рассматриваемом случае это происходит потому, что в ходе исполнения проекта с этим значением x должна выполниться операция деления на 0, которую выполнить невозможно.

Если как тестовый пример будет взято другое значение x, например 1, то исполнение проекта не прерывается, окно с сообщением об ошибке не открывается, но как результат будет выведено число 6, хотя ожидаемым правильным результатом является число —3,5. В таком случае также следует внимательно просмотреть текст процедуры, обнаружить ошибку и исправить ее.

Для тех, кто хочет знать больше

Часто для облегчения поиска логических ошибок в проект добавляют комментарии. Комментарий - это текст, который игнорируется компилятором и включается в текст проекта с целью облегчения его понимания и поиска логических ошибок.

Чтобы компилятор отличил команды от комментариев, комментарии следует заключать в фигурные скобки, например {Команда вычисления значения у} (рис. 6.10). Иногда комментарий вместо фигурных скобок заключают в круглые скобки со звездочками, например (*Команда вывода значения у*).

Если текст комментария короткий и не занимает более одной строки, то можно

 

вместо скобок поставить перед ним две косые черты, например //Команда ввода значения х.

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

ПОШАГОВОЕ ИСПОЛНЕНИЕ ПРОЕКТА

Еще одним способом выявления в проекте логических ошибок является его пошаговое исполнение, или трассировка. Шаг исполнения проекта -

Соот-

 

это исполнение команд, записанных в одной строке проекта. В строке может быть записана одна команда или несколько.

Рассмотрим проект для вычисления значения дроби ветствующая процедура для вычисления значения этой дроби и форма с

компонентами представлены на рисунке 6.11. Для лучшего понимания процесса пошагового исполнения проекта в процедуре значение числителя и знаменателя дроби вычислены отдельными командами.

Чтобы быстрее перейти к пошаговому исполнению приведенной процедуры, целесообразно исполнить часть проекта, предшествующую исполнению этой процедуры, в автоматическом режиме. Для этого следует установить точку остановки (точку останова) в первой строке процедуры (рис. 6.12) и запустить проект на исполнение. Если в некоторой строке

 

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

Для установки точки останова в нужной строке следует выбрать номер этой строки в тексте проекта. После этого фон выбранной строки будет окрашен красным цветом.

 

 

После запуска проекта на исполнение следует в открывшемся окне ввести в соответствующие поля значения переменных х и у и выбрать кнопку Вычислить. После этого начинается исполнение приведенной процедуры. Но поскольку в первой команде этой процедуры установлена точка останова, то исполнение процедуры приостановится и можно начинать ее пошаговое исполнение. Для исполнения одного шага проекта следует выполнить Запуск ^ Шаг в обход или нажать клавишу Р8. При пошаговом исполнении фон строки проекта, команды которого будут исполнены при следующем шаге исполнения, окрашивается в серый цвет (рис. 6.13).

В любой момент пошаговое исполнение проекта можно прервать, нажав комбинацию клавиш СП1 + Р2, или выбрав кнопку а Остановить, или выбрав кнопку Запустить. В первых двух случаях исполнение проекта прерывается, а в третьем - исполнение проекта продолжается в автоматическом режиме.

ПРОСМОТР ЗНАЧЕНИЙ ПЕРЕМЕННЫХ ПРИ ТРАССИРОВКЕ

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

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

Чтобы поместить имя переменной в окно Свойства наблюдения, следует нажать комбинацию клавиш СМ + Р5 или выполнить Запуск ^ Добавить наблюдение (рис. 6.14). Имя переменной следует ввести в поле Выражение этого окна и выбрать кнопку ОК.

 

После этого открывается окно Список наблюдений (рис. 6.15) с внесенным в него именем переменной. Таким образом в это окно можно внести имена всех переменных, по значениям которых целесообразно наблюдать в ходе пошагового исполнения программы. Выбор кнопки Ф Добавить этого окна также открывает окно Свойства наблюдения, выбор кнопки = Удалить удаляет из этого окна выделенную строку с именем переменной и ее значением, а выбор кнопки '■? Удалить все полностью удаляет список переменных, по значениям которых ведется наблюдение.

 

До начала исполнения проекта значения переменных, используемых в проекте, не определены. Поэтому в окне Список наблюдений мы видим значения этих переменных invalid (англ. invalid -недействительный, несуществующий).

В ходе пошагового исполнения проекта значения этих переменных будут изменяться, что и можно наблюдать в окне Список наблюдений (рис. 6.16). Внимательно следя за этими изменениями и сравнивая эти значения с ожидаемыми, можно заметить, в момент исполнения какой команды проекта значение некоторой переменной становится неправильным. Именно эта команда и может быть причиной логической ошибки.

Логическая ошибка - это ошибка в проекте, которая приводит к неожиданному прерыванию его исполнения или к неправильному результату его исполнения.

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

Тестирование проекта - это процесс поиска логических ошибок в проекте с использованием тестовых наборов входных данных.

Комментарий - это текст, который игнорируется компилятором и включается в текст проекта с целью облегчения его понимания и поиска логических ошибок. Комментарий следует заключить в фигурные скобки {}, или в круглые скобки со звездочками (* *), или отделить от команды двумя косыми чертами //.

Точка остановки (точка останова) - строка в проекте, перед исполнением которой исполнение проекта приостанавливается.

Шаг исполнения проекта - это исполнение команд, записанных в одной строке проекта. В строке может быть записана одна команда или несколько.

Для исполнения одного шага проекта следует выполнить Запуск ^ Шаг в обход или нажать клавишу Г8.

В любой момент пошаговое исполнение проекта можно прервать, нажав комбинацию клавиш СМ + ¥2, или выбрав кнопку и Остановить, или выбрав кнопку Запустить.

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

Чтобы поместить имя переменной в окно Свойства наблюдений, следует нажать комбинацию клавиш СМ + Г5 или выполнить Запуск ^ Добавить наблюдение. Имя переменной следует ввести в поле Выражение этого окна и выбрать кнопку ОК.

1°. В чем заключается процесс тестирования проекта?

2*. Для чего выполняется тестирование проекта?

3°. Что такое комментарий в проекте? Как комментарий включить в текст проекта?

4*. Для чего в текст проекта включают комментарии?

5°. Для чего проект исполняют пошагово?

6*. В чем заключается процесс пошагового исполнения проекта?

7*. Что такое шаг исполнения проекта? Как осуществить его исполнение? 8*. Что такое точка останова? Для чего она используется?

9*. Как прервать режим пошагового исполнения проекта?

10*. Как просмотреть значения переменных при пошаговом исполнении проекта?

1*. Откройте проект, например из папки Глава 6\3адание 6.2\Проект 6.2.1, предназначенный для решения задачи: «Два поезда выехали одновременно навстречу друг другу. Определить, через какое время они встретятся, если известно расстояние между ними в момент начала движения и скорость каждого поезда». Исполнение обработчика события Click для кнопки должно привести к выводу искомого времени, если значения расстояния и скорости вводятся в поля. Для заданных входных данных вычислите результаты и запишите в тетрадь: а) расстояние - 1000 км, скорости - 120 км/ч и 130 км/ч; б) расстояние - 600 км, скорости - 80 км/ч и 120 км/ч; в) расстояние - 1200 км, скорости - 115 км/ч и 85 км/ч.

Исполните проект для приведенных наборов тестовых данных. Проверьте, совпадают ли результаты исполнения проекта с предварительно вычисленными результатами. Объясните, в чем может быть ошибка.

2*. Создайте три тестовых набора входных данных для тестирования проекта, предназначенного для решения задачи: «Два поезда выехали одновременно из одной станции в противоположных направлениях. Необходимо найти расстояние, на котором они будут друг от друга через заданное время, если известна скорость каждого поезда». Вычислите ожидаемые результаты по составленным тестам. Откройте проект, например из папки Глава 6\3адание 6.2\ Проект 6.2.2. Протестируйте его на ваших тестовых данных. Сделайте вывод, содержит ли проект логические ошибки. Если да, то в чем может быть ошибка.

3*. Откройте проект, например из папки Глава 6\3адание 6.2\Проект

6.2.3.    Просмотрите текст проекта и на основе анализа комментариев сделайте предположение, какую задачу решает этот проект. Опираясь на ваше предположение, составьте три тестовых набора входных данных для тестирования проекта. Вычислите ожидаемые результаты. Протестируйте проект на ваших тестовых данных. Сделайте вывод, правильным ли было ваше предположение.

4°. Откройте проект, например из папки Глава 6\3адание 6.2\Проект

6.2.4.    Исполните проект в пошаговом режиме. Обратите внимание на изменение значений переменных в ходе исполнения проекта.

5*. Откройте проект, например из папки Глава 6\3адание 6.2\Проект

6.2.5.    В ходе пошагового исполнения проекта проследите за изменением значений переменных si и s2.

6*. Ученики на праздник купили конфеты и печенье. Известны цены конфет и печенья и вес купленных сладостей каждого вида. Создайте проект для нахождения полной стоимости покупки. Сохраните проект в папке с именем Задание 6.2.6, созданной в вашей папке. Исполните проект в пошаговом режиме, проследите за значениями переменных, содержащих значения стоимости каждого товара.

7*. Откройте проект, например из папки Глава 6\3адание 6.2\Проект 6.2.7. В ходе пошагового исполнения проекта проследите за изменением значений переменных х, а и s. Выясните, как значения, которые последовательно принимает переменная а, связаны со значениями переменной х. Измените проект так, чтобы в результате исполнения переменная s содержала сумму х + х2 + х4 для введенного значения х. Добавьте в текст программы комментарий, в котором укажите, какие изменения были внесены в программный код. Сохраните проект в папке с именем 3адание 6.2.7, созданной в вашей папке.

8*. Откройте проект, например из папки Глава 6\3адание 6.2\Проект 6.2.8. Этот проект предназначен для поиска, на сколько больше времени потратил один из поездов на путь между городами, чем другой, если задано расстояние между городами и скорости каждого из поездов. Выясните, содержит ли проект логические ошибки. Если да, определите, какие команды их вызвали, и исправьте их. Запишите тестовые наборы данных, в которых вы обнаружили логические ошибки. Сохраните исправленный проект в папке с именем Задание 6.2.8, в вашей папке.

ПРАКТИЧЕСКАЯ РАБОТА № 11 «Настройка проекта»

Внимание! Работая с компьютером, соблюдайте правила безопасности и санитарно-гигиенические нормы.

1.    Откройте окно среды Lazarus.

2.    Откройте проект для определения, во сколько раз произведение двух заданных действительных чисел больше суммы этих чисел. Например, проект из папки Глава 6\Практическая 11.

3.    Создайте три тестовых набора входных данных для тестирования проекта. Запишите их в тетрадь. Вычислите ожидаемые результаты и запишите их. Протестируйте проект на ваших тестовых данных. Сравните результаты исполнения проекта с ожидаемыми результатами. Запишите вывод.

4.    Добавьте комментарии для команд, в которых происходит вычисление суммы и произведения.

5.    Исполните проект в пошаговом режиме. В ходе пошагового исполнения проекта следите за значениями суммы и произведения. Запишите, какие сообщения отображаются в столбце Значение для указанных переменных перед началом пошагового исполнения проекта, в ходе исполнения для одного из наборов входных данных и после завершения исполнения.

6.    Сохраните проект в папке с именем Практическая 11, созданной в собственной папке.

 

Это материал учебника Информатика 8 класс Ривкинд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 02:47, Переглядів: 1500