Logica de Programação e Algoritmos do tipo Descrição Narrativa

Propaganda
18/08/14
Lógica de Programação
Significa o uso correto das leis do pensamento
e de processos de raciocínio para a produção
de soluções logicamente válidas e
coerentes, que resolvam com qualidade os
problemas que se deseja programar.
Pode ser representada em qualquer uma das
linguagens de programação à algoritmos.
ICC - 2ª Aula – LÓGICA PROGRAMAÇÃO
1
Ø  Algoritmo:
é uma sequência ordenada e
sem ambiguidade de passos que visam
atingir um objetivo bem definido e,
consequentemente levam à solução de um
problema.
Ø  P r o g r a m a ç ã o :
é responsável pela
instrução do computador, do que e de como
um problema deve ser resolvido.
3
PROBLEMA
Foram compradas 30 canetas iguais, e pagas com
uma nota de R$ 100,00, obtendo-se R$ 67,00 como troco.
Quanto custou cada caneta?
Supondo: X à custo de cada caneta
gastei: 30X
gastei + troco = 100
30X + 67 = 100
30X = 100 – 67
30X = 33
X = 33 / 30 = 1,10 à R$ 1,10
Em termos de variáveis:
N = número de canetas
Z = nota (valor) utilizado para pagar
Y = troco
X = (Z – Y) / N
2
Em um algoritmo é importante salientarmos:
Ø  Deve descrever exatamente quais são e em
que sequência as instruções devem ser
executadas;
Ø  A ordem dos passos deve ser precisamente
determinada;
Ø  Eficiente: resolve o problema com o mínimo
de recursos;
Ø  Eficaz: consegue resolver o problema em
qualquer situação. Todas as situações de
exceção que possam alterar o
comportamento do algoritmo devem ser
especificadas e tratadas.
4
1
18/08/14
Como Construir um Algoritmo
Problema
Existem várias formas para representar
os algoritmos, como por exemplo: descrição
narrativa, fluxograma ou diagrama de
blocos, pseudocódigo etc.
Análise Preliminar
Solução
Teste de Qualidade
Alteração
Produto Final
5
Treinando seu Cérebro
1) 
Treinando seu Cérebro
O painel do meio no centro do alvo não tem
número. O que o X representa?
12 10 7
21 X 10
30 22 13
12 10
6
2) Ao contrário
Para a direita sou a espada que fere; para a
esquerda sou a fera que é ferida. Que palavra sou
eu?
Ao contrário
Lâmina/Animal
7
21 16 10
30 22 13
7
8
2
18/08/14
Treinando seu Cérebro
1) 
Treinando seu Cérebro
Que nº dá o mesmo resultado quando
dividido por -6 ou subtraído de -6?
Temos: x / (-6) = (-6) – x
x = 36 + 6x
Assim: -5x = 36, logo x = -7,2
2) Que dois símbolos matemáticos (+, -, *, /)
você deve colocar nesta conta para obter 57?
76 ? 15 ? 20 = 57
76 * 15 / 20 = 57
3) A soma do quadrado de dois números
consecutivos é 1861. Quais são os dois
números?
x2 + (x + 1)2 = 1861
resposta: 30 e 31
9
Exemplos:
a)  algoritmo do tipo descrição narrativa
10
Exemplo: algoritmo do tipo descrição
narrativa para trocar uma lâmpada
queimada.
para somar 3 números.
b) algoritmo do tipo descrição narrativa
para sacar dinheiro em um Banco 24h.
1 – Remova a lâmpada queimada.
2 – Coloque uma nova lâmpada.
12
3
18/08/14
Detalhando ou refinando os passos:
1.1 – Coloque uma escada embaixo da lâmpada
queimada.
1.2 – Suba na escada até alcançar a lâmpada
queimada.
1.3 – Gire a lâmpada queimada no sentido antihorário até que ela se solte.
2.1 – Escolha uma lâmpada nova de mesma
potência/voltagem da queimada.
2.2 – Posicione a lâmpada nova no soquete.
2.3 – Gire a lâmpada no sentido horário, até que ela
se firme.
2.4 – Desça da escada.
2.5 – Guarde a escada.
13
Vamos agora, fazer uma suposição: e se
a lâmpada não estiver queimada?
Estrutura Condicional ou de Decisão
(seleção)
SE condição
ENTÃO comando1
comando2
comandon
SENÃO comando3
comando4
comandon
15
Ordenando os passos, temos:
1 - Coloque uma escada embaixo da lâmpada
queimada.
2 - Escolha uma lâmpada nova de mesma potência/
voltagem da queimada.
3 - Suba na escada até alcançar a lâmpada
queimada.
4 - Gire a lâmpada queimada no sentido anti-horário
até que ela se solte.
5 - Posicione a lâmpada nova no soquete.
6 - Gire a lâmpada no sentido horário, até que ela se
firme.
7 - Desça da escada.
8 - Guarde a escada.
14
1 – Acionar o interruptor.
2 – SE a lâmpada NÃO acender
3 - ENTÃO Acionar o interruptor
4 Coloque uma escada embaixo da
lâmpada queimada.
5Escolha uma lâmpada nova de mesma
potência/voltagem da queimada.
6Suba na escada até alcançar a lâmpada
queimada.
7 Gire a lâmpada queimada no sentido
anti-horário até que ela se solte.
8Posicione a lâmpada nova no soquete.
9Gire a lâmpada no sentido horário, até
que ela se firme.
10 Desça da escada.
11 Guarde a escada.
16
4
18/08/14
1 – Acionar o interruptor.
2 – SE a lâmpada NÃO acender
3 - ENTÃO Acionar o interruptor
4Coloque uma escada embaixo da
lâmpada queimada.
5Escolha uma lâmpada nova.
6ENQUANTO a potência/volt. não
for a mesma da queimada FAÇA
7Descarte a lâmpada escolhida
8Escolha outra lâmpada
9Suba um degrau da escada
Estrutura de Repetição
ENQUANTO condição FAÇA
comando1
comando2
comandon
17
10 11 12 13 14 15 16 17 18 19 20 -
ENQUANTO não possa alcançar a
lâmpada queimada FAÇA
Suba um degrau da escada.
Gire a lâmpada queimada no sentido antihorário.
ENQUANTO a lâmpada não estiver livre
do soquete FAÇA
Gire a lâmpada queimada no sentido
anti-horário.
Posicione a lâmpada nova no soquete.
Gire a lâmpada no sentido horário.
ENQUANTO a lâmpada não estiver firme
no soquete FAÇA
Gire a lâmpada no sentido horário.
Desça da escada.
Guarde a escada.
19
18
Exercícios
1 - Faça um algoritmo (Descrição Narrativa)
para realizar a troca de um pneu furado.
Utilizar estrutura de decisão e de repetição.
Considere as seguintes situações:
Ø  qualquer pneu;
Ø  qualquer pneu, porém verificar se o pneu
reserva está em condições de uso;
Ø  verificar se tem algum pneu furado; se
houver, verificar o pneu reserva e então,
trocar o pneu.
20
5
18/08/14
2 - Faça um algoritmo (Descrição Narrativa)
para fazer uma ligação telefônica de um
telefone público a cartão. Utilizar estrutura de
decisão e de repetição. Verificar se o cartão
tem unidades disponíveis.
ü  ligação local
ü  ligação a cobrar
ü  verificar se o telefone está funcionando e
depois fazer a ligação local.
21
3 - Elabore um algoritmo (Descrição Narrativa) que
mova três discos de uma Torre de Hanói, que
consiste em três hastes (a, b, c), uma das quais
serve de suporte para três discos de tamanhos
diferentes (1 - 2 - 3), os menores sobre os maiores.
Pode-se mover um disco de cada vez para qualquer
haste, contanto que nunca seja colocado um
disco maior sobre um menor. O objetivo é
transferir os três discos para outra haste.
22
6
Download