Реферат: Разработка программы для решения геометрических задач средствами алгоритмического языка vba в среде msecxel Студент: группы рФ-09-2
Название: Разработка программы для решения геометрических задач средствами алгоритмического языка vba в среде msecxel Студент: группы рФ-09-2 Раздел: Остальные рефераты Тип: реферат | ||||||||
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ
ГЕОЛОГОРАЗВЕДОЧНЫЙ УНИВЕРСИТЕТ Кафедра Информатики и ГИС на тему: “ Разработка программы для решения геометрических задач средствами алгоритмического языка vba в среде MSEcxel ”
москва 2010 Оглавление Цели и задачи курсовой работы.. 3 Правила работы с программой. 5 Цели и задачи курсовой работыКурсовая работа посвящена разработке алгоритма и программы реализующей задачу. 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-угольных равносторонних пирамид. |