Escolar Documentos
Profissional Documentos
Cultura Documentos
1) (Estrutura sequencial) Elabore um algoritmo para calcular e exibir o perímetro de um triângulo a partir das coordenadas
dos vértices.
2 2
OBS: Para dois pontos de coordenadas P(x1,y1) e Q(x2,y2), a distância entre eles é: dPQ = ( x2 − x1) + ( y2 − y1)
2) (Estrutura sequencial) Elabore um algoritmo que calcula a área de um triângulo por meio da expressão:
x1 y1 1
1
A= x2 y2 1
2
x3 y3 1
! ! ! !
3) (Estrutura sequencial) Um vetor unitário na direção de v = vx i + vy j + vz k pode ser calculado como
! v! v ! vy ! v ! !
λv = ! = !x i + ! j + !z k , ou seja, dividindo o vetor v pelo seu módulo. O módulo de um vetor é calculado por
v v v v
! ! !
v = vx + vy + vz . Elabore um algoritmo que lê as três componentes de um vetor v , calcula e exibe o vetor unitário λv
2 2 2
na sua direção.
! ! ! ! ! ! ! !
4) (Estrutura sequencial) Dados dois vetores: m = mx i + my j + mz k (no R 3 ) e n = nx i + ny j + nz k (no R 3 ), o produto escalar
! !
entre eles é: m • n = mx .nx + my .ny + mz .nz .
3
Elabore um algoritmo para calcular o produto escalar entre dois vetores no R .
! ! ! !
5) (Estrutura de decisão) O cosseno do ângulo θ medido entre um vetor m = m x i + m y j + mz k e outro vetor
! ! ! ! !
! m•n
n = nx i + ny j + nz k é dado pela expressão: cos(θ ) = ! ! .
m n
Elabore um algoritmo que lê dois vetores (suas componentes) e verifica se eles são perpendiculares ou não.
6) (Estrutura de decisão) Elabore um algoritmo que exibe o inteiro mais próximo da raiz de um número (arredondamento).
2
7) (Estrutura de decisão) Uma precipitação (chuva) diária de h mm sobre uma área retangular de A x B km resultará em
um volume de água dado pelo paralelepípedo da figura abaixo (considerando que não há perdas por infiltração nem por
evaporação:
1km =1.000m
1m = 1.000mm
3
1.000 litros = 1m
Elabore um algoritmo que calcula a quantidade de água (em litros) para 1 dia de chuva em uma região retangular e
comenta: - chuva fraca ou sem chuva (h ≤5mm)
- chuva regular (5mm < h ≤ 15mm)
- chuva intensa (h >15mm)
8) (Estrutura de repetição) Elabore um algoritmo para escrever os quadrados de todos os números pares entre 1 e 20
(inclusive).
9) (Estrutura de repetição) Elabore um algoritmo que calcula e exibe uma tabela de conversão de temperaturas de ºC para
ºF. O usuário deve informar a temperatura inicial em ºC, a quantidade de temperaturas a serem exibidas e o incremento
de temperatura.
º F − 32
OBS: º C =
1,8
10) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê dois números: base e expoente (a base é real e o
expoente é inteiro) e calcula (e exibe) a potência base elevada a expoente. Não utilize o operador matemático de
potência.
11) (Estrutura de repetição e acumuladores) Elabore um algoritmo para calcular (e exibir) o valor de H.
12) (Estrutura de repetição e acumuladores) Elabore um algoritmo para calcular (e exibir) o valor de S.
13) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê n notas informadas pelo usuário e exibe a
quantidade de notas acima da média.
14) (Estrutura de repetição e acumuladores) Elabore um algoritmo que lê n temperaturas e exibe quantas excedem a
temperatura crítica. (a temperatura crítica é informada pelo usuário).
16) (Estrutura de repetição encadeada) Elabore um algoritmo que exibe todos os números primos entre n1 e n2 (n1 e n2
são inteiros informados pelo usuário).
17) (Estrutura de repetição encadeada) Elabore um algoritmo que exibe todas as combinações possíveis onde a soma dos
números de dois dados vale 7. (ex: 1 e 6, 2 e 5, etc.).
18) (Estrutura de repetição) Descreva as estruturas de repetição "Faça ... variar" e "enquanto...repita". Dê exemplos e
caracterize qual a diferença entre as duas estruturas ? Para que situação uma estrutura é mais indicada do que a outra?
19) (Estrutura de repetição e acumuladores) Uma fábrica produz rodas de aço e de liga leve. O estoque de rodas de aço é
de 5.000 jogos (4 rodas) e o de rodas de liga leve é de 18.000 jogos. A fábrica produz 200 rodas de aço por dia e 150
rodas de liga leve por dia. Elabore um algoritmo que determina em quantos dias o estoque de rodas de aço será maior
do que o de rodas de liga leve.
20) (Estrutura de repetição e acumuladores) Elabore um algoritmo que calcule o faturamento de um cinema a cada sessão.
Devemos considerar que os menores de 18 anos pagam meia, devido à carteira de estudante e que os maiores de 65
anos também pagam meia, devido à carteira de aposentado. O preço normal do ingresso irá variar conforme o dia da
semana (dado de entrada – preço normal do ingresso). A quantidade de pessoas no cinema irá variar a cada sessão,
portanto deve haver está informação também. Além disto, o algoritmo pode ser executado mais de uma vez, ou seja,
deve-se verificar ao final do calculo de uma sessão se o usuário deseja verificar o faturamento de outra sessão.
Gabarito
1) Elabore um algoritmo para calcular e exibir o perímetro de um triângulo a partir das coordenadas dos
vértices.
OBS: Para dois pontos de coordenadas P(x1,y1) e Q(x2,y2), a distância entre eles é:
2 2
dPQ = ( x2 − x1) + ( y2 − y1)
Início
Fim
2) Elabore um algoritmo que calcula a área de um triângulo por meio da expressão:
x1 y1 1
1
A= x2 y2 1
2
x3 y3 1
Início
Fim
! ! ! ! ! v! v ! v ! v !
3) Um vetor unitário na direção de v = vx i + vy j + vz k pode ser calculado como λv = ! = !x i + !y j + !z k , ou
v v v v
! !
seja, dividindo o vetor v pelo seu módulo. O módulo de um vetor é calculado por v = vx + vy2 + vz2 . 2
! !
Elabore um algoritmo que lê as três componentes de um vetor v , calcula e exibe o vetor unitário λv na
sua direção.
Início
Início
! ! ! !
5) (Estrutura de decisão) O cosseno do ângulo θ medido entre um vetor m = mx i + my j + mz k e outro vetor
! ! ! ! !
! m•n
n = nx i + ny j + nz k é dado pela expressão: cos(θ ) = ! ! .
mn
Elabore um algoritmo que lê dois vetores (suas componentes) e verifica se eles são perpendiculares ou não.
Início
Fim
6) Elabore um algoritmo que exibe o inteiro mais próximo da raiz de um número.
Início
OBS:
Declaracao
de
variaveis
Inteiro
i
Real
num
OBS:
Entrada
de
dados
Escreva
"Informe
um
numero
"
Leia
num
OBS:
Processamento
e
saida
de
dados
i
←
rad(num)
se
rad(num)-‐i
<
i+1-‐rad(num)
então
Escreva
"O
inteiro
mais
próximo
de",
rad(num),
"
vale
",
i
senão
Escreva
"O
inteiro
mais
próximo
de",
rad(num),
"
vale
",
i+1
Fim
do
se
Fim
7) Uma precipitação (chuva) diária de h mm sobre uma área retangular de A x B km2 resultará em um
volume de água dado pelo paralelepípedo da figura abaixo (considerando que não há perdas por
infiltração nem por evaporação:
1km =1.000m
1m = 1.000mm
1.000 litros = 1m3
Elabore um algoritmo que calcula a quantidade de água (em litros) para 1 dia de chuva em uma região
retangular e comenta: - chuva fraca ou sem chuva (h ≤5mm)
- chuva regular (5mm < h ≤ 15mm)
- chuva intensa (h >15mm)
Início
OBS:
Declaração
de
variáveis
REAL
A,
B,
h,
volume
OBS:
Entrada
de
dados
ESCREVA
“Informe
as
medidas
A(Km),
B(km)
e
precipitação
(mm)”
LEIA
A,
B,
h
OBS:
Processamento
de
dados
volume
=
A*1000
*
B*1000
*
h/1000
(OBS:
conversões
para
metros
cúbicos)
volume
=
volume
*
1000
(OBS:
conversão
para
litros)
OBS:
Saída
de
dados
ESCREVA
“Volume
precipitado
=”,
volume,
“litros”
SE
h<=5
ENTÃO
ESCREVA
“Chuva
fraca
ou
sem
chuva”
SENÃO
SE
h<=15
ENTÃO
ESCREVA
“Chuva
regular”
SENÃO
ESCREVA
“Chuva
intensa”
FIM
DO
SE
FIM
DO
SE
Fim
8) Elabore um algoritmo para escrever os quadrados de todos os números pares entre 1 e 20 (inclusive).
Início
OBS:
Declaração
de
variáveis
Inteiro
i
OBS:
Saída
de
dados
Escreva
"Quadrados
dos
numeros
pares
entre
1
e
20"
Faça
i
variar
de
2
até
20
passo
2
Escreva
i*i
Próximo
i
Início
9) Elabore um algoritmo que calcula e exibe uma tabela de conversão de temperaturas de ºC para ºF. O
usuário deve informar a temperatura inicial em ºC, a quantidade de temperaturas a serem exibidas e o
incremento de temperatura.
º F − 32
OBS: º C =
1,8
Início
Fim
10) Elabore um algoritmo que lê dois números: base e expoente (a base é real e o expoente é inteiro) e
calcula (e exibe) a potência base elevada a expoente. Não utilize o operador matemático de potência.
Início
OBS:
Declaração
de
variáveis
Real
base,
resultado
Inteiro
expoente,
i
OBS:
Entrada
de
dados
Escreva
"Informe
a
base
(real)
"
Leia
base
Escreva
"Informe
o
expoente
(inteiro
positivo)
"
Leia
expoente
OBS:
Processamento
de
dados
resultado
←
1
Faça
i
variar
de
1
até
expoente
resultado
←
resultado
*
base
Próximo
i
OBS:
Saída
de
dados
Escreva
base,"
elevado
a
",
expoente
,"
=
",
resultado
Fim
Início
OBS:
Declaracao
de
variaveis
Real
H
Inteiro
i
OBS:
Atribuir
o
valor
inicial
de
H
H
←
0
OBS:
Laço
para
acumular
as
parcelas
em
H
Faça
i
variar
de
1
até
50
H
←
H
+
(2*i-‐1)/i
Próximo
i
12) Elabore um algoritmo para calcular (e exibir) o valor de S.
Início
OBS:
Declaracao
de
variaveis
Real
S
Inteiro
i
OBS:
Atribuir
o
valor
inicial
de
S
S
←
0
OBS:
Laço
para
acumular
as
parcelas
em
S
Faça
i
variar
de
1
até
10
S
←
S
+
1/i
*
pot(-‐1,i+1)
Próximo
i
13) Elabore um algoritmo que lê n notas informadas pelo usuário e exibe a quantidade de notas acima
da média.
Início
OBS:
Declaração
de
variáveis
Inteiro
qacima,
n,
i
Real
nota
OBS:
Entrada
de
dados
Escreva
"Informe
a
quantidade
de
alunos
"
Leia
n
OBS:
Laço
para
acumular
as
notas
na
média
qacima
←
0
Faça
i
variar
de
1
até
n
Escreva
"Informe
uma
nota
"
Leia
nota
Se
nota>=7
então
qacima
←
qacima+1
Fim
do
se
Próximo
i
OBS:
Saída
de
dados
Escreva
"Quantidade
acima
da
media
=
",
qacima
Fim
14) Elabore um algoritmo que lê n temperaturas e exibe quantas excedem a temperatura crítica. (a
temperatura crítica é informada pelo usuário).
Início
OBS:
Declaração
de
variáveis
Inteiro
qacima,
n,
i
Real
temp,
tempcritica
OBS:
Entrada
de
dados
Escreva
"Informe
a
quantidade
de
temperaturas
"
Leia
n
Escreva
"Informe
a
temperatura
critica
"
Leia
tempcritica
OBS:
Laço
para
comparar
cada
temperatura
com
a
crítica
qacima
←
0
Faça
i
variar
de
1
até
n
Escreva
"Informe
uma
temperatura
"
Leia
temp
Se
temp
>=
tempcritica
então
qacima
←
qacima+1
Fim
do
se
Próximo
i
OBS:
Saída
de
dados
Escreva
"Quantidade
acima
da
temperatura
critica
=
",
qacima
Fim
15) Elabore um algoritmo que verifica se um número é primo.
Início
OBS:
Declaracao
de
variaveis
Inteiro
numero,
i;
OBS:
Entrada
de
dados
Escreva
"Informe
o
numero
para
verificar
se
eh
primo
(maior
do
que
1)
"
Leia
numero
OBS:
Laço
para
dividir
o
número
por
"todos"
os
anteriores
i
←
2
Enquanto
numero
MOD
i
<>
0
repita
i←i+1
Fim
do
enquanto
OBS:
Saída
de
dados
Se
i
=
numero
Então
Escreva
numero
,"
é
primo"
senão
Escreva
numero
,"
não
é
primo"
Fim
do
Se
Fim
16) Elabore um algoritmo que exibe todos os números primos entre n1 e n2 (n1 e n2 são inteiros
informados pelo usuário).
Início
OBS:
Declaracao
de
variaveis
Inteiro
n1,
n2,
numero,
i
OBS:
Entrada
de
dados
Escreva
"Informe
o
intervalo
[n1
e
n2]
para
verificar
os
primos"
Leia
n1,
n2
OBS:
Laço
para
variar
número
de
n1
até
n2
Faça
numero
variar
de
n1
até
n2
OBS:
Laço
para
dividir
o
número
por
"todos"
os
anteriores
i
←
2
Enquanto
numero
MOD
i
<>
0
repita
i
←
i+1
Fim
do
enquanto
OBS:
Saída
de
dados
Se
i
=
numero
Então
Escreva
numero
,"
é
primo"
Fim
do
Se
Próximo
numero
Fim
17) Elabore um algoritmo que exibe todas as combinações possíveis onde a soma dos números de dois
dados vale 7. (ex: 1 e 6, 2 e 5, etc.).
Início
OBS:
Declaracao
de
variaveis
Inteiro
dado1,
dado2
OBS:
Saída
de
dados
Escreva
"Combinações
de
dados
com
soma
=
7"
OBS:
Laço
para
variar
os
valores
dos
dados
Faça
dado1
variar
de
1
até
6
Faça
dado2
variar
de
1
até
6
Se
dado1+dado2=7
então
Escreva
"Dado1
=
",
dado1,
"
e
dado2
=
",
dado2
Fim
do
se
Próximo
dado2
Próximo
dado1
Fim
18) Descreva as estruturas de repetição "Faça ... variar" e "enquanto...repita". Dê exemplos e
caracterize qual a diferença entre as duas estruturas ? Para que situação uma estrutura é mais
indicada do que a outra ?
Início
OBS:
Declaração
de
variáveis
Inteiro
dia
Inteiro
quant_aco,
quant_liga
OBS:
Processamento
de
dados
-‐
Valores
iniciais
do
estoque
quant_aco
←
5000
*4
quant_liga
←
18000
*4
OBS:
Laço
para
variar
os
dias
dia
←
0
Enquanto
quant_liga
>=
quant_aco
repita
quant_aco
←
quant_aco
+
200
quant_liga
←
quant_liga
+
150
dia
←
dia
+1
Fim
do
enquanto
OBS:
Saída
de
dados
Escreva
"O
estoque
de
rodas
de
aço
será
maior
do
que
os
de
liga
em”,
dia,
“dias”
Fim
Resposta:
Em
1.041
dias.
20) Elabore um algoritmo que calcule o faturamento de um cinema a cada sessão. Devemos considerar
que os menores de 18 anos pagam meia, devido à carteira de estudante e que os maiores de 65
anos também pagam meia, devido à carteira de aposentado. O preço normal do ingresso irá variar
conforme o dia da semana (dado de entrada – preço normal do ingresso). A quantidade de pessoas
no cinema irá variar a cada sessão, portanto deve haver está informação também. Além disto, o
algoritmo pode ser executado mais de uma vez, ou seja, deve-se verificar ao final do calculo de uma
sessão se o usuário deseja verificar o faturamento de outra sessão.
Início
OBS:
Declaração
de
variáveis
Real
faturamento,
preco
Inteiro
quant_cheias,
quant_estudantes,
quant_idosos
Inteiro
opcao
OBS:
O
programa
vai
repetir
enquanto
opcao=1
opcao
←
1
Enquanto
opcao=1
repita
OBS:
Entrada
de
dados
Escreva
"Sessao
de
cinema
-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐"
Escreva
"Informe
o
preco
da
entrada
no
dia
"
Leia
preco
Escreva
Informe
a
quantidade
de
pessoas
que
pagaram
inteira
"
Leia
quant_cheias
Escreva
"Informe
a
quantidade
de
estudantes
(pagaram
meia)
"
Leia
quant_estudantes
Escreva
"Informe
a
quantidade
de
idosos
(pagaram
meia)
"
Leia
quant_idosos
OBS:
Processamento
de
dados
faturamento
←
preco
*
quant_cheias
+
preco/2
*
(quant_estudantes
+
quant_idosos)
OBS:
Saída
de
dados
Escreva
"Faturamento
=
",
faturamento
Escreva
"Deseja
executar
outra
vez?
Digite
1
para
sim
ou
2
para
nao
"
Leia
opcao
Fim
do
enquanto
Fim