Escolar Documentos
Profissional Documentos
Cultura Documentos
ATENO- Para cada um dos exerccios abaixo, antes de escrever o algoritmo, identifique
ENTRADA, PROCESSAMENTO e SADA, utilizando a seguinte tcnica de interpretao de
enunciado:
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAO DE VARIVEIS
inteiro z, ant, suc
// ENTRADA
escreva ("Digite um nmero inteiro:\n")
leia (z)
// PROCESSAMENTO
ant = z - 1
suc = z + 1
// SADA
escreva ("\nAntecessor: " + ant)
escreva ("\nSucessor: " + suc)
}
}
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAO DE VARIVEIS
inteiro n1, n2, divid, divis, quoc, resto
// ENTRADA
escreva ("Digite o primeiro nmero inteiro:\n")
leia (n1)
escreva ("Digite o segundo nmero inteiro:\n")
leia (n2)
// PROCESSAMENTO
divid = n1
divis = n2
quoc = n1 / n2
resto = n1 % n2
// SADA
escreva ("\nDividendo: " + divid + "\nDivisor: " + divis + "\nQuociente: " + quoc + "\nResto: " +
resto)
}
}
3. Calcule a dvida do cheque especial ao ser quitada 6 meses depois a uma taxa de 5% de juros. O valor
do emprstimo deve ser informado.
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAO DE VARIVEIS
real N, D
// ENTRADA
escreva ("Digite o valor do emprstimo:\n")
leia (N)
// SADA
escreva ("\nValor da dvida: " + D)
}
}
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica -> mat
funcao inicio()
{
//DECLARAO DE VARIVEIS
real base, alt, per, area, diag
// ENTRADA
escreva ("Informe o valor da base do retngulo:\n")
leia (base)
escreva ("Informe o valor da altura do retngulo:\n")
leia (alt)
// PROCESSAMENTO
per = (2*alt) + (2*base)
area = alt*base
diag = mat.raiz((base*base) + (alt*alt),2.0)
// SADA
escreva ("\nO permetro do retngulo : " + per)
escreva ("\nA rea do retngulo : " + area)
escreva ("\nA diagonal do retngulo : " + diag)
}
}
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAO DE VARIVEIS
real L, P, A, D
// ENTRADA
escreva ("Informe o valor do lado do quadrado:\n")
leia (L)
// PROCESSAMENTO
P=L*4
A=L*L
D=L*(mat.raiz(2.0,2.0))
// SADA
escreva ("\nO permetro do quadrado : " + P)
escreva ("\nA rea do quadrado : " + A)
escreva ("\nA diagonal do quadrado : " + D)
}
}
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAO DE VARIVEIS
real R, area, per, pi
// ENTRADA
escreva ("Informe o valor do raio do crculo:\n")
leia (R)
// PROCESSAMENTO
pi = 3.1416
per = 2*pi*R
area = pi*(R*R)
// SADA
escreva ("\nO permetro do crculo : " + per)
escreva ("\nA rea do crculo : " + area)
}
}
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAO DE VARIVEIS
real ladoA, ladoB, ladoC, perimetro, area, volume, diagonal
// ENTRADA
escreva("Informe o valor do primeiro lado do paraleleppedo:\n")
leia(ladoA)
escreva("Informe o valor do segundo lado do paraleleppedo:\n")
leia(ladoB)
escreva("Informe o valor do terceiro lado do paraleleppedo:\n")
leia(ladoC)
// PROCESSAMENTO
perimetro = 4*(ladoA + ladoB + ladoC)
area = 2*(ladoA*ladoB + ladoB*ladoC + ladoC*ladoA)
volume = ladoA * ladoB * ladoC
diagonal = mat.raiz (ladoA*ladoA + ladoB*ladoB + ladoC*ladoC, 2.0)
// SADA
escreva("\nPermetro: ",perimetro,"\nrea: ",area,"\nVolume: ",volume,"\nDiagonal: ",diagonal)
}
}
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAO DE VARIVEIS
real cat1, cat2, hip
// ENTRADA
escreva("Informe o valor de um cateto do tringulo retngulo:\n")
leia(cat1)
escreva("Informe o valor do outro cateto do tringulo retngulo:\n")
leia(cat2)
// PROCESSAMENTO
hip = mat.raiz((cat1*cat1) + (cat2*cat2),2.0)
// SADA
escreva("\nA hipotenusa do tringulo retngulo : " + hip)
}
}
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAO DE VARIVEIS
real termo20, razao, termo1
// ENTRADA
escreva("Informe o valor do primeiro termo da PA:\n")
leia(termo1)
escreva("Informe o valor da razo da PA:\n")
leia(razao)
// PROCESSAMENTO
termo20 = termo1 + (20-1)*razao
// SADA
escreva("\nO 20 termo desta PA : " + termo20)
}
}
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
// DECLARAO DE VARIVEIS
real A1, q, An
// ENTRADA
escreva("Informe o valor do primeiro termo da PG:\n")
leia(A1)
escreva("Informe o valor da razo da PG:\n")
leia(q)
// PROCESSAMENTO
An = A1 * mat.potencia(q,19.0)
// SADA
escreva("\nO 20 termo desta PG : " + An)
}
}
11. Dado um horrio, calcule quantos minutos e segundos transcorreram desde o incio do dia.
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAO DE VARIVEIS
inteiro horas, minutos, segundos
real MIN, SEG
// ENTRADA
escreva("Informe o horrio:\n")
escreva("Horas: ")
leia(horas)
escreva("Minutos: ")
leia(minutos)
escreva("Segundos: ")
leia(segundos)
// PROCESSAMENTO
SEG = (3600.0*horas) + (60.0*minutos) + segundos
MIN = SEG/60.0
// SADA
escreva("\nPassaram-se ",MIN," minutos e ",SEG," segundos.")
}
}
12. Dado o valor do salrio-mnimo e um determinado salrio, calcule quantos salrios-mnimos esto
contidos nele.
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
// DECLARAO DE VARIVEIS
real salariomin, salario, quant
// ENTRADA
escreva("Informe o valor do salrio mnimo:\n")
leia(salariomin)
escreva("Informe o valor de um salrio:\n")
leia(salario)
// PROCESSAMENTO
quant = salario/salariomin
// SADA
escreva("\nEsto contidos ", quant, " salrios mnimos dentro do salrio informado.")
}
}
13. Escreva um algoritmo para mostrar a mdia final de um aluno a partir de 4 notas. Para o calculo da
media final, deve-se utilizar mdia ponderada, aplicando-se a seguinte frmula:
M = ( ( p1 x 30) + (p2 x 40) + (t1 x 10) + (t2 x 20) ) / 100
Legenda: p1: primeira prova (peso de 30%) / p2: segunda prova (peso de 40%)
t1: primeiro trabalho (peso de 10%) / t2: segundo trabalho (peso de 20%)
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
// DECLARAO DE VARIVEIS
real M, P1, P2, T1, T2
// ENTRADA
escreva("Informe o valor da nota da P1: ")
leia(P1)
escreva("Informe o valor da nota da P2: ")
leia(P2)
escreva("Informe o valor da nota do T1: ")
leia(T1)
escreva("Informe o valor da nota do T2: ")
leia(T2)
// PROCESSAMENTO
M = ((P1*30.0) + (P2*40.0) + (T1*10.0) + (T2*20.0))/100.0
// SADA
escreva(\nA mdia : + M)
}
}
14. Escreva um algoritmo para calcular a quantidade de latas de tintas necessrias para pintar o piso de um
quintal que possui uma rea retangular. Deve-se calcular tambm o custo total para comprar as latas de
tintas necessrias.
Sabe-se que:
Cada lata de tinta contm 5 litros
Cada litro de tinta pinta 3 metros quadrados
A rea de um retngulo dada por: base X altura
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
// DECLARAO DE VARIVEIS
real base, alt, qtd, precounit, custototal
// ENTRADA
escreva("Informe o valor da base da rea retangular: ")
leia(base)
escreva("Informe o valor da altura da rea retangular: ")
leia(alt)
escreva("Informe o valor do preo de uma lata de tinta em reais: ")
leia(precounit)
// PROCESSAMENTO
qtd = (base*alt)/(15.0)
custototal = qtd*precounit
// SADA
escreva("\nSo necessrias ", qtd, " latas custando ao todo R$ ", custototal)
}
}
Observao: Na sada de dados deveria se arredondar para cima o nmero de latas, portanto um valor
inteiro de latas, porm tal fato utilizaria uma funo criada com desvios condicionais o que ainda no foi
trabalhado nesse ponto do curso.
15. Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer do plano, P(x 1,y1) e
Q(x2,y2), imprima a distncia entre eles. A frmula que efetua tal clculo
d ( x2 x1 ) 2 ( y 2 y1 ) 2 .
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
// DECLARAO DE VARIVEIS
real d, X1, Y1, X2, Y2
// ENTRADA
escreva("Ponto P(X1,Y1):\n")
escreva("X1: ")
leia(X1)
escreva("Y1: ")
leia(Y1)
escreva("Ponto Q(X2,Y2):\n")
escreva("X2: ")
leia(X2)
escreva("Y2: ")
leia(Y2)
// PROCESSAMENTO
d = mat.raiz((X2 - X1)*(X2 - X1) + (Y2 - Y1)*(Y2 - Y1) , 2.0)
// SADA
escreva("\nDistncia: ",d)
}
}
16. Um motorista anota a marcao do odmetro do seu veculo antes e aps uma viagem, bem como o
nmero de litros de combustvel gastos. Escreva um algoritmo para ler os trs dados acima, o preo do
litro do combustvel e imprima:
o A quilometragem rodada
o Quantos quilmetros, por litro, faz o veculo
o O custo da viagem
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
// DECLARAO DE VARIVEIS
real iniciood, fimod, litrogasto, precolitro, kmrodado, kmporlitro, custoviagem
// ENTRADA
escreva("Informe a marcao do odmetro antes da viagem: ")
leia(iniciood)
escreva("Informe a marcao do odmetro aps a viagem: ")
leia(fimod)
escreva("Informe a quantidade de litros de combustvel gastos na viagem: ")
leia(litrogasto)
escreva("Informe o preo do litro de combustvel: ")
leia(precolitro)
// PROCESSAMENTO
kmrodado = fimod - iniciood
kmporlitro = kmrodado/litrogasto
custoviagem = precolitro * litrogasto
// SADA
escreva("\nA quilometragem rodada foi de ", kmrodado)
escreva("\nSendo feito ", kmporlitro, " km/litro")
escreva("\nPor fim, a viagem custou R$", custoviagem)
}
}
17. O custo ao consumidor de um carro novo a soma do custo de fbrica, acrescido da porcentagem do
distribuidor, mais os impostos (aplicados ao custo de fbrica). Supondo que a percentagem do
distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fbrica de um
carro e escreva o custo do consumidor.
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
// DECLARAO DE VARIVEIS
real custo_con, custo_fab
// ENTRADA
escreva("Custo de fbrica de um carro novo: ")
leia(custo_fab)
// PROCESSAMENTO
custo_con = custo_fab + (custo_fab*0.28) + (custo_fab*0.45)
// SADA
escreva("\nCusto do consumidor: ",custo_con)
}
}
18. Uma revendedora de carros usados paga seus funcionrios vendedores um salrio fixo por ms, mais
uma comisso, tambm fixa, por cada carro vendido, e mais 5% do valor das vendas por ele efetuadas.
Escrever um algoritmo e um fluxograma para ler o nmero do vendedor, o nmero de carros por ele
vendido, o valor total de suas vendas, o salrio fixo e o valor que recebe por carro vendido. Ao final, o
algoritmo deve calcular o salrio mensal do vendedor, escrevendo-o juntamente com o seu nmero de
identificao.
// ENTRADA
escreva("Informe o nmero de identificao do vendedor: ")
leia(id)
escreva("Informe o salrio fixo por ms: ")
leia(salariofixo)
escreva("Informe o nmero de carros vendidos pelo vendedor no ms: ")
leia(carrosvendidos)
escreva("Informe o valor que ele recebe por cada carro vendido: ")
leia(valorporcarro)
escreva("Informe o valor total de vendas do vendedor no ms: ")
leia(valorvendas)
// PROCESSAMENTO
salariofinal = salariofixo + (valorporcarro*carrosvendidos) + (0.05*valorvendas)
// SADA
escreva("\nO vendedor com registro ", id)
escreva("\nTer o salrio mensal de R$", salariofinal)
}
}