1. Enuncie as várias partes de um programa em FORTRAN. 2. Identifique os tipos básicos de dados em FORTRAN. 3. Escreva a declaração de tipo para as variáveis: 3.1. NumeroAluno do tipo inteiro 3.2. NomeProprio, Sobrenome do tipo cadeia de caracteres com comprimentos 15 e 20 caracteres, respectivamente 3.3. NotaExame, NotaLaboratorio do tipo real 4. Escreva a declaração das seguintes constantes: 4.1. TaxaJuro com o valor 1.25 4.2. Formula com o valor CO2 e Composto com o valor Dioxido de Carbono 4.3. Tamanho com o valor 10 5. Escreva a declaração de tipo para especificar: 5.1. Nome, Rua e Cidade como variáveis do tipo cadeia de caracteres com comprimentos de 20, 40 e 15, respectivamente 5.2. Numero e CodigoPostal como variáveis do tipo inteiro 5.3. Pais como uma variável cujo valor inicial é Portugal 6. Determine o valor das seguintes expressões: 6.1. Resultado = 9 5 3 6.2. Total = 2.0 + 6.0 / 3.0 6.3. Parcial = 2 + 3 ** 2 6.4. Tempo = 2 + 3 / 2 6.5. Raiz = 25.0 ** 1 / 2 7. Definindo Dois = 2.0 Tres = 3.0 Quatro = 4.0 IntCinco = 5 IntOito = 8 Determine o valor de cada uma das seguintes expressões: 11
7.1. Dois + Tres * Tres 7.2. IntCinco / 3 7.3. IntOito / IntCinco * 5.1 7.4. Quatro ** 2 / Dois ** 2 7.5. SQRT( Dois + Tres + Quatro ) 8. Escreva expressões em FORTRAN equivalentes às seguintes expressões: 8.1. A variável Total tem o valor de 10 + 5 B 4 A C 8.2. A variável Resultado resulta da raiz quadrada de A + 3 B 2 9. Assuma que foram feitas as seguintes declarações de tipo: INTEGER :: IntOito = 8, IntCinco = 5, NumeroTarefa REAL :: Dois = 2.0, Tres = 3.0, Quatro = 4.0, ValorFinal Determine o valor atribuído em cada uma das seguintes expressões à variável considerada ou justifique, caso a atribuição seja inválida. 9.1. ValorFinal = ( Tres + Quatro / Dois ) ** 2 9.2. NumeroTarefa = IntOito / IntCinco + 5.1 9.3. IntOito = IntOito + 2 9.4. ValorFinal = SQRT ( Tres ** 2 + Quatro ** 2 ) 9.5. IntOito = ABS ( Tres 4.5 ) 10. Assuma que foi feita a seguinte declaração de tipo: CHARACTER (10) :: Alpha, Beta*5, Gamma*1, Delta*4 e que o valor da variável Delta = Quatro. Determine o valor atribuído em cada uma das seguintes expressões à variável considerada ou justifique, caso a atribuição seja inválida. 10.1. Gamma = 17 10.2. Gamma = 17 10.3. Alpha = Um Dois Tres Quatro 10.4. Alpha = 1234 12
10.5. Beta = don t 10.6. Beta = don t 10.7. Alpha = Delta 10.8. Gamma = Delta 11. Considere o programa que se apresenta de seguida: PROGRAM Demonstracao IMPLICIT NONE INTEGER :: I, J REAL :: X, Y X = 37 I = INT(X/5) PRINT *, X, I READ *, X, I PRINT *, "X = ", X, " I = ", I READ *, Y READ *, J PRINT *, Y PRINT *, J END PROGRAM Demonstracao Apresente a saída produzida pelo programa assumindo que os valores introduzidos pelo utilizador são os seguintes: 1.74 29 4.23 10 15 12. Escreva um programa que converte temperaturas em graus Celsius para temperaturas em graus Fahrenheit. A fórmula de conversão é dada pela expressão: Expressões Lógicas 9 F= C+ 32 5 13. Assuma que foram feitas as seguintes declarações de variáveis: INTEGER :: M = -5, N = 8 REAL :: X = -3.56, Y = 0.0, Z = 44.7 13
Qual o valor lógico das seguintes expressões: 13.1. ( X <= Y ).AND. ( Y <= Z ) 13.2..NOT. ( ( M <= N ).OR..NOT. ( X + Z > Y ) ) 13.3..NOT. ( ( M > N ).AND. ( X < Z ) ).NEQV. & ( ( M <= N ).AND. ( X >= Z ) ) 14. Assuma que A, B e C são expressões lógicas, i.e.: LOGICAL :: A, B, C Construa tabelas de verdade para mostrar qual o valor das seguintes expressões lógicas, para todas as combinações de valores de A, B e C. 14.1. A.OR..NOT. B 14.2. A.AND. ( B.OR. C ) 15. Escreva uma expressão lógica que exprima as seguintes condições: 15.1. Y encontra-se estritamente entre 2 e 5 15.2. Alfa e Beta têm o mesmo sinal 15.3. X é menor que 3 ou Y é menor que 3, mas não ambas as coisas 14
1. Cabeçalho, zona de especificações, zona de execução, zona de sub-programas, instrução END PROGRAM 2. INTEGER, REAL, CHARACTER, LOGICAL, COMPLEX. 3. Escreva a declaração de tipo para as variáveis: 3.1. INTEGER :: NumeroAluno 3.2. por exemplo: CHARACTER(15) :: NomeProprio, Sobrenome*20 3.3. REAL :: NotaExame, NotaLaboratorio 4. Escreva a declaração das seguintes constantes: 4.1. REAL, PARAMETER :: TaxaJuro = 1.25 4.2. CHARACTER(*), PARAMETER:: Formula = CO2, Composto = Dioxido de Carbono 4.3. INTEGER :: Tamanho = 10 5. Escreva a declaração de tipo para especificar: 5.1. CHARACTER(15) :: Nome*20, Rua*40, Cidade 5.2. INTEGER :: Numero, CodigoPostal 5.3. CHARACTER(8) :: Pais = Portugal 6. Determine o valor das seguintes expressões: 6.1. Resultado = 1 6.2. Total = 4.0 6.3. Parcial = 11 6.4. Tempo = 2 6.5. Raiz = 5.0 7. Definindo Dois = 2.0 Tres = 3.0 Quatro = 4.0 IntCinco = 5 IntOito = 8 Determine o valor de cada uma das seguintes expressões: 15
7.1. 11 7.2. 1 7.3. 5 7.4. 4.0 7.5. 3.0 8. Escreva expressões em FORTRAN equivalentes às seguintes expressões: 8.1. Total = 10 + 5 * B 4 * A * C 8.2. Resultado = SQRT( A + 3 * B ** 2 ) 9. Assuma que foram feitas as seguintes declarações de tipo: INTEGER :: IntOito = 8, IntCinco = 5, NumeroTarefa REAL :: Dois = 2.0, Tres = 3.0, Quatro = 4.0, ValorFinal Determine o valor atribuído em cada uma das seguintes expressões à variável considerada ou justifique, caso a atribuição seja inválida. 9.1. ValorFinal = 25.0 9.2. NumeroTarefa = 6 9.3. IntOito = 10 9.4. ValorFinal = 5.0 9.5. IntOito = 1 10. Assuma que foi feita a seguinte declaração de tipo: CHARACTER (10) :: Alpha, Beta*5, Gamma*1, Delta*4 e que o valor da variável Delta = Quatro. Determine o valor atribuído em cada uma das seguintes expressões à variável considerada ou justifique, caso a atribuição seja inválida. 10.1. Atribuição inválida: faltam aspas ou pelicas. 10.2. Gamma = 1 10.3. Alpha = Um Dois Tr 10.4. Alpha = 1234 16
10.5. Atribuição inválida: pelicas entre aspas 10.6. Beta = don t 10.7. Alpha = Quatro 10.8. Gamma = Q 11. Resultado: 37.000000 7 1.74 29 X = 1.740000 I = 29 4.23 10 15 4.230000 15 12. Escreva um programa que converte temperaturas em graus Celsius para temperaturas em graus Fahrenheit. A fórmula de conversão é dada pela expressão: 13. 9 F= C+ 32 5 13.1. ( X <= Y ).AND. ( Y <= Z ) = =.TRUE..AND..TRUE. =.TRUE. 13.2..NOT. ( ( M <= N ).OR..NOT. ( X + Z > Y ) ) = =.NOT.(.TRUE..OR..NOT..TRUE.) =.NOT.(.TRUE..OR..FALSE.) =.NOT..TRUE. =.FALSE. 13.3..NOT. ( ( M > N ).AND. ( X < Z ) ).NEQV. & ( ( M <= N ).AND. ( X >= Z ) ) = =.NOT.(.FALSE..AND..TRUE.).NEQV.(.TRUE..AND..FALSE.) =.NOT.(.FALSE.).NEQV..FALSE. =.TRUE..NEQV..FALSE. =.TRUE. 17
14. 14.1. A.OR..NOT. B A B.NOT. B A.OR..NOT. B.FALSE..FALSE..TRUE..TRUE..FALSE..TRUE..FALSE..FALSE..TRUE..FALSE..TRUE..TRUE..TRUE..TRUE..FALSE..TRUE. 14.2. A.AND. ( B.OR. C ) A B C B.OR. C A.AND. ( B.OR. C ).FALSE..FALSE..FALSE..FALSE..TRUE..FALSE..FALSE..TRUE..FALSE..FALSE..FALSE..TRUE..FALSE..TRUE..FALSE..FALSE..TRUE..TRUE..TRUE..TRUE..TRUE..FALSE..FALSE..FALSE..FALSE..TRUE..FALSE..TRUE..TRUE..TRUE..TRUE..TRUE..FALSE..TRUE..TRUE..TRUE..TRUE..TRUE..TRUE..TRUE. 15. 15.1. Y encontra-se estritamente entre 2 e 5 ( Y > 2 ).AND. ( Y < 5 ) 15.2. Alfa e Beta têm o mesmo sinal ( Alfa * Beta ) > 0 15.3. X é menor que 3 ou Y é menor que 3, mas não ambas as coisas ( X < 3 ).NEQV. ( Y < 3 ) 18
Algoritmo: Programa para conversão de temperaturas, de graus Celsius para graus Fahrenheit, Conversao_Temperaturas Variáveis de entrada: Celsius temperatura em ºC Variáveis de saída: Fahrenheit temperatura em ºF Leitura do valor de temperatura em ºC, Celsius Conversão ºC -> ºF: Fahrenheit: = 9/5Celsius + 32.0 Apresentação do valor de temperatura em ºF, Fahrenheit Implementação: PROGRAM Conversao_Temperaturas!---------------------------------------------------!! Programa para conversão de temperaturas em graus! Celsius para graus Fahrenheit!! Variáveis usadas:! Celsius : Temperatura em graus Celsius! Fahrenheit : Temperatura em graus Fahrenheit!! Input : Celsius! Output: Fahrenheit!!--------------------------------------------------- IMPLICIT NONE REAL :: Celsius, Fahrenheit! Leitura do valor de temperatura a converter PRINT *, "Escreva a temperatura em graus Celsius" READ *, Celsius!Converção de temperaturas Fahrenheit = (9/5) * Celsius + 32.0!Apresentação de resultados PRINT *, Celsius, " graus Celsius =", Fahrenheit, " graus Fahrenheit" READ (*,*) END PROGRAM Conversao_Temperaturas 19