centro territorial de educaÇÃo profissional...lógica e técnicas de programação representação...

34
CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL Disciplina: Lógica e Técnicas de Programação Lógica de Programação Lógica, Conceitos; Fluxo de Controle Prof. Igor Rangel de Araujo Brito [email protected]

Upload: others

Post on 19-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

[email protected]

Page 2: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Conteúdo:

Introdução

Algoritmos

Construção de Algoritmos

Representação de Algoritmos

Page 3: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Introdução

Lógica

Estuda e ensina como ordenar o pensamento

É a correção do pensamento, utiliza técnicas

válidas

Page 4: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 5: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 6: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Introdução

Lógica no Dia-a-Dia Nas atividades diárias é necessário

‘Organizar o Pensamento’, estamos

utilizando Lógica.

Page 7: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 8: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 9: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 10: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 11: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Lógica de Programação

Computadores não entendem a

Linguagem Humana, mas Algoritmos

Page 12: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 13: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 14: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 15: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 16: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 17: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 18: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 19: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 20: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 21: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 22: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 23: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 24: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

[email protected]

Page 25: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 26: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

FLUXOGRAMAS

Page 27: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 28: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 29: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Fluxogramas

Page 30: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 31: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Representação de Algoritmos

Calculo de Média (Fluxograma)

Page 32: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

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

Page 33: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Representação de Algoritmos

Troca de Lâmpada (Fluxograma)

Page 34: CENTRO TERRITORIAL DE EDUCAÇÃO PROFISSIONAL...Lógica e Técnicas de Programação Representação de Algoritmos Portugol; Diagrama de Blocos; Fluxogramas Prof. Igor Rangel de Araujo

Duvidas?