Construcao de Algoritmos - Aula 05
-
Upload
facema-faculdade-de-ciencias-e-tecnologia-do-maranhao -
Category
Education
-
view
83 -
download
0
Transcript of Construcao de Algoritmos - Aula 05
![Page 1: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/1.jpg)
Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges
Caxias – MA2016
ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
![Page 2: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/2.jpg)
2
Link Drive
bit.ly/ads-algoritmos
![Page 3: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/3.jpg)
3
Algoritmos
![Page 4: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/4.jpg)
4
Algoritmos Sequenciais
![Page 5: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/5.jpg)
5
• Algoritmos• Algoritmos Sequenciais• Introdução• Nas aulas de até então, foram
apresentadas... Definir os tipos de dados; Utilizar variáveis para armazenar estes
dados; e Relacionar os dados em expressões e
operadores.
• Todos esses conceitos são essenciais para a construção de algoritmos.
![Page 6: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/6.jpg)
6
• Algoritmos• Algoritmos Sequenciais
algoritmo "Adicao"// Função: Somar números// Autor : Jeovane Reges// Data : 01/05/2023// Seção de Declaraçõesvar n1, n2, soma: inteiro// Início do bloco de execuçãoinicio n1 ← 13 n2 ← 6 soma ← n1 + n2 escreval("Adicao: ", soma)
//fim do algoritmofimalgoritmo
Comentários
Declaração de variáveis
Bloco de Execução
![Page 7: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/7.jpg)
7
Algoritmos sequenciais, basicamente, executam um
conjunto de instruções uma após a outra.
![Page 8: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/8.jpg)
8
• Algoritmos• Algoritmos Sequenciais• Introdução• Considere as técnicas abaixo para
elaboração de um algoritmo (Ascencio e Campos, 2002). Ler atentamente o enunciado, destacando os
pontos mais importantes; Definir os dados de entrada; Definir a saída que se deseja alcançar; Definir o processamento (de que maneira será
ordenada a sequência de passos); Construir o algoritmo; Testar o algoritmo realizando simulações.
![Page 9: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/9.jpg)
9
Saída: • Quais os resultados que o algoritmo deve
fornecer?
Entrada: • Quais os insumos necessários para se obter a
saída?
Processamento: • Como transformar os insumos na
saída?
Antes de codificar qualquer algoritmo é importante que se saiba:
![Page 10: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/10.jpg)
10
Exemplo 01Faça um algoritmo que leia dois
números quaisquer e apresente o resultado das 4 operações aritméticas
básicas.
![Page 11: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/11.jpg)
11
• Algoritmos• Exemplo 01• Solucionando o problema...
• Entrada:• Dois números quaisquer (n1, n2)
• Saída:• soma, subtração, multiplicação e
divisão
•Processamento:• soma ← n1 + n2• subtracao ← n1 - n2• multiplicaca
o ← n1 * n2
• divisao ← n1 / n2
![Page 12: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/12.jpg)
12
• Algoritmos
1. algoritmo "Exemplo 01"2. var3. n1, n2, soma, sub, div, mult: real4. inicio5. escreva("Digite o 1o. valor: ")6. leia(n1)7. escreva("Digite o 2o. valor : ")8. leia(n2)9.10. soma ← n1 + n2 11. sub ← n1 - n212. div ← n1 / n213. mult ← n1 * n2 14.15. escreval("Soma: ", soma)16. escreval("Subtração: ", sub)17. escreval("Divisão: ", div)18. escreval("Multiplicação: ", mult)19. fimalgoritmo
Reso
luçã
o do
Exe
mpl
o 01
...
Entrada de
Dados
Processamento
Saída
![Page 13: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/13.jpg)
13
Exemplos Resolvidos
<Algoritmos Sequenciais>
![Page 14: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/14.jpg)
14
Problema IFaça um algoritmo que após ser
dado um número inteiro, imprima o seu antecessor e o seu sucessor.
![Page 15: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/15.jpg)
15
• Algoritmos• Problema I• Solucionando o problema...
• Entrada:• Um número qualquer..
• numero ← 8
• Saída:• antecessor // 7• sucessor // 9
•Processamento:• ant ← num - 1• suc ← num + 1
![Page 16: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/16.jpg)
16
• Algoritmos• Estrutura Sequencial
Resolução do Problema I
algoritmo "Problema 01"var numero, ant, suc: inteiroinicio numero ← 8 ant ← numero - 1 suc ← numero + 1 escreval("Antecessor: ", ant) escreval("Sucessor: ", suc)fimalgoritmo
![Page 17: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/17.jpg)
17
• Algoritmos• Estrutura Sequencial
Resolução do Problema I
Inicio
Fim
ant, suc
numero
ant ← numero – 1suc ← numero +
1
![Page 18: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/18.jpg)
18
Problema IIFaça um algoritmo que
apresente a soma de três números quaisquer.
![Page 19: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/19.jpg)
19
• Algoritmos• Problema II• Solucionando o problema...
• Entrada:• Três números quaisquer (n1, n2, n3)
• n1 ← 8• n2 ← 9• n3 ← 7
• Saída:• Soma dos três números // 24
• Processamento:• soma ← n1 + n2 + n3
![Page 20: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/20.jpg)
20
• Algoritmos• Estrutura Sequencial
Resolução do Problema II
algoritmo "Problema 02"var n1, n2, n3, soma: inteiroinicio n1 ← 8 n2 ← 9 n3 ← 7 soma ← n1 + n2 + n3 escreval("Soma: ", soma)fimalgoritmo
![Page 21: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/21.jpg)
21
• Algoritmos• Estrutura Sequencial
Resolução do Problema II
Inicio
Fim
soma
n1, n2, n3
soma ← n1 + n2 + n3
![Page 22: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/22.jpg)
22
Problema IIIFaça um algoritmo que leia o tempo e
a distância que um certo motorista levou da cidade A à cidade B. Em seguida, determine a velocidade média que o motorista dirigia.
![Page 23: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/23.jpg)
23
• Algoritmos• Problema III• Solucionando o problema...
• Entrada:• O tempo e a distância
• tempo ← 2• distancia ← 100
• Saída:• Velocidade média // 50 Km
• Processamento:• vm ← distancia / tempo
![Page 24: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/24.jpg)
24
• Algoritmos• Estrutura Sequencial
Resolução do Problema IIIalgoritmo "Problema 03"var tempo, distancia, vm: realinicio escreva("Digite o tempo: ") leia(tempo) escreva("Digite a distancia: ") leia(distancia) // velocidade média = distancia / tempo vm ← distancia / tempo
escreval("Velocidade media: ", vm)fimalgoritmo
![Page 25: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/25.jpg)
25
• Algoritmos• Estrutura Sequencial
Resolução do Problema III
Inicio
Fim
vm // veloc. média
tempo,distancia
vm ← distancia / tempo
![Page 26: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/26.jpg)
26
Problema IVFaça um algoritmo que leia o saldo
de uma aplicação, exiba o novo saldo após um acréscimo de
10%.
![Page 27: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/27.jpg)
27
• Algoritmos• Algoritmos Sequenciais
Porcentagens
1% → 0.0110% → 0.1015% → 0.1520% → 0.20100%
→ 1
105%
→ 1.05
110%
→ 1.1
![Page 28: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/28.jpg)
28
• Algoritmos• Problema IV• Solucionando o problema...
• Entrada:• O saldo de uma aplicação
• Saldo ← 5000
• Saída:• O saldo com acréscimo de 10% // R$ 5500
• Processamento:• reajuste ← saldo * 0.1• novo_saldo ← saldo + reajuste
![Page 29: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/29.jpg)
29
• Algoritmos• Estrutura Sequencial
Resolução do Problema IV
algoritmo "Problema 04"var saldo, novo_saldo, reajuste: realinicio escreva("Digite o saldo: ") leia(saldo)
reajuste ← saldo * 0.1 novo_saldo ← saldo + reajuste escreval("Novo Saldo: ", novo_saldo)fimalgoritmo
![Page 30: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/30.jpg)
30
• Algoritmos• Estrutura Sequencial
Resolução do Problema IV
Inicio
Fim
novo_saldo
saldo
reajuste ← saldo * 0.1novo_saldo ← saldo + reajuste
![Page 31: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/31.jpg)
31
Problema VFaça um algoritmo que após fornecidos
os valores para os coeficientes a, b, c e x de uma equação de segundo grau (ax2 + bx + c), apresente o seu resultado final.
![Page 32: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/32.jpg)
32
• Algoritmos• Problema V• Solucionando o problema...
• Entrada:• Coeficientes a, b, c e x
• a ← 3• b ← 2• c ← 4• x ← 2
• Saída:• Resultado da equação // 20
• Procedimento:• eq ← ax2 + bx + c
![Page 33: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/33.jpg)
33
• Algoritmos• Estrutura Sequencial
Resolução do Problema Valgoritmo "Problema 05"var a, b, c, x, eq: realinicio a ← 3 b ← 2 c ← 4 x ← 2
// eq ← ax2 + bx + c eq ← a * Quad(x) + (b * x) + c escreval("Resultado: ", eq)fimalgoritmo
![Page 34: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/34.jpg)
34
• Algoritmos• Estrutura Sequencial
Resolução do Problema V
Inicio
Fim
eq
a, b, c e x
eq ← ax2 + bx + c
![Page 35: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/35.jpg)
35
Problema VIUma Empresa paga a seu vendedor um
salário fixo de R$ 800,00, mais uma comissão de 15% pelo seu valor de
vendas no mês. Faça um algoritmo que leia o valor da venda e determine o
salário total do funcionário.
![Page 36: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/36.jpg)
36
• Algoritmos• Problema VI• Solucionando o problema...
• Entrada:• Salário fixo e o valor de vendas
• sal_fixo ← 800• val_vendas ← 10.000
• Saída:• Salário total do funcionário // R$ 2.300
• Procedimento:• comissao ← val_vendas * 0.15• sal_total ← sal_fixo + comissao
![Page 37: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/37.jpg)
37
• Algoritmos• Estrutura Sequencial
Resolução do Problema VIalgoritmo "Problema 06"var sal_fixo, sal_total: real val_vendas, comissao: realinicio escreva("Vendas mensais: ") leia(val_vendas)
sal_fixo ← 800 comissao ← val_vendas * 0.15 sal_total ← sal_fixo + comissao escreva("Salario total: ", sal_total)fimalgoritmo
![Page 38: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/38.jpg)
38
• Algoritmos• Estrutura Sequencial
Resolução do Problema VI
Inicio
Fim
sal_total
sal_fixo ← 800
comissao ← val_vendas * 0.15sal_total ← sal_fixo + comissao
![Page 39: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/39.jpg)
39
Problema VIIFaça um algoritmo que leia uma distancia
em milhas, apresente-a convertida em quilômetros. A formula de conversão é K =
1,61 ∗ M, sendo K a distancia em quilômetros e M em milhas.
![Page 40: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/40.jpg)
40
• Algoritmos• Problema VII• Solucionando o problema...
• Entrada:• Distância percorrida em milhas
• milhas ← 48
• Saída:• Distância em milhas convertida em
KM’s
• Processamento:• km ← 1.61 * milhas
![Page 41: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/41.jpg)
41
• Algoritmos• Estrutura Sequencial
Resolução do Problema VII
algoritmo "Problema 07"var milhas, km: realinicio escreva("Digite as milhas percorridas: ") leia(milhas)
km ← 1.61 * milhas escreva("Distancia em Km: ", km)fimalgoritmo
![Page 42: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/42.jpg)
42
• Algoritmos• Estrutura Sequencial
Resolução do Problema VII
Inicio
Fim
km
milhas
km ← 1.61 * milhas
![Page 43: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/43.jpg)
43
Problema VIIIFaça um algoritmo que calcule o comprimento de um círculo.
Comprimento = 2 x raio x pi
![Page 44: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/44.jpg)
44
• Algoritmos• Estrutura Sequencial
Resolução do Problema VIII
algoritmo "Problema 08"var raio, comprimento: realinicio raio ← 5 comprimento ← 2 * raio * Pi escreva(comprimento)fimalgoritmo
![Page 45: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/45.jpg)
45
• Algoritmos• Estrutura Sequencial
Resolução do Problema VIII
Inicio
Fim
comprimento
raio
comprimento ← 2 * raio * Pi
![Page 46: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/46.jpg)
46
Problema IXFaça um algoritmo que dado um
número inteiro de três algarismos, exiba cada algarismo
separadamente.
![Page 47: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/47.jpg)
47
• Algoritmos• Problema IX• Solucionando o problema...
• Entrada:• Um número (num)
• numero ← 735• Saída:
− Cada algarismo separadamente.− Centena: c // 7− Dezena: d // 3− Unidade: u // 5
• Processamento:• Próximo slide...
![Page 48: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/48.jpg)
48
• Algoritmos• Problema IX• Processamento...
735 100
(35) 7
Entrada: 735 Saída: Centenas = 7 Dezenas = 3 Unidade = 5
35 10
(5) 3
Centenas:735 / 100 = 7num div 100
Dezenas:(735 % 100) /10 = 3(num % 100) div 10
Unidade:(735 % 100) %10 = 5num % 10
![Page 49: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/49.jpg)
49
• Algoritmos• Estrutura Sequencial
Resolução do Problema IX
algoritmo "Problema 09"var num, c, d, u: inteiroinicio num ← 735 c ← num div 100 d ← (num % 100) div 10 u ← num % 10 escreval("Centena: ", c) escreval("Dezena: ", d) escreval("Unidade: ", u)fimalgoritmo
![Page 50: Construcao de Algoritmos - Aula 05](https://reader035.fdocumentos.tips/reader035/viewer/2022070509/58a53c901a28ab4f088b4983/html5/thumbnails/50.jpg)
50
• Algoritmos• Estrutura Sequencial
Resolução do Problema IXInicio
Fim
c // Centenad // Dezena
u // Unidade
num
c ← num div 100 d ← (num % 100) div 10 u ← num % 10