Sunteți pe pagina 1din 43

Bacharelado em Sistemas de Informao

UFRPE

Introduo Programao
Tema 2 Introduo Lgica de Programao e Algoritmos
Por: Prof. Robson Fidalgo
Introduo Programao - Prof. Robson Fidalgo 1

Contedo
UFRPE

Noes de Lgica Lgica de Programao e Algoritmos

Introduo Programao - Prof. Robson Fidalgo

Contextualizao
UFRPE

Abrangncia

Introduzir os conceitos bsicos relacionados lgica de programao e algoritmos

Importncia

Os conceitos discutidos formam a base programao de sistemas computacionais

para

Introduo Programao - Prof. Robson Fidalgo

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

Introduo Programao - Prof. Robson Fidalgo

Iniciando . . .
UFRPE

Introduo Programao - Prof. Robson Fidalgo

Noes de Lgica
UFRPE

O que lgica?

Introduo Programao - Prof. Robson Fidalgo

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

Exemplos de aplicao da lgica

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

Introduo Programao - Prof. Robson Fidalgo

Atividade 1
UFRPE

Resolva os seguintes problemas de lgica:

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?

Introduo Programao - Prof. Robson Fidalgo

Atividade 1
UFRPE

Resolva os seguintes problemas de lgica:

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?

Introduo Programao - Prof. Robson Fidalgo

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.

Introduo Programao - Prof. Robson Fidalgo

11

Noes de Lgica
UFRPE

Em Lgica um conceito importante o de Proposio


Voc sabe o que uma PROPOSIO?
Introduo Programao - Prof. Robson Fidalgo 12

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:

Introduo Programao - Prof. Robson Fidalgo

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

Introduo Programao - Prof. Robson Fidalgo

Noes de Lgica
UFRPE

Exemplos de aplicao das operaes lgicas

Considere:

p = 7 primo = (V) q = 4 mpar = (F)

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)

Introduo Programao - Prof. Robson Fidalgo

15

Noes de Lgica
UFRPE

Exemplos de aplicao das operaes lgicas (Cont.)

Considere:

p = 7 primo = (V) q = 4 mpar = (F)

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)

Introduo Programao - Prof. Robson Fidalgo

16

Noes de Lgica
UFRPE

Exemplos de aplicao das operaes lgicas

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

Introduo Programao - Prof. Robson Fidalgo

Atividade 2
UFRPE

Considerando p = V e q = F, resolva as seguintes expresses lgicas:


~p ~q p^q pvq (~p) ^ q (~p) v q p ^ (~q) p v (~q) (~p) ^ (~q) (~p) v (~q)
18

Introduo Programao - Prof. Robson Fidalgo

Atividade 2
UFRPE

Considerando p = V e q = F, resolva as seguintes expresses lgicas:


~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

Introduo Programao - Prof. Robson Fidalgo

Lgica de Programao & Algoritmo


UFRPE

O que Algoritmo?

Introduo Programao - Prof. Robson Fidalgo

20

Lgica de Programao & Algoritmo


UFRPE

Algoritmo
Seqncia lgica e no ambgua de instrues que levam soluo de um problema num tempo finito.
=

Introduo Programao - Prof. Robson Fidalgo

21

Lgica de Programao & Algoritmo


UFRPE

Caractersticas bsicas de um algoritmo

Seqncia lgica

As instrues devem ser definidas em uma ordem correta.

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

A seqncia lgica no deve possuir iteraes infinitas.

Introduo Programao - Prof. Robson Fidalgo

22

Lgica de Programao & Algoritmo


UFRPE

Exemplos de algoritmos

Receitas de comidas Coreografia Manuais de instalao

Contra-exemplos de algoritmos

Listas de compras

Dana informal
ndice remissivo de um livro
23

Introduo Programao - Prof. Robson Fidalgo

Lgica de Programao & Algoritmo


UFRPE

Ateno:

Um algoritmo uma soluo e no a soluo de um problema.

Um problema pode ser resolvido por mais de um algoritmo!

Tarefas que possuem padro de comportamento podem ser descritas por um algoritmo.

Ex: Qual ser o prximo nmero da seqncia 0,1,4,9,16,25?

Introduo Programao - Prof. Robson Fidalgo

24

Lgica de Programao & Algoritmo


UFRPE

O que Lgica de Programao?

Introduo Programao - Prof. Robson Fidalgo

25

Lgica de Programao & Algoritmo


UFRPE

Lgica de Programao
o encadeamento lgico de instrues para o desenvolvimento de programas.
=

Introduo Programao - Prof. Robson Fidalgo

26

Lgica de Programao & Algoritmo


UFRPE

O que Programa?

Introduo Programao - Prof. Robson Fidalgo

27

Lgica de Programao & Algoritmo


UFRPE

Programa
a implementao das instrues (codificao+traduo+execuo) de um algoritmo em uma linguagem de programao.
=

Introduo Programao - Prof. Robson Fidalgo

28

Lgica de Programao & Algoritmo


UFRPE

O que Instruo?

Introduo Programao - Prof. Robson Fidalgo

29

Lgica de Programao & Algoritmo


UFRPE

Instruo
Informao que representa uma ao elementar que deve ser executada.
=

Introduo Programao - Prof. Robson Fidalgo

30

Lgica de Programao & Algoritmo


UFRPE

Ateno
O ; (ponto-e-vrgula) indica o fim de uma instruo!

Introduo Programao - Prof. Robson Fidalgo

31

Lgica de Programao & Algoritmo


UFRPE

Exemplos de instrues

Girar a chave; Desligar interruptor da luz; Acordar;

Contra-exemplos e instrues

Entrar em casa (girar a chave + ...)

Trocar uma lmpada (desligar interruptor + ...)


Ir para o trabalho (acordar + ...)
32

Introduo Programao - Prof. Robson Fidalgo

Lgica de Programao & Algoritmo


UFRPE

Por que aprender algoritmos ?

Introduo Programao - Prof. Robson Fidalgo

33

Lgica de Programao & Algoritmo


UFRPE

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.

Introduo Programao - Prof. Robson Fidalgo

34

Lgica de Programao & Algoritmo


UFRPE

Segundo grandes pesquisadores ...

A noo de algoritmo bsica para toda a programao de computadores. KNUTH

KNUTH - Professor da Universidade de Stanford e autor da coleo The art of computer programming.

O conceito central da programao e da cincia da computao o conceito de algoritmo. WIRTH

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.

Introduo Programao - Prof. Robson Fidalgo

35

Lgica de Programao & Algoritmo


UFRPE

Estruturas bsicas de um algoritmo:

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

Repetio Repita, Enquanto ou Para

Introduo Programao - Prof. Robson Fidalgo

Lgica de Programao & Algoritmo


UFRPE

Algoritmo para ligar de um telefone pblico Seqncia:


Incio
1. Tirar o fone do gancho; 2. Ouvir o sinal de linha;

3. Introduzir o carto;
4. Teclar o nmero desejado; 5. Conversar; 6. Desligar; 7. Retirar o carto; Fim.
Introduo Programao - Prof. Robson Fidalgo

Este algoritmo s usa uma estrutura de seqncia Incio/Fim

37

Lgica de Programao & Algoritmo


UFRPE

Algoritmo para ligar de um telefone pblico Seleo


E se o telefone pblico estiver com defeito? Incio 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; Este algoritmo usa uma 4. Desligar; estrutura de deciso 5. Retirar o carto; Se-ento/Seno 3. Seno 1. Ir para o prximo telefone; Fim.

Introduo Programao - Prof. Robson Fidalgo

38

Lgica de Programao & Algoritmo


UFRPE

Algoritmo para ligar de um telefone pblico Repetio


E se o prximo telefone pblico tambm estiver com defeito?

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

Este algoritmo usa uma estrutura de repetio Repita/At

39

Lgica de Programao & Algoritmo


UFRPE

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

Reescreva corretamente o algoritmo abaixo Algoritmo aprovao


Incio 1. Obter as 2 notas do aluno; 2. Repita 1. Se Mdia do aluno >=7, ento 1. Repita 1. Informar que o aluno est REPROVADO; 2. At Mdia < 7 2. Seno Mdia >= 7 1. Informar que o aluno est APROVADO; 3. At ltimo aluno; Fim.

Introduo Programao - Prof. Robson Fidalgo

41

Atividade 3
UFRPE

Resposta Algoritmo aprovao


Incio
1. Repita 1. Obter as 2 notas do aluno; 2. Se Mdia do aluno >=7, ento 1. Informar que o aluno est APROVADO 3. Seno 1. Informar que o aluno est REPROVADO;

2. At ltimo aluno
Fim

Introduo Programao - Prof. Robson Fidalgo

42

Bacharelado em Sistemas de Informao


UFRPE

Introduo Programao - Prof. Robson Fidalgo

43

S-ar putea să vă placă și