Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Escreva um programa que informe ao usuário se deve ou não levar uma blusa consigo.
Sabe-se que a blusa é indicada se a temperatura em graus celsius estiver abaixo de 20
graus.
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real temp
//ENTRADA
escreva("Digite a temperatura atual: ")
leia(temp)
//PROCESSAMENTO E SAÍDA
se (temp<20){ //Verifica a temperatura e indica a mensagem ao usuário
escreva("Você deve levar uma blusa consigo.\n")
}senao{
escreva("Você não precisa levar uma blusa consigo.\n")
}
}
}
2. Escreva um programa que solicite ao usuário um valor inteiro e exibe uma mensagem
informando se o número é par ou ímpar. Exiba:
Caso verdadeiro: ―O número é par‖
Caso falso: ―O número é ímpar‖
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
caracter letra
//ENTRADA
escreva("Digite uma letra: ")
leia(letra)
//PROCESSAMENTO E SAÍDA
se(letra == 'a' ou letra == 'e' ou letra == 'i' ou letra == 'o' ou letra == 'u' ou
letra == 'A' ou letra == 'E' ou letra == 'I' ou letra == 'O' ou letra == 'U'){
escreva("E uma Vogal.\n")
}senao{
escreva("Nao é uma vogal.\n")
}
}
}
4. Escreva um programa que exiba o maior dentre dois números reais digitados pelo usuário,
na forma ―numero tal‖ é maior que ―numero tal‖. Caso eles sejam iguais deve-se exibir a
mensagem na forma: numero tal‖ é igual ao ―numero tal‖
SAÍDA: Quais os resultados que o algoritmo dever fornecer ?
Mensagem informando qual o maior número digitado
ENTRADA: Quais os insumos necessários para se obter a saída?
Dois números reais
PROCESSAMENTO: Como transformar os insumos na saída?
Se x > y: x é o maior
Se x < y: y é o maior
Se x == y: eles são iguais
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro x, y
//ENTRADA
escreva ("Favor digitar o primeiro número real: ")
leia (x)
escreva ("Favor digitar o segundo número real: ")
leia (y)
//PROCESSAMENTO E SAÍDA
se (x == y)
escreva ("O número " + x + " é igual ao número " + y)
senao se (x > y)
escreva ("O número " + x + " é maior do que o número " + y)
senao
escreva ("O número " + y + " é maior do que o número " + x)
}
}
5. Escreva um programa que exiba na tela o triplo de um número inteiro informado pelo
usuário. Caso o número informado pelo usuário seja negativo, o mesmo deve ser
transformado no seu equivalente positivo antes da exibição do seu triplo.
SAÍDA: Quais os resultados que o algoritmo dever fornecer ?
O valor do triplo de um número
ENTRADA: Quais os insumos necessários para se obter a saída?
Um número inteiro
PROCESSAMENTO: Como transformar os insumos na saída?
Obter o módulo do número informado e multiplicá-lo por três
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro numero, triplo
//ENTRADA
escreva("Digite um numero: ")
leia(numero)
//PROCESSAMENTO E SAÍDA
se (numero < 0){
numero = numero * ( - 1)
triplo = 3 * numero
}senao{
triplo = 3 * numero
}
escreva("O triplo do numero digitado é ", triplo, ".\n")
}
}
6. Escreva um programa que calcule a idade de uma pessoa a partir do seu ano de nascimento.
O programa deve mostrar na tela a idade e também as seguintes mensagens, quando for o
caso:
Já pode votar (se tiver 16 anos ou mais);
Já pode solicitar a Carteira de Habilitação (se tiver 18 anos ou mais).
}
}
7. Escreva um algoritmo que leia três números inteiros e imprima-os em ordem crescente.
Efetue pelo menos 3 testes do seu algoritmo com entradas de dados distintas. Analise os
resultados do seu algoritmo.
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro a, b, c
//ENTRADA
escreva("Entre com os tres inteiros a serem ordenados: ")
leia(a, b, c)
//PROCESSAMENTO E SAÍDA
se(a>b e b>c e a>c){
escreva(c, " < ", b, " < ", a, ".\n")
}senao se(a>b e b<c e a>c){
escreva(b, " < ", c, " < ", a, ".\n")
}senao se(b>a e a>c e b>c){
escreva(c, " < ", a, " < ", b, ".\n")
}senao se(b>a e a<c e b>c){
escreva(a, " < ", c, " < ", b, ".\n")
}senao se(c>a e a>b e c>b){
escreva(b, " < ", a, " < ", c, ".\n")
}senao (c>a e a<b e b<c){
escreva(a, " < ", b, " < ", c, ".\n")
}
}
}
8. Escreva um algoritmo que peça como entrada os coeficientes a, b e c de uma equação de
2.o grau e forneça como saída as suas raízes. Lembre-se de prever os seguintes casos:
I. a = 0 : Equação de 1.o grau, calcule a única raiz diretamente
II. Δ = 0 : Calcule a única raiz pela fórmula de Baskara
III. Δ < 0 : Calcule as 2 raízes complexas pela fórmula de Baskara
IV. Δ > 0 : Calcule as 2 raízes reais pela fórmula de Baskara
A formula de
Baskara = Δ = b2 – 4ac
ATENÇÃO:
Uma outra função útil é a que calcula POTÊNCIA: a função chama-se potencia. A
instrução a seguir calcula a potência do valor x elevado a y e armazena em z. Por exemplo,
se x = 3 e y = 4, z será 81. Exemplo: z = potencia(x,y)
No Portugol Studio essas funções estão dentro da Biblioteca Matemática. Assim para chama-las
você deve:
a) Incluir a biblioteca, utilizando a instrução abaixo ANTES da função início( )
inclua biblioteca Matematica -->mat
obs: Usar -->mat equivale a dar um “apelido” mais curto para a biblioteca
Matemática
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
caracter conceito
//ENTRADA
escreva("Entre com o conceito final: ")
leia(conceito)
//PROCESSAMENTO E SAÍDA
se(conceito == 'A'){
escreva("Desempenho excepcional.\n")
}senao se(conceito == 'B'){
escreva("Bom desempenho.\n")
}senao se(conceito == 'C'){
escreva("Desempenho adequado.\n")
}senao se(conceito == 'D'){
escreva("Aproveitamento mínimo.\n")
}senao se(conceito == 'F'){
escreva("Reprovado.\n")
}senao se(conceito == 'O'){
escreva("Reprovado por falta.\n")
}senao se (conceito == 'I'){
escreva("Incompleto.\n")
}
}
}
10. Uma livraria está fazendo uma promoção para pagamento à vista em que o comprador pode
escolher entre dois critérios de desconto:
Critério A: R$ 0,25 por livro + R$ 7,50 fixo
Critério B: R$ 0,50 por livro + R$ 2,50 fixo
Escreva um algoritmo em que o usuário digite a quantidade de livros que deseja comprar e
programa diga qual é a melhor opção de desconto.
SAÍDA: Quais os resultados que o algoritmo dever fornecer ?
Qual o critério de promoção mais vantajoso
ENTRADA: Quais os insumos necessários para se obter a saída?
Quantidade de livros desejados
PROCESSAMENTO: Como transformar os insumos na saída?
Critério A: 0.25*livros + 7.5
Critério B: 0.5*livros + 2.5
PROGRAMA - PORTUGOL
programa
{
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
inteiro livros
real a, b
//ENTRADA
escreva ("Favor digitar a quantidade de livros desejada: ")
leia (livros)
//PROCESSAMENTO E SAÍDA
a = 0.25*livros + 7.5
b = 0.5*livros + 2.5
escreva ("De acordo com o critério A, o cliente terá um desconto de " + a + "
reais.")
escreva ("\nDe acordo com o critério B, o cliente terá um desconto de " + b + "
reais.")
se (a > b)
escreva ("\nNeste caso, é mais vantajoso comprar pelo critério A.")
senao se (b > a)
escreva ("\nNeste caso, é mais vantajoso comprar pelo critério B.")
senao
escreva ("\nNeste caso, ambos critérios resultam no mesmo preço.")
}
}
11. O imposto de renda MENSAL de uma pessoa física (IR) é calculado com base na sua renda
mensal. Escreva um algoritmo para calcular e imprimir o IR MENSAL e o IR ANUAL de
uma pessoa considerando a seguinte tabela e supondo que sua renda mensal (salário) é a
mesma durante os 12 meses.
Base de cálculo mensal em R$ Alíquota % Parcela a deduzir do imposto em R$
Até 1.499,15 - -
De 1.499,16 até 2.246,75 7,5 112,43
De 2.246,76 até 2.995,70 15,0 280,94
De 2.995,71 até 3.743,19 22,5 505,62
Acima de 3.743,19 27,5
Exemplo de Cálculo:
Se uma pessoa ganha 3500,00 por mês, com base na tabela acima, deve-se aplicar a alíquota
(taxa) de 22,5% de imposto de renda e deduzir o valor de 505.62.
Assim 3500 x 22.5 /100 = 785,50. Deduzindo-se os 505,62 o valor do imposto mensal será de
281.88.
Para verificar se o seu programa está correto, efetue os dois testes que seguem:
TESTE 1:
Entrada: salário mensal = 3500.00
Saída Esperada: IR Mensal = 281.88 IR Anual = 3382.56
TESTE 2:
Entrada: salário mensal = 4000.00
Saída Esperada: IR Mensal = 1100.00 IR Anual = 13200.00
O IMC é calculado da seguinte forma: divide-se o peso (quilogramas) pela altura ao quadrado
(em metros).
Para verificar se o seu programa está correto, efetue os dois testes que seguem:
TESTE 1:
Entrada: peso=65 altura = 1.67
Saída Esperada: IMC = 23.31 - Parabéns — você está em seu peso normal!
TESTE 2:
Entrada: peso=85 altura = 1.60
Saída Esperada: IMC = 33.20 - Obesidade grau I
SAÍDA: Quais os resultados que o algoritmo dever fornecer ?
Um mensagem contendo o IMC e a situação correspondente ao valor
ENTRADA: Quais os insumos necessários para se obter a saída?
Duas variáveis reais: peso e altura
PROCESSAMENTO: Como transformar os insumos na saída?
Basta utilizar a expressão presente nos exemplos 1 e 2 acima. Depois, é necessário
comparar o valor de IMC obtido com cada caso das condições da tabela Cálculo IMC x
Situação. Ao fim, é feita a impressão do IMC acompanhado à situação.
PROGRAMA - PORTUGOL
programa
{
inclua biblioteca Matematica --> mat
funcao inicio()
{
//DECLARAÇÃO DE VARIÁVEIS
real peso, altura, IMC
//ENTRADA
escreva("Entre com o peso em kilogramas: ")
leia(peso)
escreva("Entre com a altura em metros: ")
leia(altura)
//PROCESSAMENTO E SAÍDA
IMC = (peso)/((altura) * (altura))
escreva(mat.arredondar(IMC, 2))
se(IMC<18.5){
escreva(" - Voce esta abaixo do peso ideal.\n")
}senao se(IMC < 25.0){
escreva(" - Parabens - voce esta em seu peso normal!\n")
}senao se(IMC < 30.0){
escreva(" - Voce esta acima de seu peso (sobrepeso).\n")
}senao se(IMC < 35.0){
escreva(" - Obesidade grau I.\n")
}senao se(IMC < 40.0){
escreva(" - Obesidade grau II.\n")
}senao{
escreva(" - Obesidade grau III.\n")
}
}
}