Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos ou Subrotinas:
PARTE II
Criando seus próprios módulos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Objetivos da Aula
 Compreender a necessidade e a importância de
modularizar
 Aprender a criar e utilizar (chamar) seus
próprios módulos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Refletindo ...
Até o momento temos escrito nossos programas no
PortugolStudio de maneira “sequencial” dentro da
função início
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Refletindo ...
À medida que os problemas vão se tornando mais
complexos, os programas (solução) tendem a ficar
mais extensos.
 Modularizar permite “quebrar” o problema em
subproblemas.
 Para cada subproblema podemos, por exemplo,
escrever um módulo específico (função)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROBLEMA
EXEMPLO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Problema
Escreva um programa ler dois vetores (A e B) de
10 elementos cada. Após a entrada de dados, o
programa deve:
 Obter e exibir a soma dos elementos do vetor A
 Obter e exibir a soma dos elementos do vetor B
 Calcular e exibir a média dos elementos dos dois
vetores (uma única média)
 Imprimir o vetor A e depois o vetor B
 Mostrar os elementos de A e B que são acima da média
de ambos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa ler dois vetores (A e B) de 10
elementos cada. Após a entrada de dados, o programa
deve:
 Obter e exibir a soma dos elementos do vetor A
 Obter e exibir a soma dos elementos do vetor B
 Calcular e exibir a média dos elementos dos dois vetores (uma
única média)
 Imprimir o vetor A e depois o vetor B
 Mostrar os elementos de A e B que são acima da média de ambos
 SAÍDA DE DADOS?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa ler dois vetores (A e B) de 10
elementos cada. Após a entrada de dados, o programa
deve:
 Obter e exibir a soma dos elementos do vetor A
 Obter e exibir a soma dos elementos do vetor B
 Calcular e exibir a média dos elementos dos dois vetores (uma
única média)
 Imprimir o vetor A e depois o vetor B
 Mostrar os elementos de A e B que são acima da média de ambos
 SAÍDA: soma do vetor A (somaA), soma do vetor B (soma B), media dos dois vetores
(mediaAB), exibir vetor A, exibir vetor B, exibir elementos de A e B acima de mediaAB.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa ler dois vetores (A e B) de 10
elementos cada. Após a entrada de dados, o programa
deve:
 Obter e exibir a soma dos elementos do vetor A
 Obter e exibir a soma dos elementos do vetor B
 Calcular e exibir a média dos elementos dos dois vetores (uma
única média)
 Imprimir o vetor A e depois o vetor B
 Mostrar os elementos de A e B que são acima da média de ambos
 ENTRADA DE DADOS: os vetores A e B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO 1
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
DECLARAÇÃO DE VARIÁVEIS E ENTRADA DE DADOS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROCESSAMENTO [1]:
- Obter e exibir a soma dos elementos do vetor A
- Obter e exibir a soma dos elementos do vetor B
Note que poderíamos usar um ÚNICO laço de repetição para somar os
DOIS vetores. Propositalmente, optou-se por tratar cada problema (de
somar cada vetor) como um problema específico.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROCESSAMENTO [2]
- Calcular e exibir a média dos elementos
dos dois vetores (uma única média)
- Imprimir o vetor A e depois o vetor B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROCESSAMENTO [3]
Mostrar os elementos de A e B que
são acima da média de ambos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA (53 LINHAS DE PROGRAMA)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA (53 LINHAS DE PROGRAMA)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Análise da Solução
 O programa completo possui cerca de 53 linhas
 Há diversos trechos no programa que são
“repetitivos”, ou seja, fazem a “mesma” coisa,
mudando-se apenas a “variável”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Trecho repetitivo: ENTRADA DE DADOS
O “mesmo trecho” para ENTRADA DE DADOS dos vetores! Muda
apenas o nome da variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Trecho repetitivo: SOMA ELEMENTOS VETOR
O “mesmo trecho” para SOMA DOS ELEMENTOS dos vetores! Muda
apenas o nome da variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Trecho repetitivo: IMPRIME VETOR
O “mesmo trecho” para IMPRIMIR VETOR! Muda apenas o nome da
variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Trecho repetitivo: ELEMENTOS ACIMA MEDIA
O “mesmo trecho” para MOSTRAR ELEMENTOS ACIMA DA MÉDIA!
Muda apenas o nome da variável.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
ANÁLISE DA SOLUÇÃO
 Trechos repetitivos é um convite ao REUSO!
 Cada “parte” do programa tem uma FINALIDADE
ESPECÍFICA:
 Ler o vetor (subproblema 1)
 Somar os elementos do vetor (subproblema 2)
 Imprimir os elementos do vetor (subproblema 3)
 Exibir os elementos acima da media (subproblema 4)
 Reuso e Problemas com finalidade específica é um
convite a MODULARIZAÇÃO!!!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO
MODULARIZADA
Primeiro vamos ver a solução
modularizada, para entendermos suas
vantagens! Em seguida vamos aprender a
escrever os módulos (funções)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando
 Primeiro, vamos pegar cada trecho específico, um
a um, e transformá-lo numa função
Comecemos pela ENTRADA DE DADOS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“LEITURA VETOR”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – ENTRADA DE DADOS
 O que difere entre os dois trechos é apenas a
variável do “leia”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – ENTRADA DE DADOS
 Note que os trechos são IDÊNTICOS!
 Apenas “criamos” uma nova função, demos um nome a ela
(Leitura_Vetor) e agora podemos CHAMÁ-LA
 Daqui a pouco entenderemos melhor os detalhes da criação da
função: nome, parâmetros, etc.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando - ENTRADA DE DADOS
 Existindo a função podemos CHAMÁ-LA como fazemos
com funções existentes (potencia, raiz, etc)
 Note que “Leitura_Vetor” é chamada duas vezes: uma para
A e outra para B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“SOMA VETOR”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – SOMA VETOR
 O que difere os dois trechos?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – SOMA VETOR
 Note que os trechos são IDÊNTICOS!
 Apenas “criamos” uma nova função, demos um nome a ela
(Soma_Vetor) e agora podemos CHAMÁ-LA
 Daqui a pouco entenderemos melhor os detalhes da criação da
função : nome, parâmetros, etc.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando - SOMA VETOR
 Existindo a função podemos CHAMÁ-LA como fazemos
com funções existentes (potencia, raiz, etc)
 Note que “Soma_Vetor” é chamada duas vezes: uma para A
e outra para B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“IMPRIME VETOR”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – IMPRIME VETOR
 O que difere os dois trechos?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – IMPRIME VETOR
 Note que os trechos são IDÊNTICOS!
 Apenas “criamos” uma nova função, demos um nome a ela
(Imprime_Vetor) e agora podemos CHAMÁ-LA
 Daqui a pouco entenderemos melhor os detalhes da criação da
função : nome, parâmetros, etc.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando - IMPRIME VETOR
 Existindo a função podemos CHAMÁ-LA como fazemos
com funções existentes (potencia, raiz, etc)
 Note que “Imprime_Vetor” é chamada duas vezes: uma para
A e outra para B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“IMPRIME ACIMA MEDIA”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – IMPRIME ACIMA DA MÉDIA
 O que difere os dois trechos?
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando – IMPRIME ACIMA DA MÉDIA
 Note que os trechos são IDÊNTICOS!
 Apenas “criamos” uma nova função, demos um nome a ela
(Imprime_Acima_Media) e agora podemos CHAMÁ-LA
 Daqui a pouco entenderemos melhor os detalhes da criação da
função : nome, parâmetros, etc.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularizando - IMPRIME ACIMA DA MÉDIA
 Existindo a função podemos CHAMÁ-LA como fazemos
com funções existentes (potencia, raiz, etc)
 Note que “Imprime_Acima_Media” é chamada duas vezes:
uma para A e outra para B
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
FUNÇÃO INÍCIO
Note como o
programa está mais
ENXUTO (código
mais limpo)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
FUNÇÕES DE USUÁRIO (CRIADAS)
AS FUNÇÕES
CRIADAS E QUE
FORAM CHAMADAS
(E REUSADAS)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
VANTAGENS DA
MODULARIZAÇÃO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularização - Vantagens




Reaproveitamento de código (reuso)
Organização
Legibilidade
Flexibilidade
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
COMO ESCREVER E ATIVAR
MÓDULOS (FUNÇÕES)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Estrutura e Sintaxe
 Um programa modularizado tem:
 um módulo principal (função início) e
 outros módulos que vamos chamar de
funções de usuário
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos - Sintaxe
Sintaxe parecida com
O módulo principal
4- Parênteses com parâmetros
(caso exista)
3- Identificador (obrigatório)
1- Palavra funcao
(obrigatório)
2- Valor de retorno (caso exista)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PARÂMETROS
 São os valores ou variáveis enviadas
ao
módulo, para que ele possa realizar o seu
processamento
 Podemos passar nenhum ou vários parâmetros
para o módulo
 Tudo depende da finalidade do módulo (e de
como ele foi construído)
(2) PARÂMETROS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
RETORNO
 O Retorno de um módulo é o valor (ou valores) que o
módulo retorna para o local em que ele foi chamado
(3) RETORNO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Sintaxe - Portugol
palavra
funcao
tipo do
retorno da
função
Identificador
(nome da função)
Parâmetros da função)
valor de retorno (caso exista)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Sintaxe - Portugol
palavra funcao
Identificador (nome da função)
Parâmetros da função)
NOTE QUE ESSA FUNÇÃO NÃO TEM RETORNO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Sintaxe - Portugol
Sempre dentro das chaves, para
Delimitar o BLOCO do módulo
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
EXECUÇÃO E CHAMADA
DOS MÓDULOS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Execução de um Módulo
 A chamada (ou ativação) de um módulo, representa a
execução das ações contidas nele, em seguida a
execução retorna para a instrução seguindo ao ponto
da sua chamada (que poderá ser o módulo principal ou
noutros módulos)
 Não existe ordem para a definição dos módulos
 Quem determina a execução de um MÓDULO (ou
função) é a sua chamada.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Execução (chamada)
 O módulo principal (função início)
 É o primeiro a ser chamado quando um
programa é executado
 Os outros módulos são ativados (executados)
toda vez que forem chamados (pelo nome)
 A chamada de um módulo deve respeitar sua
definição (nome, parâmetros, etc)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularização - CHAMADA
Note as chamadas à função SOMA_VETOR: passando dois
parâmetros e atribuindo o valor do retorno para somaA e somaB
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularização - CHAMADA
Note as chamadas à função IMPRIME_VETOR: passando dois
parâmetros. Não há atribuição pois a função não retorna nada!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Execução de um Módulo
 Qualquer função pode chamar outra função.
 Um módulo pode chamar ele próprio?
 Recursividade! Fora do escopo da disciplina
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
EXEMPLO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Problema
Escreva um programa para exibir o peso ideal de uma
pessoa utilizando a fórmula a seguir:
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
A entrada e saída de dados poderá ser feito no módulo
principal (função início). No entanto, o cálculo do peso
ideal deve ser feito em uma função específica.
 SAÍDA: ???
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Problema
Escreva um programa para exibir o peso ideal de uma
pessoa utilizando a fórmula a seguir:
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
A entrada e saída de dados poderá ser feito no módulo
principal (função início). No entanto, o cálculo do peso
ideal deve ser feito em uma função específica.
 SAÍDA: peso ideal
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Problema
Escreva um programa para exibir o peso ideal de uma
pessoa utilizando a fórmula a seguir:
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
A entrada e saída de dados poderá ser feito no módulo
principal (função início). No entanto, o cálculo do peso
ideal deve ser feito em uma função específica.
 SAÍDA: peso ideal
 ENTRADA: sexo e altura
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Solução
A entrada e saída de dados poderá ser feito no módulo
principal (função início). No entanto, o cálculo do peso
ideal deve ser feito em uma função específica.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construção da Função
A entrada e saída de dados poderá ser feito no módulo
principal (função início). No entanto, o cálculo do peso
ideal deve ser feito em uma função específica.
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
Para construir o módulo (função) precisamos:
1. Definir identificador (nome da função)
2. Definir os parâmetros (tipo e nome), se necessário
3. Definir tipo do retorno, se necessário
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construção da Função
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
1. Definir identificador (nome da função)
Calcula_Peso_Ideal
2. Definir os parâmetros (tipo e nome), se necessário
A função precisa receber o SEXO e ALTURA por parâmetro (já que
eles foram lidos fora da função)
3. Definir tipo do retorno, se necessário
A função deverá RETORNAR o peso ideal calculado
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construção da Função
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construção da Função
 Masculino: 72.7 x altura – 58
 Feminino: 62.1 x altura – 44.7
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Solução Completa
CHAMADA DA FUNÇÃO
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Solução Completa
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROBLEMA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularização
O que será impresso pelo trecho de programa abaixo?
a
10
b
20
c
0
100H
200H
300H
a
10
b
20
y
?
600H
650H
700H
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
ESCOPO DE
VARIÁVEIS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Blocos
 Um BLOCO é delimitado por um par de chaves
{ }
 Um BLOCO define o ESCOPO das variáveis.
 A variável só existe dentro do “bloco” em que
ela foi declarada.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Escopo LOCAL
 Escopo local – VARIÁVEL existe somente no
módulo (bloco) em que foi declarada.
 Quando a execução do módulo (função) é
finalizada a variável é “liberada” (da memória)
e os valores perdidos.
 Caso os valores devam “sair” da função (antes
de serem perdidos) eles precisam ser
RETORNADOS: retorne
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escopo Global
 Escopo global – são variáveis que podem ser utilizadas
nos módulos em que foram declaradas e também nos
módulos internos aos módulos que foram declarados
Evitem utilizar variáveis globais!
 Ocupam mais espaço de memória, pois ocupam a
memória enquanto o programa estiver sendo
executado
 Dê preferência pelas variáveis locais!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PARÂMETROS
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR VALOR
Ocorre a passagem do VALOR
(conteúdo) para a variável correspondente
na função, por correspondência de posição:
 o primeiro valor é passado para a
primeira variável,
 o segundo valor é passado para a
segunda posição, e assim por diante...
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Parâmetros por Valor
NA CHAMADA 
a
10
b
20
c
0
100H
200H
300H
a
10
b
20
y
?
600H
650H
700H
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Parâmetros por Valor
NO RETORNO 
a
10
b
20
c
0
10
100H
200H
300H
a
10
20
b
20
10
y
?
10
600H
650H
700H
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR VALOR
 Caso haja alterações no parâmetro
correspondente (dentro da função) essas
mudanças são perdidas (a não ser que
os valores sejam retornados).
 ESSA É A PASSAGEM DE PARÂMETRO
PADRÃO!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR REFERÊNCIA
Ocorre a passagem do ENDEREÇO da variável (e
não apenas o conteúdo). É criado uma CONEXÃO
entre as variáveis correspondentes.
 Caso haja alterações no parâmetro
correspondente (dentro da função) essas
mudanças alteram a variável passada por
parâmetro (similar a um “retorno”)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Parâmetros por Referência
a
10
20
b
20
10
100H
200H
a
10
20
b
20
10
aux
?
10
600H
650H
700H
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR REFERÊNCIA
 NO PORTUGOL STUDIO a passagem de
parâmetros por REFERÊNCIA é feita
colocando-se um & antes do nome da variável
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR REFERÊNCIA
Note que na função Leitura_Vetor o primeiro
parâmetro usa o & pois o VETOR é modificado
dentro da função e essa modificação precisa ser
refletida fora da função
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PASSAGEM DE PARÂMETRO POR VALOR
Note que na função Imprime_Vetor a
passagem é feita por VALOR (sem o &) pois a
função NÃO modifica o conteúdo do vetor
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Coisas para recordar
 Obrigatório existir um módulo principal
 O módulo principal é criado automaticamente
 Para criar seus módulos você precisa pensar:
 No objetivo do módulo
 Identificador
 Número e tipo de parâmetros
 Valor de retorno
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Coisas para não esquecer
 Um bloco é delimitado pelos CHAVES { e }.
 Uma variável que é declarada dentro de um módulo é
chamada de variável local e existe apenas dentro do
módulo.
 O módulo fica na memória durante a sua execução sendo
destruido quando última instrução é executada (ou após
um retorne).
 Uma variável criada fora de qualquer módulo é chamada
de variável global.
 A variável global existe dentro de qualquer módulo criado
dentro do programa.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
AGORA É
PRATICAR!!!
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Exercício 1
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva a função Valida_Inteiro para solicitar um
número inteiro e validá-lo de forma que o mesmo
esteja dentro de um intervalo. Os limites do intervalo
serão passados por parâmetro. Escreva também a
função principal (início) para fazer a chamada da
função com os seguintes valores:
 Valida_Inteiro (0, 100) // aceitar valores entre 0 e 100
 Valida_Inteiro (-50, 50) // aceitar valores entre -50 e 50
Atenção: A comunicação dos valores entre a função
e o meio externo dever ser feita por passagem de
parâmetros (e não por variáveis globais)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Exercício 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construa uma função que receba por
parâmetro um vetor e seu tamanho.
Retorne a posição do maior valor
(elemento).
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Exercício 3
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Construa uma função que receba por
parâmetro, uma matriz A e suas dimensões.
Retorne V (true) se existir alguma linha com
todos os elementos zerados e F (false) caso
contrário.
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Download

Módulos