Buscar

Aula2 Tec ProgramacaoI logica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. M.Sc. Anderson Soares
andersonsoares@ufra.edu.br
Técnicas de Programação I 1
TÉCNICAS EM PROGRAMAÇÃO I
Introdução
Introdução a computação
Algoritmo
Noções de lógica
Conclusão
O que vamos ver na aula 
de hoje?
2Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Identificação
– Aula 02
– Disciplina: Técnicas de 
Programação I
• Objetivo
• Breve histórico
• Lógica de programação
• Referências
Objetivos
3Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Objetivos:
– Apresentar os conceitos elementares de lógica.
– Estabelecer uma relação entre lógica e algoritmos.
Breve história
4Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Álgebra de Boole
– George Boole em 1847 publicou um volume de título: 
The Mathematical Analysis of Logic (A análise 
matemática da lógica).
– Introduz conceitos de lógica simbólica demonstrando 
que a lógica podia ser representada por equações 
algébricas. 
– 100 anos depois seu trabalho foi fundamental para a 
construção e programação dos computadores 
eletrônicos.
Breve história
5Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
Mas o que tem de 
novo nessa Álgebra 
de Boole
Breve história
6Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Álgebra de Boole
– Nesta álgebra existem apenas 3 (três) operadores:
• E (AND);
• Ou (OR);
• Não (NOT).
Breve história
7Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Álgebra de Boole
– Em 1937, Claude Shannon (estudante do MIT) 
estabeleceu a relação da álgebra de Boole e os 
circuitos eletrônicos.
Breve história
8Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
Mas afinal, o que 
aconteceu?
Breve história
9Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Álgebra de Boole
– Na álgebra de Boole existem apenas 2 (dois) estados 
lógicos:
• Sim/Verdadeiro/1
• Não/Falso/0
Breve história
10Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Álgebra de Boole
– Claude Shannon transferiu os 2 (dois) estados lógicos 
(Sim e Não) para diferentes diferenças de potencial no 
circuito.
– Atualmente todos os computadores usam a Álgebra 
de Boole materializada em microships que contêm 
milhares de interruptores miniaturizados combinados
em portas lógicas produzindo resultados em 
linguagem binária.
Lógica de programação
11Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
Existe lógica no 
dia-a-dia?
Lógica de programação
12Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Lógica no dia-a-dia
– A lógica é importante no dia-a-dia, já que para que 
quando queremos pensar, falar, escrever ou agir 
corretamente, precisamos colocar “ordem no 
pensamento” (FORBELLONE, 2005).
– Ex: O professor já está em sala. Eu cheguei atrasado. 
Logo devo pedir licença ao professor ao entrar na sala.
Lógica de programação
13Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
Mas e a lógica de 
programação?
Lógica de programação
14Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Mas e a lógica de programação?
– É o uso correto das leis do pensamento, da “ordem da 
razão” e de processos de raciocínio e simbolização
formais na programação de computadores 
(FORBELLONE, 2005).
– Objetivo: Ter racionalidade e desenvolver técnicas 
que cooperem na produção de soluções logicamente 
válidas e coerentes, que resolvam com qualidade os 
problemas que se deseja programar (FORBELLONE, 
2005).
Lógica de programação
15Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Expressão lógica
– Denomina-se expressão lógica a expressão cujos 
operadores são lógicos e cujos operadores são 
relações, constantes e/ou variáveis do tipo lógico 
(Lopes e Garcia, 2002).
Lógica de programação
16Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Expressão lógica
Fonte: Lopes e Garcia, 2002.
Operador Matemática Usaremos
Conjunção E &&
Disjunção Ou ||
Negação Não !
Lógica de programação
17Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Tabela verdade do operador &&/AND/E/^
• Suponha 2 perguntas feitas a 4 pessoas. Só será chamado 
para a entrevista quem dominar as 2 linguagens.
Fonte: Lopes e Garcia, 2002.
Você conhece a 
linguagem C++?
Você conhece a 
linguagem Java?
Saída
0 0 0
0 1 0
1 0 0
1 1 1
Lógica de programação
18Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Tabela verdade do operador ||/OR/Ou/v
• Suponha 2 perguntas feitas a 4 pessoas. Só será chamado 
para a entrevista quem dominar pelo menos 1 linguagem.
Fonte: Lopes e Garcia, 2002.
Você conhece a 
linguagem C++?
Você conhece a 
linguagem Java?
Saída
0 0 0
0 1 1
1 0 1
1 1 1
Lógica de programação
19Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Tabela verdade do operador !/NOT/Nao
– A cor da camisa A não é azul.
– A cor da camisa B não é amarela.
Fonte: Lopes e Garcia, 2002.
Camisa Cor Saída
A Azul Falso
B Verde Verdadeiro
Lógica de programação
20Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Tabela verdade do operador !/NOT/Não/¬
Fonte: Lopes e Garcia, 2002.
A !A Saída
1 0 Falso
0 1 Verdadeiro
Lógica de programação
21Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Expressão lógica
– Se chover E relampejar, eu fico em casa. Quando eu 
fico em casa?
• Chover = A
• Relampejar = B
A B Saída
0 0 0
0 1 0
1 0 0
1 1 1
Lógica de programação
22Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Expressão lógica
– Se chover OU relampejar, eu fico em casa. Quando eu 
fico em casa?
• Chover = A
• Relampejar = B
A B Saída
0 0 0
0 1 1
1 0 1
1 1 1
23Técnicas de Programação I
1. Qual o resultado das proposições?
a) 2 < 5 e 15/3 = 5
b) 2<5 ou 15/3 = 5
c) Falso ou 20/(18/3) != (21/3) / 2 (Considere apenas 
valores inteiros)
d) Não Verdadeiro ou 3²/3 < 15 – 35 / 7 (Considere o 
apenas o resto da divisão)
Introdução
Breve histórico
Lógica de programação
Conclusão Exercício
Referências
24Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Bibliografia Básica:
– MIZRAHI, V. V. Treinamento em Linguagem C. 2ª. 
Edição. São Paulo: Pearson Prentice Hall, 2008.
– FARRER, H.; BECKER, C. G. et al. Algoritmos 
Estruturados. 3ª Edição. Rio de Janeiro: LTC, 1999.
– FORBELLONE, A. L. & EBERSPÄCHER, H. F. Lógica de 
Programação – A Construção de Algoritmos e 
Estruturas de Dados. 3ª Edição. São Paulo: Pearson, 
2005.
Referências
25Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Bibliografia Complementar:
– ASCENCIO, A. F. G. & CAMPOS, E. A. V. Fundamentos da 
Programação de Computadores – Algoritmos, Pascal, C, C++ e 
Java. 2ª. Edição.São Paulo: Pearson, 2008.
– DEITEL, P. & DEITEL, H. C: Como Programar. 6ª. Edição. São 
Paulo: Pearson, 2011.
– LOPES, A. & GARCIA, G. Introdução à Programação – 500 
Algoritmos Resolvidos. Rio de Janeiro: Campus, 2002.
– FEOFILOFF, P. Algoritmos em Linguagem C. Rio de Janeiro: 
Elsevier, 2008.
– KERNIGHAN, B. W. & RITCHIE, D. M. C: A Linguagem de 
Programação ANSI. Rio de Janeiro: Campus, 1989.
Referências
26Técnicas de Programação I
Introdução
Breve histórico
Lógica de programação
Conclusão
• Bibliografia Complementar:
– Forbellone, A. L. V.; Eberspacher, H. F.. Lógica de 
programação: a construção de algoritmos e estruturas 
de dados. 3ª Ed. Prentice Hall – São Paulo, 2005.
Prof. M.Sc. Anderson Soares
andersonsoares@ufra.edu.br
Técnicas de Programação I 27
TÉCNICAS EM PROGRAMAÇÃO I
Introdução
Breve histórico
Lógica de programação
Conclusão

Outros materiais