Você está na página 1de 13

Departamento de Informática

Curso: Sistemas de Informação – Informática


Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves

Estruturas de Decisão
– Soluções –
I – Fáceis

1. Resolva as expressões lógicas abaixo:

a. 5<3  Falso
b. 4+3=7  Verdadeiro
c. ‘A’ < ‘B’  Verdadeiro
d. ‘A’ = ‘a’  Verdadeiro, porém em algumas linguagens de programação (C,
Java, PHP) é falso
e. ‘Zezinho’ > ‘Zezao’ Verdadeiro
f. (4*9>=45) ou (12<4/3)  F ou F  F
g. (16mod2=0) e (3/3 <> 1)  V e F  F
h. não(4+2 = 6) ou (9/2 >4)  não V ou V  F ou V  V
i. (50div 9 = 50mod 9) e não(‘C’ = ‘c’)  V e não F  V e V  V
j. (‘AEIOU’ < ‘A’) ou não Falso  F ou não F  F ou V  V

2. Informe valores para as variáveis A e B de forma a tornar as expressões


verdadeiras:

a. (A-2 = 5) ou (A+2 = 5)  A = {3, 7}


b. (A > 0) e (A <= 10)  {0 < A  10 }
c. (A > 2) e não (A <> 12)  A = 12
d. (A < 5) e (A > 10)  Sem solução
e. (A/3+1 = 4) e (B+4 =10)  A = 9; B = 6
f. (10-A = A+2) e (2B = 3 + B)  A = 4; B = 3
g. (A-3 = 2) ou (B = 4/2+3)  A = 5 ou B = 5
h. (A-B = 2) e (A =3*3)  A = 9; B = 7
i. não(4+2 = A) ou (20 > B)  A  6 ou B < 20
j. (A/2-5 = 0) e não(B = 10)  A = 10; B  10

3. Considere o trecho de algoritmo e responda quais valores serão apresentados na


tela, considerando os seguintes valores para a variável NUM:

a) 20 Resp.: 10 b) 10 Resp.: 5 c) 5 Resp.: 10


d) 9 Resp.: 18 e) 11 Resp.: 5 f) 10.1 Resp.: erro: tipo incompatível

Algoritmo Exercício1
Var Num: inteiro
Inicio
Leia (Num)
Se (Num >= 10) Entao
Escreval (Num div 2)
Senao
Escreval (Num * 2)
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
fimse
fimalgoritmo

4. Considere o trecho de algoritmo e responda quais valores serão apresentados na


tela, considerando os seguintes valores para a variável ENTRADA:

a) 30 Resp.: É múltiplo de dez b) 15 Resp.: Não é múltiplo de dez


c) 22 Resp.: Não é múltiplo de dez d) 100 Resp.: É múltiplo de dez
e) 14 Resp.: Não é múltiplo de dez f) 9.35 Resp.: erro: tipo incompatível

Algoritmo Exercício2
Var Entrada: inteiro
Saida: cadeia
Inicio
Leia (Entrada)
Se (Entrada mod 2 = 0) e (Entrada mod 5 = 0) Entao
Saida  “É ”
Senao
Saida  “Não é ”
Fimse
Escreval (Saida + “ múltiplo de dez ”)
fimalgoritmo

5. Faça um algoritmo que receba um número, e mostre o seu quíntuplo somente


quando o número digitado for maior que trinta.

Algoritmo Quintuplo
Var Num: inteiro

Inicio
Escreva (“Digite o número a ser calculado”)
Leia (Num)
Se (Num > 30) Entao
EscrevaL (“O quíntuplo do número é: “ , num * 5)
Fimse
Fimalgoritmo

6. Faça um algoritmo que receba um número, e mostre a sua metade somente


quando esta for maior que cinqüenta.

Algoritmo Metade
Var num, meio: real

Inicio
Escreva (“Digite um número”)
Leia (num)
meio  num/2
Se (meio > 50) Entao
EscrevaL (“ A metade do número digitado é: “, meio)
Fimse
Fimalgoritmo
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves

7. Faça um algoritmo que receba um número, e mostre o número e o seu dobro


somente quando o número for maior que noventa e menor que cem.

Algoritmo Dobro
Var num, dobro : inteiro

Inicio
Escreva (“Digite um número inteiro a ser calculado.” )
Leia (num)
Se (90 < num) e (num < 100) Entao
dobro  num * 2
Escreval (“O dobro de “, num, “ é “ , dobro)
Fimse
Fimalgoritmo

8. Faça um algoritmo que receba um número, e mostre a sua quinta parte somente
quando ela for menor que cinqüenta ou maior que mil.

Algoritmo Quinta_parte
Var num, quinto: real

Inicio
Escreva (“Digite um número inteiro : “)
Leia (Num)
Quinto  num / 5
Se (quinto < 50) ou (quinto > 1000) Entao
EscrevaL (“A quinta parte do número digitado é: “ , quinto)
Fimse
Fimalgoritmo

9. Faça um algoritmo que receba um número, e mostre o sêxtuplo somente quando o


resultado não for menor que trezentos.

Algoritmo Sextuplo
Var num, sext : real

Inicio
Escreva (“Digite um número inteiro: “)
Leia (Num)
sext  num * 6
Se (sext >= 300 ) Entao
EscrevaL (“O sêxtuplo do número digitado é: “ , sext)
Fimse
Fimalgoritmo

10. Faça um algoritmo que receba um número, e mostre este número e o seu sêxtuplo
somente quando o número for maior que noventa, caso contrário, mostrar mensagem
de exceção.

Algoritmo Sextuplo_2
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
Var num, sext : real

Inicio
Escreva (“Digite um número inteiro: “)
Leia (Num)
Se (Num > 90) Entao
sext  num * 6
EscrevaL (“O sêxtuplo de ” , num , “ é: ” , sext)
Senao
EscrevaL (“O número digitado é menor ou igual a 90”)
Fimse
Fimalgoritmo

11. Faça um algoritmo que receba dois números, e mostre a diferença somente quando
o primeiro for maior que o segundo.

Algoritmo Resto
Var num1, num2: inteiro

Inicio
EscrevaL (“Digite dois números inteiros.”)
Leia (num1, num2)
Se (num1 > Num2) Entao
EscrevaL (num1 – num2)
Fimse
Fimalgoritmo

12. Faça um algoritmo que receba dois números, e mostre os números somente
quando o resto da divisão entre eles for 0.

Algoritmo Resto
Var num1, num2: inteiro

Inicio
EscrevaL (“Digite dois números inteiros.”)
Leia (num1, num2)
Se (num2 <> 0) Entao
Se (num1 mod Num2 = 0) Entao
EscrevaL (“Os números digitados foram: “, num1, “ e “, num2)
Fimse
Senao
EscrevaL (“ Divisor = 0, não pode haver divisão ” )
Fimse
Fimalgoritmo

13. Faça um algoritmo que leia dois números inteiros e verifique se o segundo é
múltiplo do primeiro.

Algoritmo Multiplo
Var num1, num2: inteiro
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
Inicio
EscrevaL (“Digite dois números inteiros.”)
Leia (num1, num2)
Se (num1 <> 0) Entao
Se (num2 mod num1 = 0) Entao
EscrevaL (“O segundo número digitado é múltiplo do primeiro“)
Fimse
Senao
EscrevaL (“ Primeiro número = 0, não tem múltiplo ” )
Fimse
Fimalgoritmo

14. Faça um algoritmo que receba um número, e mostre este número se ele estiver
entre quinze (inclusive) e quarenta (exclusive).

Algoritmo Numero_Entre_15_40
Var Num: Real
Inicio
Escreva: (“Digite Um Valor Qualquer”)
Leia (Num)
Se (Num>=15) E (Num<40) Entao
EscrevaL (“O Número digitado foi:” , Num)
Fimse
Fimalgoritmo

15. Faça um algoritmo que receba um número, e mostre este número somente se ele
estiver entre trinta (exclusive) e duzentos e oitenta e um (inclusive).

Algoritmo Numero_Entre_30_281
Var Num: Real
Inicio
Escreva: (“Digite Um Valor Qualquer”)
Leia (Num)
Se (Num>30) E (Num<=281) Entao
EscrevaL (“O Número Digitado Foi:” , Num)
Fimse
Fimalgoritmo

16. Faça um algoritmo que leia um número inteiro e verifique se este número é par e
múltiplo de 3.

Algoritmo Múltiplo_2_e_3
Var Num: Real
Inicio
Escreva: (“Digite um número inteiro “)
Leia (Num)
Se (Num mod 2 = 0) E (Num mod 3 = 0) Entao
EscrevaL (“O Número Digitado é par e múltiplo de 3”)
Senao
EscrevaL (“O Número Digitado não é par e múltiplo de 3”)
Fimse
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
Fimalgoritmo

17. Faça um algoritmo que receba nome, idade e a altura, exiba somente o nome da
pessoa com 1.70m ou mais e idade acima de 17anos.

Algoritmo Pessoal
Var Nome: cadeia
Idade: inteiro
Altura: Real
Inicio
Escreva: (“Digite nome, idade e altura da pessoa “)
Leia (Nome, idade, altura)
Se (idade > 17) E (altura >= 1.70) Entao
EscrevaL (“A pessoa se chama “, Nome)
Fimse
Fimalgoritmo

II – Médios

18. Considere o algoritmo... ... e responda quais os comandos serão


executados
considerando

Algoritmo Exercício18
Var b1, b2, b3 : lógico a) b1 = V, b2 = V, b3 = F
Inicio comando1, comando5
Se (b1) Entao
comando1 b) b1 = V, b2 = F, b3 = V
Senao comando1, comando5
Se (b2) Entao
Se (b3) Entao c) b1 = F, b2 = V, b3 = V
comando2 comando2, comando5
Senao
comando3 d) b1 = F, b2 = V, b3 = F
comando4 comando3, comando4, comando5
fimse
fimse e) b1 = F, b2 = F, b3 = V
fimse comando5
comando5 f) b1 = F, b2 = F, b3 = F
Fimalgoritmo comando5

19. Considere o trecho de algoritmo abaixo e responda quais os valores serão


apresentados na tela, considerando os seguintes valores para A e B, respectivamente:

a) 101 e 20 Resp: 81 b) 96 e 21 Resp: 75 c) 12 e 13 Resp: 25

d) 120 e 5 Resp: 25 e) 1 e 2 Resp: 3 f) 100 e 10 Resp: 90

Algoritmo Exercício19
Var A, B, Result: real
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
Inicio
Leia (A, B)
Se (A > 100) Entao
Se (B mod 2 = 0) Entao
Result  A – B
Senao
Result  A – 100 + B
fimse
Senao
Se (A > B) Entao
Result  A – B
Senao
Result  A+ B
fimse
fimse
Escreval (Result)
fimalgoritmo

20. Algoritmo que receba nome e valor do produto. De um desconto de 25% se o preço
do produto for maior que R$ 10.000,00 e mostre o produto e valor final.

Algoritmo desconto
Var nome_prod : cadeia vr_prod : real

Inicio
EscrevaL (“Digite o nome e valor do produto “)
Leia (nome_prod, vr_prod)
Se (vr_prod > 10000) Entao
vr_prod  vr_prod * 0,75
Fimse
EscrevaL (“Nome do produto: i”, nome_prod)
EscrevaL (“Valor final: R$ “, vr_prod)
Fimalgoritmo

21. Algoritmo que receba o número da conta, o nome, o endereço e o consumo em


kw/h, informe o número da conta, o nome e o endereço da conta de luz em que o
consumo for inferior a 100 kw/h.

Algoritmo Conta_de_luz
Var n_conta, consumo, conta: real
nome, end: cadeia
Inicio
EscrevaL (“Digite o num da conta, nome e endereço e o consumo em KW/h “)
Leia (n_conta, nome, end, consumo)
Se (consumo < 100) Entao
EscrevaL (“O numero de conta é ”, n_conta)
EscrevaL (“O nome é ”, nome)
Escreva (“O endereço é ”, end)
Fimse
Fimalgoritmo
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves

22. Algoritmo que receba Nome, turma e três notas do aluno; calcule a média
ponderada considerando: primeira nota com peso um, segunda nota com peso dois e
terceira nota com peso três; e informe o nome, a turma e a média do aluno que for
inferior a média sete.

Algoritmo Reprovado

Var Nome: cadeia; Turma: caractere


Nota1, nota2, nota3: Inteiro; media: real
Inicio
EscrevaL (“Digite o nome e turma do aluno”)
Leia (nome, turma)
EscrevaL (“Digite as três notas do aluno “)
Leia (nota1, nota2, nota3)
media  (nota1 + nota2 * 2 + nota3 * 3)/6
Se (media < 7) Entao
EscrevaL (“Nome do aluno “, nome)
EscrevaL (“Turma do aluno “, turma)
EscrevaL (“Média final do aluno “, media)
Fimse
Fimalgoritmo

23. Uma empresa de vendas oferece para seus clientes, um desconto que depende do
valor de compra pelo cliente. Este desconto é de 20%, se o valor da compra for
maior ou igual a R$ 5000.00 e 15%, se for menor. Faça um algoritmo que leia o
valor da compra, calcule o desconto e imprima o valor da compra e o desconto
obtido por um determinado cliente.

Algoritmo Vendas_desconto

Var Vr_compra, desc: real

Inicio
EscrevaL (“Digite o total das compras do cliente”)
Leia (vr_compra)
Se (vr_compra >= 5000) Entao
desc  vr_compra * 0.20
Senao
desc  vr_compra * 0.15
Fimse
Escreva (“O valor da compra é R$ “, vr_compra)
Escreva (“O valor do desconto é R$ “, desc)
Escreva (“O valor a pagar é R$ “, vr_compra – desc)
Fimalgoritmo

24. Um vendedor tem seu salário calculado em função do valor total de suas vendas.
Este cálculo é feito de acordo com o seguinte critério: se o valor total de suas
vendas for maior que R$ 20.000,00, o vendedor receberá como salário, 10% do
valor das vendas. Caso contrário, receberá 7,5% do valor das vendas. Escreva um
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
algoritmo que leia o valor das vendas efetuadas e determine o valor ganho pelo
vendedor.

Algoritmo Vendedor

Var vendas, salario: real

Inicio
EscrevaL (“Digite o total de vendas do vendedor”
Leia (vendas)
Se (vendas <= 20000.00) Entao
salario  vendas * 0.075
Senao
salario  vendas * 0.10
Fimse
Escreva (“O salário do vendedor é:”, salario)
Fimalgoritmo

25. Uma empresa paga a cada corretor, uma comissão calculada de acordo como o
valor de suas vendas. Se o valor total de vendas de um corretor for maior que R$
50.000,00, a comissão será de 12% do valor vendido. Se o valor da venda do
corretor estiver entre R$ 30.000,00 e R$ 50.000,00 (incluindo extremos), a
comissão será de 9,5%. Qualquer outro caso, a comissão será de 7%. Escreva um
algoritmo que gere um relatório contendo nome, valor de venda e comissão de um
corretor.

Algoritmo Corretor

Constante Com1 = 0.12


Com2 = 0.095
Com3 = 0.07

Var Nome: Cadeia


vr_vendas, comissao: real

Inicio
Escreva (“Digite o nome do vendedor número: ”)
Leia (Nome)
Escreva (“Digite o valor de vendas do vendedor: ”)
Leia (vr_vendas)
Se (vr_vendas > 50000) Entao
comissao  vr_vendas * Com1
Senao
Se (vr_vendas <= 50000) e (vr_vendas >= 30000) Entao
comissao  vr_vendas * Com2
Senao
comissao  vr_vendas * Com3
Fimse
Fimse
EscrevaL (“Nome: “, Nome)
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
EscrevaL (“Valor de Vendas: R$ “, vr_vendas)
EscrevaL (“Comissão: R$ “, comissao)
Fimalgoritmo

26. Considere que o último vestibular apresentou três provas: Português, Matemática e
Conhecimentos Gerais. Faça um algoritmo que receba para um candidato, o seu
nome e as notas obtidas, e forneça:
a) O nome e as notas em cada prova do candidato
b) A média do candidato
c) Uma informação dizendo se o candidato foi aprovado ou não. Considere que um
candidato é aprovado, se sua média for maior que 5 e se não apresentou
nenhuma nota abaixo de 4.

Algoritmo Vestibular

Var Nome: cadeia Port, Mat, ConG, Media: real

Inicio
Escreva (“Digite o nome do candidato”)
Leia (nome)
Escreva (“Entre notas na provas de Português ”)
Leia (Port)
Escreva (“Entre notas na provas de Matemática ”)
Leia (Mat)
Escreva (“Entre notas na provas de Conhecimentos Gerais ”)
Leia (ConG)
EscrevaL (“Nome do Candidato: “, nome)
EscrevaL (“Nota na prova de Português: “, Port)
EscrevaL (“Nota na prova de Matemática: “, Mat)
EscrevaL (“Nota na prova de Conhecimentos Gerais: “, ConG)
Media  ( Port + Mat + ConG)/ 3
Se (Media > 5) e (P >= 4) e (M >= 4) e (C >= 4) Entao
Escreva (“Aluno aprovado”)
Senao
Escreva (“Aluno reprovado”)
Fimse

Fimalgoritmo

27. Um hotel cobra R$60,00 a diária e mais uma taxa de serviços. A taxa de serviço e de:
 R$5,50 por diária, se o número de diárias for maior que 15;
 R$6,50 por diária, se o número de diárias for igual a 15;
 R$8,50 por diária, se o número de diárias for menor que 15.
Faça um algoritmo que receba o nome e quantidade de dias hospedados por um
cliente, calcule a conta com as regras acima e mostre o nome e a conta deste cliente.

Algoritmo Hotel

Constante Diaria = 60.00; Tx1 = 5.50; Tx2 = 6.50; Tx3 = 8.50

Var Nome: cadeia


Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
Vr_conta, Tx: real
Qt_dias: Inteiro
Inicio
Escreva (“Digite o nome do hóspede: ”)
Leia (Nome)
Escreva (“Digite a quantidade de diárias ele ficou hospedado”)
Leia (Qt_dias)
Se (Qt_dias < 15) Entao
Tx  Qt_dias * Tx3
Senao
Se (Qt_dias = 15) Entao
Tx  Qt_dias * Tx2
Senao
Tx  Qt_dias * Tx1
Fimse
Fimse
Vr_conta  Tx + Qt_dias * Diaria
EscrevaL (Nome, “ vai pagar R$ ” , Vr_conta)
Fimalgoritmo

28. Escreva um algoritmo que, para uma conta bancária, leia o seu número, o saldo, o tipo
de operação a ser realizada (depósito ou retirada) e o valor da operação. Após,
determine o novo saldo e mostre número da conta e o novo saldo. Se o novo saldo
ficar negativo, deve ser mostrada também a mensagem “Conta estourada”.

Algoritmo Banco

Var Numconta: cadeia Saldo, vr_op: real


Tipo_op : Caractere
Inicio
Escreva (“Digite o numero da conta: ”)
Leia (Numconta)
Escreva (“Digite o saldo da conta: ”)
Leia (saldo)
Escreva (“Digite o tipo de operação realizada (C/D): ”)
Leia (Tipo_op)
Escreva (“Digite o valor da operação: ”)
Leia (vr_op)
Se (Tipo_op = “C”) Entao
Saldo  Saldo + vr_op
Senao
Saldo  Saldo – vr_op
Fimse
EscrevaL (“Número da Conta: ”, Numconta)
EscrevaL (“Novo saldo da conta: R$ “, Saldo)
Se (Saldo < 0) Entao
Escreva (“Conta estourada”)
Fimse
Fimalgoritmo
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
29. Escreva um algoritmo que leia 3 valores e verifique se estes valores podem representar
os lados de um triângulo. Em caso afirmativo, especificar o tipo de triângulo. Para que
os valores representem os lados de um triângulo, é necessário que qualquer um dos
lados, seja menor que a soma dos outros dois lados. Um triângulo pode ser classificado
como eqüilátero, isósceles ou escaleno.

Algoritmo Triangulo

Var s1 , s2 , s3: inteiro

Inicio
EscrevaL (“ Digite 3 valores de segmentos de reta : ”)
Leia (s1, s2, s3)
Se (s1 < s2 + s3) e (s2 < s1 + s3) e (s3 < s1 + s2) Entao
Se (s1 = s2) e (s2 = s3) Entao
EscrevaL (“É triângulo eqüilátero”)
Senao
Se (s1 = s2) ou (s1 = s3) ou (s2 = s3) Entao
EscrevaL (“É triângulo isósceles”)
Senao
EscrevaL (“É triângulo escaleno”)
fimse
fimse
Senao
EscrevaL (“ Não formam triângulo”)
fimse
Fimalgoritmo

30. Algoritmo que, tendo como dados de entrada a altura (h) e o sexo de uma pessoa,
calcule seu peso ideal, utilizando as seguintes fórmulas:
Homens: Peso Ideal = 72.7 * h – 58
Mulheres: Peso Ideal = 62.1 * h – 44.7

Algoritmo Peso

Var sexo: caractere h, peso: real

Inicio
Escreva (“Digite o sexo da pessoa (M ou F): ”)
Leia (sexo)
Escreva (“ Digite a altura da pessoa : ”)
Leia (h)
Se (sexo = “M”) Entao
peso  72.7 * h - 58
Senao
peso  =62.1 * h – 44.7
Fimse
EscrevaL (“ Peso ideal: ”, peso)
Fimalgoritmo
Departamento de Informática
Curso: Sistemas de Informação – Informática
Disciplina: Projeto de Algoritmos
Professor: Flávio Manzi Alves
31. Escreva um algoritmo que calcule o valor do imposto de renda de um contribuinte.
Considere que o valor do imposto deve ser calculado de acordo com a tabela abaixo:
Renda anual Alíquota Dedução
Até R$ 10.000,00 isento –
> R$10.000,00 e <= R$25.000,00 10% R$1.000,00
Acima de R$25.000 25% R$4.750,00

Algoritmo IR_Anual

Var Renda, VrIR: Real

Inicio
EscrevaL (“Digite o valor da renda anual”)
Leia (Renda)
Se (Renda <=10000.00) Entao
VrIR  0
Senao
Se (Renda <=25000.00) Entao
VrIR  Renda * 0.10 – 1000.00
Senao
VrIR  R * 0.25 – 4750.00
Fimse
Fimse
EscrevaL (“Valor do imposto devido: R$ ” , VrIR)
Fimalgoritmo

Você também pode gostar