módulos ou subrotinas: parte ii criando seus próprios módulos · após a entrada de dados, o...
TRANSCRIPT
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
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
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
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
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
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]:
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
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
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
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
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
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
Primeiro, vamos pegar cada trecho específico, um
a um, e transformá-lo numa função
Modularizando
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
O que difere entre os dois trechos é apenas a
variável do “leia”
Modularizando – ENTRADA DE DADOS
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
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
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
O que difere os dois trechos?
Modularizando – SOMA VETOR
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
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
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
O que difere os dois trechos?
Modularizando – IMPRIME VETOR
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
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
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
O que difere os dois trechos?
Modularizando – IMPRIME ACIMA DA MÉDIA
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
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
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
1- Palavra funcao
(obrigatório)
2- Valor de retorno (caso exista)
3- Identificador (obrigatório)
4- Parênteses com parâmetros
(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
valor de retorno (caso exista)
Identificador
(nome da função)
Parâmetros da função)
tipo do
retorno da
função
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)
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
Note as chamadas à função SOMA_VETOR: passando dois
parâmetros e atribuindo o valor do retorno para somaA e somaB
Modularização - CHAMADA
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
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
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: ???
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.
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
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.
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
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
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 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
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!
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
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ícios
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)