Кафедра прикладной математики
Лабораторная работа № 1
по дисциплине
«Программирование вычислений»
Факультет: ПМИ
Группа: ПМ-43
Студенты: Маховикова Е.С.
Наумик Е.В.
Полева М.С.
Преподаватели: Токарева М.Г.
Рояк С.Е.
Новосибирск
2006г
Цель работы: ознакомление с основными операторами языка ФОРТРАН, отслеживание возможностей переполнения и исчезновения порядка при вычислениях, знакомство с погрешностью вычислений.
Задание: Написать программу, реализующую на языке ФОРТРАН вычисление заданного набора геометрических характеристик треугольников с использованием меню.
Анализ задачи.
Входные данные:Сторона треугольника и два прилежащих угла.
Выходные данные:Площадь треугольника, минимальный угол треугольника, косинус минимального угла треугольника, либо сообщение об ошибке на русском языке.
Анализ формул:
Для нахождения площади треугольника более оптимальным вариантом является следующая формула:
S=1/2(b*c*sinA)
Для высчитывания площади по этой формуле мы проводим минимальное количество действий. Нам необходимо найти вторую сторону, для чего мы используем теорему синусов:
sinA/a=sinB/b=sinC/c
C=180-A-B
Нам известны сторона с, углы А и В, теперь выразим сторону b:
b=(sinB*c)/sinC
Теперь подставим найденное значение в исходную формулу:
S=1/2*((sinB*c)/sinC)*c*sinA)
Существует еще 4 формулы для нахождения площади треугольника:
S= p(p-a)(p-b)(p-c) - 3 неизвестных величины(периметр и 2 стороны);
S=1/2aha - для нахождения высоты требуется найти еще одну сторону и тригонометрическую функцию угла;
S=pr - для нахождения периметра требуется найти еще 2 стороны + нахождение радиуса;
S=(abc)/(4R) - требуется найти еще 2 стороны + радиус.
Для нахождения минимального угла мы будем использовать операции сравнения: сначала мы из первых двух углов найдем минимальный, а потом сравним его с оставшимся углом(сравнение не строгое). Так же в операции сравнения входит проверка, что углы, вводимые больше нуля и их сумма меньше 180(строгое сравнение).
Косинус угла мы будем находить с помощью формулы приведения:
cosx=sin(90-x)
Так как нам необходимо найти косинус минимального угла, то в качестве х мы будем брать минимальный угол.
Все углы мы будем переводить из градусов в радианы, для этого мы угол должны поделить на 180 градусов и умножить на П.
Для того что бы программа выполнялась верно нам необходимо вначале сделать проверку,
что А и B>0, и их сумма строго меньше 180, а так же, что заданная сторона больше 0.
Тесты:
1. A=45 B=60 c=2
Результат: S=1.26, minx=45, cosx=0.7//показывает правильность выполнения нашей программы.
2. A=0 B=68 c=63
Результат: Ошибка! Неверные данные!//при неверно заданном параметре, выдает ошибку.
3. A=34 B=78 c=0
Результат: Ошибка! Неверные данные!// при неверно заданном параметре, выдает ошибку.
4. A=120 B=89 c=457
Результат: Ошибка! Неверные данные!//при проверке суммы углов, выдает ошибку.
5. A=-145 B=30 c=-23
Результат: Ошибка! Неверные данные!// при неверно заданном параметре, выдает ошибку.
Исследование №1.
№ |
Длинна стороны |
площадь |
1 |
10 |
43.30127 |
2 |
102 |
4330.127 |
3 |
103 |
433012.7 |
4 |
104 |
4.3301272E+07 |
5 |
105 |
4.3301268E+09 |
6 |
106 |
4.3301270E+11 |
7 |
107 |
4.3301269E+13 |
8 |
108 |
4.3301267E+15 |
9 |
109 |
4.3301269E+17 |
10 |
1010 |
4.3301270E+19 |
11 |
1011 |
4.3301266E+21 |
12 |
1012 |
4.3301271E+23 |
13 |
1013 |
4.3301269E+25 |
14 |
1014 |
4.3301270E+27 |
15 |
1015 |
4.3301271E+29 |
16 |
1016 |
4.3301271E+31 |
17 |
1017 |
4.3301270E+33 |
18 |
1018 |
4.3301269E+35 |
19 |
1019 |
4.3301271E+37 |
20 |
1020 |
infinity |
№ |
Длинна стороны |
Площадь |
1 |
10-1 |
4.3301270E-03 |
2 |
10-2 |
4.3301268E-05 |
3 |
10-3 |
4.3301273E-07 |
4 |
10-4 |
4.3301269E-09 |
5 |
10-5 |
4.3301269E-11 |
6 |
10-6 |
4.3301268E-13 |
7 |
10-7 |
4.3301273E-15 |
8 |
10-8 |
4.3301271E-17 |
9 |
10-9 |
4.3301266E-19 |
10 |
10-10 |
4.3301273E-21 |
11 |
10-11 |
4.3301269E-23 |
12 |
10-12 |
4.3301270E-25 |
13 |
10-13 |
4.3301268E-27 |
14 |
10-14 |
4.3301270E-29 |
15 |
10-15 |
4.3301272E-31 |
16 |
10-16 |
4.3301274E-33 |
17 |
10-17 |
4.3301266E-35 |
18 |
10-18 |
4.3301275E-37 |
19 |
10-19 |
4.3301272E-39 |
20 |
10-20 |
4.330152E-41 |
21 |
10-21 |
4.3300123E-43 |
22 |
10-22 |
4.2038954E-45 |
23 |
10-23 |
0.0000000E+00 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.