РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ
ГЕОЛОГОРАЗВЕДОЧНЫЙ УНИВЕРСИТЕТ им. СЕРГО ОРДЖОНИКИДЗЕ
ГЕОФИЗИЧЕСКИЙ ФАКУЛЬТЕТ
Кафедра Информатики и ГИС
КУРСОВАЯ РАБО
ТА
по предмету Информатика
на тему:
“ Разработка программы для решения геометрических задач средствами алгоритмического языка
vba
в
среде
MSEcxel
”
Студент: группы рФ-09-2
|
Кухарёнок Дмитрий
|
Научный руководитель:
|
Оборнев Евгений Александрович
|
москва
2010
Оглавление
Цели и задачи курсовой работы.. 3
Цель: 3
Задачи: 3
История. 4
Постановка задачи. 4
Правила работы с программой. 5
Исходный текст программы.. 7
Блок схема. 10
Псевдокод. 11
Заключение. 12
Цели и задачи курсовой работы
Курсовая работа
посвящена разработке алгоритма и программы реализующей задачу.
1)
расчёт радиуса вписаной и описаной окружности.
2)
Площади равносторонних вписанных или описанных фигур
3)
нахождение объёмов
n
-уголльных равносторонних пирамид
.
4)
За образец
программы взят пример программы обладающей подобными свойствами, найденной автором в интернете, на сайте: http://www.webmath.ru/web/prog15_1.php
. Формулы расчёта параметров взяты из учебника по геометрии А.В. Погорелова.
Цель:
Разработать алгоритм и программу для расчёта радиусов вписанных и описанных окружностей , и нахождение площадей тех равносторонних
n
-угольников в которые они вписаны или описаны, а так же нахождение объёмов
n
-угольных равносторонних пирамид
средствами алгоритмического языка
VBA
в среде
MSEcxel
.
Задачи:
1)
Разработать
алгоритм и программу вычисляющей радиус вписанной и описанной окружности.
2)
Разработать алгоритм и программу по нахождению площади равносторонней фигуры с вписанной или описанной окружностью.
3)
Найти объёмы равносторонних пирамид, которые вписаны или описаны вокруг окружности.
4)
Снабдить программу понятным современным интерфейсом: кнопкой пуска полосы прокрутки изменяющие входные данные.
История
Рис.1. Внешний вид программы, которая была за образец.
Программа которая была взята за образец с сайта
http://www.webmath.ru/web/prog15_1.php
. была создана в
начале 2010 года.
http://www.fxyz.ru/,
http
://
www
.
board
74.
ru
/
articles
/
geometry
/
triangle
_1.
html
похожие сайты.
Постановка задачи
В данной курсовой работе планируется реализовать универсальный алгоритм для геометрических задач. Для вычисления радиусов вписанной и описанной окружности. В качестве входной информации задаём : число сторон и длину стороны равностороннего
n
-угольника, а так же высоту пирамиды..
Правила работы с программой
Рис.2.Интерфейс программы.
Для ввода исходных данных используются три полосы прокрутки, передвигая которых мы водим исходные данные. После чего надо нажать кнопку расчёт, и будут выданы результаты. После того как программа выдала результаты, а нужно ещё сделать вычисления, то меняем расположение полос прокрутки на нужные нам исходные данные, после чего опять нажимаем кнопку “расчёт”, и программа в автоматическом режиме заменит предыдущие результаты вычислений на новые.
В начале программы с помощью полосы прокрутки мы вводим число сторон равностороннего многоугольника. В ячейке
A2
.
Рис.3а. Полоса прокрутки для ввода числа сторон
Затем с помощью другой полосы прокрутки мы вводим длину стороны равностороннего многоугольника. В ячейке
A
3.
Рис.3б. Полоса прокрутки для ввода длин сторон
Далее если надо вводим с помощью ещё одной полосы прокрутки высоту нашего многоугольника для нахождения объёма. В ячейке
A
10.
Рис.3в. Полоса прокрутки для ввода высоты
Рис.4.Кнопка
рис.5. Внешний вид программы
Исходный текст программы
Sub
нахождение_радиусов()
Dim
a
As
Integer
‘переменная длинны стороны равностороннего многоугольника’
Dim
n
As
Integer
‘переменная, числа сторон равностороннего многоугольника ’
Dim
r
As
Single
‘переменная радиуса вписанной окружности ’
Dim
w
As
Single
‘переменная радиуса вписанной окружности ’
Dim
s
As
Single
‘радиус описанной окружности ’
Dim t As Single
‘переменная теоремы Герона ’
Dim
v
As
Single
‘переменная объёма’
Dim v1 As Single
‘
переменная объёма 2
Dim h As Integer
‘переменная высоты ’
a
=
Cells
(
4
, 1)
‘ввод числа ‘
a
’ в ячейке с координатами 2.1 ’
n
=
Cells
(
3
, 1)
‘ввод числа ‘
n
’ в ячейке с координатами 3.1 ’
r = a / (2 * Sin(3.14159265 / n))
'формула радиу
c
а описанной окружности'
w
=
a
/ (2 *
Tan
(3.14159265 /
n
))
'формула радиуса вписанной окружности'
Cells
(7, 1).
Value
=
r
‘отобрази ‘
r
’в ячейке с координатами 7.1 ’
Cells
(8, 1).
Value
=
w
‘отобрази ‘
w
’в ячейке с координатами 8.1 ’
p = (2 * r + a) / 2
'формула полупериметра '
Cells
(11, 1).
Value
=
p
‘отобрази ‘
p
’в ячейке с координатами 11.1 ’
f
= (2 *
w
+
a
) / 2
'формула полупериметра '
Cells
(12, 1).
Value
=
f
‘отобрази ‘
f
’в ячейке с координатами 12.1 ’
s = n * ((p * ((p - r) ^ 2) * (p - a)) ^ 0.5)
'формула Герона'
Cells(9, 1).Value = s
‘
отобрази
‘s’
в
ячейке
с
координатами
9.1 ’
t = n * ((f * ((f - w) ^ 2) * (f - a)) ^ 0.5)
'формула Герона'
Cells(10, 1).Value = t
‘
отобрази
‘t’
в
ячейке
с
координатами
10.1 ’
h
=
Cells
(5, 1)
‘отобрази ‘
h
’в ячейке с координатами 5.1 ’
v
= 1 / 3 *
s
*
h
'формула объёма пирамиды'
Cells
(13, 1).
Value
=
v
‘отобрази ‘
v
’в ячейке с координатами 13.1 ’
v1 = 1 / 3 * t * h
'фомула объёма пиромиды'
Cells
(14, 1).
Value
=
v
1
‘отобрази ‘
v
1’в ячейке с координатами 14.1
End
Sub
Блок схема
Псевдокод
АЛГ
Введите числа:
a
,
n
,
h
r = a / (2 * Sin(3.14159265 / n))
w = a / (2 * Tan(3.14159265 / n))
p = (2 * r + a) / 2
f = (2 * w + a) / 2
s = n * ((p * ((p - r) ^ 2) * (p - a)) ^ 0.5)
t = n * ((f * ((f - w) ^ 2) * (f - a)) ^ 0.5)
v
= 1 / 3 *
s
*
h
v
1 = 1 / 3 *
t
*
h
Конец АЛГ
Заключение
В данной работе была реализована программа по вычислению радиуса вписанной и описанной окружности, и нахождение площадей тех равносторонних фигур в которые они вписаны или описаны и нахождение объёмов N-угольных равносторонних пирамид.