Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
374.doc
Скачиваний:
11
Добавлен:
30.04.2022
Размер:
3.16 Mб
Скачать

2.7. Сохранение проекта

Проект – это набор файлов, используя которые компилятор создает выполняемый файл программы (.exe-файл). Чтобы сохранить проект, нужно в меню File выбрать команду Save Project As. Если проект еще ни разу не был сохранен, то C++ сначала предложит сохранить модуль (содержимое окна редактирования кода) и поэтому на экране появится окно Save Unit As. В этом окне надо выбрать папку, предназначенную для проектов, создать в ней папку для сохранения данного проекта, открыть ее и ввести имя модуля. В результате щелчка на кнопке Сохранить в указанной папке будут созданы три файла с расширениями: .cpp, .h и .dfm, и на экране появится диалоговое окно Save Project As, в которое надо ввести имя проекта.

Внимание! Имена файла модуля (.cpp) и файла проекта (.bpr) должны быть разные, так как в момент сохранения файла проекта создается одноименный файл головного модуля, имеющего то же расширение (.cpp).

2.8. Компиляция программы

На этапе преобразования исходной программы в выполняемую производятся компиляция и компоновка программы. Компиляция переводит исходную программы, написанную на языке программирования в некоторое внутреннее машинное представление, а при компоновке производится сборка программы. Для компиляции программы выберите в меню Project команду Compile. Процесс и результат компиляции отражается в диалоговом окне Compiling (рис. 8). Если в программе нет синтаксических ошибок, то окно будет содержать сообщение: Done: Compile Uni;, в противном случае будет выведено сообщение: Done: There are errors и дана информация о количестве синтаксических (Errors) и семантических ошибок (Warnings), а так же о числе подсказок (Hints). Чтобы перейти к фрагменту кода, надо выбрать сообщение об ошибке и выбрать команду Edit Source. Процесс компиляции можно запустить во время разработки и отладки программы, выбрав в меню Run команду Run или щелкнуть по значку на панели инструментов.

2.9. Отладка и тестирование программы

В большинстве случаев в только что набранной программе встречаются ошибки. Компилятор переходит к компоновке в том случае, если исходный текст не содержит ошибок, поэтому программист должен их устранить. Вначале надо устранить очевидные ошибки, например, используются необъявленные переменные. Для типичных ошибок компилятор выводит сообщения. Некоторые из них приведены в табл. 2.4.

Таблица 2.4

Сообщения компилятора для типичных ошибок

п/п

Сообщения

Ошибка

1

Undefined symbol (неизвестный параметр)

Используется необъявленная переменная. Имя переменной, функции или параметра написано неверно.

2

Statement missing ;

После инструкции не поставлена точка с запятой.

3

Unterminated string of character constant

В конце строковой константы, например, текста сообщения, нет двойных кавычек.

4

) expected

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

5

If statement missing (Нет закрывающей скобки)

В инструкции if условие не заключено

в скобки.

6

Compound statement missing

Нарушен баланс открывающих и

закрывающих фигурных скобок.

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

условия или слова else в инструкции if.

7

Extra parameter in call to (лишний параметр при

вызове функции)

Наверно записана инструкция вызова функции, указан лишний параметр.

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

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

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

Условие задачи: В треугольнике заданы две стороны а, b и угол напротив одной из них А (рис. 2.8). Определить сторону с, углы В и С и площадь треугольника S (Исходные данные вводить в текстовые окна, результаты выводить в метки, линейные размеры вводить и выводить в см, площадь – в см2, углы – в градусах).

  1. Определение внешней спецификации задачи.

Исходные данные: a, b – стороны треугольника, вещественные положительные числа; A – угол, вещественное положительное число в диапазоне 0 < A < 180 град.

Рис. 2.8. Схема треугольника для примера 2

Р езультаты решения задачи:

B – угол, вещественное положительное число в диапазоне 0 < B < 180 град. C – угол, вещественное положительное число в диапазоне 0 < C < 180 град.; с – сторона треугольника, вещественное положительное число; S – площадь треугольника, вещественное число.

2. Определение требования к интерфейсу пользователя:

Интерфейс должен содержать три текстовых окна для ввода исходных данных.

Три метки, поясняющие назначение этих окон.

Четыре текстовых окна для вывода результатов решения задачи.

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

Командную кнопку для запуска программы на решение.

Командную кнопку для выхода из программы.

3. Выбор метода решения задачи:

Решение задачи основано на использовании тригонометрических формул:

из теоремы синусов: В = arcsin ((b / a) sin A);

сумма углов треугольника: 180° – С = 180 – (A + B);

из теоремы синусов: c = a (sin C / sin A);

S = 0.5 ab sin С.

4. Алгоритм решения задачи линейный.

Графическое изображение алгоритма может представлено на рис. 2.9.

Рис.2.9. Схема алгоритма решения задачи

5. Проектирование интерфейса.

Создадим новый проект и на форме разместим требуемые объекты как показано на рис. 2.10. размер шрифта для всех объектов можно установить в свойстве Font формы. В этом случае все объекты формы будут наследовать это свойство. Для текстовых окон следует в свойстве Техт удалить установленный по умолчанию текст Edit.

6. Написание кода программы.

Прежде, чем писать код, проанализируем используемые формулы.

Анализ показывает, что в формулах используются тригонометрические функции y = sin (x), x = arcsin (y), где х – величина угла в радианах, а y изменяется в следующих пределах: 0 < y < 1.

Для пересчета рад. в град. и обратно используются формулы x (рад). = 180 * x (град) / π, и x (град). = π * x (рад) / 180.

Рис. 2.10. Интерфейс программы вычисления элементов треугольника

Следовательно, нам потребуется подключить файлы с математическими и тригонометрическими функциями. Для их включения в проект откроем заголовочный файл модуля формы, щелкнув мышкой по закладке Unit1.h внизу окна редактирования кодов и запишем директиву подключения файлов math.h и Math.hpp, как показано ниже.

Заголовочный файл модуля формы

#ifndef UTreug1H

#define UTreug1H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <math.h >

#include <Math.hpp>

//---------------------------------------------------------------------------

class TFtreug : public TForm

Выберем для командной кнопки событие Button1Click и напишем приведенный ниже код обработки события.

void __fastcall TFtreug::Button1Click(TObject *Sender)

{

float a, b, c, A,B,C,S;

const float e = 180;

float A1, B1, C1, d;

a =StrToFloat(Edit1->Text);

b=StrToFloat(Edit2->Text);

A= StrToFloat(Edit3->Text);

A1 = M_PI*A/180;

d = (b/a)* sin(A1);

B1 = ArcSin(d);

B = 180* B1/M_PI;

C =e-(A+B);

C1 = M_PI*C/180;

c=a*sin(C1)/sin(A1);

S= 0.5*a*b*sin(C1);

Edit4->Text = FloatToStr(B);

Edit5->Text = FloatToStr(C);

Edit6->Text = FloatToStr(c);

Edit7->Text = FloatToStr(S);

}

Для командной кнопки EXIT напишем следующую функцию обработки события для выхода из программы.

void __fastcall TFtreug::Button2Click(TObject *Sender)

{

Ftreug-> Close();

}

Откомпилируем программу, введем контрольные исходные данные и проверим работоспособность программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]