Вычисление площади треугольника с двумя сторонами и углом между ними, поиск наименьшего угла и косинуса наименьшего угла (Лабораторная работа № 1)

Страницы работы

5 страниц (Word-файл)

Содержание работы

Министерство Образования и Науки Российской Федерации

НГТУ

Лабораторная работа №1

по дисциплине

Программирование вычислений

Факультет: ПМИ                                                                                                    

Группа: ПМ-54

Студенты: Коновалов А.В.

                   Брит С. В.

                   Ягофаров  А.О.

преподаватель: Рояк С. Е.

                           Токарева М.Г.

Новосибирск

2007 г.

1.Математическая модель

Условие задачи:

Треугольник задаётся двумя сторонами и углом между ними. Найти площадь треугольника, наименьший угол и косинус наименьшего угла.

Анализ:

Дано: а, b – стороны треугольника, γ – угол между ними.

Для нахождения площади будем использовать формулу:

S = аγ

Для нахождения наименьшего угла воспользуемся свойством: «против наименьшей стороны лежит наименьший угол». Для этого вычислим третью сторону по теореме косинусов:

c =

Выберем среди сторон наименьшею. Затем из соотношения  (теорема синусов) найдём  наименьший угол лежащий против наименьшей стороны. Допустим наименьшая сторона a, тогда

α =  - наименьший угол, d = cosα соответственно косинус этого угла.

2.Проект программы

          proс main

            scalar b, c, w, a, l, number (number{1, 2, 3} )

                        case number of

            part(1) [вычисляем площадь]

            w:= π *w/180

s:=b*c*sin(w)/2

part(2) [вычисляем минимальный угол]

            l:=

            a=l

            if(b ≤ a) a:=b

            if(c < a) a:=c

            a:=sin(w)*a/l

            a:=arcsin(a)

            a:=a*180/π

part(3) [вычисляем косинус минимального угла]

            a:= π *a/180

            a:=cos(a)

                        esac

            corp

3.Система тестов

Стороны

Угол

Площадь

Минимальный угол

(в градусах)

Косинус минимального угла

-10

23

12

-

-

-

90

13

181

-

-

-

0

8

32

-

-

-

20

20

-20

-

-

-

2

8

0

-

-

-

5

5

90

12,5

45

0,7071067

12,035

12,035

60

62,7180901

60

0,5

9

9

60

35,0740288

60

0,5

1

1

179,9

8,7266418e-4

0,05

0,9999996

350,52

32.09

54,3

4567,233603

4.490903

0.9969298

4.Программа

!главная

            program main

            common/abc/real b,c,w,a

1          print *, '1. Vvod novogo treugolnika'

            print *, '2. Ploshad treugolnika'

            print *, '3. Vychislenie minimalnogo ugla'

            print *, '4. Vychislenie cosinusa minimalnogo ugla'

            print *, '5. Vyhod'

            read *, number

            if (number.eq.1) call vvod

            if (number.eq.2) call sq

            if (number.eq.3) then

            call minW

            write(*,*) a

            end if

            if (number.eq.4) call co

            if (number.eq.5) stop 'EXIT'

            Goto 1

            end

            !вводим величины

            subroutine vvod

            common/abc/ b,c,w

2          write(*,*)'<ENTER>:'

read(*,*)b,c,w

            if(c.le.0.or.b.le.0.or.w.le.0.or.w.ge.180) then

            write(*,*) 'DATA UNCORRECT!'

            goto 2

            end if

            w=3.1415926*w/180.0

            end

!вычисляем площадь

            subroutine sq

            common/abc/ b,c,w

            s=b*c*sin(w)/2.0

            write(*,*) s

            end

!вычисляем минимальный угол

            subroutine minW

            common/abc/ b,c,w,a

            real l

Похожие материалы

Информация о работе