Disciplina: Constr. de Algoritmos e Prog. de SistemasProfessor: Jeovane Reges
Caxias – MA2016
ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
2
Link Drive
bit.ly/ads-algoritmos
3
Algoritmos
4
Algoritmos Sequenciais
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.
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
7
Algoritmos sequenciais, basicamente, executam um
conjunto de instruções uma após a outra.
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.
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:
10
Exemplo 01Faça um algoritmo que leia dois
números quaisquer e apresente o resultado das 4 operações aritméticas
básicas.
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
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
13
Exemplos Resolvidos
<Algoritmos Sequenciais>
14
Problema IFaça um algoritmo que após ser
dado um número inteiro, imprima o seu antecessor e o seu sucessor.
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
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
17
• Algoritmos• Estrutura Sequencial
Resolução do Problema I
Inicio
Fim
ant, suc
numero
ant ← numero – 1suc ← numero +
1
18
Problema IIFaça um algoritmo que
apresente a soma de três números quaisquer.
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
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
21
• Algoritmos• Estrutura Sequencial
Resolução do Problema II
Inicio
Fim
soma
n1, n2, n3
soma ← n1 + n2 + n3
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.
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
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
25
• Algoritmos• Estrutura Sequencial
Resolução do Problema III
Inicio
Fim
vm // veloc. média
tempo,distancia
vm ← distancia / tempo
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%.
27
• Algoritmos• Algoritmos Sequenciais
Porcentagens
1% → 0.0110% → 0.1015% → 0.1520% → 0.20100%
→ 1
105%
→ 1.05
110%
→ 1.1
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
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
30
• Algoritmos• Estrutura Sequencial
Resolução do Problema IV
Inicio
Fim
novo_saldo
saldo
reajuste ← saldo * 0.1novo_saldo ← saldo + reajuste
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.
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
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
34
• Algoritmos• Estrutura Sequencial
Resolução do Problema V
Inicio
Fim
eq
a, b, c e x
eq ← ax2 + bx + c
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.
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
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
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
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.
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
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
42
• Algoritmos• Estrutura Sequencial
Resolução do Problema VII
Inicio
Fim
km
milhas
km ← 1.61 * milhas
43
Problema VIIIFaça um algoritmo que calcule o comprimento de um círculo.
Comprimento = 2 x raio x pi
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
45
• Algoritmos• Estrutura Sequencial
Resolução do Problema VIII
Inicio
Fim
comprimento
raio
comprimento ← 2 * raio * Pi
46
Problema IXFaça um algoritmo que dado um
número inteiro de três algarismos, exiba cada algarismo
separadamente.
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...
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
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
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
Top Related