Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
c Main part program main implicit none common / input / a, b, alpha common / utility / PI, beta common / flags / is_triangle_created real a, b, alpha real PI, beta logical is_triangle_created PI = 3.1415927 call Menu end c Menu subroutine Menu implicit none integer command common / input / a, b, alpha common / utility / PI, beta common / flags / is_triangle_created real calculate_area, find_min_angle, min_angle_cos real a, b, alpha real PI, beta logical is_triangle_created is_triangle_created = .false. print *, '1. Create new triangle.' print *, '2. Calculate area.' print *, '3. Find minimal angle.' print *, '4. Find cosin of minimal angle.' print *, '5. Exit.' c Delete this print *, '6. (temp) Show triangle params.' c Delete this 1 print *, '>> ' read *, command if(.NOT. is_triangle_created .AND. + (command .EQ. 2 .OR. command .EQ. 3 .OR. command .EQ. 4)) then print *, 'Error: triangle is not created.' goto 1 endif select case (command) case (1) call input_triangle case (2) print *, 'Area = ', calculate_area() case (3) print *, 'Minimal angle = ', find_min_angle() case (4) print *, 'Minimal angle cosin = ', min_angle_cos() case (5) goto 2 case (6) c Delete this call write_triangle c Delete this case default print *, 'Unexpected command' end select goto 1 2 end c Triangle creation subroutine input_triangle implicit none common / input / a, b, alpha common / utility / PI, beta common / flags / is_triangle_created real a, b, alpha real PI, beta logical is_triangle_created 3 print *, 'Enter [a] [b] [alpha]:' read *, a, b, alpha if(a .LE. 0 .OR. b .LE. 0 .OR. alpha .LE. 0 .OR. + (a**2 .LE. (b*sin(alpha))**2)) then print *, 'Error: triangle is not exist' goto 3 endif is_triangle_created = .true. print *, 'Triangle is created' end c Area calculation real function calculate_area() implicit none common / input / a, b, alpha common / utility / PI, beta real a, b, alpha real PI, beta beta = asin(b/a * sin(alpha * PI/180)) * 180/PI calculate_area = 0.5 * a * b * sin((180 - beta - alpha) * PI/180) return end c Minimal angle finding real function find_min_angle() implicit none common / input / a, b, alpha common / utility / PI, beta real a, b, alpha real PI, beta, gamma beta = asin(b/a * sin(alpha * PI/180)) * 180/PI gamma = 180 - alpha - beta if (alpha .LE. beta .AND. alpha .LE. gamma) then find_min_angle = alpha elseif (beta .LE. alpha .AND. beta .LE. gamma) then find_min_angle = beta else find_min_angle = gamma endif return end c Calculate cosin of minimal angle real function min_angle_cos() implicit none common / input / a, b, alpha common / utility / PI, beta real a, b, alpha real PI, beta, find_min_angle min_angle_cos = cos(find_min_angle() * PI/180) end c Delete subroutine write_triangle common / input / a, b, alpha common / utility / PI, beta real a, b, alpha real PI, beta print *, 'a = ', a print *, 'b = ', b print *, 'alpha = ', alpha end c Delete
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)