L ÓGICA DE P ROGRAMAÇÃO
A ULA 2
Nayara Carrasco - nayara.senac@gmail.com Fev/2012
R EVISÃO E C ORREÇÃO ...
• SISTEMA: conjunto de subsistemas ou módulos formados por programas que executam operações específicas
2
Cadastro
DVD Sistema (videolocadora)
Subsistema
Cadastro cliente
Cadastro locação
R EVISÃO E C ORREÇÃO ...
1. Defina os possíveis subsistemas de um sistema de vendas on-line
• Cadastro/Manutenção de produtos
• Cadastro/Manutenção de usuários
• Cadastro/Manutenção de fornecedores
• Cadastro/Manutenção de promoções
• Controle de entrega
• Avaliação/satisfação do cliente
• Sistema de recomendação de produtos
• Suporte on-line
• Pagamento
• ... 3
R EVISÃO E C ORREÇÃO ...
• Sequência de ações = PROGRAMA
• Como as ações serão realizadas? = LÓGICA DE PROGRAMAÇÃO
• Contextualizar a lógica na programação de computadores buscando a melhor sequência de ações
• Sequência de ações = ALGORITMO
• AÇÃO = ato que, a partir de um estado inicial, após um período de tempo, produz um estado final previsível
4
R EVISÃO E C ORREÇÃO ...
2. Escreva a seqüência de passos:
a) Para uma pessoa que precisa trocar um pneu furado
• Pegar a chave de roda
• Pegar o macaco
• Pegar o pneu reserva
• Afrouxar os parafusos da roda que contém o pneu furado com a chave de roda
• Encaixar o macaco embaixo do carro
• Levantar o carro até que o pneu rode
• Retirar os parafusos da roda que contém o pneu furado
• Retirar a roda com o pneu furado
• Colocar o pneu reserva
• Encaixar os parafusos na roda
• Abaixar o carro com o macaco
• Apertar os parafusos da roda
• Retirar o macaco debaixo do carro
• Guardar o macaco
• Guardar a chave de roda
• Guardar o pneu furado
5
R EVISÃO E C ORREÇÃO ...
b) Para se obter a resposta da operação matemática “5 multiplicado por 6 mais 2, dividido por 3” em calculadora simples
• Pegar uma calculadora simples
• Ligar a calculadora
• Teclar o número 5
• Teclar o sinal x referente à multiplicação
• Teclar o número 6
• Teclar o sinal + referente à soma
• Teclar o número 2
• Teclar o sinal ÷ referente à divisão
• Teclar o número 3
• Teclar o sinal = referente a igual
• Visualizar o resultado 6
R EVISÃO E C ORREÇÃO ...
3. Descubra o próximo número da sequência
1 – 2 – 3 – 5 – 8 – 13 – 21 – 34 – 55 – ...
1 – 2 – 3 – 5 – 8 – 13 – 21 – 34 – 55 – (34 + 55) 1 – 2 – 3 – 5 – 8 – 13 – 21 – 34 – 55 – 89
7
+ + + ...
R EVISÃO E C ORREÇÃO ...
4. Complete a análise lógica:
Todo o habitante natural da Lua é um extraterrestre.
Todo o selenita é um habitante natural da Lua.
Logo, algum selenita é um ...
Todo o habitante natural da Lua é um extraterrestre.
Todo o selenita é um habitante natural da Lua.
Logo, algum selenita é um extraterrestre.
8
R EVISÃO E C ORREÇÃO ...
5. Os carros de Arthur, Bernardo e César são, não necessariamente nessa ordem, uma Brasília, uma Parati e um Santana. Um dos carros é cinza, um outro é verde e o outro é azul. O carro de Arthur é cinza; o carro de César é o Santana; o carro de Bernardo não é verde e não é a Brasília.
Qual carro pertence a cada um e qual é a sua cor?
9 Arthur Bernardo César
Carro cinza não é Brasília
Cor não é verde Santana
Arthur Bernardo César Carro cinza azul verde
Cor Brasília Parati Santana
Informações do
enunciado
T ÓPICOS
• Algoritmos
• Refinamento de ações
• Exercícios
10
A LGORITMO
•
Seqüência finita de passos (ações) que levam à execução de uma tarefa
•
Claro e preciso
•
Ex. “somar dois números”:
• Escrever primeiro número no retângulo A
• Escrever segundo número no retângulo B
• Somar o número do retângulo A com o número do retângulo B e escrever o resultado no retângulo C
11
A B C
+ =
A LGORITMO
•
Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com sucesso•
Outros algoritmos freqüentemente encontrados no dia-a- dia são:‒
instruções para se utilizar um aparelho eletrodoméstico;‒
guia de preenchimento para declaração do imposto derenda; 12
A LGORITMO
Todo algoritmo deve apresentar algumas características básicas:
– Ter fim;
– Não dar margem à dupla interpretação (não ambíguo);
– Capacidade de receber dado(s) de entrada do mundo exterior;
– Poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo;
– Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito).
13
A LGORITMO
Métodos para a contrução de algoritmos:
• Ler atentamente o enunciado (é justamente o enunciado do exercício que fornece o encaminhamento necessário à resolução do problema!).
• Retirar do enunciado a relação das entradas de dados.
• Retirar do enunciado a relação das saídas de dados.
14
A LGORITMO
Métodos para a contrução de algoritmos:
• Determinar o que deve ser feito para transformar as entradas determinadas nas saídas específicas.
• É nesta fase determinamos a construção de algoritmos propriamente dito, pois, a partir de alguns requisitos especificados, devemos determinar qual a seqüência de ações é capaz de transformar um conjunto definido de dados nas informações de resultado.
15
A LGORITMO
• Problema: Criar um algoritmo para colocar um carro em movimento
Solucionando...
1. No começo do algoritmo, deve-se colocar a ação início início
2. Deve-se colocar a ação de entrar no carro início
Entrar no carro 16
A LGORITMO
3. Ajustar o banco e os espelhos retrovisores
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores 4. Colocar sinto de segurança
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
17
A LGORITMO
5. Colocar o câmbio em ponto morto início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto 6. Ligar o carro
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto
Ligar o carro 18
A LGORITMO
7. Colocar o câmbio na primeira marcha
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto Ligar o carro
Colocar o câmbio na primeira marcha
19
A LGORITMO
8. Pisar no acelerador
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto Ligar o carro
Colocar o câmbio na primeira marcha Pisar no acelerador
20
A LGORITMO
9. Soltar freio de mão
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto Ligar o carro
Colocar o câmbio na primeira marcha Pisar no acelerador
Soltar freio de mão
21
A LGORITMO
10. Soltar embreagem devagar
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto Ligar o carro
Colocar o câmbio na primeira marcha Pisar no acelerador
Soltar freio de mão
Soltar embreagem devagar
22
A LGORITMO
11. Finalizar o algoritmo pois a meta foi atingida
início
Entrar no carro
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Colocar o câmbio em ponto morto Ligar o carro
Colocar o câmbio na primeira marcha Pisar no acelerador
Soltar freio de mão
Soltar embreagem devagar
fim 23
E XERCÍCIOS
1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo
a) Receba código da peça b) Receba valor da peça
c) Receba Quantidade de peças
d) Calcule o valor total da peça (Quantidade * Valor da peça) e) Mostre o código da peça e seu valor total
24
E XERCÍCIOS
2) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que: ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2
3) Monte um algoritmo com ações para encontrar o nome de João Ferreria Neto em uma lista telefônica
4) Monte um algoritmo com ações para retirar R$ 100,00 de um caixa automático de banco
25
A LGORITMO
Refinando ações
• O Algoritmo é um conjunto de ações, como visto anteriormente, porém estas ações são divididas em dois tipos: primitivas e não primitivas.
• Uma ação é primitiva quando não se pode refiná-la ainda mais.
Ex: o ínicio do exercício para colocar o carro em movimento.
• Entretanto a ação “Colocar o câmbio em ponto morto” é uma ação não primitiva, pois se pode refiná-la em mais quatro ações (pisar na embreagem, pegar no câmbio, colocar em ponto morto, soltar embreagem)
• A partir disto, conclui-se que se deve refinar as ações não
primitivas, até que se tornem primitivas. 26
A LGORITMO
• Representação da ação primitiva “Entrar no carro”:
ref. Entrar no carro Abrir a porta Sentar no banco Fechar a porta fim – ref
• Representação da ação primitiva “Colocar o câmbio em ponto morto”:
ref. Colocar o câmbio em ponto morto Pisar na embreagem
Pegar o câmbio
Colocar em marcha de ponto morto Soltar a embreagem
fim – ref 27
A LGORITMO
• Representação da ação primitiva “Colocar câmbio na primeira marcha”:
ref. Colocar câmbio na primeira marcha Pisar na embreagem
Pegar o câmbio
Colocar na primeira marcha fim – ref
28
A LGORITMO
Substituindo os refinamentos:
início
Abrir a porta Sentar no banco Fechar a porta
Ajustar o banco e os espelhos retrovisores Colocar sinto de segurança
Pisar na embreagem Pegar o câmbio
Colocar em marcha de ponto morto Soltar a embreagem
Ligar o carro
Pisar na embreagem Pegar o câmbio
Colocar na primeira marcha Pisar no acelerador
Soltar freio de mão
Soltar embreagem devagar fim
29
A LGORITMO
30 1 – Desce do carro
1 – Estacionar o carro no acostamento;
2 – Desligar o carro;
3 – Ligar a pisca alerta;
4 – Retirar o cinto de segurança;
5 – Abrir a porta;
6 – Colocar as pernas para fora do carro;
7 – Sair do veículo;
2 – Pega o estepe
8 – Abrir o porta malas;
9 – Pegar o triângulo de sinalização;
10 – Montar o triângulo;
11 – Colocar o triângulo no asfalto para fazer a sinalização;
12 – Retirar o macaco do porta malas;
13 – Colocar o macaco ao lado do carro;
14 – Retirar o estepe do porta malas;
15 – Colocar o estepe ao lado do carro;
Refinamentos para ações de troca de pneu:
A LGORITMO
31 3 – Troca o Pneu
16 – Colocar o macaco sob o carro;
17 – Girar a manivela para levantar o carro;
18 – Pegar a chave;
19 – Retirar os parafusos;
20 – Retirar o pneu;
21 – Colocar o estepe;
22 – Parafusar o pneu;
23 – Girar a manivela do macaco ao contrario;
24 – Colocar o pneu no porta malas;
25 – Colocar o macaco no porta malas;
26 – Guardar o triângulo;
27 – Fechar o porta malas;
4 – Volta a viajar
28 – Abrir a porta do carro;
29 – Sentar no banco;
30 – Colocar as pernas para dentro;
31 – Colocar o cinto de segurança;
32 – Ligar o carro;
33 – Continuar a viagem;
E XERCÍCIOS
5) Faça um algoritmo para troca de uma lâmpada queimada, que contenha pelo menos um refinamento. Para essa troca, você tem disponível uma escada e uma lâmpada nova e testada
6) Faça um algoritmo para consulta de um livro na biblioteca, utilizando o processo de refinamentos sucessivos
7) Faça um algoritmo para tocar a quinta música de um CD, utilizando o processo de refinamentos sucessivos
32