Aula 1.11 - Procedimentos, parâmetros, variável local e global
Na aula anterior, você aprendeu a estrutura de repetição para...faça. Bom, vamos utilizar ela para aprender sobre procedimentos. Confira o algoritmo abaixo:
Algoritmo "soma"
Var
n1, n2, resultado : Real
soma : Inteiro //essa variável controlará a repetição
Inicio
Escreval ("Este programa soma dois números")
Escreval ("Resultado da ultima soma: ",resultado)
Para soma de 1 ate 3 passo 1 faca //repetirá esse bloco 3 vezes
Escreva ("Digite um número: ")
Leia (n1)
Escreva ("Digite outro número: ")
Leia (n2)
resultado <- n1 + n2
Limpatela //limpa a tela do programa
Escreval ("Este programa soma dois números")
Escreval ("Resultado da ultima soma: ",resultado)
fimpara
Limpatela
Escreval ("Este programa soma dois números")
Escreval ("Resultado da ultima soma: ",resultado)
Fimalgoritmo
Copie o algoritmo acima e cole no seu Visualg para conferir seu funcionamento, bom vocês devem ter notado que ao rodar o algoritmo o programa solicita que digite um número e em seguida outro, depois de dar enter a tela é limpada, e é exibido o resultado da soma que você fez e então ele solicita outros números para realizar a soma, e depois isso se repete mais uma vez e por fim exibe o resultado da ultima soma finalizando o algoritmo.
Bom, como perceberam no código você escreveu "Limpatela" duas vezes, "Escreval ("Este programa soma dois números")" e "Escreval ("Resultado da ultima soma: ",resultado)" três vezes, isso é redundante e deixa seu algoritmo pesado. Para resolver este problema utilizaremos do comando "procedimento". Procedimento é um subprograma que não retorna nenhum valor, portanto deve ser declarado depois das variáveis e antes do início do programa. Confira:
Algoritmo "soma"
Var
n1, n2, resultado : Real
soma : Inteiro //essa variável controlará a repetição
Procedimento cabecalho() //nome do procedimento
Inicio //inicio do procedimento
Limpatela //limpa a tela do programa
Escreval ("Este programa soma dois números")
Escreval ("Resultado da ultima soma: ",resultado)
fimprocedimento //fim do procedimento
Inicio
cabecalho() //chamada para o procedimento
Para soma de 1 ate 3 passo 1 faca //repetirá esse bloco 3 vezes
Escreva ("Digite um número: ")
Leia (n1)
Escreva ("Digite outro número: ")
Leia (n2)
resultado <- n1 + n2
cabecalho() //chamada para o procedimento
fimpara
cabecalho() //chamada para o procedimento
Fimalgoritmo
Como podem observar, o algoritmo ficou menor e toda vez que aparece "cabecalho()" o algoritmo chama o procedimento. Bom o "cabecalho()" pode ser qualquer outro nome desde que obedece as mesmas regras de nomenclatura das variáveis, coloquei este para fazer referência ao cabeçalho que será exibido.
Vamos agora ver um procedimento com parâmetros. Um procedimento com parâmetros é nada mais que um procedimento que recebe um valor e utiliza durante sua execução. Confira o exemplo abaixo:
Algoritmo "par-ou-impar"
Var
n : Inteiro
Procedimento parouimpar(valor: Inteiro) //'valor' vai receber o valor de 'n'
Inicio //inicio do procedimento
Se (valor%2 = 0) entao //confere se o resto da divisão de 'valor' por 2 é zero
Escreval ("O número", valor, " é par")
Senao
Escreval ("O número", valor, " é ímpar")
fimse
fimprocedimento //fim do procedimento
Inicio
Escreva ("Digite um número: ")
Leia (n)
parouimpar(n) //chamada para o procedimento
Fimalgoritmo
Bom quando você rodar o algoritmo ele pedirá para você digitar um número e em seguida ele vai ler este número, depois ele vai ir para a seção do inicio do procedimento, o número que foi armazenado na variável 'n' vai então passar para o parâmetro 'valor' para que então se inicie o procedimento. No procedimento vai checar se o resto da divisão de 'valor' por 2 é igual a zero caso contrário este número é ímpar.
Note que os valores utilizados na parte do procedimento são valores que podem ser utilizados apenas dentro do procedimento, ou seja se você chamar o parâmetro fora do procedimento você vai receber um error. Confira a imagem abaixo:
Clique na imagem para ampliar. |
|
|
É isso, espero que tenham entendido e até a próxima aula!
>> Próxima aula, clique aqui
COMENTÁRIOS