F90: Programa do cálculo relação barras de aço/preço
From AdonaiMedrado.Pro.Br
Este programa foi desenvolvido pelos alunos José Lemos e Tiago Lima durante a disciplina Processamento de Dados (UFBA 2008.2). Data da apresentação: 02/12/2008.
PROGRAM aco IMPLICIT NONE CALL MenuPrincipal() CONTAINS SUBROUTINE MenuPrincipal() IMPLICIT NONE INTEGER :: Opcao, Erro WRITE (*,*) "Com qual tipo de aco deseja trabalhar?" WRITE (*,*) "1- CA 25" WRITE (*,*) "2- CA 50" WRITE (*,*) "3- CA 60" WRITE (*,*) "4- Sair" DO READ (*,*,IOstat=Erro) Opcao IF (Erro <= 0 .AND. Opcao >= 1 .AND. Opcao <=4) THEN SELECT CASE (Opcao) CASE (1) CALL CalcularAco(3.87,230.78) CASE (2) CALL CalcularAco(4.32,423.08) CASE (3) CALL CalcularAco(6.27,484.62) CASE (4) RETURN END SELECT EXIT ELSE WRITE (*,*) "Por favor, digite um número entre 1 e 4." END IF END DO END SUBROUTINE MenuPrincipal SUBROUTINE CalcularAco(PRECO,TR) IMPLICIT NONE INTEGER ::ERRO REAL, PARAMETER :: PI = 3.14159265 REAL :: T, RAIO, ACO, KG, F, B REAL, INTENT (IN) :: PRECO, TR WRITE(*,*) "Informe o peso que voê deseja adquirir de barras em kg:" DO READ (*,*,IOstat=ERRO) KG IF (ERRO>0) THEN WRITE (*,*) "Valor inválido. O peso deve ser um valor real." ELSE EXIT END IF END DO WRITE(*,*) "Informe a carga que a barra suportara em kgf:" DO READ (*,*,IOstat=ERRO) F IF (ERRO>0) THEN WRITE (*,*) "Valor inválido. O raio deve ser um valor real." ELSE EXIT END IF END DO WRITE(*,*) "Informe o valor do raio da barra em mm:" DO READ (*,*,IOstat=ERRO) RAIO IF (ERRO>0) THEN WRITE (*,*) "Valor inválido. O raio deve ser um valor real." ELSE EXIT END IF END DO ACO=0 T=F*10/ (PI*(RAIO**2)) B= NINT(T/TR) ACO=B* PRECO*KG WRITE(*,"(A,F7.2,A,F4.2,A)") "O orçamento do projeto será será de", ACO ," reais, usando ", B ," barras." END SUBROUTINE CalcularAco END PROGRAM aco