Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... ·...

12
1 Prof. Alceu Britto Aula Teórica 02 Introdução ao Conceito de Algoritmo e Programação Estruturada O Conceito de Algoritmo e as Estruturas Básicas de Controle Enquanto “existir um quadrado livre e não tenha vencido (ou perdido) o jogo” “espere a jogada do oponente, continue depois” Fim-enquanto

Transcript of Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... ·...

Page 1: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

1

Prof. Alceu Britto

Aula Teórica 02

Introdução ao Conceito de Algoritmo e Programação Estruturada

  O Conceito de Algoritmo e as Estruturas Básicas de Controle

Enquanto “existir um quadrado livre e não tenha vencido

(ou perdido) o jogo”

“espere a jogada do oponente, continue depois”

Se “existe um quadrado livre” então

Se “o centro estiver livre” então

“jogue no centro”

senão Se “o oponente tem dois quadrados

quaisquer em linha com o terceiro

desocupado” então

“jogue neste quadrado desocupado”

senão Se “há algum canto livre” então

“jogue neste canto”

Fim-se

Fim-se

Fim-se

Fim-se

Fim-enquanto

Page 2: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

2

Introdução ao Conceito de Algoritmo e Programação Estruturada

  O conceito central da programação e da ciência da computação é o de algoritmo

  Programar é basicamente construir algoritmos   A programação estruturada é vista como a técnica de

construir e formular algoritmos de uma forma sistemática

Introdução ao Conceito de Algoritmo e Programação Estruturada

 Exemplo de Algoritmo 1- Somar três números   Passo 1 – Receber os três números.   Passo 2 – Somar os três números.   Passo 3 – Mostrar o resultado obtido.

Page 3: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

3

Introdução ao Conceito de Algoritmo e Programação Estruturada

  Exemplo de Algoritmo 2 – Fazer um sanduíche   Passo 1 – Pegar o pão.   Passo 2 – Cortar o pão ao meio.   Passo 3 – Pegar a maionese.   Passo 4 – Passar a maionese no pão.   Passa 5 – Pegar e cortar alface e tomate.   Passo 6 – Colocar alface e tomate no pão.   Passo 7 – Pegar o hambúrguer.   Passo 8 – Fritar o hambúrguer.   Passo 9 – Colocar o hambúrguer no pão.

Introdução ao Conceito de Algoritmo e Programação Estruturada

  Exemplo de Algoritmo 3 – Trocar uma lâmpada   Passo 1 – Pegar uma Lâmpada nova.   Passo 2 – Pegar uma escada.   Passo 3 – Posicionar a escada embaixo da lâmpada

queimada.   Passo 4 – Subir na escada com a lâmpada nova na mão.   Passo 5 – Retirar a lâmpada queimada.   Passo 6 – Colocar a lâmpada nova.   Passo 7 – Descer da escada.   Passo 8 – Testar o interruptor.   Passo 9 – Guardar a escada.   Passo 10 – Jogar a lâmpada velha no lixo (reciclagem).

Page 4: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

4

Introdução ao Conceito de Algoritmo e Programação Estruturada

  Exemplo de Algoritmo 4 – Ir para a escola   Passo 1 – Acordar cedo.   Passo 2 – Ir ao Banheiro.   Passo 3 – Abrir o armário para escolher uma

roupa.   Passo 4 – Se o tempo estiver quente, pegar

uma camiseta e calça jeans; caso contrário, pegar um agasalho e calça jeans.

  Passo 5 – Vestir a roupa escolhida.   Passo 6 – Tomar café.   Passo 7 – Pegar uma condução.   Passo 8 – Descer próximo à escola.

Introdução ao Conceito de Algoritmo e Programação Estruturada

“Mas eu realizo essas atividades de maneira diferente!”

Na maioria das vezes um mesmo problema pode apresentar soluções diferentes, mas o mesmo resultado

“Podem existir vários algoritmos para resolver o mesmo problema!”

Page 5: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

5

Introdução ao Conceito de Algoritmo e Programação Estruturada

  Num algoritmo podemos distinguir claramente dois aspectos complementares: um aspecto estático e um aspecto dinâmico.   A formulação de um algoritmo geralmente consiste em um

texto contendo comandos (instruções) que devem ser executados numa ordem prescrita, evidentemente estático

  Por outro lado, este texto apenas não nos interessa, mas sim os efeitos que sua execução pode evocar, evidentemente dinâmicos

Somar 1 + 1

Apresentar resultado 2

estático dinâmico

Introdução ao Conceito de Algoritmo e Programação Estruturada

 Qual é o padrão de comportamento utilizado para gerar a seqüência?

1, 5, 9, 13, 17, 21, 25, ...

Um algoritmo é a descrição de um padrão de comportamento, expressado em termos de um repertório bem definido e finito de ações primitivas, das quais damos por certo que elas podem ser executadas.

Page 6: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

6

Introdução ao Conceito de Algoritmo e Programação Estruturada   Método para a construção de algoritmos

  Para construir qualquer tipo de algoritmo são necessários os passos seguintes: ○  Ler atentamente o enunciados do problema, destacando os

pontos mais importantes; ○  Definir os dados de entrada, ou seja, quais dados serão

fornecidos; ○  Definir o processamento, ou seja, quais cálculos serão

efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída;

○  Definir os dados de saída, quais dados serão gerados depois do processamento;

○  Construir o algoritmo seguindo um dos padrões de representação estruturada;

○  Testar o algoritmo utilizando simulações.

Programação Estruturada   Basicamente, a programação estruturada ou

algoritmo estruturado consiste numa metodologia de projeto de programas visando:   Facilitar a escrita dos programas;   Facilitar a leitura ( entendimento) dos programas;   Permitir a verificação a priori dos programas;   Facilitar a manutenção e modificação dos programas.

Page 7: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

7

Algoritmo Estruturado   Ferramentas p/Elaborar Algoritmos

  As três mais usados são: descrição narrativa, fluxograma e pseudocódigo ou portugol.

  Descrição Narrativa ○  A descrição narrativa consiste em analisar o enunciado

do problema e escrever o procedimento de solução, utilizando linguagem natural.   Vantagem: não é necessário aprender nenhum conceito

novo;   Desvantagem: a linguagem natural abre espaço para

várias interpretações, dificultando a transcrição desse algoritmo para um programa.

Algoritmo Estruturado

Enquanto “existir um quadrado livre e não tenha vencido (ou perdido) o jogo” “espere a jogada do oponente, continue depois” Se “existe um quadrado livre” então Se “o centro estiver livre” então “jogue no centro” senão Se “o oponente tem dois quadrados quaisquer em linha com o terceiro desocupado” então “jogue neste quadrado desocupado” senão Se “há algum canto livre” então “jogue neste canto”.

Page 8: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

8

Algoritmo Estruturado   Fluxograma ○  O fluxograma consiste em analisar o

enunciado do problema e escrever o procedimento de solução, utilizando símbolos gráficos predefinidos.   Vantagem: elementos gráficos facilitam a

compreensão do problema;   Desvantagem: é necessário aprender a simbologia e

seu uso pode gerar diagramas excessivamente complexos.

Algoritmo Estruturado

Page 9: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

9

Algoritmo Estruturado   Exemplo de

Algoritmo 1- Somar três números   Passo 1 – Receber os

três números.   Passo 2 – Somar os

três números.   Passo 3 – Mostrar o

resultado obtido.

Fluxograma

Algoritmo Estruturado   Exemplo de Algoritmo 2 – Fazer

um sanduíche   Passo 1 – Pegar o pão.   Passo 2 – Cortar o pão ao meio.   Passo 3 – Pegar a maionese.   Passo 4 – Passar a maionese no

pão.   Passa 5 – Pegar e cortar alface e

tomate.   Passo 6 – Colocar alface e tomate

no pão.   Passo 7 – Pegar o hambúrguer.   Passo 8 – Fritar o hambúrguer.   Passo 9 – Colocar o hambúrguer

no pão.

Fluxograma

Page 10: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

10

Algoritmo Estruturado   Exemplo de Algoritmo 3 – Trocar

uma lâmpada   Passo 1 – Pegar uma Lâmpada

nova.   Passo 2 – Pegar uma escada.   Passo 3 – Posicionar a escada

embaixo da lâmpada queimada.   Passo 4 – Subir na escada com a

lâmpada nova na mão.   Passo 5 – Retirar a lâmpada

queimada.   Passo 6 – Colocar a lâmpada

nova.   Passo 7 – Descer da escada.   Passo 8 – Testar o interruptor.   Passo 9 – Guardar a escada.   Passo 10 – Jogar a lâmpada velha

no lixo (reciclagem).

Fluxograma

Algoritmo Estruturado   Exemplo de Algoritmo 4 – Ir

para a escola   Passo 1 – Acordar cedo.   Passo 2 – Ir ao Banheiro.   Passo 3 – Abrir o armário para

escolher uma roupa.   Passo 4 – Se o tempo estiver

quente, pegar uma camiseta e calça jeans; caso contrário, pegar um agasalho e calça jeans.

  Passo 5 – Vestir a roupa escolhida.

  Passo 6 – Tomar café.   Passo 7 – Pegar uma

condução.   Passo 8 – Descer próximo à

escola.

Fluxograma

Page 11: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

11

Algoritmo Estruturado   Pseudocódigo ou Portugol ○  O pseudocódigo ou portugol consiste em

analisar o enunciado do problema e escrever o procedimento de solução, utilizando regras predefinidas (sintáticas e estruturais).   Vantagem: a passagem do algoritmo para qualquer

linguagem de programação é quase imediata, basta conhecer a sintaxe da linguagem de programação;

  Desvantagem: é necessário aprender as regras do pseudocódigo.

Algoritmo Estruturado Enquanto “existir um quadrado livre e não tenha

vencido (ou perdido) o jogo”

“espere a jogada do oponente, continue depois”

Se “existe um quadrado livre” então

Se “o centro estiver livre” então

“jogue no centro”

senão Se “o oponente tem dois quadrados

quaisquer em linha com o terceiro

desocupado” então

“jogue neste quadrado desocupado”

senão Se “há algum canto livre” então

“jogue neste canto”

Fim-se

Fim-se

Fim-se

Fim-se

Fim-enquanto

Page 12: Introdução ao Conceito de Algoritmo e Programação Estruturadaalceu/ab/Material Adicional... · 2016. 4. 11. · 3 Introdução ao Conceito de Algoritmo e Programação Estruturada

12

Exercícios 1)  Escreva um algoritmo para descrever

como você faz para ir de casa para a Universidade .

2)  Desenhe um fluxograma do algoritmo da questão 1.

3)  O que você entende por aspectos estáticos e dinâmicos de um algoritmo.

4)  O que é um algoritmo? 5)  O que é um algoritmo estruturado? 6)  Quais as formas de representação dos

algoritmos?