Curso
Disciplina
Professor
Sistemas de Informação
Algoritmos e Programação
Flávio Euripedes de Oliveira
1. Tema central
Introdução à Lógica de Programação
2. Objetivos
1. Apresentar uma introdução sobre noções básicas de lógica;
2. Definir silogismos;
3. Introduzir conceitos de lógica de programação;
4. Apresentar conceitos de algoritmos, bem como suas características e exemplos;
5. Verificar o aprendizado do aluno através da aplicação de exercícios.
3. Recursos
1. Lousa
4. Referências Bibliográficas

FORBELLONE, André Luiz Villar; EBERSPACHER, Henri. Lógica de Programação: a construção
de algoritmos e estruturas de dados. 3 ed. São Paulo: Pearson Education, 2005.

MANZANO, Jose Augusto N G. Algoritmos: logica para desenvolvimento de programação de
computadores. São Paulo: Érica, 2001.
5. Informações
Qualquer informação, dúvida ou sugestões quanto ao conteúdo e exercícios propostos neste
material poderão ser encaminhadas ao professor através do e-mail: [email protected]
1
6. Conteúdo
6.1. Noções de lógica

Lógica: do grego Logiké, arte de raciocinar.
Definição 1: Ciência que tem como objetivo o estudo dos métodos e princípios que permitem
distinguir raciocínios válidos de outros não válidos.

Raciocínio: Encadeamento de argumentos ou juízos para chegar a uma demonstração
(conclusão).
Definição 2: A lógica estuda a “correção do raciocínio”.
Definição 3: A lógica tem em vista a “ordem da razão”. Isso dá a entender que a nossa razão pode
funcionar desordenadamente. Por isso a lógica estuda e ensina a colocar “ordem no pensamento”.
OBS: É muito comum num diálogo entre duas pessoas, uma pessoa A tentando convencer uma
pessoa B sobre algo, mas por falta de argumentos ou simplesmente pelo fato dos argumentos não
estarem dispostos de maneira ordenada, essa pessoa acaba perdendo seu poder de convencimento.
Já uma pessoa C com os mesmos argumentos que pessoa A poderia facilmente convencer B se seus
pensamentos (argumentos) estiverem em ordem.
Silogismo: Raciocínio formado de três proposições: a primeira, chamada premissa maior, a
segunda, premissa menor, e a terceira, conclusão. (A conclusão se infere da maior por intermédio da
menor).
Exemplo 01:
1. Todo mamífero é um animal
Todo cavalo é um mamífero
2
Portanto, todo cavalo é um animal
EXERCÍCIO: Pedir para os alunos criar um exemplo de silogismo válido.
Exemplos 02:
2. Minas Gerais é um estado do Brasil
Todos os araxaenses são de Minas Gerais
Portanto, todos os araxaenses são brasileiros
Será que existe uma maneira de representar o silogismo acima? Uma maneira de se fazer
isso é através da representação abaixo:
Brasil
Minas Gerais
Araxá
Silogismos: representam, na Lógica Proposicional, um argumento composto por duas premissas e
uma conclusão. OBS: a relação pode ser válida ou não.
Exemplo de um silogismo inválido:
Minas Gerais está localizado no Brasil
Todos os araxaenses são de Minas Gerais
3
Portanto, todos os araxaenses estão no Brasil (Não necessariamente, pois pode haver
araxaenses morando em outros países).
Existe lógica no nosso dia-a-dia?
Sim, praticamente utilizamos lógica em todas as nossas ações diárias, exemplo:
Exemplo 01:
A gaveta está fechada.
A caneta está dentro da gaveta.
Precisamos primeiro abrir a gaveta para depois pegar a caneta.
EXERCÍCIOI: Pedir aos alunos para criarem um exemplo em que a lógica se faz presente no diaa-dia.
Exercício 02:
Marta é mais velha que Rosa
Rosa é mais velha que Jane
Portanto, Marta é mais velha que Jane
6.2. Lógica de Programação
Como o ser humano expressa seu raciocínio? Através da palavra falada ou escrita, que por
sua vez se baseia em um determinado idioma, que segue uma série de padrões (gramática). OBS:
Um mesmo raciocínio pode ser expresso em idiomas diferentes, mas continuará representando o
mesmo raciocício, usando portanto apenas uma outra convenção.
O mesmo acontece com a Lógica de Programação, que pode ser concebida pela mente
treinada e pode ser representada em qualquer uma das inúmeras linguagens de programação
existentes. Como cada linguagem de programação possui seu próprio conjunto de comandos, faz-se
necessário estudar uma maneira de especificar o problema em questão, independente da linguagem
de programação. A solução para isso é a utilização de algoritmos.
4
6.3. Algoritmos
Definição: “Sequência de passos que visam atingir um objetivo bem definido”
(FORBELLONE, 2000).
Definição: “Sequência ordenada, e não ambígua, de passos que levam a solução de um
dado problema” (TREMBLAY).
6.3.1. Características
Todo algoritmo deve apresentar algumas características básicas:

Possui início e fim;

Não dar margem a dupla interpretação;

Sempre que executado, sob as mesmas condições, deverá produzir o mesmo resultado;

Capacidade de receber dado(s) de entrada do mundo exterior.
OBS: Codificação, termo muito comum em computação, refere-se ao fato de passar o algoritmo
para uma linguagem de programação.
6.3.2. Exemplos
Algoritmo 01: Trocar uma lâmpada
1. pegar uma escada;
2. posicionar a escada embaixo da lâmpada;
3. buscar uma lâmpada nova;
4. subir na escada;
5. retirar a lâmpada velha;
6. colocar a lâmpada nova;
7. descer da escada;
8. jogar a lâmpada velha no lixo.
5
Continuação: E se a lâmpada não estivesse queimada?
1. pegar uma escada;
2. posicionar a escada embaixo da lâmpada;
3. buscar uma lâmpada nova;
4. acionar o interruptor;
5. se a lâmpada não acender, então:
→ Inclusão do teste seletivo
5.1. subir na escada;
5.2. retirar a lâmpada velha;
5.3. colocar a lâmpada nova;
5.4. descer da escada;
5.5. jogar a lâmpada velha no lixo.
EXERCÍCIO: Há maneiras de otimizar o algoritmo anterior? Sim, veja como ficaria:
1. acionar o interruptor
2. se a lâmpada não acender, então: → Inclusão do teste seletivo
2.1. pegar uma escada;
2.2. posicionar a escada embaixo da lâmpada;
2.3. buscar uma lâmpada nova;
2.4. subir na escada;
2.5. retirar a lâmpada velha;
2.6. colocar a lâmpada nova;
2.7. descer da escada;
2.8. jogar a lâmpada velha no lixo.
Continuação: E se a lâmpada nova também estiver queimada?
1. acionar o interruptor
2. se a lâmpada não acender, então: → Inclusão do teste seletivo
6
2.1. pegar uma escada
2.2. posicionar a escada embaixo da lâmpada
2.3. enquanto a lâmpada não acender, faça: → Inclusão do teste repetitivo, com cond.
parada.
2.3.1. buscar uma lâmpada nova;
2.3.2. subir na escada;
2.3.3. retirar lâmpada velha;
2.3.4. colocar a lâmpada nova;
2.3.5. descer da escada;
2.3.6. jogar a lâmpada velha no lixo;
2.3.7. acionar interruptor.
2.3.8. fim do enquanto
2.4. Guardar escada
7
Download

Documento PDF - Professor Flávio