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

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

PROGRAMAÇÃO IMPERATIVA M ODULARIZAÇÃO DE P ROGRAMAS IGOR LEONARDO ELOY MACEDO.

Apresentações semelhantes


Apresentação em tema: "PROGRAMAÇÃO IMPERATIVA M ODULARIZAÇÃO DE P ROGRAMAS IGOR LEONARDO ELOY MACEDO."— Transcrição da apresentação:

1 PROGRAMAÇÃO IMPERATIVA M ODULARIZAÇÃO DE P ROGRAMAS IGOR LEONARDO ELOY MACEDO

2 A PRESENTAÇÃO Introdução Subprogramas Procedimento Função Parâmetros Escopo de variáveis Exemplo Prático Conclusão

3 M ODULARIZAÇÃO DE PROGRAMAS I NTRODUÇÃO Custo; Dividir para simplificar; Dividir para reaproveitar; Conceito:

4 Programa "Exemplo“ variáveis x, y, aux, fatX, fatY, fatSub, sub, resultado : Inteiro Início x <- Entrada y <- Entrada se (x >= 0 e y >= 0) então inicio se (x < y) então início//ordenação decrescente aux <- x x <- y y <- aux fim se... Resultado <- fatX / (fatY * fatSub) Saida <- Resultado fim se senão saída <- "Dados Inadequados" Fim programa fatX <- 1 enquanto (x > 1)//fatorial de X início fatX <- fatX * x x <- x - 1 fim enquanto fatY <- 1 enquanto (y > 1)//fatorial de Y início fatY <- fatY * y y <- y - 1 fim enquanto sub <- x - y fatSub <- 1 enquanto (sub > 1)//fatorial de (X - Y) início fatSub <- fatSub * sub sub <- sub - 1 fim enquanto f(x) = x! / y! * (x - y)! ; se x >= y f(x) = y! / x! * (y - x)! ; se x < y

5 M ODULARIZAÇÃO DE PROGRAMAS S UBPROGRAMAS Módulos de programas = Sub-algoritmos = sub-rotinas; Hierarquia Reutilização de algoritmos ≠ repetição de algoritmos; Legibilidade; Procedimentos; Funções;

6 M ODULARIZAÇÃO DE PROGRAMAS S UBPROGRAMAS - P ROCEDIMENTOS Subprograma sem retorno de valor; Interrompe a execução do programa que o invoca até o seu encerramento; Procedimento NomeProcedimento //variáveis Início //instruções Fim

7 M ODULARIZAÇÃO DE PROGRAMAS S UBPROGRAMAS - P ROCEDIMENTOS Programa "Exemplo“ variáveis x, y, aux, fatX, fatY, fatSub, sub, resultado : Inteiro Início x <- Entrada y <- Entrada se (x >= 0 e y >= 0) então inicio se (x < y) então início//ordenação decrescente aux <- x x <- y y <- aux fim se... Resultado <- fatX / (fatY * fatSub) Saida <- Resultado fim se senão saída <- "Dados Inadequados" Fim programa Ordenadecrescente Procedimento OrdenaDecrescente() Inicio se (x < y) então início//ordenação decrescente aux <- x x <- y y <- aux fim se Fim procedimento

8 M ODULARIZAÇÃO DE PROGRAMAS P ARÂMETROS Canais de comunicação entre programas e subprogramas; Facilitam a reutilização de algoritmos; Os parâmetros são variáveis, e estas se restringem a dois tipos de escopo Escopo global; Escopo local; Os parâmetros são passados de duas formas: Por valor; Por referência;

9 M ODULARIZAÇÃO DE PROGRAMAS P ARÂMETROS Programa "Exemplo“ variáveis x, y, fatX, fatY, fatSub, sub, resultado : Inteiro Procedimento Ordenadecrescente( var a : Inteiro; var b : Inteiro) Início x <- Entrada y <- Entrada se (x >= 0 e y >= 0) então inicio Ordenadecrescete( x, y )... Resultado <- fatX / (fatY * fatSub) Saida <- Resultado fim se senão saída <- "Dados Inadequados" Fim programa Procedimento Ordenadecrescente( var a : Inteiro; var b : Inteiro) Variáveis aux : Inteiro Inicio se (a < b) então início//ordenação decrescente aux <- a a <- b b <- aux fim se Fim procedimento f(x) = x! / y! * (x - y)! ; se x >= y f(x) = y! / x! * (y - x)! ; se x < y

10 M ODULARIZAÇÃO DE PROGRAMAS S UBPROGRAMAS - F UNÇÕES Semelhante ao procedimento, porém retorna valores ao final de sua execução; Seu conceito é originário da matemática f(x) = x^2 + x - 8 Função NomeFunção : ValorRetornado //variáveis Início //instruções Fim

11 Programa "Exemplo“ variáveis x, y, aux, fatX, fatY, fatSub, sub, resultado : Inteiro Procedimento Ordenadecrescente( var a : Inteiro; var b : Inteiro)... Início x <- Entrada y <- Entrada se (x >= 0 e y >= 0) então inicio OrdenaDecrescente(x, y)... Resultado <- fatX / (fatY * fatSub) Saida <- Resultado fim se senão saída <- "Dados Inadequados" Fim programa fatX <- 1 enquanto (x > 1)//fatorial de X início fatX <- fatX * x x <- x - 1 fim enquanto fatY <- 1 enquanto (y > 1)//fatorial de Y início fatY <- fatY * y y <- y - 1 fim enquanto sub <- x - y fatSub <- 1 enquanto (sub > 1)//fatorial de (X - Y) início fatSub <- fatSub * sub sub <- sub - 1 fim enquanto Função Fatorial(a : inteiro) : Inteiro variáveis resultado : Inteiro Início resultado ← 1 enquanto (resultado > 1) início resultado ← resultado * a a ← a - 1 fim RETORNA resultado Fim//Função Fatorial(x) Fatorial(Y) Fatorial(x-y)

12 Programa "Exemplo“ variáveis x, y, aux, fatX, fatY, fatSub, sub, resultado : Inteiro Procedimento Ordenadecrescente( var a : Inteiro; var b : Inteiro)... Função Fatorial(a : inteiro) : Inteiro... Início x <- Entrada y <- Entrada se (x >= 0 e y >= 0) então inicio OrdenaDecrescente(x, y) fatX <- Fatorial(x) fatY <- Fatorial(y) fatSub <- Fatorial(x - y) Resultado <- fatX / (fatY * fatSub) Saida <- Resultado fim se senão saída <- "Dados Inadequados" Fim programa

13 M ODULARIZAÇÃO DE PROGRAMAS E XEMPLO P RÁTICO Programa “Exemplo” variáveis x, y : Inteiro Início x ← Entrada y ← Entrada se (x >= 0 e y >= 0) então Início OrdenaDecrescente(x, y)OrdenaDecrescente Saída ← CalculaResultado(x, y)CalculaResultado Fim //Se Senão Saída ← “Dados inadequados” Fim//programa f(x) = x! / y! * (x - y)! ; se p >= q f(x) = y! / x! * (y - x)! ; se p < q

14 M ODULARIZAÇÃO DE PROGRAMAS C ONCLUSÃO A decomposição de um problema é fator determinante para a redução de sua complexidade; Além disso fatores como legibilidade, manutenção do algoritmo e flexibilidade são destacados pela modularização;

15 P RINCIPAIS R EFERÊNCIAS B IBLIOGRÁFICAS Melo, Ana Cristina Vieira; Silva, Flávio Soares Corrêa. Princípios de Linguagens de Programação. Brasil: Edgard Blücher, 2003. Trembley, Jean-Paul; Bunt, Richard B. Ciência dos Computadores (Uma Abordagem Algoritmica). Brasil: Makron Books, 1983. Sebesta, Robert W. Conceitos de Linguagens de Programação. Brasil: Bookman, 2002. Araújo, Flávio Louzada – Modularização ou sub- rotinas. Disponível em:. Acessado em: 11/10/2008. http://www.faculdadefortium.com.br/flavio_louzada/materia l/1939.pdf Baioco, Gisele Busichia – Modularização de Programas (Conceitos fundamentais). Disponível em:. Acessado em: 11/10/2008. http://www.faculdadefortium.com.br/flavio_louzada/materia l/1939.pdf

16 D ÚVIDAS

17 A GRADECIMENTOS À platéia presente À banca examinadora

18 M ODULARIZAÇÃO DE PROGRAMAS E XEMPLO P RÁTICO Procedimento OrdenaDecrescente( var a : inteiro; var b : inteiro) variáveis c : Inteiro Início se (a < b) então Início c ← a a ← b b ← c Fim //Se Fim//procedimento

19 M ODULARIZAÇÃO DE PROGRAMAS E XEMPLO P RÁTICO Função CalculaValor(a : inteiro; b : inteiro) : Inteiro variáveis resultado : Inteiro Início resultado ← (Fatorial(a) / (Fatorial(b) * Fatorial(a-b))Fatorial RETORNA resultado Fim//Função

20 M ODULARIZAÇÃO DE PROGRAMAS E XEMPLO P RÁTICO Função Fatorial(a : inteiro) : Inteiro variáveis resultado : Inteiro Início resultado ← 1 enquanto (resultado > 1) início resultado ← resultado * a a ← a - 1 fim RETORNA resultado Fim//Função


Carregar ppt "PROGRAMAÇÃO IMPERATIVA M ODULARIZAÇÃO DE P ROGRAMAS IGOR LEONARDO ELOY MACEDO."

Apresentações semelhantes


Anúncios Google