![Page 1: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/1.jpg)
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
![Page 2: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/2.jpg)
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
![Page 3: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/3.jpg)
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
![Page 4: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/4.jpg)
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)
![Page 5: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/5.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROBLEMA EXEMPLO
![Page 6: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/6.jpg)
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
Problema
![Page 7: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/7.jpg)
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?
![Page 8: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/8.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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.
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
![Page 9: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/9.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
ENTRADA DE DADOS: os vetores A e B
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
![Page 10: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/10.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO 1
![Page 11: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/11.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
DECLARAÇÃO DE VARIÁVEIS E ENTRADA DE DADOS
![Page 12: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/12.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
PROCESSAMENTO [1]:
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.
- Obter e exibir a soma dos elementos do vetor A
- Obter e exibir a soma dos elementos do vetor B
![Page 13: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/13.jpg)
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
![Page 14: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/14.jpg)
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
![Page 15: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/15.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA (53 LINHAS DE PROGRAMA)
![Page 16: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/16.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA (53 LINHAS DE PROGRAMA)
![Page 17: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/17.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA
![Page 18: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/18.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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”
Análise da Solução
![Page 19: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/19.jpg)
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.
![Page 20: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/20.jpg)
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.
![Page 21: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/21.jpg)
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.
![Page 22: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/22.jpg)
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.
![Page 23: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/23.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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!!!
ANÁLISE DA SOLUÇÃO
![Page 24: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/24.jpg)
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)
![Page 25: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/25.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
![Page 26: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/26.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Primeiro, vamos pegar cada trecho específico, um
a um, e transformá-lo numa função
Modularizando
Comecemos pela ENTRADA DE DADOS
![Page 27: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/27.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“LEITURA VETOR”
![Page 28: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/28.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
O que difere entre os dois trechos é apenas a
variável do “leia”
Modularizando – ENTRADA DE DADOS
![Page 29: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/29.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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.
Modularizando – ENTRADA DE DADOS
![Page 30: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/30.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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
Modularizando - ENTRADA DE DADOS
![Page 31: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/31.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“SOMA VETOR”
![Page 32: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/32.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
O que difere os dois trechos?
Modularizando – SOMA VETOR
![Page 33: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/33.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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.
Modularizando – SOMA VETOR
![Page 34: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/34.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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
Modularizando - SOMA VETOR
![Page 35: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/35.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“IMPRIME VETOR”
![Page 36: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/36.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
O que difere os dois trechos?
Modularizando – IMPRIME VETOR
![Page 37: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/37.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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.
Modularizando – IMPRIME VETOR
![Page 38: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/38.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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
Modularizando - IMPRIME VETOR
![Page 39: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/39.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
MODULARIZANDO A ROTINA
“IMPRIME ACIMA MEDIA”
![Page 40: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/40.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
O que difere os dois trechos?
Modularizando – IMPRIME ACIMA DA MÉDIA
![Page 41: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/41.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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.
Modularizando – IMPRIME ACIMA DA MÉDIA
![Page 42: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/42.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
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
Modularizando - IMPRIME ACIMA DA MÉDIA
![Page 43: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/43.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
SOLUÇÃO COMPLETA
![Page 44: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/44.jpg)
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)
![Page 45: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/45.jpg)
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)
![Page 46: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/46.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
VANTAGENS DA MODULARIZAÇÃO
![Page 47: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/47.jpg)
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
![Page 48: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/48.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
COMO ESCREVER E ATIVAR MÓDULOS (FUNÇÕES)
![Page 49: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/49.jpg)
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
![Page 50: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/50.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
![Page 51: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/51.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos - Sintaxe
Sintaxe parecida com
O módulo principal
1- Palavra funcao
(obrigatório)
2- Valor de retorno (caso exista)
3- Identificador (obrigatório)
4- Parênteses com parâmetros
(caso exista)
![Page 52: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/52.jpg)
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
![Page 53: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/53.jpg)
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
![Page 54: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/54.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Sintaxe - Portugol
palavra
funcao
valor de retorno (caso exista)
Identificador
(nome da função)
Parâmetros da função)
tipo do
retorno da
função
![Page 55: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/55.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Módulos – Sintaxe - Portugol
palavra funcao
NOTE QUE ESSA FUNÇÃO NÃO TEM RETORNO
Identificador (nome da função)
Parâmetros da função)
![Page 56: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/56.jpg)
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
![Page 57: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/57.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
EXECUÇÃO E CHAMADA DOS MÓDULOS
![Page 58: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/58.jpg)
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.
![Page 59: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/59.jpg)
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)
![Page 60: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/60.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Note as chamadas à função SOMA_VETOR: passando dois
parâmetros e atribuindo o valor do retorno para somaA e somaB
Modularização - CHAMADA
![Page 61: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/61.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Note as chamadas à função IMPRIME_VETOR: passando dois
parâmetros. Não há atribuição pois a função não retorna nada!
Modularização - CHAMADA
![Page 62: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/62.jpg)
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
![Page 63: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/63.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
EXEMPLO
![Page 64: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/64.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa para exibir o peso ideal de uma pessoa
utilizando a formula a seguir:
Problema
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 calculo do peso ideal deve ser feito em
uma função específica.
SAÍDA: ???
![Page 65: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/65.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa para exibir o peso ideal de uma pessoa
utilizando a formula a seguir:
Problema
SAÍDA: peso ideal
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 calculo do peso ideal deve ser feito em
uma função específica.
![Page 66: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/66.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Escreva um programa para exibir o peso ideal de uma pessoa
utilizando a formula a seguir:
Problema
SAÍDA: peso ideal
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 calculo do peso ideal deve ser feito em
uma função específica.
ENTRADA: sexo e altura
![Page 67: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/67.jpg)
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 calculo do peso ideal deve ser feito em
uma função específica.
![Page 68: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/68.jpg)
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 calculo 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
![Page 69: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/69.jpg)
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
![Page 70: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/70.jpg)
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
![Page 71: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/71.jpg)
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
![Page 72: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/72.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Solução Completa
CHAMADA DA FUNÇÃO
![Page 73: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/73.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Solução Completa
![Page 74: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/74.jpg)
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.
![Page 75: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/75.jpg)
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 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
![Page 76: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/76.jpg)
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!
![Page 77: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/77.jpg)
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
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!
![Page 78: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/78.jpg)
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”)
NO PORTUGOL STUDIO a passagem de parâmetros
por REFERÊNCIA é feita colocando-se um & antes do
nome da variável
![Page 79: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/79.jpg)
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
![Page 80: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/80.jpg)
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
![Page 81: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/81.jpg)
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
![Page 82: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/82.jpg)
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.
![Page 83: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/83.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
AGORA É PRATICAR!!!
![Page 84: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/84.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Exercícios
![Page 85: Módulos ou Subrotinas: PARTE II Criando seus próprios módulos · Após a entrada de dados, o programa deve: ... O que difere entre os dois trechos é apenas a ... Processamento](https://reader031.vdocuments.pub/reader031/viewer/2022022714/5c4d0eb393f3c3245e28be56/html5/thumbnails/85.jpg)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Módulos – Parte 2
Modularização – Exercício
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)