Programação Estruturada

Propaganda
Programação Estruturada
Professor Luis Nícolas de Amorim Trigo
[email protected]
http://professor.ifsertao-pe.edu.br/nicolas.trigo/
EMENTA
Programação Estruturada
2
1
CONTEÚDO
• Introdução ao Algoritmo
• Tipos de Algoritmos
• Método para construção de algoritmos
Programação Estruturada
3
CONCEITO DE ALGORITMO
• Desde o início da existência do
homem, ele tem procurado criar
máquinas que o auxiliem em seus
trabalhos, diminuindo esforços e
economizando tempo. Dentre
essas máquinas, o computador
tem se mostrado uma das mais
versáteis, rápidas e seguras.
• O computador é capaz de auxiliar
em qualquer coisa que lhe seja
solicitada, mas não tem iniciativa,
por isso precisa receber instruções
nos mínimos detalhes.
Programação Estruturada
4
2
CONCEITO DE ALGORITMO
• A finalidade básica de um computador é
receber, manipular, armazenar e fornecer
dados.
Programação Estruturada
5
CONCEITO DE ALGORITMO
•
“Algoritmo é uma seqüência de passos que visa atingir um objetivo
bem definido.” (FORBELLONE)
•
“Algoritmo é a descrição de uma seqüência de passos que deve ser
seguida para a realização de uma tarefa.” (ASCENCIO)
•
“Algoritmo é um procedimento passo a passo para a solução de um
problema. Também pode ser uma seqüência detalhada de ações a
serem executadas para realizar alguma tarefa”. (MEDINA)
•
“Ação é um acontecimento que, a partir de um estado inicial, após
um período de tempo finito, produz um estado final previsível e bem
definido. Portanto, algoritmo é a descrição de um conjunto de
comandos que, obedecidos, resultam numa sucessão finita de
ações.” (FARRER)
Programação Estruturada
6
3
PADRÃO DE COMPORTAMENTO
• Observe a seqüência de números a seguir e descubra o
valor de X:
– 1, 6, 11, 16, 21, 26, X, ...
Inicia com 1 e a partir do 2º número, captura o valor anterior e soma 5.
– 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, X, ...
Seqüência de Fibonacci, que obedece a seguinte regra: inicialmente é
fornecido os números 0 e 1, e para gerar o próximo número soma-se os
dois números anteriores.
– 2, 10, 12, 16, 17, 18, 19, X, ...
Número começa com a letra D: 2, 10, 12, 16, 17, 18, 19, 200.
Programação Estruturada
7
TIPOS DE ALGORITMOS
Descrição Narrativa
A escrita é em linguagem natural.
• Vantagem: Não é necessário aprender uma forma de
escrita.
• Desvantagem: Difícil transcrição para algo
compreensível para o computador.
Programação Estruturada
8
4
TIPOS DE ALGORITMOS
Descrição Narrativa
Podemos observar que executamos vários
algoritmos todos os dias, tendo como exemplo:
•
FAZER UM SANDUÍCHE DE QUEIJO
1.
2.
3.
4.
5.
6.
7.
Pegar a faca
Pegar o pão
Cortar o pão
Colocar a faca na mesa
Pegar a fatia de queijo
Abrir o pão
Colocar a fatia de queijo no pão
Programação Estruturada
9
TIPOS DE ALGORITMOS
Descrição Narrativa
Outro Exemplo:
•
MULTIPLICAÇÃO DE DOIS NÚMEROS
1.
2.
3.
4.
5.
6.
Pega o primeiro número
Pega o segundo número
Aplica o sinal de multiplicação entre eles
Executa a multiplicação
Captura o resultado da multiplicação
Mostra o resultado da multiplicação
Programação Estruturada
10
5
EXERCÍCIO DE FIXAÇÃO
• Um homem precisa atravessar um rio com um barco
que possui capacidade de carregar apenas ele
mesmo e mais uma das três cargas que são:
– um lobo,
– um bode e
– um maço de alfafas.
• Observe as leis naturais:
– o lobo é carnívoro e
– o bode é herbívoro.
• O que o homem deve fazer para conseguir
atravessar o rio sem perder suas cargas.
Programação Estruturada
11
TIPOS DE ALGORITMOS
Fluxograma
A escrita é montada em símbolos gráficos.
• Vantagem: Símbolos gráficos torna-se mais
compreensíveis do que elementos textuais.
• Desvantagem: Além de aprender a simbologia do
fluxograma, dificulta a transcrição para algo
compreensível para o computador.
Programação Estruturada
12
6
TIPOS DE ALGORITMOS
Fluxograma
DESCRIÇÃO NARRATIVA
FLUXOGRAMA
Passo 1: Receber os dois
números que serão
multiplicados.
Passo 2: Multiplicar os
números.
Passo 3: Mostrar o resultado
obtido na multiplicação.
Programação Estruturada
13
TIPOS DE ALGORITMOS
Pseudocódigo
A escrita é dotada regras predefinidas, de instruções.
• Vantagem: É fácil a transcrição para algo
compreensível para o computador.
• Desvantagem: É necessário aprender as regras do
pseudocódigo.
Programação Estruturada
14
7
TIPOS DE ALGORITMOS
Pseudocódigo
INÍCIO
VARIÁVEL
Num1, Num2, M: INTEIRO
ESCREVA (“Digite dois números: ”)
LEIA (Num1, Num2)
M
Num1 * Num2
ESCREVA (“Multiplicação: ”, M)
FIM
Programação Estruturada
15
MÉTODO PARA CONSTRUÇÃO DE
ALGORITMOS
Para a construção de qualquer tipo de algoritmo são
necessários os seguintes passos:
1. Ler atentamente o anunciado, identificando as partes
importantes;
2. Definir os dados de entrada, que são os dados fornecidos;
3. Definir o processamento, através de cálculos e restrições
utilizando os dados de entrada;
4. Definir os dados de saída, que são gerados a partir do
processamento;
5. Construir o algoritmo utilizando um dos tipos de algoritmos;
6. Testar o algoritmo realizando simulações.
Programação Estruturada
16
8
MAIS EXERCÍCIOS DE FIXAÇÃO
• Criar uma seqüência de passos (algoritmo) de como fritar um
ovo.
• Criar uma seqüência de passos (algoritmo) de como trocar
um pneu de um carro.
• Criar uma seqüência de passos (algoritmo) de como fazer um
bolo comum.
• Elabore uma seqüência de passos que mova três discos de
uma torre de Hanói, que consiste em três hastes (a - b - c),
uma das quais serve de suporte para três discos de
tamanhos diferentes (1 - 2 - 3), os menores sobre os maiores.
Pode-se mover um disco de cada vez para qualquer haste,
contanto que nunca seja colocado um disco maior sobre um
menor e nunca pode deixar qualquer disco fora das hastes. O
objetivo é transferir os três discos que se encontram na haste
'A' para a haste 'C’.
Programação Estruturada
17
REFERÊNCIAS BIBLIOGRÁFICAS
•
ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene
Aparecida Veneruchi de. Fundamentos de
Programação de Computadores: Algoritmos, Pascal
e C/C++. São Paulo: Pearson Prentice Hall, 2002.
•
FARRER, Harry; BECKER, Cristiano Gonçalves; FARIA,
Eduardo Chaves; et. al. Programação Estruturada de
Computadores: Algoritmos Estruturados. 3. ed. Rio
de Janeiro: LTC – Livros Técnicos e Científicos Editora
S.A., 1999.
•
FORBELLONE, André Luiz Villar; EBERSPÄCHER,
Henri Frederico. Lógica de Programação: A
construção de algoritmos e estruturas de dados. 3.
ed. São Paulo: Pearson Prentice Hall, 2005.
•
MEDINA, Marco; FERTIG, Cristina. Algoritmos e
Programação: Teoria e Prática. São Paulo: Novatec
Editora, 2006.
Programação Estruturada
18
9
Download