Dicas de Estudos, Carreira e Vida Profissional no Blog da FASPEC

Confira dicas e artigos sobre Educação, Rotinas de Trabalho e Estudo, Carreiras Profissionais e Mais no Blog da FASPEC. Acesse agora!

Sub-Programação: Tipos de Passagem de Parâmetros Decodificados

A sub-programação é uma técnica de programação que permite dividir um programa em partes menores e mais simples, chamadas de sub-programas ou funções. Essas partes podem ser reutilizadas em diferentes partes do programa, facilitando a organização, a manutenção e a depuração do código.

Um dos conceitos mais importantes da sub-programação é a passagem de parâmetros. Os parâmetros são os dados que são fornecidos aos sub-programas para que eles possam executar suas tarefas. Existem diferentes formas de passar os parâmetros aos sub-programas, e cada uma delas tem suas vantagens e desvantagens. Neste post, vamos explicar os principais tipos de passagem de parâmetros e como eles funcionam.

Sub-Programação

Passagem por valor


A passagem por valor é o tipo mais simples e comum de passagem de parâmetros. Neste tipo, o valor do parâmetro é copiado para uma variável local do sub-programa, que é independente da variável original. Isso significa que qualquer alteração feita na variável local não afeta a variável original.

Por exemplo, considere o seguinte código em C:

“`c
#include <stdio.h>

void quadrado(int x) {
x = x * x;
printf(“O quadrado de x é %d\n”, x);
}

int main() {
int a = 5;
quadrado(a);
printf(“O valor de a é %d\n”, a);
return 0;
}

 

Neste código, a função troca recebe dois parâmetros por referência, a e b, que são ponteiros para as variáveis x e y, respectivamente. Dentro da função, os valores apontados por a e b são trocados, e isso afeta os valores de x e y na função principal. O resultado da execução deste código é:

Antes da troca: x = 10, y = 20
Depois da troca: x = 20, y = 10

 

A vantagem da passagem por referência é que ela permite modificar os valores dos parâmetros sem precisar retorná-los ao sub-programa chamador. Além disso, ela pode economizar memória e tempo, pois não é necessário fazer uma cópia do valor do parâmetro. A desvantagem é que ela pode causar efeitos colaterais indesejados, se o programador não tiver cuidado com as alterações feitas nas variáveis.

Passagem por cópia-restauração

A passagem por cópia-restauração é um tipo intermediário entre a passagem por valor e a passagem por referência. Neste tipo, o valor do parâmetro é copiado para uma variável local do sub-programa, como na passagem por valor, mas ao final da execução do sub-programa, o valor da variável local é copiado de volta para a variável original, como na passagem por referência.

Por exemplo, considere o seguinte código em Pascal:

program exemplo;
var
a, b: integer;

procedure soma(var x, y: integer);
begin
x := x + y;
y := x – y;
end;

begin
a := 5;
b := 10;
writeln(‘Antes da soma: a = ‘, a, ‘, b = ‘, b);
soma(a, b);
writeln(‘Depois da soma: a = ‘, a, ‘, b = ‘, b);
end.

Neste código, a função soma recebe dois parâmetros, x e y. O parâmetro x é passado por cópia-restauração, indicado pela palavra-chave var, e o parâmetro y é passado por valor. Dentro da função, o valor de x é alterado para a soma de x e y, e o valor de y é alterado para a diferença de x e y, mas isso não afeta o valor de b na função principal. Ao final da função, o valor de x é copiado de volta para o valor de a na função principal. O resultado da execução deste código é:

Antes da soma: a = 5, b = 10
Depois da soma: a = 15, b = 10

A vantagem da passagem por cópia-restauração é que ela permite modificar os valores dos parâmetros de forma controlada, sem causar efeitos colaterais indesejados. A desvantagem é que ela pode consumir mais memória e tempo, pois é necessário fazer duas cópias do valor do parâmetro.

Neste post, vimos os principais tipos de passagem de parâmetros na sub-programação: passagem por valor, passagem por referência e passagem por cópia-restauração. Cada tipo tem suas vantagens e desvantagens, e o programador deve escolher o mais adequado para cada situação. Esperamos que este post tenha sido útil e esclarecedor para você. Se você gostou, compartilhe com seus amigos e deixe seu comentário. Até a próxima!

Se você quer saber mais sobre esse assunto, matricule-se agora em nosso curso de Analises e Desenvolvimento de Sistema.

Página inacessível

Contact Form Blog Faspec