Escolar Documentos
Profissional Documentos
Cultura Documentos
a) Tendo como dados de entrada a distância total (em km) percorrida por um
automóvel e a quantidade de combustível (em litros) consumida para percorrê-la,
calcule e imprima o consumo médio de combustível.
Programa distancia
real d,l,cmc
ler d,l
cmc = d/l
escreva cmc
fim
b) Leia dois valores inteiros e apresente a diferença do maior pelo menor.
Programa diferença
Inteiro v1,v2,dif
Ler v1,v2
se (v1 > v2) então
dif = v1 – v2
se não
dif = v2 – v
escreva dif
fim
Nota Conceito
>= 9.0 A
>= 7.5 e < 9.0 B
>= 6.0 e < 7.5 C
>= 4.0 e < 6.0 D
< 4.0 E
Programa notas
Real N1,N2,N3,media
Lê N1, N2, N3
media = (N1 + N2 + N3)/3.0
se (media < 4) então
Escreve 'E'
senão
se (media < 6) então
Escreve 'D'
senão
se (media < 7.5) então
Escreve 'C'
senão
se (media < 9) então
Escreve 'B'
senão
Escreve 'A'
fim
Programa pares
Inteiro i
para i de 2 a 100, c\ passo 2 faça
escreve i
fim do para
fim
3) Analise o programa abaixo e, para cada uma das saídas (comandos print),
detalhe passo a passo como o Fortran resolveria as equações e o resultado final
obtido.
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
program prova
implicit none
integer x, y
real z
x = 2
y = 3
z = 0.5
print *, x + x * x ** (y * x) / z
2 + 2 * 2 ** (3 * 2) / 0.5 → 2 + 2 * 2 ** 6 / 0.5 → 2 + 2 * 64 / 0.5 →
2 + 128 / 0.5 → 2 + 256.0 → 258.0
print *, .not. x + z .lt. y .or. x + x * z .ge. y .and. .true.
.not. 2 + 0.5 .lt. 3 .or. 2 + 2 * 0.5 .ge. 3 .and. .true. → .not. 2 + 0.5 .lt. 3 .or.
2 + 1.0 .ge. 3 .and. .true. → .not. 2.5 .lt. 3 .or. 2 + 1.0 .ge. 3 .and. .true. →
.not. 2.5 .lt. 3 .or. 3.0 .ge. 3 .and. .true. → .not. .true. .or. 3.0 .ge. 3 .and.
.true. → .not. .true. .or. .true. .and. .true. → .false. .or. .true. .and. .true. →
.false. .or. .true. → .true.
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
program cubo
c calcula a area do cubo
integer L, area
c Le largura do cubo
print *, 'Entre c/ o lado do cubo'
read *, L
c calcula a area do quadrado e depois a do cubo
area = L**2
area = 6*area
print *, 'Area do cubo é ', area
end
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
program ex6b
c calcula média, a soma, o produto, o menor valor e o maior valor
integer v1, v2, v3, max, min
c Le os 3 valores
print *, 'Entre c/ os 3 valores'
read *, v1, v2, v3
c calcula e escreve na tela cada um dos calculos
print *, 'media: ', (v1 + v2 + v3)/3.0
print *, 'soma: ', (v1 + v2 + v3)
print *, 'produto: ', (v1 * v2 * v3)
if (v1 .ge. v2) then
if(v1 .ge. v3) then
max = v1
if( v2 .lt. V3) then
min = v2
else
min = v3
end if
else
max = v3
min = v2
end if
else
if (v2 .ge. v3) then
max = v2
if ( v1 .lt. V3) then
min = v1
else
min = v3
end if
else
max = v3
min = v1
end if
end if
print *, 'menor: ', min
print *, 'maior: ', max
end
c) Em uma loja de CD´s existem apenas quatro tipos de preços que estão asso-
ciados a cores. Assim os CD´s que ficam na loja não são marcados por pre-
ços e sim por cores. Desenvolva o algoritmo que a partir a entrada da cor o
software mostre o preço. A loja está atualmente com a seguinte tabela de
preços.
Cor Preço
Verde R$ 10,00
Azul R$ 20,00
Amarelo R$ 30,00
Vermelho R$ 40,00
1 6 11 16 21 26 31 36 41 46 51 56 61
|----|----|----|----|----|----|----|----|----|----|----|----|
c Entra c/ a cor e imprime o valor
program lojacd
real v
character*20 cor
c Le a cor
print *, 'Entre c/ a cor do produto'
read *, cor
c verifica se a cor é valida
if (cor .eq. 'Verde') then
v = 10
else
if (cor .eq. 'Azul') then
v = 20
else
if (cor .eq. 'Amarelo') then
v = 30
else
if (cor .eq. 'Vermelho') then
v = 40
else
print *, 'Cor inexistente'
endif
endif
end if
endif
print *, 'Preço :',v
end