Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_3_1_Лс_27_11_2011.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.63 Mб
Скачать

Завдання до самостійної роботи № 1 (в,лс,вс).

ЗАВДАННЯ 1.3ОПРЕДЕЛИТЬ ПЕРИМЕТР И ПЛОЩАДЬ ТРЕУГОЛЬНИКА ПО ТРЕМ ЕГО СТОРОНАМ.

I. Содержательная постановка задачи.

Дано: А, В, С — значения сторон треугольника.

Требуется определить: Р — периметр треугольника, S — площадь треугольника.

Ограничения на значения исходных данных и их соотношения

  • А > 0, В > 0, С> 0

  • А + В > С, А + С > В, В + С > А одновременно (условие существования)

II. Математическая постановка задачи.

Для решения задачи существуют готовые формулы:

Р = А + В + C;

S=SQR(Рр·(Рр-А).(Рр-В).(Рр-С)) (формула Герона),

где Рр = Р /2 – полупериметр

III. Разработка пользовательского интерфейса.

При разработке интерфейса необходимо учитывать следующее:

  • строка заголовка должна содержать название приложения:

Периметр и площадь треугольника;

  • для наглядности приложение должно включать чертеж;

  • для ввода исходных данных необходимо использовать текстовые поля; их должно быть три;

  • вычисления должны производиться при нажатии на кнопку <Вычислить>;

  • для вывода результатов следует использовать текстовые поля (два поля);

  • для завершения работы приложения должна быть предусмотрена кнопка <Выход>;

  • для удобства пользователя приложение должно содержать поясняющие надписи. Для этой цели будем использовать метки;

  • зоны ввода и вывода данных должны быть визуально разделены (будем использовать линию).

Принимая во внимание вышеизложенное, окно работающего приложения может иметь вид, представленный на рис. 1.15 (естественно, без сообщения об ошибке).

Порядок действий

1. Подготовьте рисунок треугольника (используйте, например, Paint) и сохраните его в своей папке с именем Треугольнuк.bmp.

2. Расположите на форме объекты, как показано на рис. 1.13. На форме расположено: шесть меток (Label), четыре текстовых поля (TextBox), две командные кнопки (CommandButton), один объект Изображение (Image), один объект Линия (Line).

Рис. 1.13

3. Установите значения свойств объектов.

IV. Программирование.

Прежде чем приступить к программированию, необходимо определить те события, для которых необходимо разработать алгоритмы и описать их на языке программирования. В нашем примере есть следующие события: щелчок мышью по командной кнопке <Вычислить> и щелчок мышью по командной кнопке <Завершить работу>. Первое событие должно запустить программу вычисления периметра и площади треугольника, а второе — завершить работу программы. Кроме того, при загрузке формы (еще одно событие) должен загрузиться чертеж.

Алгоритм вычисления:

1. Ввести исходные данные (числа): А, В, С — значения сторон треугольника.

2. Вычислить периметр треугольника по формуле Р = А + В + С.

3. Вычислить полупериметр треугольника по формуле Pp=P/2

4. Вычислить площадь треугольника по формуле

S=SQR(Рр·(Рр-А).(Рр-В).(Рр-С))

5. Вывести результат: число Р — периметр треугольника.

6. Вывести результат: число S — площадь треугольника.

Порядок действий:

a) Самостоятельно напишите процедуру обработки события щелчок мышью по командной кнопке <Завершить работу>.

b) Напишите процедуру, которая будет выполняться при загрузкe Формы:

Private Sub Form_Load()

Image1.Picture = LoadPicture("D:\3.bmp")

End Sub

c) Напишите7 процедуру обработки события щелчок мышью по командной кнопке <Вычислить> (в программном коде специально допущены некоторые ошибки, чтобы далее показать этап отладки пpoгpaммы).

Private Sub cmdStart_ Click()

В = txtB.Text 'Присваивание nеременнoй В значения,

'введенного в текстовое поле (txtВ

А = txtA.Text 'Присваивание переменной А значения,

'введенного в текстовое поле txtA

С = txtC.Text 'Присваивание переменной С значения,

'введенного в текстовое поле txtC

р = А + В + С 'Вычисление периметра и nрисваивание

'вычисленного значения переменной Р

Рр = Р / 2 'Вычисление полупериметра и присваивание

'вычисленного значения переменной Рр

S = Sqr(Pp * (Рр - А) * (Рр - В) * (Рр – С) 'Вычисление площади

'и nрисваивание вычисленного значения nеремен'ной S

txtP.Text = Р 'Вывод значения nолуnериметра в текстовое

'поле txtP (nрисваивание свойству ТехT

'текстового поля txtP значения Р)

txtS.Text = S 'Вывод значения площади в текстовое поле txtS

'(nрисваивание свойству ТехT текстового поля txtS значения S)

End Sub

V. Отладка. На этом этапе проверяется правильность работы программы.

Порядок действий:

V .1. Запустите программу на выполнение и введите значение сторон, как показано на рис. 1.14. Если появятся сообщения о ошибках, попытайтесь устранить их.

V.2. Проанализируйте результаты вычислений. Очевидно, что при тех данных, которые вы ввели (египетский треугольник), периметр треугольника должен быть равен 12, площадь — 6. Почему получился иной результат?

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

Visual Basic считает содержимое текстового поля текстом, а не числом, если даже оно состоит из цифр. Следовательно, переменные А, В и С, берущие свое значение из текстового поля, язык VВ тоже считает текстовыми, а не числовыми. При работе с текстом знак "+" приказывает не складывать значения переменных, а выстраивать их в цепочку (операция конкатенации). Отсюда результат "345" В поле, где выводится значение периметра. Так как при вычислении полупериметра и площади используются знаки деления, умножения и функция вычисления квадратного корня, Visual Basic понимает, что эти действия можно выполнять только с числами. Отсюда получено следующее значение площади:

SQR(172,5*(172,5 - 3)*(172,5 - 4)* (172,5 - 5)) = 28726,77

V.3. Измените программный код следующим образом:

Privat Sub cmdStart_ Click()

A = Val(TxtA.Text)

B = Val(TxtB.Text)

C = Val(TxtC.Text)

If A + B > C And B + C > A And C + A > B Then

P = A + B + C

Pp = P / 2

S = Sqr(Pp * ((Pp - A) * (Pp - B) * (Pp - C)))

TxtP.Text = Str(P)

TxtS.Text = Str(S)

End Sub

V.4. Запустите программу на выполнение. В полях для вывода результатов получены значения периметра и площади треугольника.

V

Рис. 1.15

.5. Запустите программу на выполнение еще раз и введите значения сторон, как показано на рис. 1.15. Система выдаст сообщение об ошибке: Invalid procedure саll ог argument (Неверный вызов процедуры или аргумент).

V.6. Щелкните по кнопке <Debug> (Отладка), и Вы окажетесь в окне программного кода, где будет выделена строка, в которой имеется ошибка. Ошибка произошла в связи с тем, что вы ввели данные, при которых треугольник не может существовать: подкоренное выражение имеет отрицательное значение.

V.7. Проверьте работу кнопки <Завершение работы>: щелчок по кнопке должен привести к завершению программы.

V.8. Измените процедуру обработки события щелчок мышью по командной кнопке <Вычислить>, добавив пять строк в начало процедуры:

TxtP.BackColor = QBColor(14)

TxtS.BackColor = QBColor(14)

TxtP.ForeColor = QBColor(2)

TxtS.ForeColor = QBColor(2)

frmТреугольник.BackColor = QBColor(15)

VI. Анализ результатов. Ваше приложение практически готово. Вы можете вводить новые данные и анализировать результаты.

7. Сохраните проект и форму на своем рабочем диске в папке ЛАБ1 с именами с именами ЛР1_Зад3_P_Фамилия и ЛР1_Зад3_F_Фамилия соответственно.

VII. Компиляция. Этот термин означает превращение проекта в исполняемое приложение, способное работать самостоятельно за пределами среды проектирования (этап не является обязательным)

а) если вы хотите, чтобы исполняемый файл вашего проекта имел собственный значок в Windows, задайте значение свойству Icon формы. Щелкните по кнопке и в окне LoadIcon найдите и откройте нужный файл. Данный файл можно найти во вложенных папках папки Icons, относящейся к Visual Basic;

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

в) закройте среду разработки программ VisuaI Basic;

г) запустите на выполнение файл и убедитесь, что он работает автономно.

VIII. Создание исполняемого приложения. В среде VisuaI Basic принят следующий подход к переносу программ с компьютера на компьютер – не копировать приложение, а инсталлировать его (этап выполняется при необходимости).