...

Algoritmo - Jonatas Bastos

by user

on
Category: Documents
1

views

Report

Comments

Transcript

Algoritmo - Jonatas Bastos
Algoritmos Prof. Jonatas Bastos
1
Algoritmo
Definições
p 
p 
p 
p 
p 
p 
Algoritmo é uma sequência finita de passos que levam a execução
de uma tarefa. Que levam a resolução de determinado problema.
Podemos pensar em algoritmo como uma receita, uma sequência
de instruções que dão cabo de uma meta específica. Na linguagem
comum, entende-se por instruções “um conjunto de regras ou
normas definidas para a realização ou emprego de algo”.
Uma Sequência Lógica pode ser definida como uma sequência de
instruções, que devem ser seguidas para se cumprir uma
determinada tarefa.
Lógica é uma sequência coerente de pensamentos e idéias para
atingir determinado objetivo.
Lógica de programação é a lógica aplicada para o desenvolvimento
de programas.
Usamos os algoritmo para criarmos programas. E os programas
existem para resolver problemas.
Destrinchando os algoritmos
•  Faça um algoritmo para “Chupar uma bala”!
•  Algoritmo
–  Pegar a bala
–  Retirar o papel
–  Chupar a bala
–  Jogar o papel no lixo
Destrinchando os algoritmos
p 
Qual é o problema?
n 
p 
Chupar uma bala!
Quais são os passos necessários para resolver o
problema?
n 
n 
n 
n 
Pegar a bala
-> Instrução
Retirar o papel
-> Instrução
Chupar a bala
-> Instrução
Jogar o papel no lixo
-> Instrução
Destrinchando os algoritmos
p 
Os passo apresentados a seguir tem uma sequência
lógica?
n 
n 
n 
n 
p 
Pegar a bala
Chupar a bala
Retirar o papel
Jogar o papel no lixo
E os passos a seguir?
n 
n 
n 
n 
Pegar a bala
Retirar o papel
Chupar a bala
Jogar o papel no lixo
Dicas de como construir Algoritmo
p  Para
escrever um algoritmo precisamos
descrever a sequência de instruções, de
maneira simples e objetiva. Para isso
utilizaremos a seguinte técnicas:
1. Entender o problema
2. Usar somente um verbo por frase
3. Usar frases curtas e simples
4. Ser objetivo
5. Procurar usar palavras que não tenham sentido
dúbio
6. Desconsiderar os detalhes
Elementos fundamentais
p  Todo
algoritmo pode ser divido em três
elementos fundamentais
Elementos fundamentais
Onde:
p  Entrada – São os dados de entrada do algoritmo.
São os valores que serão utilizados para efetuar
determinado processamento;
p  Processamento – São os cálculos, verificações,
comparações ou qualquer outra operação,
qualquer outro processamento que produza um
resultado final.
p  Saída – São os resultados obtidos com o
processamento dos dados de entrada.
As vezes os dados de entradas são implícitos,
ou seja, não são tão claro.
Exemplo
SAÍDA
ENTRADA
Ingredientes
ESTADO
INICIAL
SEQUÊNCIA
FINITA DE
AÇÕES BEM
DEFINIDAS
ESTADO
FINAL
Elementos Fundamentais
p 
Faça um algoritmo que receba a cotação do dólar
em real e certa quantia em dólares. Calcule o
valor equivalente em real.
Entrada
Processamento
Saída
Cotação
Qtd.
Dolares
Valor =
Cotação * Qtd.
Dolares
Valor
Elementos Fundamentais
p 
Faça um programa que receba o valor do salário
de um funcionário e o valor do salário mínimo.
Calcule e imprima quantos salários mínimos
ganha esse funcionário.
Entrada
Processamento
Saída
Salário
Funcionário/
Salario Mínimo
Salário funcionário
/ Salário Mínimo
Qtd de
Salários
mínimos
Elementos Fundamentais
p 
p 
Atividades:
Para cada algoritmo abaixo identifique no enunciado os dados de
entrada, o processamento que será usado e os dados de saída.
n 
n 
n 
n 
1. Faça um algoritmo que receba o ano de nascimento
de uma pessoa e o ano atual. Calcule e imprima a idade
dessa pessoa.
2. Faça um algoritmo que receba o salário de um
funcionário, calcule e imprima o valor do imposto de
renda a ser pago, sabendo que o imposto equivale a 5%
do salário.
3. Faça um algoritmo que receba duas notas de um
aluno e seus respectivos pesos, calcule e mostre a
média ponderada dessas notas. Média ponderada =
(nota1*peso1) + (nota2*peso2) / (peso1 + peso2)
4. Faça um algoritmo que receba a idade de uma pessoa
em anos, calcule e imprima essa idade em: Meses, Dias,
Horas e Minutos.
Exemplo 1
Algoritmo para fazer uma ligação em telefone público.
Início
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
Fim.
Tirar o fone do gancho;
Ouvir o sinal de linha;
Introduzir o cartão;
Teclar o número desejado;
Ouvir o sinal de chamar;
Aguardar que atendam;
Conversar;
Desligar;
Retirar o cartão;
ESTRUTURA SEQUENCIAL
E se o número chamado estiver ocupado?
14/60
Exemplo 1 – incluindo uma condição
Algoritmo para fazer uma ligação em telefone público.
Início
Tirar o fone do gancho;
2. 
Ouvir o sinal de linha;
3. 
Introduzir o cartão;
4. 
Teclar o número desejado;
5. 
Ouvir
o sinal
de de
chamar;
Se ouvir
o sinal
chamar
6.  Aguardar que atendam;
7.  Conversar;
8. 
Desligar;
9. 
Retirar o cartão;
ESTRUTURA DE SELEÇÃO
Fim.
1. 
E se o número chamado estiver ocupado?
15/60
Exemplo 1 – incluindo uma condição
Algoritmo para fazer uma ligação em telefone público.
Início
1. 
2. 
3. 
4. 
5. 
8. 
9. 
Tirar o fone do gancho;
Ouvir o sinal de linha;
Introduzir o cartão;
Teclar o número desejado;
Se ouvir o sinal de chamar;
6. 
Aguardar que atendam;
7. 
Conversar;
Desligar;
Retirar o cartão;
Fim.
Podemos ficar tentando ligar até desocupar a linha
16/60
Exemplo 1 – incluindo uma repetição
Algoritmo para fazer uma ligação em telefone público.
Início
1. 
2. 
3. 
4. 
5. 
6. 
7. 
8. 
9. 
Fim.
Tirar o fone do gancho;
Ouvir o sinal de linha;
Introduzir o cartão;
Teclar o número desejado;
Enquanto
ouvir
o sinal de chamar
Se
não ouvir não
o sinal
de chamar
Aguardar que atendam
Conversar;
Desligar;
Retirar o cartão;
17/60
Exemplo 1 – incluindo uma repetição
Algoritmo para fazer uma ligação em telefone público.
Início
1. 
2. 
3. 
4. 
5. 
11.
6. 
12.
7. 
13.
8. 
14.
9. 
Fim.
Tirar o fone do gancho;
Ouvir o sinal de linha;
Introduzir o cartão;
Teclar o número desejado;
Enquanto não ouvir o sinal de chamar
6.  Desligar;
7.  Tirar o fone do gancho;
8.  Ouvir o sinal de linha;
9.  Introduzir o cartão;
10.  Teclar o número desejado;
Aguardar que atendam
Conversar;
Desligar;
Retirar o cartão;
ESTRUTURA DE REPETIÇÃO
18/60
Exemplo 1
Algoritmo para fazer uma ligação em telefone público.
Início
1. 
2. 
3. 
4. 
5. 
11. 
12. 
13. 
14. 
E se não
Tirar o fone do gancho;
der linha?
E se o
Ouvir o sinal de linha;
cartão não
Introduzir o cartão;
tiver
Teclar o número desejado;
créditos?
Enquanto não ouvir o sinal de chamar
6. 
Desligar;
7. 
Tirar o fone do gancho;
Podemos detalhar
8. 
Ouvir o sinal de linha;
mais nosso
9. 
Introduzir o cartão;
algoritmo...
10.  Teclar o número desejado;
Aguardar que atendam;
E se não
Conversar;
atenderem
Desligar;
?
Retirar o cartão;
Fim.
19/60
Exemplo 2
Algoritmo: Troca de lâmpada queimada
Início
1. 
2. 
3. 
4. 
5. 
6. 
Fim.
pegar uma escada;
posicionar a escada embaixo da lâmpada;
buscar uma lâmpada nova;
subir na escada;
retirar a lâmpada velha;
colocar a lâmpada nova.
ESTRUTURA SEQUENCIAL
Não seria bom verificar primeiro se a
lâmpada está realmente queimada antes
de trocá-la?
20/60
Exemplo 2
Algoritmo: Troca de lâmpada queimada com teste
Início
1. 
2. 
3. 
4. 
4. 
5. 
5. 
6. 
Fim.
pegar uma escada;
posicionar a escada embaixo da lâmpada;
buscar uma lâmpada nova;
acionar
interruptor;
subir
na oescada;
se a lâmpada
nãovelha;
acender, então
retirar
a lâmpada
6.
colocar a lâmpada nova.
7.
8.
ESTRUTURA DE SELEÇÃO
Não seria bom verificar primeiro se a
lâmpada está realmente queimada antes
de trocá-la?
21/60
Exemplo 2
Algoritmo: Troca de lâmpada queimada com
Algoritmo: Troca de lâmpada queimada com teste
teste no início
Início
1. 
2. 
3. 
4. 
5. 
Fim.
Início
pegar uma escada;
1.  acionar o interruptor;
posicionar a escada embaixo da lâmpada;
2.  se a lâmpada não acender, então
buscar uma lâmpada nova;
3.  pegar uma escada;
acionar o interruptor;
4.  posicionar a escada embaixo da
se a lâmpada não acender, então
lâmpada;
6. 
subir na escada;
5.  buscar uma lâmpada nova;
7. 
retirar a lâmpada
velha;
6.  subir
na escada;
8. 
colocar a lâmpada
nova.a lâmpada velha;
7.  retirar
8.  colocar a lâmpada nova.
Fim.
22/60
Fly UP