Algoritmos e T
écnicas
- L
ógica
-Algoritmo
textual informal
Modo de preparo:
–
Bata a margarina, as gemas e o a
çúcar até ficar
cremoso
–
Junte o leite, o coco e a farinha e continue
batendo
–
Acrescente o fermento e, por
último, as claras em
neve
–
Unte uma forma com manteiga e leve ao forno
Quão cremoso?!?De uma vez só?!? Quanto tempo?!?
Quanto tempo?!?
Modo de preparo (refinado):
–
Bata a margarina, as gemas e o a
çúcar
por 15
minutos
–
Junte o leite, o coco e a farinha e continue
batendo
por mais 15 minutos
–
Acrescente 20 g de fermento
e, por último
, as
claras em neve
–
Unte uma forma com manteiga e leve ao forno
para assar
por 30 minutos
Algoritmo
textual informal
Problema da Torre de Han
ói
–
Seja a seguinte situa
ção:
deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original
em cada movimento, pode-se mover apenas um disco um disco nunca poderá ser sobreposto por outro maior
Passo 1:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos
Passo 2:
mova disco médio para segundo eixo
Passo 3:
mova disco menor para segundo eixo
Algoritmo: Problemas Complexos
Passo 4:
mova disco maior para terceiro eixo
Passo 5:
mova disco menor para primeiro eixo
Algoritmo: Problemas Complexos
Passo 6:
mova disco médio para terceiro eixo
Passo 7:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos
Seq
üência de passos completa:
Passo 1: mova disco menor para terceiro eixo Passo 2: mova disco médio para segundo eixo Passo 3: mova disco menor para segundo eixo Passo 4: mova disco maior para terceiro eixo Passo 5: mova disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova disco menor para terceiro eixo
Lembre-se
N
ão existe um algoritmo para
construir algoritmos
–
a cria
ção de um algoritmo é um exercício de
criatividade (conhecimento)
e
experi
ência (técnica
e pr
ática)
O que
é Programação?
=
ABSTRAÇÃO
!
A realidade é complexa
e rica em detalhes!
Abstração
Realidade
Realidade
O que você
O que você
abstrai
abstrai
dessa realidade?
dessa realidade?
Abstra
ção
Abstra
ção
Abstração
=
Operação mental que
observa a realidade e
captura apenas os
aspectos relevantes
Abstra
ção
Realidade Realidade
Sistema de Locadora de Veículo
Sistema de Locadora de Veículo
Abstração Abstração + + Programação Programação
A tarefa de
programar sistemas
computacionais
envolve o exerc
ício
constante da
abstra
ção da
realidade e sua
codifica
ção em uma
linguagem de
programa
ção
Sistema Computacional
O que é um
Sistema
Computacional
Software Hardware PeoplewareSistema Computacional
A programa
ção de um sistema computacional
pode ser resumida em
3 passos básicos
Processamento
Entrada Saída
Dispositivo
de Entrada Dispositivode Saída
Memória
UCP
Exemplo 1
–
Exibir a m
édia de dois números
ProcessamentoEntrada Saída
Dispositivo
de Entrada Dispositivode Saída
Memória
UCP
6 , 8
(6 + 8) / 2
7
Sistema Computacional
Exemplo 2
–
Exibir se o aluno est
á aprovado ou
reprovado
Processamento
Entrada Saída
Dispositivo
de Entrada Dispositivode Saída
Memória
UCP
Sistema Computacional
Arquitetura de um computador hipotético –Modelo de Von Neuman
Unidade Central de Processamento
(1) Dispositivo de Entrada (3) Unidade de Controle (2) Unidade Lógica e Aritmética (4) Memória Principal
(5) Dispositivo
de Saída
Trajeto de dados Trajeto de sinais de controle
Programa
ção de Sistema Computacional
Tipos de Linguagens de Programação
– 1 -Totalmente codificadas em binário (0´s e 1´s)
– 2 -Usa instruções simbólicas para representar os 0´s e 1´s – 3 -Voltadas para facilitar o raciocínio humano
Linguagem
Assembly
(
Mnem
ô
nica
)
LOAD R1, val1
Linguagem
de
M
á
quina
0010 0001 1110
Linguagem
de
Alto N
í
vel
val2 = val1+val2
No
ções de Lógica
A l
ógica é o ramo da filosofia que cuida das
regras do bem pensar, ou do pensar correto,
sendo, portanto, um
instrumento do pensar
.
É também a designação para o estudo de
sistemas prescritivos de
racioc
ínio
, ou seja,
sistemas que definem como se "deveria"
realmente pensar para n
ão errar, usando a
raz
ão,
dedutivamente
e
indutivamente
.
No
ções de Lógica
Exemplos de aplicação da lógica
– O quarto está fechado e meu livro está no quarto. Então, preciso primeiro abrir o quarto para pegar o livro
– Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana. Então, Júlia éneta de Rosa e sobrinha de Paula
– Todo mamífero é animal e todo cavalo é mamífero. Então, todo cavalo éanimal
Atividade 1 (10min)
Resolva os seguintes problemas de l
ó
gica
– P1
–
Uma lesma deve subir um poste de 10m de
altura. De dia sobe 2m e
à
noite desce 1m. Em
quantos dias atingir
á
o topo do poste?
– P2
- Tr
ês gatos comem três ratos em três minutos.
Cem gatos comem cem ratos em quantos
minutos?
– P3
- O pai do padre
é
filho do meu pai. O que eu
sou do Padre?
– P4
- Se um bezerro pesa 75 kg mais meio bezerro,
quanto pesa um bezerro inteiro?
Atividade 1 (10min)
– P5
–
Qual o pr
ó
ximo n
ú
mero da seq
üência
7,8,10,13,17,?
– P6
–
Um pai de 80kg e suas 2 filhas (40kg cada),
precisam sair de uma ilha com um barco. Por
é
m a
capacidade do barco
é
de 80kg. Como far
ão para
sair da ilha?
– P7
–
Usando uma jangada, um campon
ês precisa
atravessar uma cabra, um le
ão e um fardo de
capim para a outra margem do rio. A jangada s
ó
tem lugar para ele e mais outra coisa. O que ele
RESPOSTAS
- Atividade 1
– R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce 1 metro
– R2 –3 (três) minutos – R3 –Tio
– R4 –150 (cento e cinqüenta) kg – R5 –22
– R6 –Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem juntas.
– R7 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim e leve a cabra de volta; deixe a cabra e leve o leão, depois ésó voltar e pegar a cabra.
No
ções de Lógica
Em L
ó
gica um conceito importante
é
o de
“
Proposição
”
Você sabe o que é uma
No
ções de Lógica
Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambigüidade, um valor lógico verdadeiro (V) ou falso (F).
– Exemplos de proposições:
Robson Fidalgo éProfessor (V) 3 + 5 = 10 (F)
5 < 8 (V)
– Contra-exemplos de Proposições: Onde você vai ?
3 + 5
Os estudantes jogam vôlei. (quais ?)
No
ções de Lógica
Operações Lógicas: são usadas para formar novas proposições a partir de proposições existentes.
– Considerando p e q duas proposições genéricas, pode-se aplicar as seguintes operações lógicas básicas sobre elas
– Definindo a prioridade:
Operação Símbolo Significado Negação ~ Não Conjunção ^ E
No
ções de Lógica
F v F = F
F ^ F = F
F v V = V
F ^ V = F
~ F = V
V v F = V
V ^ F = F
~ V = F
V v V = V
V ^ V = V
Tabela
~
(Não)
Tabela v (ou)
Tabela ^ (e)
Tabela Verdade
Exemplos de aplica
ção das operações ló
gica
–
Considere:
p = 7 é primo = (V)
q = 4 é impar = (F)
–
Ent
ão:
4
N
ÃO é impar = ~q = (~F) = (V)
7
N
ÃO é primo = ~p = (~V) = (F)
7 é primo
E
4
N
ÃO é impar = p ^ ~q = (V ^ (~F)) =
(V ^ V) = (V)
Exemplos de aplicação das operações lógica (Cont.) – Considere:
p = 7 é primo = (V) q = 4 é impar = (F) – Então:
7 é primo OU4 NÃO é impar = p v ~q = (V v (~F)) =
(V v V) = (V)
7 é primo OU4 é impar = p v q = (V v F) = (V) 4 é impar OU7 é primo = q v p = (F v V) = (V) 4 é impar OU7 NÃO é primo = q v ~p = (F v (~V)) =
(F v F ) = (F)
No
ções de Lógica
Exemplos de aplicação das operações lógica – Resumindo:
– Ou seja:
Não (~) troca o valor lógico. Se éF passa a ser V e vice-versa
E (^) só tem valor V quando as duas proposições forem V, basta uma proposição ser F para o resultado ser F
p q p ^ q p v q V V V V V F F V F V F V F F F F ~p F F V V pp qq p ^ qp ^ q p v qp v q V V VV VV VV V V FF FF VV F F VV FF VV F F FF FF FF ~p ~p F F F F V V V V
No
ções de Lógica
Atividade 2
Considerando p = V e q = F, resolva as seguintes expressões lógicas
– ~p – ~q – p ^ q – p v q – (~p) ^ q – (~p) v q – p ^ (~q) – p v (~q) – (~p) ^ (~q) – (~p) v (~q)
RESPOSTAS
- Atividade 2
Considerando p = V e q = F, resolva as seguintes expressões lógicas – ~p = F – ~q = V – p ^ q = F – p v q = V – (~p) ^ q = F – (~p) v q = F – p ^ (~q) = V –