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

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

Algoritmos e Programação Estruturada Conceitos básicos

Apresentações semelhantes


Apresentação em tema: "Algoritmos e Programação Estruturada Conceitos básicos"— 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. 1 1 2 3 5 8 13 21 34 ... 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 <stdio.h> #include <conio.h> 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 Formas de representação de um algoritmo
Fluxograma Formas de representação de um algoritmo Início Leia L L>1 N Diagrama de Chapin Pseudo-código S T_anterior=1 T_atual=1 Leia L 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 L>1 Escreva (T_atual,T_anterior) S N T_anterior=1 T_atual=1 Fim T_proximo=T_anterior+T_atual Escreva (T_atual,T_anterior) N Repita T_proximo<L T_proximo=T_anterior+T_atual) S T_proximo<L Escreva (T_proximo) S N Escreva (T_proximo) Fim T_anterior=T_atual T_atual=T_proximo T_anterior=T_atual T_atual=T_proximo Fim


Carregar ppt "Algoritmos e Programação Estruturada Conceitos básicos"

Apresentações semelhantes


Anúncios Google