4) Definir os dois tipos de Passagem de Parâmetros para Funções e Procedimentos em Algoritmos:
a. Passagem de Parâmetros por Valor (cite um exemplo);
b. Passagem de Parâmetros por Referência (cite um exemplo).
Soluções para a tarefa
Resposta:
Em C:
A)
Função:
#include <stdio.h>
int valor(int x){
x+=10;
return x;
}
int main(){
int x=10;
printf("Valor de x durante a função = %d\n",valor(x));
printf("Valor de x apos a função = %d\n",x);
}
/*Retorno:
Valor de x durante a função = 20;
Valor de x apos a função = 10*/
Procedimento:
#include <stdio.h>
void valor(int x){
x+=10;
printf("Valor de x durante o procedimento = %d\n",x);
}
int main(){
int x=10;
valor(x);
printf("Valor de x apos o procedimento = %d\n",x);
}
/*Retorno:
Valor de x durante o procedimento = 20;
Valor de x apos o procedimento = 10*/
B)
Função:
#include <stdio.h>
int referencia(int *x){
*x+=10;
return *x;
}
int main(void){
int x=10;
printf("Valor de x durante a função = %d\n",referencia(&x));
printf("Valor de x apos a função = %d\n",x);
}
/*Retorno:
Valor de x durante a função = 20;
Valor de x apos a função = 20*/
Procedimento:
#include <stdio.h>
void referencia(int *x){
*x+=10;
printf("Valor de x durante o procedimento = %d\n",*x);
}
int main(void){
int x=10;
referencia(&x);
printf("Valor de x após o procedimento = %d\n",x);
}
/*Retorno:
Valor de x durante o procedimento = 20;
Valor de x apos o procedimento= 20*/
Explicação:
Função - retorna valor.
Procedimento - não retorna valor.
Passagem de Parâmetros por Valor - Passa uma cópia da variável como parâmetro.
Passagem de Parâmetros por Referência - Passa a variável em si.