Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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