Você está na página 1de 20

Lista de exerccios

Aluno: Gabriel Matheus Conceio Medeiros Nunes

A)SEQUENCIA
Questo 3
REAL a !a = aresta do quadrado
PRINT*,"Digite um valor de aresta"
READ*,a
PRINT*,"A area do quadrado e: ",a*a
End

Questo 4
REAL d !d = diagonal do quadrado
PRINT*,"Digite um valor da diagonal do quadrado"
READ*,d
PRINT*,"A area do quadrado e: ",d*d/2
End

Questo 5
REAL b !b= base do triangulo
REAL h !h = altura do triangulo
PRINT *,"Digite um valor da base do triangulo"
READ*,b
PRINT*,"Digite um valor da altura do triangulo"

1
READ*,h
PRINT*,"A area do triangulo e: ",b*h/2
End

Questo 6

INTEGER valor(4)
INTEGER n
REAL soma
PRINT*,"Digite os valores que deseja calcular a media"
soma = 0
DO n = 1,4
READ*,valor(n)
soma = soma + valor(n)

ENDDO
PRINT*,"O valor da media aritmtica e: ", soma/4
End

Questao 7
REAL r,i
PRINT*,"Digite o valor de resistencia"
READ*, r

2
PRINT*,"Digite o valor de corrente eletrica"
read*,i
PRINT*,"O valor da tensao e: " , r*i
End

Questao 8
REAL c
print*,"Digite um valor para graus Celsius: "
read*,c
print*,"O valor em graus Fahrenheit : ", 9*c/5 + 32,"F"
end

Questao 9
REAL cot, dolar
PRINT*, "Digite a cotacao do dolar"
READ*, cot
PRINT*, "Digite um valor em dolares"
READ*, dolar
PRINT*, "O valor em reais e: ",dolar/cot
end

Questao 10
REAL produtos(5),soma, pag

3
INTEGER n
soma=0
PRINT*, "Digite o valor de cada produto"
DO n=1,5
PRINT*, n
READ*,produtos(n)
soma = soma+produtos(n)
ENDDO
PRINT*, "O valor total dos produtos e: ", soma
PRINT*, ""
PRINT*, "Digite o valor do seu pagamento"
READ*, pag
IF (pag<soma) THEN
PRINT*, "Valor insuficiente"
ELSE
PRINT*, "Seu troco e de: ", pag-soma
ENDIF
END

B) SELEO
Questao 1
REAL a,b
PRINT*,"Digite um valor para um numero real 'a'"
READ*,a
PRINT*,"Digite um valor para um numero real 'b'"
READ*,b

4
IF(a>b)THEN
PRINT*,a," e maior do que ",b
ELSE
PRINT*,b," e maior do que ",a
ENDIF
END

Questao 2
INTEGER a,b,comp
PRINT*,"Digite um valor para um numero 'a'"
READ*,a
PRINT*,"Digite um valor para um numero 'b'"
READ*,b
comp=a-b
SELECT CASE(comp)
CASE(1:)
PRINT*,a," e maior do que ", b

CASE(:-1)
PRINT*,b," e maior do que ", a

CASE DEFAULT
PRINT*,"Valores identicos"

END SELECT
END

5
Questao 3 e 4
REAL a,b
PRINT*, "Digite um valor para a base"
READ*,a
PRINT*, "Digite um valor para a altura"
READ*,b
IF((a*b)>100) THEN
PRINT*, "Terreno Grande"
ELSE
PRINT*,"Terreno Pequeno"
ENDIF
END

Questao 5
REAL Valores(3)
INTEGER i
DO i=1,3
PRINT*,"Digite o ",i," valor"
READ*,Valores(i)
ENDDO
IF((Valores(1) > Valores(2)).and.(Valores(1) > Valores(3)))THEN
PRINT*,Valores(1)," e o maior do que ", Valores(2)," e ", Valores(3)

6
ELSE
IF((Valores(2)>Valores(1)).and. (Valores(2)>Valores(3)))THEN
PRINT*,Valores(2)," e maior do que ", Valores(1)," e ", Valores(3)
ELSE
PRINT*,Valores(3)," emaior do que ", Valores(1)," e ", Valores(2)
ENDIF
ENDIF
END

Questao 6
REAL a,b,c
PRINT*,"Digite um valor para um numero real 'a'"
READ*,a
PRINT*,"Digite um valor para um numero real 'b'"
READ*,b
PRINT*,"Digite um valor para um numero real 'c'"
READ*,c
IF ((a<b+c).and.(b<a+c).and.(c<a+b))THEN
PRINT*,"Triangulo existente"
IF((a==b).and.(b==c).and.(a==c))THEN
PRINT*,"Triangulo Equilatero"
ELSE IF((a.NE.b).and.(a.NE.c).and.(b.NE.c))THEN
PRINT*,"Triangulo Escaleno"
ELSE IF(((a==b).or.(a==c).and.(b.NE.c)).or.((b==c).or.(b==a).and.
(a.NE.c)).or.((a==c).or.(c==b).and.(a.NE.b)))THEN
PRINT*,"Triangulo Isosceles"
ENDIF
ELSE

7
PRINT*,"Triangulo Inexistente"
ENDIF
END

8
Questao 8
REAL a
PRINT*,"Digite um numero real"
READ*,a
IF(a>0)THEN
PRINT*,"Numero maior do que zero"
ELSE IF(a==0)THEN
PRINT*,"Numero igual a zero"
ELSE
PRINT*,"Numero menor do que zero"
ENDIF
END

Questao 9,10,11
CHARACTER aluno
REAL n1,n2,media
PRINT*,"Digite o nome do aluno"
READ*, aluno
PRINT*,"Digite sua primeira nota"
READ*, n1
PRINT*, "Digite sua segunda nota"
READ*,n2
PRINT*,""
media=(n1+n2)/2
PRINT*,"Sua media e: ", media
IF(media<5)THEN
PRINT*,"E"
ELSE IF((media>=5).and.(media<6))THEN

9
PRINT*,"D"
ELSE IF((media>=6).and.(media<7.5))THEN
PRINT*,"C"
ELSE IF((media>=7.5).and.(media<9))THEN
PRINT*,"B"
ELSE
PRINT*,"A"
ENDIF
END

C)REPETIO
Questao 1

10
REAL a,b
PRINT*,"Digite um numero"
READ*,a
PRINT*,"Digite um numero maior do que o primeiro"
READ*,b
DO WHILE(a>b)
PRINT*,"Condicao nao aceita, digite o segundo numero novamente"
READ*,b
END WHILE
END

Questao 2
REAL valores(10), soma
INTEGER n
soma=0
PRINT*,"Digite 10 valores positivos"
DO n=1,10
READ*, valores(n)
DO WHILE(valores(n)<0)
PRINT*,"Digite um valor positivo"
READ*,valores(n)
END WHILE

11
END DO
PRINT*,"O maior desses numeros e: ", maxval(valores(1:10))
DO n=1,10
soma=soma+valores(n)
END DO
PRINT*,"A soma deles e: ",soma
PRINT*,"A media aritmetica dos valores e: ", soma/10
END

Questao 3
REAL num
REAL,DIMENSION(:),ALLOCATABLE::conj
INTEGER n,i
PRINT*,"Digite um numero positivo"
READ*,num
DO WHILE(num<0)
PRINT*,"Digite um numero positivo"
READ*,num
END WHILE
PRINT*,"Digite quantos numeros tem no seu conjunto de numeros
negativos"
READ*,n
ALLOCATE(conj(n))

12
DO i=1,n
PRINT*,"Digite o ",i," valor"
READ*,conj(i)
DO WHILE(conj(i)>0)
PRINT*,"Digite apenas valores negativos"
READ*,conj(i)
END WHILE
END DO
END

Questao 4
IMPLICIT NONE
CHARACTER*1 sexo,F,M
F="F"
M="M"
100 PRINT*,"Qual o sexo do usuario?"
READ'(A1)',sexo
IF((sexo.eq.F).or.(sexo.eq.M))THEN
PRINT*,"Sexo escolhido: ",sexo
ELSE

13
PRINT*,"Informe apenas com 'F' ou 'M' o sexo"
GOTO 100
ENDIF
END

Questao 5
DO i=1,10
PRINT*,"5*",i,"=",5*i
END DO
END

Questao 6
INTEGER soma
soma=0
DO i=1,100
soma=soma+i
PRINT*,soma
END DO

14
END

Questao 7
INTEGER fibo(30)
fibo(1)=1
fibo(2)=1
DO i=3,30
fibo(i)=fibo(i-1)+fibo(i-2)
END DO
PRINT*,fibo
END

Questao 8
REAL valor
PRINT*,"Digite um valor qualquer positivo"

15
READ*,valor
DO WHILE(valor<0)
PRINT*,"Digite um valor qualquer positivo"
READ*,valor
END WHILE
PRINT*,"A tabuada de",valor,"e:"
DO i=1,10
print*,i*valor
END DO
END

Questao 9
REAL valor
INTEGER m,i,j
PRINT*,"Digite um valor qualquer positivo"
READ*,valor
DO WHILE(valor<0)
PRINT*,"Digite um valor qualquer positivo"
READ*,valor
END WHILE
PRINT*,"Digite o limitante inferior(a) do intervalo"
READ*,i

16
PRINT*,"Digite o limitante superior(b) do intervalo, tal que a<b"
READ*,j
DO WHILE(i>j)
PRINT*,"Digite um limitante superior maior do que o limitante inferior"
PRINT*,"Limitante inferior =",i
READ*,j
END DO
PRINT*,"A tabuada de",valor,"e:"
m=j
DO WHILE(m>i)
DO m=j,i,-1
print*,m*valor
END DO
END WHILE
END

Questao 10,12
CHARACTER*1::Y='y', N='n'
CHARACTER*1 redo
INTEGER fator
redo=Y

17
DO WHILE(redo==Y)
PRINT*,"Digite um numero inteiro positivo"
READ*,i
DO WHILE(i<0)
PRINT*,"Digite novamente um numero inteiro positivo"
READ*,i
END WHILE
IF(i==0)THEN
fator=1
ELSE
fator=i
DO k=1,(i-1)
fator=fator*(i-k)
END DO
END IF
PRINT*,"O fatorial de ",i," e igual a ",fator

PRINT*,"Calcular outro fatorial? <Y/N>"


READ*,redo
DO WHILE(redo/=N)
IF(redo==Y)THEN
EXIT
END IF
PRINT*,"Calcular outro fatorial? <Y/N>"
READ*,redo
END WHILE
ENDWHILE
END

18
Questao 11
REAL soma, porcneg, porcpos
REAL,DIMENSION(:),ALLOCATABLE :: valores
INTEGER dimen
PRINT*,"Digite uma quantidade de numeros menor do que 20"
READ*,dimen
ALLOCATE(valores(dimen))
DO WHILE(dimen>20)
PRINT*,"Digite uma quantidade de numeros menor do que 20"
READ*,dimen
END WHILE
PRINT*,"Digite os valores desses numeros"
soma=0
porcneg=0
porcpos=0
DO i=1,dimen
READ*,valores(i)
soma=soma+valores(i)
IF(valores(i)>0)THEN
porcpos=porcpos+1
ELSE IF((valores(i))<0)THEN
porcneg=porcneg+1
END IF
END DO
r=dimen

19
PRINT*,"O maior valor desses e: ", maxval(valores)
PRINT*,"O menor valor desses e: ",minval(valores)
PRINT*,"A soma desses valores e: ",soma
PRINT*,"A media aritmetica desses valores e: ",soma/r
PRINT*,"A porcentagem de valores que so positivos e:
",porcpos*(100/r),"%"
PRINT*,"A porcentagem de valores negativos e: ",porcneg*(100/r),"%"
DEALLOCATE(valores(dimen))
END

20

Você também pode gostar