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