Algoritmos e fluxogramas
Algoritmos e fluxogramas
Pergunta disparadora
Como podemos transformar uma ideia, uma tarefa ou um problema em uma sequência clara de passos que possa ser seguida por uma pessoa ou por um computador?
Objetivos da aula
Ao final desta aula, você deverá ser capaz de:
- compreender o conceito de algoritmo como sequência organizada de instruções;
- representar processos por meio de linguagem natural, pseudocódigo e fluxogramas;
- analisar e construir algoritmos simples para resolver problemas matemáticos e situações do cotidiano.
Desenvolvimento
Nesta unidade, iniciaremos o estudo de algoritmos, lógica e pensamento computacional.
A palavra algoritmo é muito usada em computação, mas a ideia de algoritmo aparece em muitas situações do cotidiano.
Quando seguimos uma receita de bolo, usamos uma sequência de passos.
Quando resolvemos uma equação, seguimos uma sequência de operações.
Quando usamos um aplicativo de navegação para chegar a um endereço, seguimos instruções organizadas.
Quando montamos um móvel, seguimos um manual.
Quando calculamos o troco de uma compra, aplicamos um procedimento.
Em todos esses casos, há uma ideia comum:
resolver uma tarefa por meio de passos bem definidos.
Essa é a essência de um algoritmo.
Nesta aula, estudaremos o que é um algoritmo, como ele pode ser escrito e como podemos representá-lo por meio de fluxogramas.
1. O que é um algoritmo?
Um algoritmo é uma sequência finita e organizada de instruções para resolver um problema ou realizar uma tarefa.
Um algoritmo deve ter:
- início;
- passos bem definidos;
- ordem lógica;
- fim.
Em outras palavras, um algoritmo descreve o que fazer e em que ordem fazer.
Exemplo simples
Algoritmo para escovar os dentes:
- pegar a escova;
- colocar pasta de dente;
- molhar a escova;
- escovar os dentes;
- enxaguar a boca;
- lavar a escova;
- guardar a escova.
Essa sequência tem começo, meio e fim.
2. Algoritmos no cotidiano
Usamos algoritmos mesmo sem perceber.
Alguns exemplos:
- seguir uma receita;
- sacar dinheiro em um caixa eletrônico;
- fazer uma compra on-line;
- calcular uma média;
- organizar uma mochila;
- resolver uma conta;
- procurar uma palavra no dicionário;
- seguir instruções de um mapa;
- montar uma lista de tarefas.
O importante é perceber que muitos procedimentos podem ser descritos em passos.
3. Algoritmo e resolução de problemas
Um algoritmo é uma ferramenta para resolver problemas.
Para criar um algoritmo, precisamos responder a três perguntas:
- Qual é o problema?
- Quais informações temos?
- Quais passos levam à solução?
Exemplo
Problema:
Calcular a média de duas notas.
Informações disponíveis:
- primeira nota;
- segunda nota.
Passos:
- ler a primeira nota;
- ler a segunda nota;
- somar as duas notas;
- dividir a soma por \(2\);
- mostrar o resultado.
Esse é um algoritmo simples.
4. Entrada, processamento e saída
Muitos algoritmos podem ser descritos usando três partes:
- entrada;
- processamento;
- saída.
Entrada
São os dados que o algoritmo recebe.
Processamento
São as operações feitas com os dados.
Saída
É o resultado produzido pelo algoritmo.
5. Exemplo com entrada, processamento e saída
Problema:
Calcular o dobro de um número.
Entrada
Um número \(n\).
Processamento
Multiplicar o número por \(2\):
\[ 2n \]
Saída
O dobro do número.
Em linguagem natural:
- ler o número \(n\);
- calcular \(2n\);
- mostrar o resultado.
6. Características de um bom algoritmo
Um bom algoritmo deve ser:
- claro;
- organizado;
- finito;
- não ambíguo;
- eficiente o suficiente para o problema;
- capaz de produzir o resultado esperado.
Claro
As instruções devem ser compreensíveis.
Finito
O algoritmo deve terminar após uma quantidade limitada de passos.
Não ambíguo
Cada passo deve ter um significado definido.
Correto
O algoritmo deve resolver o problema proposto.
7. Exemplo de instrução ambígua
Considere a instrução:
Coloque um pouco de água.
Essa instrução pode ser ambígua.
Quanto é “um pouco”?
Para uma pessoa, pode ser um copo.
Para outra, pode ser uma colher.
Em algoritmos, especialmente para computadores, é importante evitar ambiguidades.
Uma instrução melhor seria:
Coloque \(200\) mL de água.
8. Algoritmo em linguagem natural
A linguagem natural é a linguagem que usamos no dia a dia.
Podemos escrever algoritmos em português, usando frases simples e organizadas.
Exemplo
Algoritmo para calcular a área de um retângulo:
- ler a medida da base;
- ler a medida da altura;
- multiplicar a base pela altura;
- mostrar a área.
A fórmula usada é:
\[ A=b\cdot h \]
Esse algoritmo está escrito em linguagem natural.
9. Algoritmo em pseudocódigo
O pseudocódigo é uma forma intermediária entre a linguagem natural e uma linguagem de programação.
Ele não precisa seguir exatamente a sintaxe de uma linguagem real, mas deve ser organizado e próximo da lógica computacional.
Exemplo
início
leia base
leia altura
area <- base * altura
escreva area
fim
Esse pseudocódigo calcula a área de um retângulo.
10. Variáveis
Uma variável é um nome usado para armazenar um valor.
Em algoritmos, variáveis representam informações que podem mudar.
Exemplos de variáveis:
idade;nota;preco;altura;media;saldo;area.
Exemplo
Se escrevemos:
idade <- 15
estamos dizendo que a variável idade recebe o valor \(15\).
11. Atribuição
A atribuição é o ato de guardar um valor em uma variável.
Em pseudocódigo, podemos usar o símbolo:
<-
Exemplo:
total <- preco * quantidade
Isso significa:
calcule
preco * quantidadee guarde o resultado na variáveltotal.
12. Exemplo com variáveis
Algoritmo para calcular o preço total de uma compra:
início
leia preco
leia quantidade
total <- preco * quantidade
escreva total
fim
Se:
\[ preco=12 \]
e:
\[ quantidade=5 \]
então:
\[ total=12\cdot 5=60 \]
A saída será:
\[ 60 \]
13. Operadores aritméticos
Em algoritmos, usamos operadores para fazer cálculos.
| Operação | Símbolo matemático | Símbolo comum em pseudocódigo |
|---|---|---|
| adição | \(+\) | + |
| subtração | \(-\) | - |
| multiplicação | \(\cdot\) | * |
| divisão | \(\div\) | / |
| potência | \(a^b\) | a^b ou a ** b |
Exemplo
media <- (nota1 + nota2) / 2
Essa instrução soma duas notas e divide o resultado por \(2\).
14. Ordem das operações
A ordem das operações também importa nos algoritmos.
Por exemplo:
media <- nota1 + nota2 / 2
não é o mesmo que:
media <- (nota1 + nota2) / 2
Na primeira expressão, nota2 é dividida por \(2\) antes da soma.
Na segunda, as notas são somadas primeiro, e depois a soma é dividida por \(2\).
Por isso, usamos parênteses quando necessário.
15. Algoritmo para calcular média
Problema:
Calcular a média aritmética de três notas.
A média aritmética é:
\[ \text{média}=\frac{n_1+n_2+n_3}{3} \]
Em pseudocódigo:
início
leia n1
leia n2
leia n3
media <- (n1 + n2 + n3) / 3
escreva media
fim
16. Testando o algoritmo
Para testar um algoritmo, podemos usar valores específicos.
Considere:
\[ n_1=7 \]
\[ n_2=8 \]
\[ n_3=9 \]
Então:
\[ \text{média}=\frac{7+8+9}{3} \]
\[ \text{média}=\frac{24}{3} \]
\[ \text{média}=8 \]
O algoritmo deve mostrar:
\[ 8 \]
17. Condições
Muitos algoritmos precisam tomar decisões.
Para isso, usamos condições.
Uma condição é uma expressão que pode ser verdadeira ou falsa.
Exemplos:
idade >= 18;nota >= 6;saldo >= preco;numero > 0;media < 5.
Essas condições ajudam o algoritmo a escolher caminhos diferentes.
18. Estrutura condicional
A estrutura condicional permite executar instruções diferentes dependendo de uma condição.
Em pseudocódigo:
se condição então
instruções
senão
outras instruções
fim-se
Essa estrutura significa:
- se a condição for verdadeira, execute o primeiro bloco;
- caso contrário, execute o bloco do
senão.
19. Exemplo com condição
Problema:
Verificar se um estudante foi aprovado, considerando média mínima \(6\).
Pseudocódigo:
início
leia media
se media >= 6 então
escreva "Aprovado"
senão
escreva "Reprovado"
fim-se
fim
Se:
\[ media=7 \]
a saída será:
Aprovado
Se:
\[ media=4 \]
a saída será:
Reprovado
20. Operadores relacionais
Os operadores relacionais comparam valores.
| Significado | Símbolo matemático | Em pseudocódigo |
|---|---|---|
| maior que | \(>\) | > |
| menor que | \(<\) | < |
| maior ou igual | \(\geq\) | >= |
| menor ou igual | \(\leq\) | <= |
| igual | \(=\) | = ou == |
| diferente | \(\neq\) | != ou <> |
Esses operadores aparecem em condições.
21. Exemplo: número positivo ou negativo
Problema:
Verificar se um número é positivo, negativo ou zero.
Pseudocódigo:
início
leia n
se n > 0 então
escreva "positivo"
senão
se n < 0 então
escreva "negativo"
senão
escreva "zero"
fim-se
fim-se
fim
Esse algoritmo tem decisões encadeadas.
22. Repetição
Alguns algoritmos precisam repetir instruções.
Por exemplo:
- somar vários números;
- contar de \(1\) até \(10\);
- verificar várias notas;
- procurar um valor em uma lista;
- repetir uma pergunta até obter resposta válida.
Para isso, usamos estruturas de repetição.
Nesta aula, veremos apenas a ideia inicial.
23. Estrutura de repetição simples
Uma forma comum é repetir enquanto uma condição for verdadeira.
Em pseudocódigo:
enquanto condição faça
instruções
fim-enquanto
Exemplo
Contar de \(1\) até \(5\):
início
contador <- 1
enquanto contador <= 5 faça
escreva contador
contador <- contador + 1
fim-enquanto
fim
A saída será:
1
2
3
4
5
24. Cuidado com repetição infinita
Um algoritmo com repetição deve garantir que a condição pare de ser verdadeira em algum momento.
Considere:
contador <- 1
enquanto contador <= 5 faça
escreva contador
fim-enquanto
Nesse caso, o contador nunca muda.
Então a condição contador <= 5 continuará verdadeira para sempre.
Isso gera uma repetição infinita.
Para evitar isso, precisamos atualizar o contador:
contador <- contador + 1
25. Fluxogramas
Um fluxograma é uma representação visual de um algoritmo.
Ele usa símbolos para representar:
- início e fim;
- entrada e saída;
- processamento;
- decisão;
- fluxo das instruções.
Fluxogramas ajudam a visualizar a lógica do algoritmo antes de programá-lo.
26. Principais símbolos de um fluxograma
| Símbolo | Significado |
|---|---|
| Oval | início ou fim |
| Retângulo | processamento |
| Paralelogramo | entrada ou saída |
| Losango | decisão |
| Seta | direção do fluxo |
Em materiais digitais, podemos descrever fluxogramas por texto ou usar ferramentas gráficas.
27. Exemplo de fluxograma em texto
Algoritmo:
Ler dois números e mostrar a soma.
Fluxograma em texto:
[Início]
↓
[Ler a]
↓
[Ler b]
↓
[soma <- a + b]
↓
[Mostrar soma]
↓
[Fim]
Esse fluxograma representa uma sequência simples, sem decisões.
28. Fluxograma com decisão
Problema:
Verificar se um número é par.
Um número é par quando o resto da divisão por \(2\) é zero.
Em linguagem matemática:
\[ n\text{ é par se }n \equiv 0 \pmod 2 \]
Em pseudocódigo, podemos escrever:
se n mod 2 = 0 então
escreva "par"
senão
escreva "ímpar"
fim-se
Fluxograma em texto:
[Início]
↓
[Ler n]
↓
< n mod 2 = 0 ? >
├── Sim → [Mostrar "par"] → [Fim]
└── Não → [Mostrar "ímpar"] → [Fim]
O losango representa a decisão.
29. O que é mod?
O operador mod indica o resto da divisão inteira.
Exemplos:
\[ 7\div 2=3\text{ com resto }1 \]
Então:
7 mod 2 = 1
Já:
\[ 8\div 2=4\text{ com resto }0 \]
Então:
8 mod 2 = 0
Por isso, usamos n mod 2 = 0 para verificar se um número é par.
30. Exemplo completo: maior de dois números
Problema:
Ler dois números e mostrar o maior deles.
Linguagem natural
- ler o primeiro número;
- ler o segundo número;
- comparar os dois;
- se o primeiro for maior, mostrar o primeiro;
- caso contrário, mostrar o segundo.
Pseudocódigo
início
leia a
leia b
se a > b então
escreva a
senão
escreva b
fim-se
fim
Fluxograma em texto
[Início]
↓
[Ler a]
↓
[Ler b]
↓
< a > b ? >
├── Sim → [Mostrar a] → [Fim]
└── Não → [Mostrar b] → [Fim]
31. E se os números forem iguais?
O algoritmo anterior mostra b quando a não é maior que b.
Se:
\[ a=b \]
então ele mostra b.
Isso não está errado se o objetivo for apenas mostrar um dos maiores, pois os dois são iguais.
Mas, se quisermos informar que os números são iguais, precisamos melhorar o algoritmo.
32. Maior de dois números com igualdade
Pseudocódigo:
início
leia a
leia b
se a > b então
escreva "O maior é", a
senão
se b > a então
escreva "O maior é", b
senão
escreva "Os números são iguais"
fim-se
fim-se
fim
Esse algoritmo trata três casos:
- \(a>b\);
- \(b>a\);
- \(a=b\).
33. Algoritmo matemático: resolver equação do primeiro grau
Considere uma equação do tipo:
\[ ax+b=0 \]
com:
\[ a\neq 0 \]
A solução é:
\[ x=-\frac{b}{a} \]
Um algoritmo para resolver esse caso seria:
início
leia a
leia b
se a != 0 então
x <- -b / a
escreva x
senão
escreva "Não é equação do primeiro grau"
fim-se
fim
Esse algoritmo mostra que a matemática e a lógica computacional caminham juntas.
34. Algoritmo para calcular IMC
O Índice de Massa Corporal, em um modelo simplificado, é dado por:
\[ IMC=\frac{massa}{altura^2} \]
Um algoritmo para calcular o IMC seria:
início
leia massa
leia altura
imc <- massa / (altura * altura)
escreva imc
fim
Se:
\[ massa=70 \]
e:
\[ altura=1{,}75 \]
então:
\[ IMC=\frac{70}{1{,}75^2} \]
\[ IMC=\frac{70}{3{,}0625} \]
\[ IMC\approx 22{,}86 \]
35. Algoritmo para calcular desconto
Problema:
Ler o preço de um produto e o percentual de desconto. Mostrar o preço final.
Pseudocódigo:
início
leia preco
leia desconto
fator <- 1 - desconto / 100
preco_final <- preco * fator
escreva preco_final
fim
Exemplo:
Se:
\[ preco=200 \]
e:
\[ desconto=15 \]
então:
\[ fator=1-\frac{15}{100}=0{,}85 \]
e:
\[ preco\_final=200\cdot 0{,}85=170 \]
36. Algoritmo para calcular juros simples
A fórmula dos juros simples é:
\[ J=C\cdot i\cdot t \]
Se a taxa for informada em porcentagem, precisamos dividir por \(100\).
Pseudocódigo:
início
leia capital
leia taxa_percentual
leia tempo
taxa <- taxa_percentual / 100
juros <- capital * taxa * tempo
montante <- capital + juros
escreva juros
escreva montante
fim
Esse algoritmo aplica conteúdos da unidade anterior.
37. Algoritmo para calcular juros compostos
A fórmula dos juros compostos é:
\[ M=C(1+i)^t \]
Pseudocódigo:
início
leia capital
leia taxa_percentual
leia tempo
taxa <- taxa_percentual / 100
montante <- capital * (1 + taxa)^tempo
juros <- montante - capital
escreva juros
escreva montante
fim
Esse exemplo mostra como uma fórmula matemática pode ser transformada em algoritmo.
38. Decomposição de problemas
A decomposição é uma estratégia do pensamento computacional.
Ela consiste em dividir um problema maior em partes menores.
Exemplo
Problema:
Calcular o preço final de uma compra com desconto e imposto.
Podemos decompor:
- ler o preço inicial;
- aplicar o desconto;
- aplicar o imposto;
- mostrar o preço final.
Essa divisão facilita a construção do algoritmo.
39. Reconhecimento de padrões
Outro aspecto do pensamento computacional é reconhecer padrões.
Por exemplo, os algoritmos para desconto, acréscimo, inflação e juros compostos têm algo em comum:
- todos usam fatores multiplicativos;
- todos transformam porcentagens em decimais;
- todos atualizam um valor inicial.
Reconhecer esse padrão ajuda a resolver novos problemas.
40. Abstração
A abstração consiste em focar nas informações importantes e ignorar detalhes desnecessários.
Exemplo
Para calcular o preço final com desconto, não precisamos saber:
- a cor do produto;
- a marca;
- o nome da loja;
- o horário da compra.
Precisamos saber:
- preço inicial;
- percentual de desconto.
Essas são as informações relevantes para o algoritmo.
41. Algoritmo e computador
Um computador executa instruções de forma precisa, mas não entende ambiguidades como uma pessoa.
Por isso, algoritmos para computadores precisam ser muito claros.
Uma instrução como:
calcule a média
pode ser insuficiente.
Melhor:
media <- (nota1 + nota2 + nota3) / 3
O computador precisa saber exatamente quais valores usar e quais operações fazer.
42. Algoritmo não é necessariamente programa
Um algoritmo é a ideia ou o procedimento.
Um programa é uma implementação desse algoritmo em uma linguagem de programação.
O mesmo algoritmo pode ser implementado em várias linguagens, como:
- Python;
- JavaScript;
- R;
- C;
- Java;
- Scratch;
- Portugol.
Exemplo
Algoritmo:
somar dois números.
Esse algoritmo pode ser escrito em pseudocódigo, Python, JavaScript ou outra linguagem.
43. Exemplo em pseudocódigo e Python
Pseudocódigo:
início
leia a
leia b
soma <- a + b
escreva soma
fim
Código equivalente em Python:
a = float(input("Digite o primeiro número: "))
b = float(input("Digite o segundo número: "))
soma = a + b
print(soma)A lógica é a mesma.
A linguagem muda.
44. Atividade resolvida integradora 1
Construa um algoritmo para calcular a média de quatro notas e informar se o estudante foi aprovado.
Considere aprovação com média maior ou igual a \(6\).
Etapa 1: identificar entradas
As entradas são:
n1;n2;n3;n4.
Etapa 2: processamento
Calcular:
\[ media=\frac{n_1+n_2+n_3+n_4}{4} \]
Depois comparar:
\[ media\geq 6 \]
Etapa 3: saída
Mostrar a média e a situação:
- aprovado;
- reprovado.
Pseudocódigo
início
leia n1
leia n2
leia n3
leia n4
media <- (n1 + n2 + n3 + n4) / 4
escreva media
se media >= 6 então
escreva "Aprovado"
senão
escreva "Reprovado"
fim-se
fim
Teste
Se as notas forem:
\[ 7,\quad 6,\quad 8,\quad 5 \]
então:
\[ media=\frac{7+6+8+5}{4} \]
\[ media=\frac{26}{4} \]
\[ media=6{,}5 \]
Como:
\[ 6{,}5\geq 6 \]
a saída será:
Aprovado
45. Atividade resolvida integradora 2
Construa um algoritmo para calcular o preço final de um produto com desconto.
Entradas
- preço inicial;
- percentual de desconto.
Processamento
Calcular o fator de desconto:
\[ 1-\frac{p}{100} \]
Calcular o preço final:
\[ preco\_final=preco\cdot\left(1-\frac{p}{100}\right) \]
Saída
Preço final.
Pseudocódigo
início
leia preco
leia percentual_desconto
fator <- 1 - percentual_desconto / 100
preco_final <- preco * fator
escreva preco_final
fim
Teste
Se:
\[ preco=500 \]
e:
\[ percentual\_desconto=20 \]
então:
\[ fator=1-\frac{20}{100}=0{,}80 \]
e:
\[ preco\_final=500\cdot 0{,}80=400 \]
A saída será:
\[ 400 \]
46. Atividade resolvida integradora 3
Construa um algoritmo para verificar se uma pessoa pode votar, considerando idade mínima de \(16\) anos.
Entrada
- idade.
Processamento
Comparar:
\[ idade\geq 16 \]
Saída
- pode votar;
- não pode votar.
Pseudocódigo
início
leia idade
se idade >= 16 então
escreva "Pode votar"
senão
escreva "Não pode votar"
fim-se
fim
Fluxograma em texto
[Início]
↓
[Ler idade]
↓
< idade >= 16 ? >
├── Sim → [Mostrar "Pode votar"] → [Fim]
└── Não → [Mostrar "Não pode votar"] → [Fim]
47. Atividade resolvida integradora 4
Construa um algoritmo para contar de \(1\) até \(10\).
Pseudocódigo
início
contador <- 1
enquanto contador <= 10 faça
escreva contador
contador <- contador + 1
fim-enquanto
fim
Explicação
O algoritmo começa com:
contador <- 1
Depois verifica se:
contador <= 10
Enquanto essa condição for verdadeira, ele mostra o contador e soma \(1\).
Quando o contador passa a valer \(11\), a condição deixa de ser verdadeira, e o algoritmo termina.
48. Estratégia geral para construir algoritmos
Ao construir um algoritmo, siga estas etapas.
Etapa 1: entenda o problema
Pergunte:
O que precisa ser resolvido?
Etapa 2: identifique as entradas
Pergunte:
Quais dados são necessários?
Etapa 3: identifique o processamento
Pergunte:
Quais cálculos ou decisões devem ser feitos?
Etapa 4: identifique as saídas
Pergunte:
Qual resultado deve ser mostrado?
Etapa 5: organize os passos
Escreva os passos em ordem lógica.
Etapa 6: teste com exemplos
Use valores simples para verificar se o algoritmo funciona.
Etapa 7: revise ambiguidades
Verifique se as instruções estão claras e completas.
49. Erros comuns
Erro 1: não definir a entrada
Um algoritmo precisa saber quais dados receberá.
Erro 2: esquecer de mostrar a saída
Calcular um resultado sem exibi-lo torna o algoritmo incompleto.
Erro 3: usar instruções ambíguas
Instruções vagas podem gerar interpretações diferentes.
Erro 4: esquecer a ordem correta dos passos
Em algoritmos, a ordem das instruções pode mudar completamente o resultado.
Erro 5: esquecer parênteses em fórmulas
Expressões como média exigem parênteses:
media <- (n1 + n2 + n3) / 3
Erro 6: não tratar casos especiais
Por exemplo, em uma divisão, é preciso verificar se o divisor não é zero.
Erro 7: criar repetição infinita
Em estruturas de repetição, alguma variável precisa mudar para que a repetição termine.
Erro 8: confundir algoritmo com linguagem de programação
O algoritmo é a lógica.
A linguagem de programação é apenas uma forma de escrever essa lógica para o computador executar.
50. Exercícios
Resolva os exercícios a seguir.
Exercício 1
O que é um algoritmo?
Exercício 2
Cite três exemplos de algoritmos no cotidiano.
Exercício 3
Explique a diferença entre entrada, processamento e saída.
Exercício 4
Em um algoritmo que calcula a área de um retângulo, quais são as entradas, o processamento e a saída?
Exercício 5
Escreva um algoritmo em linguagem natural para calcular o dobro de um número.
Exercício 6
Escreva um pseudocódigo para calcular a soma de dois números.
Exercício 7
Escreva um pseudocódigo para calcular a média de três notas.
Exercício 8
Explique o que é uma variável.
Exercício 9
Explique o que significa a instrução:
total <- preco * quantidade
Exercício 10
Qual é a diferença entre estes dois comandos?
media <- n1 + n2 / 2
media <- (n1 + n2) / 2
Exercício 11
Escreva um pseudocódigo para verificar se uma nota é maior ou igual a \(6\).
Exercício 12
Escreva um pseudocódigo para verificar se uma pessoa tem idade maior ou igual a \(18\).
Exercício 13
Escreva um pseudocódigo para verificar se um número é positivo ou negativo.
Exercício 14
Escreva um pseudocódigo para verificar se um número é par ou ímpar.
Exercício 15
O que é um fluxograma?
Exercício 16
Quais são os principais símbolos usados em fluxogramas?
Exercício 17
Represente em fluxograma textual um algoritmo para ler dois números e mostrar a soma.
Exercício 18
Escreva um algoritmo para calcular a área de um triângulo, usando:
\[ A=\frac{b\cdot h}{2} \]
Exercício 19
Escreva um algoritmo para calcular o preço final de um produto com acréscimo percentual.
Exercício 20
Escreva um algoritmo para calcular juros simples.
Exercício 21
Escreva um algoritmo para contar de \(1\) até \(5\).
Exercício 22
Explique o que é uma repetição infinita.
Exercício 23
Explique a diferença entre algoritmo e programa.
Exercício 24
O que é decomposição de problemas?
Exercício 25
Por que é importante testar um algoritmo com exemplos?
51. Gabarito comentado
Exercício 1
Um algoritmo é uma sequência finita e organizada de instruções para resolver um problema ou realizar uma tarefa.
Ele deve ter passos claros, ordem lógica, início e fim.
Exercício 2
Exemplos possíveis:
- seguir uma receita de bolo;
- calcular a média de notas;
- sacar dinheiro em um caixa eletrônico;
- seguir um trajeto no mapa;
- montar um móvel usando manual;
- calcular o preço final de uma compra.
Exercício 3
Entrada são os dados recebidos pelo algoritmo.
Processamento são os cálculos, comparações ou decisões feitas com esses dados.
Saída é o resultado produzido pelo algoritmo.
Exercício 4
Para calcular a área de um retângulo:
Entradas:
- base;
- altura.
Processamento:
\[ A=b\cdot h \]
Saída:
- área do retângulo.
Exercício 5
Algoritmo em linguagem natural:
- ler um número;
- multiplicar o número por \(2\);
- mostrar o resultado.
Exercício 6
Pseudocódigo:
início
leia a
leia b
soma <- a + b
escreva soma
fim
Exercício 7
Pseudocódigo:
início
leia n1
leia n2
leia n3
media <- (n1 + n2 + n3) / 3
escreva media
fim
Exercício 8
Uma variável é um nome usado para armazenar um valor.
Exemplos:
idade;preco;media;total.
O valor de uma variável pode mudar durante a execução do algoritmo.
Exercício 9
A instrução:
total <- preco * quantidade
significa que o algoritmo deve multiplicar preco por quantidade e guardar o resultado na variável total.
Exercício 10
No primeiro comando:
media <- n1 + n2 / 2
a divisão de n2 por \(2\) acontece antes da soma.
No segundo comando:
media <- (n1 + n2) / 2
as notas são somadas primeiro, e depois a soma é dividida por \(2\).
O segundo comando é o correto para calcular a média de dois números.
Exercício 11
Pseudocódigo:
início
leia nota
se nota >= 6 então
escreva "Nota suficiente"
senão
escreva "Nota insuficiente"
fim-se
fim
Exercício 12
Pseudocódigo:
início
leia idade
se idade >= 18 então
escreva "Maior de idade"
senão
escreva "Menor de idade"
fim-se
fim
Exercício 13
Pseudocódigo:
início
leia n
se n > 0 então
escreva "positivo"
senão
se n < 0 então
escreva "negativo"
senão
escreva "zero"
fim-se
fim-se
fim
Exercício 14
Pseudocódigo:
início
leia n
se n mod 2 = 0 então
escreva "par"
senão
escreva "ímpar"
fim-se
fim
Exercício 15
Um fluxograma é uma representação visual de um algoritmo.
Ele usa símbolos e setas para mostrar a sequência dos passos, decisões, entradas, saídas e processamentos.
Exercício 16
Principais símbolos:
- oval: início ou fim;
- retângulo: processamento;
- paralelogramo: entrada ou saída;
- losango: decisão;
- seta: direção do fluxo.
Exercício 17
Fluxograma textual:
[Início]
↓
[Ler a]
↓
[Ler b]
↓
[soma <- a + b]
↓
[Mostrar soma]
↓
[Fim]
Exercício 18
Pseudocódigo:
início
leia base
leia altura
area <- (base * altura) / 2
escreva area
fim
Exercício 19
Pseudocódigo:
início
leia preco
leia percentual_acrescimo
fator <- 1 + percentual_acrescimo / 100
preco_final <- preco * fator
escreva preco_final
fim
Exercício 20
Pseudocódigo:
início
leia capital
leia taxa_percentual
leia tempo
taxa <- taxa_percentual / 100
juros <- capital * taxa * tempo
montante <- capital + juros
escreva juros
escreva montante
fim
Exercício 21
Pseudocódigo:
início
contador <- 1
enquanto contador <= 5 faça
escreva contador
contador <- contador + 1
fim-enquanto
fim
Exercício 22
Uma repetição infinita ocorre quando uma estrutura de repetição nunca termina.
Isso pode acontecer quando a condição de parada nunca deixa de ser verdadeira.
Exemplo: esquecer de atualizar o contador dentro de um laço.
Exercício 23
Um algoritmo é a sequência lógica de passos para resolver um problema.
Um programa é a implementação desse algoritmo em uma linguagem de programação.
O mesmo algoritmo pode ser escrito em diferentes linguagens.
Exercício 24
Decomposição de problemas é a estratégia de dividir um problema maior em partes menores e mais simples.
Isso facilita a compreensão, a organização e a construção do algoritmo.
Exercício 25
Testar um algoritmo com exemplos ajuda a verificar se ele produz o resultado esperado.
Também ajuda a encontrar erros de lógica, problemas de ordem dos passos, ambiguidades e casos especiais.
Síntese da aula
Nesta aula, estudamos algoritmos e fluxogramas.
Vimos que um algoritmo é uma sequência finita e organizada de instruções para resolver um problema ou realizar uma tarefa.
Estudamos a estrutura básica de muitos algoritmos:
- entrada;
- processamento;
- saída.
Também vimos que algoritmos podem ser escritos em linguagem natural, pseudocódigo ou implementados em uma linguagem de programação.
Aprendemos o papel das variáveis, da atribuição, dos operadores aritméticos, das condições e das estruturas de repetição.
Estudamos também os fluxogramas, que representam visualmente a lógica de um algoritmo usando símbolos como oval, retângulo, paralelogramo, losango e setas.
Construímos algoritmos para situações matemáticas e cotidianas, como:
- calcular média;
- verificar aprovação;
- calcular desconto;
- calcular juros;
- verificar se um número é par;
- contar de \(1\) até \(10\).
A ideia central da aula é que algoritmos ajudam a organizar o raciocínio e transformar problemas em sequências claras de passos.
Próximo passo
Na próxima aula, estudaremos sequências e padrões.
Vamos analisar regularidades numéricas, padrões de crescimento, termos de uma sequência e formas de descrever relações matemáticas por meio de regras.