Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Laboratório de Programação Módulos Prof. Cézar de Sousa Macegoza IC – Instituto de Computação – UFMT Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Módulos Dividir o Problema em problemas menores Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Abordagem Top-Down Bottom-Up Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Modularizando Algoritmos algoritmo Exemplo_Fluxo_Modulo; var a1, a2, a3:inteiro; Teste() inicio a1<-a2; a3<-a1+a2; a2<-a2+6; fim Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Modularizando Algoritmos Principal () inicio a2 <-3; Teste(); escreva(a1,a2,a3); Fim. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Escopo de Variáveis Variavéis Globais – declaradas antes dos módulos, usadas em todo o programa; Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Escopo de Variáveis Variavéis locais – declaradas nos módulos, usadas somente em determinado módulo; Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Exercício 1 – Faça um algoritmo que calcule o M.M.C de 2 números recebidos através do usuário. Sendo que o cálculo do M.M.C. deve ser num modulo separado. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros Quando um módulo recebe valores que o mesmo utilizará, é realizado a passagem de parâmetros. Os argumentos podem ser constantes, valores literais(números, letras) ou variáveis. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Valor É feita uma cópia da variável durante a ativação do módulo. O parâmetro é uma variável local dentro do módulo ativado, totalmente independente dos argumentos da ativação. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Valor Sintaxe do Cabeçalho: <nome_modulo>(<parametro1>:<tipo>;...<parametroN> : <tipo>):<tipo_retorno> Exemplo: media(n1:inteiro;n2:inteiro):real Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Valor Ativação do Módulo: media(6,2); media(v1,4); media(v1,v2); - Cada argumento passado deve ser de tipo compatível e na mesma ordem ao declarado no cabeçalho do módulo. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Referência É passado o endereço da variável durante a ativação do módulo. O valor só pode ser passado através de uma variável, não se pode usar constantes ou valores explicitos. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Referência Sintaxe do Cabeçalho: <nome_modulo>(ref <parametro1>:<tipo>):<tipo> Ativação: <nome_modulo>(ref <identificador>); Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Referência Pascal: Procedure <nome_modulo>(var <variavel>: <tipo>); <nome_modulo>(<variavel>); Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Passagem de Parâmetros por Referência C: void <nome_modulo>(struct <tipo> *<nome_variavel>) <nome_modulo>(<variavel>) Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Exercícios 1- Faça um algoritmo que receba o tamanho dos três lados de um triângulo e faça as seguintes atividades: retornar se os três lados realmente forma um triângulo e que tipo de triângulo é este. Cada uma destas atividades deve ser um módulo. (tipos: Equilatero, isosceles, e escaleno) Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação Laboratório de Programação Módulos Exercícios 2- Faça um módulo que faça a rotação de três números. Tais números precisam ser passados como parâmetros, por referência. Por exemplo, se o módulo receber os valores 5,8 e 9, nesta ordem, os valores de saída nessas variáveis serão, 8,9 e5, respectivamente. Prof. Cézar de Sousa Macegoza – IC - UFMT Laboratório de Programação 04/04/2012 – Prof. Cézar de Sousa Macegoza – Ic - UFMT Introdução a Ciência da Computação
Compartilhar