A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos e Programação Estruturada Conceitos básicos Prof. Cláudio M. N. A. Pereira

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Programação Estruturada Conceitos básicos Prof. Cláudio M. N. A. Pereira"— Transcrição da apresentação:

1 Algoritmos e Programação Estruturada Conceitos básicos Prof. Cláudio M. N. A. Pereira

2 Sumário Introdução Definições de algoritmo Programação estruturada Exemplo: seqüência de Fibonacci Formas de representação de um algoritmo

3 Introdução A programação de computadores consiste em primeiro lugar, entender adequadamente o problema proposto. Em segundo, adotar critérios e métodos de algoritmização para então codificar o programa em na linguagem desejada. (Augusto Manzano)

4 Introdução Da declaração de Manzano, pode-se identificar 3 fases básicas envolvidas na programação: i) análise e entendimento do problema; ii) concepção da solução (criação do algoritmo); iii) implementação da solução (codificação em uma linguagem)

5 Definições de algoritmo - Um algoritmo é um possível caminho para a solução de um dado problema. Podem, entretanto haver vários possíveis algoritmos para resolver o mesmo problema. - É a descrição de um conjunto de instruções ou comandos que, se obedecidos, resultam numa sucessão de ações.

6 Programação estruturada Algoritmos desenvolvidos através de refinamentos sucessivos, partido de descrições gerais que vão sendo gradativamente detalhadas (desenvolvimento top-down); Os refinamentos sucessivos são módulos delimitam funcionalidade (funções) e devem ser o mais independentes possível;

7 Exemplo: Sequência de Fibonacci Problema: Faça um programa que escreva os termos da seqüência de Fibonacci menores do que L. Passo 1: Análise/entendimento do problema –O que é o raio dessa seqüência de Fibo... sei lá o quê? Como saber? Parceiro do lado Internet Pesquisa / estudo

8 Sequência de Fibonacci: a Análise A seqüência de Fibonacci é uma sucessão de termos, onde o primeiro e o segundo são iguais a 1. Os demais são a soma dos dois termos exatamente anteriores Se entendeu bem, vai para o passo 2 (algoritmo), senão, volta e tenta entender o problema.

9 Sequência de Fibonacci: o Algoritmo Passo 2: Algoritmo Algoritmo Fibonacci Receba o valor de L se L > 1 então faça Processe até o segundo termo Processe os demais termos fim_se fim

10 Sequência de Fibonacci: o Algoritmo Refinamento de Processe até o segundo termo T_anterior = 1; T_atual = 1; escreva (T_anterior, T_atual); fim

11 Sequência de Fibonacci: o Algoritmo Refinamento de Processe os demais termos repita T_proximo = T_anterior + T_atual; se (T_proximo < L) então escreva (T_proximo); // Atualiza as posições T_anterior = T_atual; T_atual = T_proximo; até (T_proximo < L); fim_refinamento

12 Sequência de Fibonacci: o Algoritmo Algoritmo Fibonacci leia (L) se L > 1 então faça T_anterior = 1; T_atual = 1; escreva (T_anterior, T_atual); repita T_proximo = T_anterior + T_atual; se (T_proximo < L) então escreva (T_proximo); T_anterior = T_atual; T_atual = T_proximo; até (T_proximo < L); fim_se fim

13 Sequência de Fibonacci: o Algoritmo Algoritmo Fibonacci var T_anterior, T_atual, T_proximo, L : inteiro leia (L) se L > 1 então faça T_anterior = 1 T_atual = 1 escreva (T_anterior, T_atual) repita T_proximo = T_anterior + T_atual se (T_proximo < L) então escreva (T_proximo) T_anterior = T_atual T_atual = T_proximo até (T_proximo < L) fim_se fim

14 Sequência de Fibonacci: O Programa em C #include void main() { int T_atual, T_anterior, T_proximo, L; // Recebendo (lendo) o valor de L printf("Entre com o valor limite (L): "); scanf("%d", &L); if (L>1) { // Processa até o segundo termo T_anterior = 1; T_atual = 1; printf(" %d %d", T_anterior, T_atual); // Processa os demais termos do { T_proximo = T_anterior + T_atual; if (T_proximo < L) printf(" %d", T_proximo); // Atualiza as posições T_anterior = T_atual; T_atual = T_proximo; } while (T_proximo < L); }

15 Sequência de Fibonacci: O programa em Pascal program Fibonacci; uses crt; var T_atual, T_anterior, T_proximo, L: integer; begin {Recebendo (lendo) o valor de L} write('Entre com o valor limite (L): '); readln(L); if (L>1) then begin {Processa ate o segundo termo} T_anterior := 1; T_atual := 1; write(' ', T_anterior, ' ', T_atual); {Processa os demais termos} repeat T_proximo := T_anterior + T_atual; if (T_proximo < L) then write(' ', T_proximo); {Atualiza as posicoes} T_anterior := T_atual; T_atual := T_proximo; until (T_proximo >= L); end; end.

16 Formas de representação de um algoritmo Fluxograma Diagrama de Chapin Pseudo-código (português estruturado)

17 Leia L Início T_anterior=1 T_atual=1 L>1 Fim Escreva (T_atual,T_anterior) T_proximo=T_anterior+T_atual T_proximo1 T_anterior=1 T_atual=1 Fim Escreva (T_atual,T_anterior) Repita T_proximo=T_anterior+T_atual) T_proximo 1 então faça T_anterior = 1; T_atual = 1; escreva (T_anterior, T_atual); repita T_proximo = T_anterior + T_atual; se (T_proximo < L) então escreva (T_proximo); T_anterior = T_atual; T_atual = T_proximo; até (T_proximo < L); fim_se fim Pseudo-código Formas de representação de um algoritmo


Carregar ppt "Algoritmos e Programação Estruturada Conceitos básicos Prof. Cláudio M. N. A. Pereira"

Apresentações semelhantes


Anúncios Google