Documente Academic
Documente Profesional
Documente Cultură
UFRPE
Introduo Programao
Tema 2 Introduo Lgica de Programao e Algoritmos
Por: Prof. Robson Fidalgo
Introduo Programao - Prof. Robson Fidalgo 1
Contedo
UFRPE
Contextualizao
UFRPE
Abrangncia
Importncia
para
Objetivos
UFRPE
Introduzir conceitos e operaes da lgica matemtica Discutir e exemplificar problemas de lgica matemtica Caracterizar e ilustrar o que um algoritmo Discutir e exemplificar as estruturas bsicas de um algoritmo
Iniciando . . .
UFRPE
Noes de Lgica
UFRPE
O que lgica?
Noes de Lgica
UFRPE
= Cincia que estuda as leis do raciocnio. Correo/validao do pensamento. Encadeamento/ordem de idias. Arte de bem pensar.
Introduo Programao - Prof. Robson Fidalgo 7
Lgica
Noes de Lgica
UFRPE
O quarto est fechado e meu livro est no quarto. Ento, preciso primeiro abrir o quarto para pegar o livro.
Rosa me de Ana, Paula filha de Rosa, Jlia filha de Ana. Ento, Jlia neta de Rosa e sobrinha de Paula. Todo mamfero animal e todo cavalo mamfero. Ento, todo cavalo animal. Todo mamfero bebe leite e o homem bebe leite. Ento, todo homem mamfero e animal (mas no um cavalo).
8
Atividade 1
UFRPE
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 - Trs gatos comem trs ratos em trs 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
UFRPE
P5 Qual o prximo nmero da seqncia 7,8,10,13,17? P6 Um pai de 80kg e suas 2 filhas (40kg cada) precisam sair de uma ilha com um barco. Porm, a capacidade do barco de 80kg. Como faro para sair da ilha? P7 Usando uma jangada, um campons precisa atravessar uma cabra, um leo 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 deve fazer para atravessar o rio com seus pertences intactos?
10
Atividade 1
UFRPE
Respostas
R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente no desce 1 metro. R2 3 (trs) minutos. R3 Tio. R4 150 (cento e cinqenta) kg. R5 22. R6 Vo 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 leo; depois, s voltar e pegar a cabra.
11
Noes de Lgica
UFRPE
Noes de Lgica
UFRPE
Proposio: um enunciado verbal, ao qual deve ser atribudo, sem ambigidade, um valor lgico verdadeiro (V) ou falso (F).
Exemplos de proposies:
Robson Fidalgo Professor. (V) 3 + 5 = 10 (F) 5 < 8 (V) Onde voc vai ? 3+5 Os estudantes jogam vlei. (Quais ?)
Contra-exemplos de Proposies:
13
Noes de Lgica
UFRPE
Operaes Lgicas: so usadas para formar novas proposies a partir de proposies existentes.
Considerando p e q duas proposies genricas, pode-se aplicar as seguintes operaes lgicas bsicas sobre elas:
Operao Smbolo Negao ~ Conjuno ^ Disjuno v Significado No E OU
Definindo a prioridade:
Usar parnteses Ex:((p v q)^(~q)) ou Obedecer (~) > (^) > (v)
14
Noes de Lgica
UFRPE
Considere:
Ento:
4 NO mpar = ~q = (~F) = (V) 7 NO primo = ~p = (~V) = (F) 7 primo E 4 NO mpar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V) 7 primo E 4 mpar = p ^ q = (V ^ F) = (F) 4 mpar E 7 primo = q ^ p = (F ^ V) = (F) 4 mpar E 7 NO primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)
15
Noes de Lgica
UFRPE
Considere:
Ento:
7 primo OU 4 NO mpar = p v ~q = (V v (~F)) = (V v V) = (V) 7 primo OU 4 mpar = p v q = (V v F) = (V) 4 mpar OU 7 primo = q v p = (F v V) = (V) 4 mpar OU 7 NO primo = q v ~p = (F v (~V)) = (F v F ) = (F)
16
Noes de Lgica
UFRPE
Resumindo:
p V V F F q V F V F ~p F F V V p^q V F F F pvq V V V F
Ou seja:
No (~) troca o valor lgico. Se F passa a ser V e vice-versa. E (^) s tem valor V quando as duas proposies forem V. Basta uma proposio ser F para o resultado ser F. OU (v) s tem valor F quando as duas proposies forem F. Basta uma proposio ser V para o resultado ser V.
17
Atividade 2
UFRPE
~p ~q p^q pvq (~p) ^ q (~p) v q p ^ (~q) p v (~q) (~p) ^ (~q) (~p) v (~q)
18
Atividade 2
UFRPE
~p = F ~q = V p^q=F pvq=V (~p) ^ q = F (~p) v q = F p ^ (~q) = V p v (~q) = V (~p) ^ (~q) = F (~p) v (~q) = V
19
O que Algoritmo?
20
Algoritmo
Seqncia lgica e no ambgua de instrues que levam soluo de um problema num tempo finito.
=
21
Seqncia lgica
No ambgua
A seqncia lgica e as instrues no devem dar margem dupla interpretao. A seqncia lgica deve resolver exatamente (nem mais e nem menos) o problema identificado.
Soluo de um problema
Tempo finito
22
Exemplos de algoritmos
Contra-exemplos de algoritmos
Listas de compras
Dana informal
ndice remissivo de um livro
23
Ateno:
Tarefas que possuem padro de comportamento podem ser descritas por um algoritmo.
24
25
Lgica de Programao
o encadeamento lgico de instrues para o desenvolvimento de programas.
=
26
O que Programa?
27
Programa
a implementao das instrues (codificao+traduo+execuo) de um algoritmo em uma linguagem de programao.
=
28
O que Instruo?
29
Instruo
Informao que representa uma ao elementar que deve ser executada.
=
30
Ateno
O ; (ponto-e-vrgula) indica o fim de uma instruo!
31
Exemplos de instrues
Contra-exemplos e instrues
33
Para desenvolver o raciocnio lgico e conceber uma soluo a um dado problema, independente de uma linguagem de programao. (Ex: Pascal, C e Phyton)
Porque, a partir do algoritmo desenvolvido, fica mais fcil implementar o respectivo programa.
34
KNUTH - Professor da Universidade de Stanford e autor da coleo The art of computer programming.
WIRTH - Professor da Universidade de Zurique, autor de diversos livros na rea e responsvel pela criao de linguagens de programao como ALGOL, PASCAL e MODULA -2.
35
Seqncia Incio/Fim
Define uma estrutura onde as instrues sero executadas na ordem que aparecem.
Seleo Se-Ento/Seno
Define uma estrutura condicional que, dada a sua avaliao (V ou F), determina qual caminho do algoritmo ser executado.
Define uma estrutura de iterao condicional (V ou F) ou contada (predefinida) de instrues.
36
3. Introduzir o carto;
4. Teclar o nmero desejado; 5. Conversar; 6. Desligar; 7. Retirar o carto; Fim.
Introduo Programao - Prof. Robson Fidalgo
37
38
Incio 1. Repita 1. Tirar o fone do gancho; 2. Se ouvir o sinal de linha ento 1. Introduzir o carto; 2. Teclar o nmero desejado; 3. Conversar; 4. Desligar; 5. Retirar o carto; 3. Seno 1. ir para o prximo telefone; 2. At ouvir o sinal de linha Fim.
Introduo Programao - Prof. Robson Fidalgo
39
Algoritmo para ligar de um telefone pblico Repetio E se o telefone chamado estiver com defeito? E se o telefone chamado estiver ocupado? E se acabarem os crditos do carto telefnico? E se ...?
Calma! normal que um algoritmo sofra melhorias sucessivas. (Tcnica de refinamentos sucessivos)
Introduo Programao - Prof. Robson Fidalgo 40
Atividade 3
UFRPE
41
Atividade 3
UFRPE
2. At ltimo aluno
Fim
42
43