centro territorial de educaÇÃo profissional...lógica e técnicas de programação representação...
TRANSCRIPT
CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL
Disciplina:
Lógica e Técnicas de Programação
Lógica de ProgramaçãoLógica, Conceitos; Fluxo de Controle
Prof. Igor Rangel de Araujo Brito
Conteúdo:
Introdução
Algoritmos
Construção de Algoritmos
Representação de Algoritmos
Introdução
Lógica
Estuda e ensina como ordenar o pensamento
É a correção do pensamento, utiliza técnicas
válidas
Introdução
Exemplos (Dedução)
a. Todo mamífero é um animal
b. Todo cavalo é um mamífero
c. Portanto, todo cavalo é um animal
d. Kaiton é pais do planeta Stix
e. Todos os Xinpins são de Kaiton
f. Logo, todos os Xinpins são Stixianos
Introdução
Exemplos (Dedução)
a. Todo mamífero é um animal
b. Todo cavalo é um mamífero
c. Portanto, todo cavalo é um animal
d. Kaiton é pais do planeta Stix
e. Todos os Xinpins são de Kaiton
f. Logo, todos os Xinpins são Stixianos
Premissa 1
Premissa 2
Conclusão
Introdução
Lógica no Dia-a-Dia Nas atividades diárias é necessário
‘Organizar o Pensamento’, estamos
utilizando Lógica.
Lógica no Dia-a-Dia
Exemplos
a. A gaveta está fechada
b. A caneta está dentro da gaveta
c. Precisamos primeiro abrir a gaveta e depois
pegar a caneta.
d. Anacleto é mais velho que Felisberto
e. Felisberto é mais velho que Marivaldo
f. Portanto, Anacleto é mais velho que Marivaldo
Lógica de Programação
Usar de técnicas formais de lógica na
programação de computadores
Resolução de problemas que se deseja
programar
Lógica
LP
Solução
Lógica de Programação
Usar de técnicas formais de lógica na
programação de computadores
Resolução de problemas que se deseja
programar
Lógica
LP
Solução
Lógica de Programação
Definir uma sequencia lógica de
passos que devem ser executados por
um Computador
Computadores entendem Instruções
claras e bem definidas, ordenadas
corretamente
Instruções são um conjunto de regras
ou normas para realizar algo
Lógica de Programação
Computadores não entendem a
Linguagem Humana, mas Algoritmos
Algoritmos
Uma sequencia de passos bem definidos
que visam atingir um objetivo
Algoritmo para Fritar OVO
1. Retirar um ovo da geladeira
2. Colocar a frigideira no fogo
3. Colocar óleo
4. Esperar até o óleo ficar quente
5. Quebrar o ovo separando a casca
6. Colocar o conteúdo do ovo na frigideira
7. Esperar um minuto
8. Retirar o ovo da frigideira
9. Apagar o fogo
Construção de Algoritmos
Representar fielmente a sequência de
passos a serem seguidos
Depois de criado, o algoritmo pode ser
codificado em qualquer Linguagem de
Programação
Processo denominado Codificação
Analise Algoritmo Codificação
Construção de Algoritmos
Representar fielmente a sequência de
passos a serem seguidos
Depois de criado, o algoritmo pode ser
codificado em qualquer Linguagem de
Programação
Processo denominado Codificação
Analise Algoritmo Codificação
Construção de Algoritmos
Algoritmo Troca de 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.
SEQUÊNCIA LINEAR
Construção de Algoritmos
Algoritmo Troca de Lâmpada (Teste)
1. Pegar uma escada;
2. Posicionar a escada embaixo da
3. lâmpada;
4. Buscar uma lâmpada nova;
5. Acionar o interruptor;
6. Se a lâmpada não acender, então
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova.
Lâmpada Acendeu?
Sim Não
Construção de Algoritmos
Algoritmo Troca de Lâmpada (Teste Inicio)
1. Acionar o interruptor;
2. Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da
lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova.
Lâmpada Acendeu?
Sim Não
Construção de AlgoritmosAlgoritmo Troca de Lâmpada (Teste e Repetição)
• Acionar o interruptor;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da
lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova;
• Se a lâmpada não acender, então
• Retirar a lâmpada queimada;
• Colocar outra lâmpada nova
Até Quando?
Teste Inicial
Construção de Algoritmos
Algoritmo Troca de Lâmpada (Teste e Repetição)
• Acionar o interruptor;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da
lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova;
• Enquanto a lâmpada não acender, faça
• Retirar a lâmpada queimada;
• Colocar outra lâmpada nova
Teste Inicial
Condição de Parada
Construção de Algoritmos
Troca de Lâmpada com teste de 10 soquetes
• Acionar o interruptor do primeiro soquete;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova;
• Enquanto a lâmpada não acender, faça
Retirar a lâmpada queimada;
Colocar outra lâmpada nova
Teste Soquete 1
Condição de Parada
Construção de AlgoritmosTroca de Lâmpada com teste de 10 soquetes
• Acionar o interruptor do segundo soquete;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
...
• Acionar o interruptor do terceiro soquete;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
...
• Acionar o interruptor do decimo soquete;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
Teste Soquete 2
Teste Soquete 3
Teste Soquete 10
Construção de AlgoritmosTroca de Lâmpada com teste de N soquetes
• Ir para o interruptor do primeiro soquete;
• Enquanto a quantidade de soquetes testados
for menor que dez, faça
• Acionar o interruptor;
• Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova;
Condição de Parada
1 Teste
Construção de AlgoritmosTroca de Lâmpada com teste de N soquetes
• Enquanto a lâmpada não acender, faça
• Retirar a lâmpada queimada;
• Colocar outra lâmpada nova
• Ir até o interruptor do próximo soquete;
Lâmpada Acendeu?
Sim
Não
CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL
Disciplina:
Lógica e Técnicas de Programação
Representação de AlgoritmosPortugol; Diagrama de Blocos; Fluxogramas
Prof. Igor Rangel de Araujo Brito
Representação de Algoritmos
Fluxogramas
Todas as ações a serem executadas pelo
computador devem ser definidas de
forma detalhada
Obstáculos e ações a serem tomadas
Isso é responsabilidade do Programador
FLUXOGRAMAS
Representação de Algoritmos
Pseudocódigo
Fluxogramas
Linguagem Natural
Algoritmo é uma linha de raciocínio que pode
ser representada de diferentes formas, gráfica
ou textual
Representação de Algoritmos
Fluxograma Linguagem Natural Pseudocódigo
Vantagens e Desvantagens
• Facilita o
entendimento fluxo de
execução do algoritmo
• É necessário conhecer
convenções gráficas
• Substituem um grande
numero de palavras
• Maior dificuldade para
elaborar, necessidade
de ferramentas
• Maior trabalho para
realizar alterações
• Facilita o
entendimento fluxo de
execução do algoritmo
• Mais usual, porém
utiliza grande numero
de palavras
• É usual, e de rápida
elaboração do
algoritmo
• Facilita o
entendimento fluxo de
execução do algoritmo
• Conhecimento de
técnicas de
programação
Fluxogramas
Representação de Algoritmos
Calculo de Média (Linguagem Natural)
1. Obter as duas notas de provas
2. Calcular a média aritmética
3. Se a média for maior que 7 então
4. Aluno aprovado
5. Senão
6. Aluno reprovado
Representação de Algoritmos
Calculo de Média (Fluxograma)
Representação de Algoritmos
Troca de Lâmpada (Linguagem Natural)
1. Acionar o interruptor;
2. Se a lâmpada não acender, então
• Pegar uma escada;
• Posicionar a escada embaixo da
• lâmpada;
• Buscar uma lâmpada nova;
• Acionar o interruptor
• Subir na escada;
• Retirar a lâmpada queimada;
• Colocar a lâmpada nova;
3. Enquanto a lâmpada não acender, faça
• Retirar a lâmpada queimada;
• Colocar outra lâmpada nova
Representação de Algoritmos
Troca de Lâmpada (Fluxograma)
Duvidas?