Buscar

Laboratório de Programação - Módulos

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais