Objetivos:
|
Permitir ao leitor desenvolver algoritmos um pouco mais complexos e praticar os conceitos abordados na última aula sobre estruturas de decisão.
|
Recursos e materiais:
|
|
Última atualização:
|
08/06/2020
|
Aulas do capítulo:
|
Algoritmos: 1. O que são algoritmos e porque eles são tão importantes 2. Três formas de representação de um algoritmo 3. Tipos de dados, variáveis e identificadores 4. Operadores aritméticos, relacionais e lógicos 5. Exercícios de lógica de programação para iniciantes 6. Atribuição, entrada e saída de dados em algoritmos 7. Aprendendo como fazer um algoritmo com exercícios 8. As estruturas de decisão: se-então-senão e escolha-caso 9. Exercícios sobre estruturas de decisão em algoritmos 10. Estruturas de repetição com teste no início 11. Estruturas de repetição com teste no final e com variável de controle 12. Exercícios sobre estruturas de repetição |
Aprendemos na última aula sobre as estruturas de decisão simples, composta e de múltipla escolha. A aula de hoje apresenta exercícios de algoritmos sobre essas estruturas de decisão, para que possamos praticar esses conceitos e nos tornar ainda mais familiarizados com a lógica de programação. Está preparado para colocar a mão na massa?
1 – Faça um algoritmo para ler um número real e informar ao usuário se ele é maior, menor ou igual a zero.
Respostas1 |
inicio;
|
2 |
real: num;
|
3 |
escreva (“Digite um número real: “);
|
4 |
leia (num);
|
5 |
se (num > 0) entao
|
6 |
escreva (“O número é maior que zero!”);
|
7 |
senao
|
8 |
se (num = 0) entao
|
9 |
escreva (“O número é igual a zero!”);
|
10 |
senao
|
11 |
escreva (“O número é menor que zero!”);
|
12 |
fimse;
|
13 |
fimse;
|
14 |
fim.
|
2 – Desenvolva um pseudocódigo para ler o nome e a idade de um indivíduo e imprimir “criança”, se a idade for menor ou igual a 13 anos, “adolescente”, no caso de idade estar entre 13 e 20 anos, e “adulto”, se for mais velho.
Respostas1 |
inicio;
|
2 |
inteiro: idade;
|
3 |
escreva (“Digite a sua idade: ”);
|
4 |
leia (idade);
|
5 |
se (idade <= 13) entao
|
6 |
escreva (“Criança!”);
|
7 |
senao
|
8 |
se (idade <= 20 0) entao
|
9 |
escreva (“Adolescente!”);
|
10 |
senao
|
11 |
escreva (“Adulto!”);
|
12 |
fimse;
|
13 |
fimse;
|
14 |
fim.
|
3 – Elabore um algoritmo que leia 3 números reais, identifique e imprima o maior deles.
Respostas1 |
inicio;
|
2 |
real: A, B, C;
|
3 |
escreva (“Digite três números reais: ”);
|
4 |
leia (A, B, C);
|
5 |
se (A >= B e A >= C) entao
|
6 |
escreva (“O maior número digitado é: ”, A);
|
7 |
senao
|
8 |
se (B >= C) entao
|
9 |
escreva (“O maior número digitado é: ”, B);
|
10 |
senao
|
11 |
escreva (“O maior número digitado é: ”, C);
|
12 |
fimse;
|
13 |
fimse;
|
14 |
fim.
|
4 – Faça um pseudocódigo para ler um nome e imprimir o telefone correspondente de acordo com a lista mostrada abaixo. Se o nome não estiver na lista, o algoritmo deve imprimir a mensagem “Não consta na lista”.
João: 222.22.22
Paulo: 333.33.33
Leonardo: 444.44.44
Márcio: 555.55.55
1 |
inicio;
|
2 |
char: nome[1…10];
|
3 |
escreva (“Digite o nome de quem você quer o telefone: ”);
|
4 |
leia (nome);
|
5 |
escolha (nome)
|
6 |
caso “João”:
|
7 |
escreva (“O telefone do João é 222.22.22”);
|
8 |
caso “Paulo”:
|
9 |
escreva (“O telefone do Paulo é 333.33.33”);
|
10 |
caso “Leonardo”:
|
11 |
escreva (“O telefone do Leonardo é 444.44.44”);
|
12 |
caso “Márcio”:
|
13 |
escreva (“O telefone do Márcio é 555.55.55”);
|
14 |
caso contrario:
|
15 |
escreva (“Esse nome não consta na lista!”);
|
16 |
fimescolha;
|
17 |
fim.
|
5 – Desenvolva um algoritmo para calcular a área e o perímetro de uma circunferência (C), quadrado (Q), e retângulo (R). O usuário deverá escolher o polígono e informar os dados necessários para proceder os cálculos.
Respostas1 |
inicio;
|
2 |
char: geometria;
|
3 |
real: lado1, lado2, raio, perimetro, area;
|
4 |
escreva (“Digite a geometria desejada (C, Q, R): ”);
|
5 |
leia (geometria);
|
6 |
escolha (geometria)
|
7 |
caso “C”:
|
8 |
escreva (“Digite o raio da circunferência: ”);
|
9 |
leia (raio);
|
10 |
perimetro
|
11 |
area
|
12 |
escreva (“O perímetro da circunferência é: “, perimetro);
|
13 |
escreva (“A área da circunferência é: “, area);
|
14 |
caso “Q”:
|
15 |
escreva (“Digite o comprimento de um dos lados do quadrado: ”);
|
16 |
leia (lado1);
|
17 |
perimetro
|
18 |
area
|
19 |
escreva (“O perímetro do quadrado é: “, perimetro);
|
20 |
escreva (“A área do quadrado é: “, area);
|
21 |
caso “R”:
|
22 |
escreva (“Digite o comprimento dos dois lados do retângulo: ”);
|
23 |
leia (lado1, lado2);
|
24 |
perimetro
|
25 |
area
|
26 |
escreva (“O perímetro do retângulo é: “, perimetro);
|
27 |
escreva (“A área do retângulo é: “, area);
|
28 |
caso contrario:
|
29 |
escreva (“Não existe essa opção de figura geométrica!”);
|
30 |
fimescolha;
|
31 |
fim.
|
6 – Escreva um pseudocódigo que leia o código de um determinado produto e apresente a sua classificação de acordo com a tabela abaixo:
Código | Classificação |
---|---|
1 | Alimento não perecível |
2, 3 ou 4 | Alimento perecível |
5 ou 6 | Vestuário |
7 até 12 | Limpeza |
Qualquer outro código | Opção inválida |
1 |
inicio;
|
2 |
inteiro: codigo;
|
3 |
escreva (“Digite o código da classificação: ”);
|
4 |
leia (codigo);
|
5 |
se (codigo = 1) entao
|
6 |
escreva (“Alimento não perecível!”);
|
7 |
senao
|
8 |
se (codigo = 2 ou codigo = 3 ou codigo = 4) entao
|
9 |
escreva (“Alimento perecível!”);
|
10 |
senao
|
11 |
se (codigo = 5 ou codigo = 6) entao
|
12 |
escreva (“Vestuário!”);
|
13 |
senao
|
14 |
se (codigo >= 7 e codigo <= 12) entao
|
15 |
escreva (“Limpeza!”);
|
16 |
senao
|
17 |
escreva (“Opção Inválida!”);
|
18 |
fimse;
|
19 |
fimse;
|
20 |
fimse;
|
21 |
fimse;
|
22 |
fim.
|
7 – Elabore um algoritmo que leia dois números reais, a operação aritmética e, então, calcule e imprima o resultado da operação desejada. Utilize os símbolos (+,-,*,/) para identificar a operação aritmética. Caso a operação pretendida seja diferente das implementadas, o pseudocódigo deverá exibir a mensagem “Operação Inválida” para o usuário.
Respostas1 |
inicio;
|
2 |
char: operacao;
|
3 |
real: num1, num2, resultado;
|
4 |
escreva (“Digite dois números reais e a operação desejada: ”);
|
5 |
leia (num1, num2, operacao);
|
6 |
escolha (operacao)
|
7 |
caso “+”:
|
8 |
resultado
|
9 |
escreva (“O resultado da soma é: ”, resultado);
|
10 |
caso “-”:
|
11 |
resultado
|
12 |
escreva (“O resultado da subtração é: ”, resultado);;
|
13 |
caso “*”:
|
14 |
resultado
|
15 |
escreva (“O resultado da multiplicação é: ”, resultado);
|
16 |
caso “/”:
|
17 |
resultado
|
18 |
escreva (“O resultado da divisão é: ”, resultado);
|
19 |
caso contrario:
|
20 |
escreva (“Operação inválida!”);
|
21 |
fimescolha;
|
22 |
fim.
|
8 – Desenvolva um algoritmo que leia o valor de uma determinada compra e o código da forma de pagamento. Com base neste código, o pseudocódigo deverá calcular e imprimir o valor a pagar, a forma de pagamento e o valor de cada parcela, se for o caso.
Código | Classificação |
---|---|
1 | À vista, com 8% de desconto |
2 | À vista no cartão, 4% de desconto |
3 | Em 2x, preço normal sem juros |
4 | Em 4x, preço acrescido de 8% |
Qualquer outro código | Opção inválida |
1 |
inicio;
|
2 |
int: codigo;
|
3 |
real: valor, parcela;
|
4 |
escreva (“Digite o valor a ser pago e a forma de pagamento: ”);
|
5 |
leia (valor, codigo);
|
6 |
escolha (codigo)
|
7 |
caso 1:
|
8 |
valor
|
9 |
escreva (“O valor a ser pago é de R$: ”, valor);
|
10 |
caso 2:
|
11 |
valor
|
12 |
escreva (“O valor a ser pago é de R$: ”, valor);
|
13 |
caso 3:
|
14 |
escreva (“O valor a ser pago é de R$: ”, valor);
|
15 |
escreva (“Cada parcela será de R$: ”, valor/2);
|
16 |
caso 4:
|
17 |
valor [Símbolo] valor * 1.08;
|
18 |
escreva (“O valor a ser pago é de R$: ”, valor);
|
19 |
escreva (“Cada parcela será de R$: ”, valor/2);
|
20 |
caso contrario:
|
21 |
escreva (“Opção inválida!”);
|
22 |
fimescolha;
|
23 |
fim.
|
Recomendamos que você simule os algoritmos dos exercícios sobre estruturas de decisão acima para garantir que compreendeu o funcionamento deles. Em caso de dúvidas, deixe abaixo o seu comentário para que possamos lhe ajudar. Se você quer ficar por dentro das novidades e aprender muito mais sobre programação e outros assuntos ligados à Mecatrônica, acesse também esse link e faça parte do nosso time! Juntos, podemos chegar longe!