Реферат: Разработка программы для решения геометрических задач средствами алгоритмического языка vba в среде msecxel Студент: группы рФ-09-2
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГЕОЛОГОРАЗВЕДОЧНЫЙ УНИВЕРСИТЕТ
им. СЕРГО ОРДЖОНИКИДЗЕ
Кафедра Информатики и ГИС
по предмету Информатика
на тему:
“ Разработка программы для решения геометрических задач средствами алгоритмического языка vba в среде MSEcxel ”
Студент: группы рФ-09-2 | Кухарёнок Дмитрий |
Научный руководитель: Доцент кафедры Информатики иГИС | Оборнев Евгений Александрович |
москва 2010
Оглавление
Цели и задачи курсовой работы… 3
Правила работы с программой. 5
Цели и задачи курсовой работы
Курсовая работа посвящена разработке алгоритма и программы реализующей задачу.
1) расчёт радиуса вписаной и описаной окружности.
2) Площади равносторонних вписанных или описанных фигур
3) нахождение объёмов n -уголльных равносторонних пирамид.
4) За образец программы взят пример программы обладающей подобными свойствами, найденной автором в интернете, на сайте: www.webmath.ru/web/prog15_1.php .Формулы расчёта параметров взяты из учебника по геометрии А.В. Погорелова.
Цель:
Разработать алгоритм и программу для расчёта радиусов вписанных и описанных окружностей, и нахождение площадей тех равносторонних n -угольников в которые они вписаны или описаны, а так же нахождение объёмов n -угольных равносторонних пирамид средствами алгоритмического языка VBA в среде MSEcxel .
Задачи:
1) Разработать алгоритм и программу вычисляющей радиус вписанной и описанной окружности.
2) Разработать алгоритм и программу по нахождению площади равносторонней фигуры с вписанной или описанной окружностью.
3) Найти объёмы равносторонних пирамид, которые вписаны или описаны вокруг окружности.
4) Снабдить программу понятным современным интерфейсом: кнопкой пуска полосы прокрутки изменяющие входные данные.
История
Рис.1. Внешний вид программы, которая была за образец.
Программа которая была взята за образец с сайта www.webmath.ru/web/prog15_1.php. была создана в начале 2010 года. 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-угольных равносторонних пирамид.