Prof. Edson J. R. Justino
Aula Teórica 02
Escola Politécnica
Pontifícia Universidade Católica do Paraná - PUCPR
Introdução ao Conceito de Algoritmo e
Programação Estruturada
Enquanto “existir um quadrado livre e não tenha vencido
(ou perdido) o jogo”
“espere a jogada do oponente, continue depois”
O Conceito de
Algoritmo e as
Estruturas
Básicas de
Controle
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
1
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.
2
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).
3
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
Exemplo de Algoritmo 5 – Sacar dinheiro
no banco 24 horas
Passo 1 – Ir até um banco 24 horas.
Passo 2 – Colocar o cartão.
Passo 3 – Digitar a senha.
Passo 4 – Solicitar a quantia desejada.
Passo 5 – Se o saldo for maior ou igual à
quantia desejada , sacar; caso contrário,
mostrar mensagem de impossibilidade de
saque.
Passo 6 – Retirar o cartão.
Passo 7 – Sair do banco 24 horas.
4
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!”
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 não nos interessa em si, mas
pelos efeitos que sua execução pode evocar,
evidentemente dinâmico
Somar 1 + 1
Apresentar resultado
estático
2
dinâmico
5
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.
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.
6
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.
O maior problema em grandes sistemas de software reside na
enorme complexidade desses sistemas.
Algoritmo Estruturado
Tipos de Algoritmos
Os três tipos mais usados de algoritmos 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.
7
Algoritmo Estruturado
Descrição Narrativa
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”.
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.
8
Algoritmo Estruturado
Símbolo utilizado para indicar o início e o fim do
algoritmo
Indica o sentido do fluxo
Símbolo utilizado para indicar cálculos
Símbolo utilizado para indicar entra de dados
Símbolo utilizado para indicar saída de dados
Símbolo utilizado para indicar tomada de
decisão
Algoritmo Estruturado
Exemplo de
Algoritmo 1- Somar
três números
Fluxograma
Passo 1 – Receber os
três números.
Passo 2 – Somar os
três números.
Passo 3 – Mostrar o
resultado obtido.
9
Algoritmo Estruturado
Início
Exemplo de Algoritmo 2 – Fazer
um sanduíche
Fluxograma
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.
Pão, Maionese,
Alface, Tomate,
Hambúrger
Cortar o pão ao
meio
Passar maionese
no pão
Colocar alface e
tomate no pão
Cortar alface e
tomate
Fritar o hambúrger
Colocar o
hamburger no pão
Sanduíche
Fim
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).
Início
Fluxograma
Lâmpada,
escada
Posicionar a
escada embaixo
da lâmpada
queimada
Subir na escada
com a lâmpada
nova na mão
Colocar a
lâmpada nova
Retirar a lâmpada
queimada
Descer da escada
Testar o
interruptor
Não
Lâmpada
nova
Sim
Jogar lâmpada no
lixo
Guardar escada
Fim
10
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
Início
Acordar cedo
Abrir o armário
para escolher uma
roupa
Ir ao Banheiro
Fluxograma
escolher uma roupa.
Quente
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.
Se o tempo
estiver
Camiseta,
Calça jeans
Agasalho,
Calça jeans
Vestir a roupa
escolhida
Pegar uma
condução
Tomar café
Descer próximo à
escola
Fim
Frio
Algoritmo Estruturado
Exemplo de Algoritmo 5 –
Sacar dinheiro no banco 24
horas
Passo 1 – Ir até um banco 24
horas.
Passo 2 – Colocar o cartão.
Passo 3 – Digitar a senha.
Passo 4 – Solicitar a quantia
desejada.
Passo 5 – Se o saldo for maior
oi igual à quantia desejada ,
sacar; caso contrário, mostrar
mensagem de impossibilidade
de saque.
Passo 6 – Retirar o cartão.
Passo 7 – Sair do banco 24
horas.
Início
Ir até um banco 24
horas
Senha,
Quantia
desejada
Colocar o cartão
Fluxograma
Não
Saldo >=
Quantia
desejada
Impossibilidade de
saque
Sim
Sacar
Retirar o cartão
Fim
Sair do banco 24
horas
11
Algoritmo Estruturado
Pseudocódigo ou Portugol
○ O pseudocódigo ou portugol consiste em
analisar o enunciado do problemas 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
12
Exercícios
1)
2)
3)
4)
5)
6)
Escreva um algoritmo para descrever
como você faz para ir de casa para a
Universidade .
Desenhe um fluxograma do algoritmo da
questão 1.
O que você entende por aspectos
estáticos e dinâmicos de um algoritmo.
O que é um algoritmo?
O que é um algoritmo estruturado?
Quais as formas de representação dos
algoritmos?
13
Download

(Microsoft PowerPoint - Aula Te\363rica 02 [Modo de