Escolar Documentos
Profissional Documentos
Cultura Documentos
Comandos em teste:
Case,
comandos de repetição,
procedures,
programação estruturada,
If encadeado
Exercícios:
1)Doação de sangue
Escrever um algoritmo que ajude a cadastrar doadores de sangue. Peça para o
usuário informar a idade e tipo sanguíneo do doador. Fazer a validação dos tipos
sanguíneos (A, B, O e AB são permitidos), e só permitir doadores entre 18 e 67
anos. A cada doador cadastrado, perguntar também se deseja cadastrar um novo
doador. Quando o usuário desejar encerrar os cadastros, pergunte o tipo
sanguíneo de um paciente que necessita de sangue, então mostre quantos
doadores disponíveis existem para este paciente.
Algoritmo "Doadores-sangue"
Var
idade:inteiro
sangue:inteiro
conf:inteiro
Inicio
repita
repita
escreval("informe a sua idade:")
escreval("Permitido apenas doadores entre 18 e 67 anos:")
leia(idade)
ate ((idade>=18) e (idade<=67)) entao
repita
escreval("Informe seu tipo sanguineo")
escreval("Tipos sanguineos Aceitos:")
escreval("1-A")
escreval("2-B")
escreval("3-O")
escreval("4-AB")
leia (sangue)
ate ((sangue>=1) e (sangue<=4))
se (sangue = 1) entao
sangue <- sangue+1
senao
se (sangue = 2) entao
sangue <- sangue+1
senao
se (sangue = 3) entao
sangue <- sangue+1
senao
se (sangue = 4) entao
sangue <- sangue+1 entao
escreval("Parabéns, cadastro realizado com sucesso!")
fimse
fimse
fimse
fimse
escreval("Deseja cadastrar um novo doador?")
escreval("1-Sim")
escreval("2-Não")
leia(conf)
limpatela
ate(conf=2)
escreval("Iforme o tipo de sangue de um paciente que necessita de
sangue?")
escreval("Tipos sanguineos Aceitos:")
escreval("1-A")
escreval("2-B")
escreval("3-O")
escreval("4-AB")
leia (tip)
se (sangue = 1) entao
escreval("Para esse paciente, temos" ,sangue, "doador(es)")
senao
se (sangue = 2) entao
escreval("Para esse paciente, temos" ,sangue, "doador(es)")
senao
se (sangue = 3) entao
escreval("Para esse paciente, temos" ,sangue, "doador(es)")
senao
se (sangue = 4) entao
escreval("Para esse paciente, temos" ,sangue, "doador(es)")
senao
fimse
fimse
fimse
fimse
fimalgoritmo
2)Casa de Chá
Uma loja de chá está implantando um novo software para que os clientes possam
realizar os pedidos. Assim eles necessitam de um programa que, para cada
código, informa qual é o chá pedido pelo cliente com base na tabela abaixo. Além
disso, após informar o código do chá, o usuário deverá informar a quantidade de
unidades desejada. Construa o programa que solicita o código informado pelo
usuário e a quantidade desejada. O seu programa informa qual foi o
chá selecionado, quantas unidades, o valor unitário do chá e o valor total do
pedido. O programa só encerra quando um código e uma quantidade válida for
informada, caso contrário solicita as informações (código e quantidade)
novamente.
Código Chá Valor
CB Chá de Boldo R$ 1,50
CV Chá Verde R$ 1,65
CP Chá Preto R$ 1,99
CE Chá de Ervas R$ 1,00
CM Chá Mate R$ 1,99
Algoritmo "casa-de-cha"
Var
CB, CV, CP, CE, CM:real
cc:caractere]
qt:inteiro
vu:real
conf:inteiro
Inicio
repita
escreval("Codigo Tipo Valor.Unitário")
escreval("=================================================")
escreval(" CB Chá de boldo R$1,50 ")
escreval(" CV Chá Verde R$1,65 ")
escreval(" CP Chá Preto R$1,99 ")
escreval(" CE Chá de Ervas R$1,00 ")
escreval(" CM Chá Mate R$1,99 ")
escreval("=================================================")
escreval("INFORME O CODIGO DO CHÁ DESEJADO")
CB <- 1.50
CV <- 1.65
CP <- 1.99
CE <- 1.00
CM <- 1.99
leia (cc)
escolha(cc)
caso "CB"
escreval("INFORME A QUANTIDADE DESEJADA")
leia(qt)
escreval("valor total R$" ,qt * CB)
caso "CV"
escreval("INFORME A QUANTIDADE DESEJADA")
leia(qt)
escreval("valor total R$" ,qt * CV)
caso "CP"
escreval("INFORME A QUANTIDADE DESEJADA")
leia(qt)
escreval("valor total R$" ,qt * CP)
caso "CE"
escreval("INFORME A QUANTIDADE DESEJADA")
leia(qt)
escreval("valor total R$" ,qt * CE)
caso "CM"
escreval("INFORME A QUANTIDADE DESEJADA")
leia(qt)
escreval("valor total R$" ,qt * CM)
outrocaso
escreval("INFORME UM TIPO DE CHÁ VÁLIDO!")
fimescolha
Fimalgoritmo
3) Entre via display (na tela do computador) com um número inicial. Agora entre
com o número final. Quantos números foram encontrados entre este intervalo de
números?
Algoritmo "quantidade-numeros-de-um-intervalo"
//3) Entre via display (na tela do computador) com um número inicial. Agora entre
com o número
//final. Quantos números foram encontrados entre este intervalo de números?
Var
quantos, intervalo, inicial, final: inteiro
Inicio
escreval ("----------------------------------------------------")
escreval ("| Quantos números tem no intervalo informado? |")
escreval ("----------------------------------------------------")
escreval (" ")
escreval (" ")
Fimalgoritmo
4) Através de um número digitado pelo operador via teclado, avalie se este número é par ou
ímpar.
Algoritmo "par-ou-impar"
//4) Através de um número digitado pelo operador via teclado, avalie se este
//número é par ou ímpar.
Var
numero: inteiro
Inicio
escreval ("---------------------")
escreval ("| Par ou Ímpar |")
escreval ("---------------------")
escreval (" ")
escreval (" ")
escreval("Digite um número: ")
leia(numero)
se numero%2=0 entao
escreval("O número ", numero, " é par.")
senao
escreval("O número ", numero, " é ímpar.")
fimse
Fimalgoritmo
5)Faça um algoritmo que escreva na tela os números de um número inicial a um número final.
Os números inicial e final devem ser informados pelo usuário. Escrever um algoritmo que gere
e escreva todos os números ímpares neste intervalo selecionado entre os números. Entre os
números digitados quantos deles são entre os números 100 e 200, contabilize.
Algoritmo "intervalo-impares"
//5)Faça um algoritmo que escreva na tela os números de um número inicial a um número
final.
//Os números inicial e final devem ser informados pelo usuário. Escrever um algoritmo que
gere e
//escreva todos os números ímpares neste intervalo selecionado entre os números.
//Entre os números digitados quantos deles são entre os números 100 e 200, contabilize.
Var
// Seção de Declarações das variáveis
inicial, final, impar, intervalo: inteiro
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
escreval ("Digite o número inicial: ")
leia (inicial)
escreval ("Digite o número final: ")
leia (final)
escreval (" ")
se final <= inicial entao
repita
escreval ("O número final deve ser MAIOR que o número inicial!")
escreval ("Digite um número maior que o inicial.")
leia (final)
ate final > inicial
fimse
Fimalgoritmo
6). Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor precisa calcular a
média das notas de cada aluno. Crie um programa que resolva este problema.
Algoritmo "media-de-10-alunos"
//6) Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor precisa
//calcular a média das notas de cada aluno. Crie um programa que resolva este
//problema.
Var
// Seção de Declarações das variáveis
media:vetor[1..10] de real
nome:vetor[1..10] de caracter
n1:real
n2:real
i:inteiro
inicio
escreval ("------------------------------")
escreval ("| Calculadora de médias |")
escreval ("------------------------------")
escreval (" ")
escreval (" ")
Fimalgoritmo
7) Escrever um programa de computador que leia 10 números inteiros e, ao final, apresente a
soma de todos os números lidos;
Algoritmo "soma-10-numeros"
//7) Escrever um programa de computador que leia 10 números inteiros e, ao final, apresente
a soma
//de todos os números lidos
var
i, soma, numero: inteiro
inicio
escreval ("------------------------------------")
escreval ("| Soma de 10 números inteiros |")
escreval ("------------------------------------")
escreval (" ")
escreval (" ")
soma <- 0
para i de 1 ate 10 faca
escreval("Digite um numero")
leia(numero)
soma <- soma + numero
fimpara
escreva("O valor da soma é: ", soma)
fimalgoritmo
8). Faça os mesmos procedimentos que o exercício anterior, porém, ao invés de ler 10
números, o programa deverá ler e somar os números até que o valor digitado seja zero ( 0 ).
Algoritmo "soma-numeros-enquanto-for-diferente-de-zero"
//8). Faça os mesmos procedimentos que o exercício anterior , porém, ao invés de ler 10
números,
//o programa deverá ler e somar os números até que o valor digitado seja zero ( 0 ).
var
i, soma, numero: inteiro
inicio
escreval ("-----------------------------------------------------------------")
escreval ("|Soma de números enquanto número informado for diferente de zero|")
escreval ("-----------------------------------------------------------------")
escreval (" ")
escreval (" ")
numero <- 1
soma <- 0
enquanto numero <> 0 faca
escreval("Digite um numero:")
leia(numero)
soma <- soma + numero
fimenquanto
escreval("O resultado da soma dos numeros digitados é: ", soma)
fimalgoritmo
9) Escreva um programa que lido um número, calcule e informe o seu fatorial.
Ex.: 5! = 5 * 4 * 3 * 2 * 1 = 120. 2.
Algoritmo "fatorial"
//9) Escreva um programa que lido um número, calcule e informe o seu fatorial.
//Ex.: 5! = 5 * 4 * 3 * 2 * 1 = 120. 2.
Var
// Seção de Declarações das variáveis
numero, contador, fatorial : inteiro
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
escreval ("--------------------------------")
escreval ("| Calculadora de fatorial |")
escreval ("--------------------------------")
escreval (" ")
escreval (" ")
escreval ("Digite um número: ")
leia (numero)
contador <- 1
fatorial <- 1
fimenquanto
escreval (" ")
escreval (" ")
escreval ("O fatorial de ", numero," é igual a: ", fatorial)
10) Escreva um programa que leia um valor correspondente ao número de jogadores de um
time de vôlei. O programa deverá ler uma altura para cada um dos jogadores e, ao final,
informar a altura média do time.
Algoritmo "media-altura-time-volei"
//10) Escreva um programa que leia um valor correspondente ao número de jogadores de um
time de
//vôlei. O programa deverá ler uma altura para cada um dos jogadores e, ao final, informar a
altura
//média do time.
Var
// Seção de Declarações das variáveis
jogadores, i : inteiro
altura, soma, media: real
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
escreval ("---------------------------------------")
escreval ("| Calculadora de media de altura |")
escreval ("---------------------------------------")
escreval (" ")
escreval (" ")
soma <- 0
escreva("Digite o número de jogadores: ")
leia(jogadores)
Para i de 1 ate jogadores faca
escreva("Digite a altura do ",i," º jogador:")
leia(altura)
soma <- soma+altura
Fimpara
var
inicio
escreval ("------------------------------------------")
escreval ("| Por quais números será divisível? |")
escreval ("------------------------------------------")
escreval (" ")
escreval (" ")
escreva ("Informe um número: ")
leia (numero)
x<-0
fimpara
se (x>2) entao
escreval (numero, " é divisível por: ")
para contador de 1 ate numero faca
se (numero%contador=0) entao
escreval (contador)
fimse
fimpara
senao
escreval ("O número ", numero, " é primo.")
fimse
fimalgoritmo
12). Digitados dois números (base e expoente – b e), calcule o resultado utilizando apenas
multiplicações;
Algoritmo "calculo-exponenciacao-com-multiplicacao"
Var
base:inteiro
expoente:inteiro
resultado:inteiro
Inicio
resultado:= 1
fimpara
Escreval(resultado)
Fimalgoritmo
13)Calcule a soma de todos os números primos existentes entre 1 e 100;
algoritmo "soma-primos-ate-100"
var
n, total, qtd, soma, i: inteiro
inicio
n:= 1
qtd:= 0
soma:= 0
repita
total := 0
para i de 1 ate n faca
se (n%i=0) entao
total:= total+1
fimse
fimpara
se (total=2) entao
qtd := qtd + 1
soma := soma + n
fimse
n := n + 1
ate (qtd=100)
escreval ("A soma dos 100 primeiros números primos é ", soma)
fimalgoritmo1
4). Faça o mesmo que em 12, mas usando apenas somas
Algoritmo "calculo-exponenciacao-com-multiplicacao"
Var
base:inteiro
expoente:inteiro
resultado:inteiro
Inicio
resultado:= 1
fimpara
Escreval(resultado)
Fimalgoritmo