Lista Exerc Estr Condicional Portugol

Você também pode gostar

Você está na página 1de 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 km2. 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,
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,
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,
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,"
escreval(" de Bronze = ",bronz1)
escreval("Total de Medalhas = ",totpais1)
escreval
escreval(nompais2)
escreva("Quantidade de medalhas de Ouro = ",our2,"
escreval(" de Bronze = ",bronz2)
escreval("Total de Medalhas = ",totpais2)
escreval
escreval(nompais3)
escreva("Quantidade de medalhas de Ouro = ",our3,"
escreval(" de Bronze = ",bronz3)
escreval("Total de Medalhas = ",totpais3)
fimalgoritmo

prata")

prata")

prata")

de Prata ",prat1)

de Prata ",prat2)

de Prata ",prat3)

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

Você também pode gostar