Parametros Algoritimos
Parametros Algoritimos
algoritmos
e programação
com exemplos em Pascal e C
nina edelweiss
maria aparecida castro livi
as autoras
Nina Edelweiss é engenheira eletricista e doutora em Ciência da Computação pela Uni-
versidade Federal do Rio Grande do Sul. Durante muitos anos, lecionou em cursos de Enge-
nharia e de Ciência da Computação na UFRGS, na UFSC e na PUCRS. Foi, ainda, orientadora
do Programa de Pós-Graduação em Ciência da Computação da UFRGS. É coautora de três
livros, tendo publicado diversos artigos em periódicos e em anais de congressos nacionais
e internacionais. Participou de diversos projetos de pesquisa financiados por agências de
fomento como CNPq e FAPERGS, desenvolvendo pesquisas nas áreas de bancos de dados e
desenvolvimento de software.
Maria Aparecida Castro Livi é licenciada e bacharel em Letras, e mestre em Ciência da
Computação pela Universidade Federal do Rio Grande do Sul. Desenvolveu sua carreira pro-
fissional na UFRGS, onde foi programadora e analista de sistema, antes de ingressar na
carreira docente. Ministrou por vários anos a disciplina de Algoritmos e Programação para
alunos dos cursos de Engenharia da Computação e Ciência da Computação. Sua área de
interesse prioritário é o ensino de Linguagens de Programação, tanto de forma presencial
quanto a distância.
CDU 004.421
declaradas as variáveis inteiras int1 e int2, os seguintes comandos podem ser utilizados para
chamar o subprograma Fatorial:
execute Fatorial (5)
execute Fatorial (int1)
execute Fatorial (int1 + int2)
Na primeira chamada, o parâmetro formal número é substituído pelo valor 5; na segunda
chamada, número é substituído pela variável int1; e, na última chamada, número é substi-
tuído pelo resultado da expressão int1 + int2.
parâmetro. Uma cópia do conteúdo da variável é carregada em uma variável auxiliar, que será
utilizada durante a execução do subprograma. Dessa forma, qualquer modificação no valor
da variável auxiliar não se refletirá na variável utilizada como parâmetro real. A passagem de
valores para parâmetros definidos por valor pode ser feita ainda por meio de um valor literal e
do resultado de uma expressão. Na execução da chamada a um subprograma, os parâmetros
passados por valor também são incluídos na pilha de execução, preservando seus valores para
a continuação posterior da execução.
Na passagem de um parâmetro por referência, o endereço físico da variável utilizada como
parâmetro real é passado ao subprograma, sendo essa variável utilizada durante a execução.
Alterações no valor do parâmetro são feitas diretamente nessa variável. Na chamada de um
subprograma, os parâmetros definidos por referência recebem nomes de variáveis existentes
no programa principal. É importante observar que, na execução de uma chamada ao subpro-
grama, os parâmetros por referência não sofrem empilhamento, já que não são locais aos
subprogramas.
No exemplo anterior do subprograma Fatorial, o primeiro parâmetro – de entrada – é pas-
sado por valor. O segundo, que devolve o valor calculado, deve ser definido por referência.
Na pseudolinguagem, um parâmetro passado por referência é identificado pela palavra ref
antes de seu nome:
Subprograma Fatorial
Parâmetro de entrada: número (inteiro)
Parâmetro de saída: ref fat (inteiro)