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.
2.
3.
4.
5.
6.
7.
8.
pegar uma escada;
posicionar a escada embaixo da lâmpada;
buscar uma lâmpada nova;
subir na escada;
retirar a lâmpada velha;
colocar a lâmpada nova;
descer da escada;
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.
2.
3.
4.
pegar uma escada;
posicionar a escada embaixo da lâmpada;
buscar uma lâmpada nova;
acionar o interruptor;
5. se a lâmpada não acender, então:
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
→ Inclusão do teste
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.
2.
3.
4.
5.
6.
7.
8.
pegar uma escada;
posicionar a escada embaixo da lâmpada;
buscar uma lâmpada nova;
subir na escada;
retirar a lâmpada velha;
colocar a lâmpada nova;
descer da escada;
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.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
O banheiro está disponível? Se sim prossiga se não finalize
Entrar no banheiro
Tirar a roupa
Colocar a roupa suja no cesto
Ir para debaixo do chuveiro
Abrir o chuveiro
Molhar o corpo
Ensaboar
Enxaguar
Enxugar
Vestir roupa limpa
Pentear o cabelo
Sair do banheiro
Flávio Euripedes
Apresentação – Slide 20
Fundamentos de Programação
Algoritmo para se trocar
pneu de um carro:
1.
2.
3.
O pneu está furado? Se sim prossiga se não finalize
Abrir o porta malas
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
Download

Apresentação - Professor Flávio