Objetivos:
|
Permitir ao leitor aprender como fazer um algoritmo e praticar através de exercícios os conceitos abordados nas aulas de “Operadores aritméticos, relacionais e lógicos” e de “Atribuição, entrada e saída de dados em algoritmos”.
|
Recursos e materiais:
|
|
Última atualização:
|
25/05/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 |
Na última aula, conhecemos a lógica de programação necessária para a atribuição, entrada e saída de dados em algoritmos. Através dela, podemos fazer com que nossos programas se comuniquem com o mundo externo, recebendo e enviando dados para o usuário. Como só se conhece de verdade o que se pratica, preparamos alguns exercícios para aprendermos como fazer um algoritmo utilizando esses conceitos.
1 – Escreva um algoritmo que leia um nome digitado e o imprima na tela. Simule a execução do pseudocódigo desenvolvido, apresentando em uma tabela, a evolução de cada uma das variáveis utilizadas.
Respostas1 |
inicio;
|
2 |
caracter: nome[1…10];
|
3 |
escreva (“Digite o seu nome: “);
|
4 |
leia (nome);
|
5 |
escreva (“O seu nome é: “, nome);
|
6 |
fim.
|
Linha | nome | Tela |
---|---|---|
1 | Início do algoritmo | |
2 | – | – |
3 | – | Digite o seu nome: |
4 | “Gustavo” | Digite o seu nome: Gustavo<ENTER> |
5 | “Gustavo” | Digite o seu nome: Gustavo O seu nome é: Gustavo |
6 | Fim do algoritmo |
2 – Faça um pseudocódigo para ler um número inteiro do teclado e calcular o seu dobro. O resultado da operação deverá ser impresso na tela para o usuário. Simule a execução do algoritmo, apresentando em uma tabela, a evolução de cada uma das variáveis utilizadas.
Respostas1 |
inicio;
|
2 |
inteiro: x;
|
3 |
escreva (“Digite um número inteiro: “);
|
4 |
leia (x);
|
5 |
x
|
6 |
escreva (“O dobro do número digitado é:”, x);
|
7 |
fim.
|
Linha | x | Tela |
---|---|---|
1 | Início do algoritmo | |
2 | – | – |
3 | – | Digite um número inteiro: |
4 | 10 | Digite um número inteiro: 10 <ENTER> |
5 | 20 | Digite um número inteiro: 10 |
6 | 20 | Digite um número inteiro: 10 O dobro do número digitado é: 20 |
7 | Fim do algoritmo | |
OBS: Nesse algoritmo, é interessante prestarmos atenção nas variáveis que utilizamos. Até a linha 4, a variável x tem valor correspondente ao número inteiro informado pelo usuário. Esse é o valor de x que o algoritmo considera para realizar o cálculo escrito na linha 5. O resultado dessa operação é armazenado na mesma variável, x, que tem seu valor atualizado. A principal vantagem de fazermos isso é evitar que nosso algoritmo tenha de reservar mais um espaço da memória do computador para armazenar outra informação. Por outro lado, perdemos a informação inicial inserida pelo usuário. Assim, caso precisássemos saber novamente qual o valor enviado pelo teclado, precisaríamos armazenar o cálculo da linha 5 em uma outra variável.
|
3 – Crie um algoritmo que leia o valor de um investimento, o tempo em meses em que o dinheiro será aplicado e a taxa de juros mensal. Calcule o valor do rendimento e o valor do dinheiro ao final do investimento, seguindo as equações de juros compostos mostradas abaixo. Imprima na tela quanto o usuário terá ao final do investimento. Valide a lógica de programação através da simulação do pseudocódigo.
1 |
inicio;
|
2 |
real: deposito, tempo, taxa, rendimento, valorfinal;
|
3 |
escreva (“Digite o valor do investimento, o tempo e a taxa de rendimento: “);
|
4 |
leia (deposito, tempo, taxa);
|
5 |
rendimento
|
6 |
valorfinal
|
7 |
escreva (“O valor final será de:”, valorfinal);
|
8 |
fim.
|
Linha | deposito | tempo | taxa | rend. | valor final | Tela |
---|---|---|---|---|---|---|
1 | Início do algoritmo | |||||
2 | – | – | – | – | – | – |
3 | – | – | – | – | – | Digite o valor do investimento, o tempo e a taxa de rendimento: |
4 | 200.0 | 12.0 | 1.0 | – | – | Digite o valor do investimento, o tempo e a taxa de rendimento: 200<ENTER> 12<ENTER> 1<ENTER> |
5 | 200.0 | 12.0 | 1.0 | 12.68 | – | Digite o valor do investimento, o tempo e a taxa de rendimento: 200 12 1 |
6 | 200.0 | 12.0 | 1.0 | 12.68 | 225.36 | Digite o valor do investimento, o tempo e a taxa de rendimento: 200 12 1 |
7 | 200.0 | 12.0 | 1.0 | 12.68 | 225.36 | Digite o valor do investimento, o tempo e a taxa de rendimento: 200 12 1 O valor final será de: 225.36 |
8 | Fim do algoritmo |
4 – Elabore um pseudocódigo para ler o raio de uma circunferência e imprimir o perímetro e a área dela. As equações necessárias para esses cálculos são mostradas abaixo, sendo que o valor de π pode ser aproximado por 3.14. Simule a execução do algoritmo desenvolvido, apresentando em uma tabela, a evolução de cada uma das variáveis utilizadas.
1 |
inicio;
|
2 |
real: raio, perimetro, area;
|
3 |
escreva (“Digite o raio da circunferência: “);
|
4 |
leia (raio);
|
5 |
perimetro
|
6 |
area
|
7 |
escreva (“O perímetro da circunferência é:”, perimetro);
|
8 |
escreva (“A área da circunferência é:”, area);
|
9 |
fim.
|
Linha | raio | perimetro | area | Tela |
---|---|---|---|---|
1 | Início do algoritmo | |||
2 | – | – | – | – |
3 | – | – | – | Digite o raio da circunferência: |
4 | 3.0 | – | – | Digite o raio da circunferência: 3 <ENTER> |
5 | 3.0 | 18.84 | – | Digite o raio da circunferência: 3 |
6 | 3.0 | 18.84 | 28.26 | Digite o raio da circunferência: 3 |
7 | 3.0 | 18.84 | 28.26 | Digite o raio da circunferência: 3 O perímetro da circunferência é: 18.84 |
8 | 3.0 | 18.84 | 28.26 | Digite o raio da circunferência: 3 O perímetro da circunferência é: 18.84 A área da circunferência é: 28.26 |
9 | Fim do algoritmo |
5 – Desenvolva um algoritmo para ler uma temperatura em graus Celsius (℃) e apresentar o valor equivalente em Farenheit (℉) e em Kelvin (K). A conversão de graus Celsius para essas duas temperaturas é mostrada nas equações abaixo. Simule a execução do pseudocódigo desenvolvido, indicando em uma tabela, a evolução de cada uma das variáveis utilizadas.
1 |
inicio;
|
2 |
real: celsius, farenheit, kelvin;
|
3 |
escreva (“Digite a temperatura em graus Celsius: “);
|
4 |
leia (celsius);
|
5 |
farenheit
|
6 |
kelvin
|
7 |
escreva (“Essa temperatura é equivalente à:”, farenheit, “graus Farenheit”);
|
8 |
escreva (“Essa temperatura é equivalente à:”, kelvin, “Kelvin”);
|
9 |
fim.
|
Linha | celsius | farenheit | kelvin | Tela |
---|---|---|---|---|
1 | Início do algoritmo | |||
2 | – | – | – | – |
3 | – | – | – | Digite a temperatura em graus Celsius: |
4 | 30.0 | – | – | Digite a temperatura em graus Celsius: 30 <ENTER> |
5 | 30.0 | 86.0 | – | Digite a temperatura em graus Celsius: 30 |
6 | 30.0 | 86.0 | 303.15 | Digite a temperatura em graus Celsius: 30 |
7 | 30.0 | 86.0 | 303.15 | Digite a temperatura em graus Celsius: 30 Essa temperatura equivale à 86 graus Farenheit |
8 | 30.0 | 86.0 | 303.15 | Digite a temperatura em graus Celsius: 30 Essa temperatura equivale à 86 graus Farenheit Essa temperatura equivale à 303.15 Kelvin |
9 | Fim do algoritmo |
6 – Construa um pseudocódigo que, dado as coordenadas x e y de dois pontos quaisquer de um plano, P1 e P2, calcule e imprima a distância entre eles, conforme a equação indicada a seguir. Simule a execução do algoritmo desenvolvido.
1 |
inicio;
|
2 |
real: x1, y1, x2, y2, d;
|
3 |
escreva (“Digite as coordenadas x e y do primeiro ponto: “);
|
4 |
leia (x1, y1);
|
5 |
escreva (“Digite as coordenadas x e y do segundo ponto: “);
|
6 |
leia (x2, y2);
|
7 |
d
|
8 |
escreva (“A distância entre os dois pontos é: “, d);
|
9 |
fim.
|
Linha | x1 | y1 | x2 | y2 | d | Tela |
---|---|---|---|---|---|---|
1 | Início do algoritmo | |||||
2 | – | – | – | – | – | – |
3 | – | – | – | – | – | Digite as coordenadas x e y do primeiro ponto: |
4 | 1.0 | 2.0 | – | – | – | Digite as coordenadas x e y do primeiro ponto: 1 <ENTER> 2 <ENTER> |
5 | 1.0 | 2.0 | – | – | – | Digite as coordenadas x e y do primeiro ponto: 1 2 Digite as coordenadas x e y do segundo ponto: |
6 | 1.0 | 2.0 | 3.0 | 4.0 | – | Digite as coordenadas x e y do primeiro ponto: 1 2 Digite as coordenadas x e y do segundo ponto: 3 <ENTER> 4 <ENTER> |
7 | 1.0 | 2.0 | 3.0 | 4.0 | 2.83 | Digite as coordenadas x e y do primeiro ponto: 1 2 Digite as coordenadas x e y do segundo ponto: 3 4 |
8 | 1.0 | 2.0 | 3.0 | 4.0 | 2.83 | Digite as coordenadas x e y do primeiro ponto: 1 2 Digite as coordenadas x e y do segundo ponto: 3 4 A distância entre os dois pontos é: 2.83 |
9 | Fim do algoritmo |
7 – Apresente um algoritmo que leia as coordenadas x e y de dois pontos, P1 e P2, e determine a equação da reta que passa por eles. A equação da reta pode ser calculada à patir da expressão abaixo, em que a e b são constantes a serem determinadas com base nos pontos informados pelo usuário. Simule a execução do pseudocódigo.
1 |
inicio;
|
2 |
real: x1, y1, x2, y2, a, b;
|
3 |
escreva (“Digite as coordenadas x e y do primeiro ponto: “);
|
4 |
leia (x1, y1);
|
5 |
escreva (“Digite as coordenadas x e y do segundo ponto: “);
|
6 |
leia (x2, y2);
|
7 |
a
|
8 |
b
|
9 |
escreva (“A equação da reta é y = “, a, “x + “, b);
|
10 |
fim.
|
Linha | x1 | y1 | x2 | y2 | a | b | Tela |
---|---|---|---|---|---|---|---|
1 | Início do algoritmo | ||||||
2 | – | – | – | – | – | – | – |
3 | – | – | – | – | – | – | Digite as coordenadas x e y do primeiro ponto: |
4 | 0.0 | 2.0 | – | – | – | – | Digite as coordenadas x e y do primeiro ponto: 0 <ENTER> 2 <ENTER> |
5 | 0.0 | 2.0 | – | – | – | – | Digite as coordenadas x e y do primeiro ponto: 0 2 Digite as coordenadas x e y do segundo ponto: |
6 | 0.0 | 2.0 | 2.0 | 4.0 | – | – | Digite as coordenadas x e y do primeiro ponto: 0 2 Digite as coordenadas x e y do segundo ponto: 2 <ENTER> 4 <ENTER> |
7 | 0.0 | 2.0 | 2.0 | 4.0 | 1.0 | – | Digite as coordenadas x e y do primeiro ponto: 0 2 Digite as coordenadas x e y do segundo ponto: 2 4 |
8 | 0.0 | 2.0 | 2.0 | 4.0 | 1.0 | 2.0 | Digite as coordenadas x e y do primeiro ponto: 0 2 Digite as coordenadas x e y do segundo ponto: 2 4 |
9 | 0.0 | 2.0 | 2.0 | 4.0 | 1.0 | 2.0 | Digite as coordenadas x e y do primeiro ponto: 0 2 Digite as coordenadas x e y do segundo ponto: 2 4 A equação da reta é y = 1.0x + 2.0 |
10 | Fim do algoritmo |
8 – Crie um pseudocódigo que leia dois números inteiros e os armazene nas variáveis A e B. Faça com que os valores das variáveis sejam trocados, de forma que a variável A passe a ter o valor da variável B e que a variável B passe a ter o valor da variável A. Imprima o valor de A e B depois da troca. Simule a execução do algoritmo desenvolvido.
Respostas1 |
inicio;
|
2 |
inteiro: A, B, C;
|
3 |
escreva (“Digite dois números inteiros A e B: “);
|
4 |
leia (A, B);
|
5 |
C
|
6 |
A
|
7 |
B
|
8 |
escreva (“Os números trocados são A igual a “, A, ” e B igual a “, B);
|
9 |
fim.
|
Linha | A | B | C | Tela |
---|---|---|---|---|
1 | Início do algoritmo | |||
2 | – | – | – | – |
3 | – | – | – | Digite dois números inteiros A e B: |
4 | 6 | 1 | – | Digite dois números inteiros A e B: 6 <ENTER> 1 <ENTER> |
5 | 6 | 1 | 6 | Digite dois números inteiros A e B: 6 1 |
6 | 1 | 1 | 6 | Digite dois números inteiros A e B: 6 1 |
7 | 1 | 6 | 6 | Digite dois números inteiros A e B: 6 1 |
8 | 1 | 6 | 6 | Digite dois números inteiros A e B: 6 1 Os números trocados são A igual a 1 e B igual a 6 |
9 | Fim do algoritmo |
9 – Crie um algoritmo que leia um valor de hora (hora:minutos) e informe o total de minutos que se passaram desde o início do dia (0:00h). Simule a execução do pseudocódigo desenvolvido, apresentando em uma tabela, a evolução de cada uma das variáveis utilizadas.
Respostas1 |
inicio;
|
2 |
inteiro: hora, minutos, total_minutos;
|
3 |
escreva (“Digite quantas horas e quantos minutos são agora: “);
|
4 |
leia (hora, minutos);
|
5 |
total_minutos
|
6 |
escreva (“Já se passaram”, total_minutos, ” minutos do dia de hoje!”);
|
7 |
fim.
|
Linha | hora | minutos | hora_minutos | Tela |
---|---|---|---|---|
1 | Início do algoritmo | |||
2 | – | – | – | – |
3 | – | – | – | Digite quantas horas e quantos minutos são agora: |
4 | 6 | 15 | – | Digite quantas horas e quantos minutos são agora: 6 <ENTER> 15 <ENTER> |
5 | 6 | 15 | 375 | Digite quantas horas e quantos minutos são agora: 6 15 |
6 | 6 | 15 | 375 | Digite quantas horas e quantos minutos são agora: 6 15 Já se passaram 375 minutos do dia de hoje! |
7 | Fim do algoritmo |
Caso tenha ficado qualquer dúvida em relação aos exercícios, deixe abaixo seu comentário para que possamos lhe ajudar. Somente dominando os conceitos básicos de como fazer um algoritmo é que teremos condições de utilizar técnicas mais complexas, como as estruturas de seleção e repetição. Para ficar for dentro das próximas aulas e aprender tudo sobre programação, acesse agora esse link e entre para o nosso time. Juntos, chegaremos longe!