Algoritmos e
Programação
Flávio Euripedes de Oliveira
Esp. em Analise de Sistemas
Esp. em Segurança da Informação
[email protected]
Tema central:
Introdução à
Lógica de
Programação
Flávio Euripedes Apresentação – Slide 2 Fundamentos de Programação
Objetivos:
➢Apresentar uma introdução sobre noções
básicas de lógica;
➢Definir silogismos;
➢Introduzir conceitos de lógica de
programação;
➢Apresentar conceitos de algoritmos, bem
como suas características e exemplos;
➢Verificar o aprendizado do aluno através da
aplicação de exercícios.
Flávio Euripedes Apresentação – Slide 3 Fundamentos de Programação
Referencias 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.’
Flávio Euripedes Apresentação – Slide 4 Fundamentos de Programação
Lógica:
Do grego Logiké,
arte de raciocinar.
Flávio Euripedes Apresentação – Slide 5 Fundamentos de Programação
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).
Flávio Euripedes Apresentação – Slide 6 Fundamentos de Programação
Definição 2:
➢A lógica estuda a
“correção do raciocínio”.
Flávio Euripedes Apresentação – Slide 7 Fundamentos de Programação
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”.
Flávio Euripedes Apresentação – Slide 8 Fundamentos de Programação
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:
⚫Todo mamífero é um animal
⚫ Todo cavalo é um mamífero
⚫ Portanto, todo cavalo é um animal
Flávio Euripedes Apresentação – Slide 9 Fundamentos de Programação
Silogismo:
➢Minas Gerais é um estado do Brasil
➢Todos os araxaenses são de Minas Gerais
➢Portanto, todos os araxaenses são
brasileiros
Brasil
Minas Gerais
Araxá
Flávio Euripedes Apresentação – Slide 10 Fundamentos de Programação
Silogismo:
➢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
⚫ Portanto, todos os araxaenses estão no Brasil
(Não necessariamente, pois pode haver araxaenses
morando em outros países).
Flávio Euripedes Apresentação – Slide 11 Fundamentos de Programação
Lógica de Programação:
➢Como ser humano expressa seu raciocínio?
⚫Palavra escrita em um idioma (linguagem)
⚫Pode ser escrito em outro idioma, mas representa
o mesmo raciocínio
➢A Lógica de Programação é concebida pela
mente e pode ser escrita em qualquer uma
das inúmeras linguagens de programação.
➢Cada linguagem possui vários comandos
➢Estuda-se a lógica através de algoritmos
Flávio Euripedes Apresentação – Slide 12 Fundamentos de Programação
Algoritmos:
➢“Sequência de passos que visam atingir um
objetivo bem definido” (FORBELLONE,
2000).
➢“Sequência ordenada, e não ambígua, de
passos que levam a solução de um dado
problema” (TREMBLAY).
Flávio Euripedes Apresentação – Slide 13 Fundamentos de Programação
Características:
➢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.
Flávio Euripedes Apresentação – Slide 14 Fundamentos de Programação
Algorítmo para se trocar uma
lampada:
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.
Flávio Euripedes Apresentação – Slide 15 Fundamentos de Programação
E se a lâmpada 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
1. subir na escada;
2. retirar a lâmpada velha;
3. colocar a lâmpada nova;
4. descer da escada;
5. jogar a lâmpada velha no lixo.
Flávio Euripedes Apresentação – Slide 16 Fundamentos de Programação
Melhorando o Algoritmo:
1. acionar o interruptor
2. se a lâmpada não acender, então: → Inclusão
do teste seletivo
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.
Flávio Euripedes Apresentação – Slide 17 Fundamentos de Programação
E se a lâmpada nova também
estivesse queimada?
➢ acionar o interruptor
➢ se a lâmpada não acender, então: → Inclusão do teste seletivo
⚫ pegar uma escada
⚫ posicionar a escada embaixo da lâmpada
⚫enquanto a lâmpada não acender, faça: →
Inclusão do teste repetitivo, com cond. parada.
❖ buscar uma lâmpada nova;
❖ subir na escada;
❖ retirar lâmpada velha;
❖ colocar a lâmpada nova;
❖ descer da escada;
❖ jogar a lâmpada velha no lixo;
❖ acionar interruptor.
❖ fim do enquanto
⚫ Guardar escada
Flávio Euripedes Apresentação – Slide 18 Fundamentos de Programação
Exercícios:
1. Criar um algoritmo para se tomar banho.
2. Criar um algoritmo para se trocar o pneu de
um carro.
3. Criar um algoritmo para se falar no orelhão.
Flávio Euripedes Apresentação – Slide 19 Fundamentos de Programação
Algoritmo para se tomar banho:
1. O banheiro está disponível? Se sim prossiga se não finalize
2. Entrar no banheiro
3. Tirar a roupa
4. Colocar a roupa suja no cesto
5. Ir para debaixo do chuveiro
6. Abrir o chuveiro
7. Molhar o corpo
8. Ensaboar
9. Enxaguar
10. Enxugar
11. Vestir roupa limpa
12. Pentear o cabelo
13. Sair do banheiro
Flávio Euripedes Apresentação – Slide 20 Fundamentos de Programação
Algoritmo para se trocar
pneu de um carro:
1. O pneu está furado? Se sim prossiga se não finalize
2. Abrir o porta malas
3. O pneu de estepe, chave de rodas e macaco estão ok? Se
sim prossiga se não vá para o passo 11
4. Suspender a roda com o pneu furado com o macaco
5. Retirar os parafusos da roda
6. Retirar o pneu furado
7. Colocar o pneu de estepe na roda
8. Apertar os parafusos
9. Abaixar o macaco
10. Guardar o pneu furado, chave de rodas e macaco no porta
malas
11. Fechar o porta malas
Flávio Euripedes Apresentação – Slide 21 Fundamentos de Programação
Algoritmo para se falar no
orelhão:
1. Tirar o fone do gancho
2. Foi dado sinal de discagem? Se sim
prossiga, se não vá para o passo 8.
3. Introduzir o cartão.
4. Teclar o número desejado.
5. A ligação foi completada? Se sim
prossiga se não vá para o passo 7.
6. Falar o desejado.
7. Retirar o cartão.
8. Colocar o fone no gancho.
Flávio Euripedes Apresentação – Slide 22 Fundamentos de Programação