You are on page 1of 12

EXERCCIOS RESOLVIDOS SALA LISTA DE ESTRUTURA CONDICIONAL

1) Construa um algoritmo que leia trs notas de um aluno, calcule a mdia obtida por este
aluno e no final escreva o resultado indicando se o mesmo foi aprovado ou reprovado
(considere que aluno aprovado obteve Mdia >= 7,0 e aluno reprovado Mdia < 7,0).

algoritmo "media"

var n1,n2,n3,md:real

inicio
escreval("Informe tres notas:")
leia(n1,n2,n3)
md <- (n1 + n2 + n3)/3
se (md >= 7.0) entao
escreval("Media do aluno = ",md)
escreval("Aluno aprovado")
senao
escreval("Media do aluno = ",md)
escreval("Aluno reprovado")
fimse

fimalgoritmo

2) Construa um algoritmo que dado as trs notas de avaliao de um aluno (AVI, AVII e
AVIII) calcule a mdia deste aluno. De acordo com a mdia obtida escreva o tipo de
Conceito que ele obteve. (Para mdia maior ou igual a 7,0 e menor ou igual a 10, 0
Conceito A; para mdia maior ou igual a 5,0 e menor que 7,0 Conceito B; para mdia
inferior a 5,0 Conceito C).

algoritmo "media_conceito"

var n1,n2,n3,md:real

inicio

escreval("Informe tres notas")
leia(n1,n2,n3)
md <- (n1 + n2 + n3)/3
escreval("Media do aluno = ",md)
se ((md >= 7) e (md <= 10)) entao
escreval("Conceito A")
senao
se ((md >= 5) e (md < 7)) entao
escreval("Conceito B")
senao
se (md < 5) entao
escreval("Conceito C")
senao
escreval("Media invlida")
fimse
fimse
fimse

fimalgoritmo

3) Construa um algoritmo que leia sexo, salrio e idade de um funcionrio de uma certa
empresa. Aplique um aumento de 20% sobre o salrio deste funcionrio, caso o mesmo seja
do sexo feminino e possua um salrio abaixo de R$ 1500,00 reais. No final escreva o
salrio do funcionrio com aumento, caso contrrio informe que o mesmo no teve direito
ao aumento.

algoritmo "aumento salario condio"

var sal:real
sx:caractere
idade:inteiro

inicio

escreval("Informe o sexo, salario e idade de um
funcionrio")
leia(sx,sal,idade)
se ((sx = "f") e (sal < 1500)) entao
sal <- 1.2*sal
escreval("Salrio com aumento de 20 % = ",sal)
senao
escreval("Funcionrio no teve direito a aumento")
fimse

fimalgoritmo

4) Construa um algoritmo que leia nome de um funcionrio, o nmero de horas trabalhadas,
o valor que recebe por horas trabalhadas e o nmero de filhos, com estas informaes,
calcular o salrio deste funcionrio, considerando que o mesmo ter uma gratificao de
3% sobre o salrio bruto por cada filho, caso o mesmo possua acima de trs filhos. Escreva
ao final, o nome do funcionrio, seu respectivo salrio e o acrscimo de salrio, caso ela
tenha tido direito a esta gratificao.

algoritmo "aumento salario"

var sal,grat:real
nome:caractere
numhoras, vlhora, numfilhos:inteiro

inicio

escreval("Informe o nome do funcionario")
leia(nome)
escreval("Informe o numero de horas trabalhadas")
leia(numhoras)
escreval("Informe o valor da hora deste trabalhador")
leia(vlhora)
escreval("Informe nmero de filhos que ele possui")
leia(numfilhos)
sal <- numhoras*vlhora;
escreval("Funcionario ",nome," obteve salario = ",sal)
se (numfilhos > 3) entao
grat <- sal*0.03*numfilhos
escreval("Gratificao = ",grat)
escreval("Salario com gratificacao = ",sal+grat)
senao
escreval("No obteve gratificao")
fimse

fimalgoritmo


5) Escreva um algoritmo que leia um nmero inteiro. Se o nmero lido for positivo,
escreva uma mensagem indicando se ele par ou mpar. Se o nmero for negativo,
escreva a seguinte mensagem "Este nmero no positivo".

algoritmo "nmero positivo"

var num:inteiro

inicio

escreval("Informe um numero")
leia(num)
se (num > 0) entao
se (num % 2 = 0) entao
escreval("O numero informado eh Par")
senao
escreval("O numero informado eh impar")
fimse
senao
escreval("O numero informado nao eh positivo")
fimse

fimalgoritmo


6) Construa um algoritmo que leia um nmero, verifique se o mesmo par e menor que 10
ou maior que 30. No final, escreva informando se o nmero atende estas condies, caso
contrrio indique que o nmero no atende estas condies.

algoritmo "nmero positivo"

var num:inteiro

inicio

escreval("Informe um numero")
leia(num)
se ((num % 2) = 0) entao
se (num < 10) entao
escreval("Numero par menor que 10")
senao
se (num > 30) entao
escreval("Numero par maior que 30")
senao
escreval("Numero par mais nao menor que 10 ou maior que 30")
fimse
fimse
senao
escreval("Numero nao eh par")
fimse

fimalgoritmo


7) Escreva um algoritmo que dado um nmero, realize a diviso deste nmero por 2, se o
mesmo for positivo, par e menor que 20. No final, escreva o nmero informado e o
resultado da diviso, caso o mesmo atenda as condies dadas anteriormente, caso contrrio
informe que o mesmo no atende as condies especificadas.

algoritmo "nmero positivo"

var num:inteiro
resultdiv:real

inicio

escreval("Informe um numero")
leia(num)
se ((num > 0) e ((num % 2)= 0) e (num < 20)) entao
resultdiv <- num/2
escreval("Resultado da divisao do numero ",num," por 2 = ",resultdiv)
senao
escreva("O numero ",num," nao atende as condicoes:")
escreval(" positivo, par e menor que 20")
fimse

fimalgoritmo

8) Construa um algoritmo que leia o PIB de um pas, o nome de uma cidade deste pas, sua
renda per capita, seu nmero de habitantes e o tamanho de seu territrio. Calcule o fundo de
participao de municpios (FPM) que ser destinado a esta cidade, considerando que este
fundo ser 5% do PIB do pas. Este fundo ser destinado a cidade que possua renda per
capita menor que R$2000,00. Alm disso, o fundo s ser destinado a esta cidade se a
populao for menor ou igual a 20000 habitantes ou o territrio do municpio seja menor
que 100000 km
2
. No final escreva o nome do municpio, o valor do FPM calculado
destinado ao municpio, caso contrrio informe que o mesmo no teve direito a este fundo.

algoritmo "Clculo FPM"

var renda,numhab,tamMunic,FPM:real
nome:caractere
PIB:inteiro

inicio

escreval("Informe o nome da cidade:")
leia(nome)
escreval("Informe o PIB do pas:")
leia(PIB)
escreval("Informe a renda per capita da cidade:")
leia(renda)
escreval("Informe o numero de habitantes:")
leia(numhab)
escreval("Informe o tamanho do territorio do municipio")
leia(tamMunic)
se ((renda < 2000) e ((numhab <= 2000) ou (tamMunic < 100000))) entao
FPM <- PIB*0.05
escreval("O municipio ",nome," obteve FPM = ",FPM)
senao
escreva("O municipio ",nome," nao teve direito ao FPM")
escreval(" (Fundo de Participacao dos Municipios)")
fimse

fimalgoritmo


9) A partir da idade informada de uma pessoa, elabore um algoritmo que informe a sua
classe eleitoral, sabendo que menores de 16 no votam (no votante), que o voto
obrigatrio para adultos entre 18 e 65 anos (eleitor obrigatrio) e que o voto opcional para
eleitores entre 16 e 18, ou maiores de 65 anos (eleitor facultativo).

algoritmo "Eleitor"

var idade:inteiro

inicio

escreval("Informe a idade de uma pessoa:")
leia(idade)
se (idade < 16) entao
escreval("Eleitor nao votante")
senao
se ((idade >= 16) e (idade <= 18)) entao
escreval("Eleitor facultativo")
senao
se ((idade >= 18) e (idade <= 65)) entao
escreval("Eleitor obrigatorio")
senao
se (idade > 65) entao
escreval("Eleitor facultativo")
fimse
fimse
fimse
fimse

fimalgoritmo


10) Tendo como dados de entrada a altura (h) e o sexo de uma pessoa, construa um
algoritmo que calcule seu peso ideal, utilizando as seguintes frmulas:
a. Para homens: (72.7h * h) 58
b. Para mulheres: (62.1 * h) 44.7

algoritmo "peso ideal"

var alt,pesoideal:real
sexo:caractere

inicio

escreval("Informe a altura de uma pessoa:")
leia(alt)
escreval("Informe o sexo desta pessoa:")
leia(sexo)
se ((sexo = "m") ou (sexo = "M")) entao
pesoideal <- (72.7*alt*alt) - 58
senao
pesoideal <- (62.1*alt) - 44.7
fimse
escreval("Peso ideal calculado = ",pesoideal)

fimalgoritmo

11) Faa um algoritmo que receba o valor do salrio de uma pessoa e o valor de um
financiamento pretendido. Caso o financiamento seja menor ou igual a 5 vezes o salrio da
pessoa, o algoritmo dever escrever Financiamento concedido, caso contrrio ele dever
escrever Financiamento negado. Independente de conceder ou no o financiamento, o
algoritmo escrever depois a frase Obrigada por nos cunsultar ! .

algoritmo "financiamento"

var sal,financ:real

inicio

escreval("Informe o salario do funcionario:")
leia(sal)
escreval("Informe o financiamento pretendido:")
leia(financ)
se (financ <= 5*sal) entao
escreval("Financiamento permitido")
senao
escreval("Financiamento negado")
fimse
escreval("Obrigado por nos consultar !")

fimalgoritmo


12) Construa um algoritmo que leia trs lados de um tringulo, verifique e escreva que tipo
de tringulo eles formam (considere tringulo eqiltero com trs lados iguais, tringulo
issceles com dois lados iguais e tringulo escaleno com todos os lados diferentes).

algoritmo "financiamento"

var sal,financ:real
a, b, c:inteiro

inicio

escreval("Informe tres lados de um triangulo")
leia(a,b,c)
escreval("Os lados a= ",a," b = ",b," c = ",c)
se ((a = b) e (b = c)) entao
escreval(" formam um triangulo equilatero")
senao
se ((a=b) ou (b = c)) entao
escreval(" formam um triangulo isosceles")
senao
escreval(" formam um triangulo escaleno")
fimse
fimse

fimalgoritmo


13) Construa um algoritmo que seja capaz de dar a pontuao total olmpica para cada um
dos 3 pases informados. Para cada pas deve ser solicitado e informado o nome e a
quantidade de medalhas de ouro, prata e bronze. Considere que cada medalha de ouro tem
peso 3, cada prata tem peso 2 e cada bronze peso 1.

algoritmo "financiamento"

var totpais1, totpais2, totpais3:inteiro
our1, prat1, bronz1, our2, prat2, bronz2, our3, prat3,
bronz3:inteiro
nompais1,nompais2,nompais3:caractere
inicio

escreval("Informe o nome do primeiro pas:")
leia(nompais1)
escreva("Informe a quantidade de medalhas de ouro, prata")
escreval(" e bronze obtida por este pas:")
leia(our1,prat1,bronz1)
escreval("Informe o nome do segundo pas:")
leia(nompais2)
escreva("Informe a quantidade de medalhas de ouro, prata")
escreval(" e bronze obtida por este pas:")
leia(our2,prat2,bronz2)
escreval("Informe o nome do terceiro pas:")
leia(nompais3)
escreva("Informe a quantidade de medalhas de ouro, prata")
escreval(" e bronze obtida por este pas:")
leia(our3,prat3,bronz3)
totpais1 <- 3*our1 + 2*prat1 + 1*bronz1
totpais2 <- 3*our2 + 2*prat2 + 1*bronz2
totpais3 <- 3*our3 + 2*prat3 + 1*bronz3
escreval("======Placar======\")
escreval(nompais1)
escreva("Quantidade de medalhas de Ouro = ",our1," de Prata ",prat1)
escreval(" de Bronze = ",bronz1)
escreval("Total de Medalhas = ",totpais1)
escreval
escreval(nompais2)
escreva("Quantidade de medalhas de Ouro = ",our2," de Prata ",prat2)
escreval(" de Bronze = ",bronz2)
escreval("Total de Medalhas = ",totpais2)
escreval
escreval(nompais3)
escreva("Quantidade de medalhas de Ouro = ",our3," de Prata ",prat3)
escreval(" de Bronze = ",bronz3)
escreval("Total de Medalhas = ",totpais3)
fimalgoritmo



14) Dados trs valores distintos, fazer um programa que, aps a leitura destes dados,
coloque-os em ordem crescente.

algoritmo "ordem crescente"

var n1, n2, n3, troca:inteiro

inicio

escreval("Informe tres valores:")
leia(n1,n2,n3)
se ((n1 > n2) ou (n1 > n3)) entao
se (n2 < n3) entao
troca <- n1
n1 <- n2
n2 <- troca
senao
troca <- n1
n1 <- n3
n3 <- troca
fimse
fimse

se (n2 > n3) entao
troca <- n2
n2 <- n3
n3 <- troca
fimse
escreva("Os tres numeros informados em ordem crescente
sao: ")
escreval(n1," ",n2," ",n3)

fimalgoritmo
15) Construa um algoritmo que leia salrio, idade e sexo de 3 funcionrios de uma empresa.
Determine e escreva:
a) quantos destes que possui o sexo masculino, com idade inferior a 25 anos,
ganham salrio inferior a R$ 1200,00 reais.
b) quantos destes com o sexo feminino, com idade superior a 30 anos, ganham
salrio superior a R$ 5000,00 reais.

algoritmo "levantamento salrio"

var ida1, ida2, ida3, qtdmasc, qtdfem:inteiro
sal1, sal2, sal3:real
sex1, sex2, sex3:caractere

inicio

escreval("Informe o salario, idade e sexo do primeiro funcionario:")
leia(sal1,ida1,sex1)
escreval("Informe o salario, idade e sexo do segundo funcionario:")
leia(sal2,ida2,sex2)
escreval("Informe o salario, idade e sexo do terceiro funcionario:")
leia(sal3,ida3,sex3)
qtdmasc <- 0
qtdfem <- 0
// Letra a)
se (((sex1 = "m") ou (sex1 = "M")) e (ida1 < 25) e (sal1 < 1200)) entao
qtdmasc <- qtdmasc+1
fimse
se (((sex2 = "m") ou (sex2 = "M")) e (ida2 < 25) e (sal2 < 1200)) entao
qtdmasc <- qtdmasc+1
fimse
se (((sex3 = "m") ou (sex3 = "M")) e (ida3 < 25) e (sal3 < 1200)) entao
qtdmasc <- qtdmasc+1
fimse
escreval("Quantidade de funcionarios com sexo masculino, idade inferior")
escreval("a 25 e salario menor que 1200 = ",qtdmasc)
// Letra b)
se (((sex1 = "f") ou (sex1 = "F")) e (ida1 > 30) e (sal1 > 5000)) entao
qtdfem <- qtdfem+1
fimse
se (((sex2 = "f") ou (sex2 = "F")) e (ida2 > 30) e (sal2 > 5000)) entao
qtdfem <- qtdfem+1
fimse
se (((sex3 = "f") ou (sex3 = "F")) e (ida3 > 30) e (sal3 > 5000)) entao
qtdfem <- qtdfem+1
fimse
escreval("Quantidade de funcionarios com sexo feminino, idade superior")
escreval("a 30 e salario maior que 5000 = ",qtdfem)

fimalgoritmo


16) Construa um algoritmo que leia trs nmeros, calcule e escreva quantos destes nmeros so
maiores que 10.

algoritmo "maiores que 10"

var n1, n2, n3, contnum:inteiro

inicio

contnum <- 0
escreval("Informe trs nmeros:")
leia(n1,n2,n3)
se (n1 > 10) entao
contnum <- contnum+1
fimse
se (n2 > 10) entao
contnum <- contnum+1
fimse
se (n3 > 10) entao
contnum <- contnum+1
fimse
escreval("Quantidade de numeros maiores que 10 => ",contnum)

fimalgoritmo


17) Construa um algoritmo que leia dois nmeros, calcule e escreva a diferena do maior pelo
menor.

algoritmo "subtrao"

var A, B:inteiro

inicio

escreval("Informe dois numeros:")
leia(A,B)
se (A > B) entao
escreval("A - B => ",A-B)
senao
escreval("B - A => ",B-A)
fimse

fimalgoritmo


18) Construa um algoritmo que leia trs nmeros, verifique e escreva qual o maior entre eles.

algoritmo "maior"

var n1, n2, n3:inteiro

inicio

escreval("Informe tres numeros:")
leia(n1,n2,n3)
se (n1 > n2) entao
se (n1 > n3) entao
escreval("N = ",n1," eh o maior")
senao
escreval("N = ",n3," eh o maior")
fimse
senao
se (n2 > n3) entao
escreval("N = ",n2," eh o maior")
senao
escreval("N = ",n3," eh o maior")
fimse
fimse

fimalgoritmo