Baixe o app para aproveitar ainda mais
Prévia do material em texto
Exercícios de Seleções PROGRAM L1EXERC1 c Dados dois valores inteiros A e B, distintos , imprimir o maior. INTEGER A B PRINT*, 'Digite valores para A e B' READ*, A, B PRINT* IF (A .GT. B) THEN PRINT*, A, ' e o maior' ELSE PRINT*, B, ' e o maior' ENDIF STOP END PROGRAM L1EXERC2 c Dados dois valores inteiros A e B, distintos, imprima mensagem c se forem iguais ou nao INTEGER A, B PRINT*, 'Digite valores para A e B' READ*, A, B PRINT* IF (A .EQ. B) THEN PRINT*, 'A=', A, ' e ', 'B= ',B , ' sao iguais' ELSE PRINT*, 'A=', A, ' e ', 'B= ',B , ' sao diferentes' ENDIF STOP END PROGRAM L1EXERC3 c Dados dois valores inteiros A e B, distintos, imprimir A e B c ordenados de forma crescente. INTEGER A, B, Aux PRINT*, 'Digite valores para A e B' READ*, A, B IF (A .GT. B) THEN Aux = A A = B B = Aux ENDIF PRINT* PRINT*, 'A=', A, ' B= ',B STOP END PROGRAM L1EXERC4 c Dado um valor inteiro A, imprimir se 10 <= A <= 20, c ou uma mensagem caso contrario. INTEGER A PRINT*, 'Digite valor para A' READ*, A PRINT* IF ((A .GE. 10) .AND. (A .LE. 20) ) THEN PRINT*, A, ' esta no intervalo entre 10 e 20' ELSE PRINT*, A, ' nao esta no intervalo entre 10 e 20' ENDIF STOP END PROGRAM L1EXERC5 c Dados tres valores inteiros A, B e C, distintos, imprimir o maior. INTEGER A, B, C PRINT*, 'Digite valores para A, B e C' READ*, A, B, C PRINT* PRINT*, 'A=', A, ' B=', B, ' C=', C PRINT* IF ((A .GT. B) .AND. (A .GT. C)) THEN PRINT*, A, ' e o maior' ELSE IF ((B .GT. A) .AND. (B .GT. C)) THEN PRINT*, B, ' e o maior' ELSE PRINT*, C, ' e o maior' ENDIF ENDIF STOP END PROGRAM L1EXERC6 c Dados tres valores inteiros A, B e C, distintos, imprimir o menor. INTEGER A, B, C PRINT*, 'Digite valores para A, B e C' READ*, A, B, C PRINT* PRINT*, 'A=', A, ' B=', B, ' C=', C PRINT* IF ((A .LT. B) .AND. (A .LT. C)) THEN PRINT*, A, ' e o menor' ELSE IF ((B .LT. A) .AND. (B .LT. C)) THEN PRINT*, B, ' e o menor' ELSE PRINT*, C, ' e o menor' ENDIF ENDIF STOP END PROGRAM L1EXERC7 c Dados tres valores inteiros A, B e C, distintos, c imprimir o intermediario. INTEGER A, B, C PRINT*, 'Digite valores para A, B e C' READ*, A, B, C PRINT* PRINT*, 'A=', A, ' B=', B, ' C=', C PRINT* IF ((A .GT. B) .AND. (A .LT. C) .OR. (A .GT. C) .AND. (A .LT. B) *) THEN PRINT*, A, ' e o intermediario' ELSE IF ((B .GT. A) .AND. (B .LT. C) .OR. (B .GT. C) .AND. *(B .LT. A)) THEN PRINT*, B, ' e o intermediario' ELSE PRINT*, C, ' e o intermediario' ENDIF ENDIF STOP END PROGRAM L1EXERC8 c Dados tres valores inteiros A, B e C, verificar se eles podem ser c lados de um triangulo e, se forem, imprimir se formam um triangulo c equilatero,isosceles ou escaleno. Imprimir mensagem se os lados c nao formam um triangulo. INTEGER A, B, C PRINT*, 'Digite valores para A, B e C' READ*, A, B, C PRINT* PRINT*, 'A=', A, ' B=', B, ' C=', C PRINT* IF ((A .GT. B+C) .OR. (B .GT. A+C) .OR. (C .GT. A+B)) THEN PRINT*, ' Os valores lidos nao formam lados de um triangulo' ELSE IF ((A .EQ. B) .AND. (B .EQ. C)) THEN PRINT*, ' Os valores lidos formam um triangulo equilatero' ELSE IF ((A .EQ. B) .OR. (A .EQ. C) .OR. (B .EQ. C)) THEN PRINT*, ' Os valores lidos formam um triangulo isosceles' ELSE PRINT*, ' Os valores lidos formam um triangulo escaleno' ENDIF ENDIF ENDIF STOP END PROGRAM L1EXERC9 c Dados tres valores inteiros A, B e C, distintos, imprimir A, B, C c ordenados de forma crescente. INTEGER A, B, C, Aux PRINT*, 'Digite valores para A, B e C' READ*, A, B, C PRINT* PRINT*, 'A=', A, ' B=', B, ' C=', C PRINT* IF ((A .GT. B) .OR. (A .GT. C)) THEN IF (B .LT. C) THEN Aux = B B = A A = Aux ELSE Aux = C C = A A = Aux ENDIF ENDIF IF (B .GT. C) THEN Aux = B B = C C = Aux ENDIF PRINT* PRINT*, 'Valores ordenados de forma crescente' PRINT*, 'A=', A, ' B=', B, ' C=', C STOP END PROGRAM L1EXERC10 c Dado o nome e o salario bruto de um funcionario, calcular valor c do desconto e o salario liquido do funcionario. Imprimir o nome, c salario bruto, valor do desconto e o salario liquido. O calculo do c valor do desconto sera feito conforme abaixo: c se o salario bruto <= 500,00 estara isento do desconto c caso contrario aplicar desconto de 10% sobre o salario bruto. c valor_do_desconto = salario_bruto * %desc / 100.00 c salario_liquido = salario_bruto - valor_do_desconto REAL SalBr, Perc, ValDesc, Saliq CHARACTER Espaco*3, Nome*30 PARAMETER (Espaco=' ') PRINT*, 'Digite nome do funcionario' READ*, Nome PRINT* PRINT*, 'Digite valor do salario' READ*, SalBr IF (SalBr .LE. 500.0) THEN Perc = 0 ELSE PERC = 0.1 ENDIF ValDesc= SalBr * Perc Saliq = SalBr - ValDesc PRINT* PRINT* PRINT*, 'Nome:', Nome, Espaco, 'Salario:', SalBr PRINT*, 'Desconto:', ValDesc, Espaco, 'Salario Liquido:', Saliq STOP END PROGRAM L1EXERC11 c Dado o nome e o salario bruto de um funcionario, calcular o valor c do desconto e o salario liquido do funcionario. Imprimir o nome, c salario bruto, valor do desconto e o salario liquido. O calculo do c valor do desconto sera feito conforme abaixo: c se o salario bruto <= 500,00 estara isento do desconto c se o 500,00 < salario bruto <= 1000,00 aplicar desconto de 10% c sobre o salario bruto c se o 1000,00 < salario bruto <= 2000,00 aplicar desconto de 15% c sobre o salario bruto c caso contrario aplicar desconto de 20% sobre o salario bruto. REAL SalBr, Perc, ValDesc, Saliq CHARACTER Espaco*3, Nome*20 PARAMETER (Espaco=' ') PRINT*, 'Digite nome do funcionario' PRINT* READ*, Nome PRINT*, 'Digite valor do salario' READ*, SalBr IF (SalBr .LE. 500.0) THEN Perc = 0 ELSE IF (SalBr .LE. 1000.0) THEN Perc = 0.1 ELSE IF (SalBr .LE. 2000.0) THEN Perc = 0.15 ELSE PERC = 0.2 ENDIF ENDIF ENDIF ValDesc= SalBr * Perc Saliq = SalBr - ValDesc PRINT* PRINT*, 'Nome:', Nome, Espaco, 'Salario:', SalBr PRINT*, ' Desconto:', ValDesc, Espaco, 'Salario Liquido:', Saliq STOP END PROGRAM L1EXERC12 cDado o nome, salário bruto e o estado civil de um funcionario, c calcular valor do desconto e o salario liquido do funcionario. c Imprimir nome, salario bruto, valor do desconto e o salario liquido. c O calculo do valor do desconto sera feito conforme abaixo: c se o funcionario for casado estara isento do desconto c se for solteiro aplicar desconto de 10% sobre o salaário bruto c se for viuvo desconto de 15% sobre o salario bruto c caso contrario aplicar desconto de 20% sobre o salario bruto. c estado civil sera assim representado: c 0 - solteiro 1 - casado 2 - separado 3 - divorciado 4 - viuvo REAL SalBr, Perc, ValDesc, Saliq INTEGER EstCiv CHARACTER Espaco*3, Nome*20 PARAMETER (Espaco=' ') PRINT*, 'Digite nome do funcionario' READ*, Nome PRINT* PRINT*, ' Digite opcao do estado civil do funcionario' PRINT*,' 0 - Solteiro' PRINT*,' 1 - Casado' PRINT*,' 2 - Separado' PRINT*,' 3 - Divorciado' PRINT*,' 4 - Viuvo' READ*, EstCiv PRINT* PRINT*, 'Digite valor do salario' READ*, SalBr IF (EstCiv .EQ. 1) THEN Perc = 0 ELSE IF (EstCiv .EQ. 0) THEN Perc = 0.1 ELSE IF (EstCiv .EQ. 4) THEN Perc = 0.15 ELSE PERC = 0.2 ENDIF ENDIF ENDIF ValDesc= SalBr * Perc Saliq = SalBr - ValDesc PRINT* PRINT*, 'Nome:', Nome, Espaco, 'Salario:', SalBr IF (EstCiv .EQ. 0) THEN PRINT*, ' Estado civil: Solteiro' ELSE IF (EstCiv .EQ. 1) THEN PRINT*, ' Estado civil: Casado' ELSE IF (EstCiv .EQ. 2) THEN PRINT*, ' Estado civil: Separado' ELSE IF (EstCiv .EQ. 3) THEN PRINT*, ' Estado civil: Divorciado' ELSE PRINT*, ' Estado civil: Viuvo' ENDIF ENDIF ENDIF ENDIF PRINT*, ' Desconto:', ValDesc, Espaco, 'Salario Liquido:', Saliq STOP END PROGRAM L1EXERC13 c Dado o nome, salário bruto e o estado civil de um funcionario, c calcular valor do desconto e o salario liquido do funcionario. c Imprimir nome, salario bruto, valor do desconto e o salario liquido. c O calculo do valor do desconto sera feito conforme abaixo: c se o funcionario for casado estara isento do desconto caso o salario<=500,0 c senao aplicar desconto de 8% sobre o salario bruto c se for solteiro aplicar desconto de 10% sobre o salario bruto c se for viuvo desconto de 10% sobre o salario bruto se o salario <= 800,0, c senao aplicar desconto de 15% sobre o salario bruto c se for separado ou divorciado aplicar desconto de 15% sobre o salario c bruto se salario <= 700,00, senao aplicar desconto de 20% sobre o salario bruto. c 0 - solteiro 1 - casado 2 - separado 3 - divorciado 4 - viuvo REAL SalBr, Perc, ValDesc, Saliq INTEGER EstCiv CHARACTER Espaco*3, Nome*20 PARAMETER (Espaco=' ') PRINT*, 'Digite nome do funcionario' READ*, Nome PRINT* PRINT*, ' Digite opcao do estado civil do funcionario' PRINT*,' 0 - Solteiro' PRINT*,' 1 - Casado' PRINT*,' 2 - Separado' PRINT*,' 3 - Divorciado' PRINT*,' 4 - Viuvo' READ*, EstCiv PRINT* PRINT*, 'Digite valor do salario' READ*, SalBr IF (EstCiv .EQ. 1) THEN IF (SalBr .LE. 500.0) THEN Perc = 0 ELSE Perc = 0.08 ENDIF ELSE IF (EstCiv .EQ. 0) THEN Perc = 0.1 ELSE IF (EstCiv .EQ. 4) THEN IF (SalBr .LE. 800.0) THEN Perc = 0.1 ELSE Perc = 0.15 ENDIF ELSE IF (SalBr .LE. 700.0) THEN Perc = 0.15 ELSE Perc = 0.2 ENDIF ENDIF ENDIF ENDIF ValDesc= SalBr * Perc Saliq = SalBr - ValDesc PRINT* PRINT*, ' Nome:', Nome, Espaco, 'Salario:', SalBr IF (EstCiv .EQ. 0) THEN PRINT*, ' Estado civil: Solteiro' ELSE IF (EstCiv .EQ. 1) THEN PRINT*, ' Estado civil: Casado' ELSE IF (EstCiv .EQ. 2) THEN PRINT*, ' Estado civil: Separado' ELSE IF (EstCiv .EQ. 3) THEN PRINT*, ' Estado civil: Divorciado' ELSE PRINT*, ' Estado civil: Viuvo' ENDIF ENDIF ENDIF ENDIF PRINT*, ' Desconto:', ValDesc, Espaco, 'Salario Liquido:', Saliq STOP END
Compartilhar