Slide 1 - UNESP Sorocaba

Propaganda
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
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
 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.
 Programação:
é
responsável
pela
instrução do computador, do que e de como
um problema deve ser resolvido.
3
Por que construir um algoritmo?
Representar mais fielmente o raciocínio
envolvido na Lógicas de Programação.
Não leva em consideração detalhes da ling. de
programação.
TRADUÇÃO PARA QUALQUER LING. PROGR.
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.
5
Existem várias formas para representar
os algoritmos, como por exemplo: descrição
narrativa, fluxograma ou diagrama de
blocos, pseudocódigo etc.
6
Como Construir um Algoritmo
Problema
Análise Preliminar
Solução
Teste de Qualidade
Alteração
Produto Final
7
DICAS:
1)
2)
3)
4)
5)
Não decorar as soluções.
ENTENDER o problema.
Utilizar: analogia, generalização ou especialização.
Aproveitar partes dos problemas.
Não existe “FÓRMULA MÁGICA”.
Treinando seu Cérebro
1)
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
7
21 16 10
30 22 13
9
Treinando seu Cérebro
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
10
Treinando seu Cérebro
1)
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
11
Treinando seu Cérebro
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
12
Exemplos:
a) algoritmo do tipo descrição narrativa
para somar 3 números.
b) algoritmo do tipo descrição narrativa
para sacar dinheiro em um Banco 24h.
Exemplo: algoritmo do tipo descrição
narrativa para trocar uma lâmpada
queimada.
1 – Remova a lâmpada queimada.
2 – Coloque uma nova lâmpada.
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.
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.
16
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
17
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 de mesma
potência/voltagem da queimada.
6Suba na escada até alcançar a
lâmpada queimada.
7Gire 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.
18
Estrutura de Repetição
ENQUANTO condição FAÇA
comando1
comando2
comandon
19
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
20
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.
21
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.
22
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.
23
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.
24
Download