Você está na página 1de 7

ALGORITMOS E PROGRAMAO ESTRUTURADA

Virgnia M. Cardoso

FUNES: PASSAGEM DE PARMETROS POR VALOR, PASSAGEM DE VETOR E PASSAGEM DE MATRIZ

argumentos podem ser passados para uma funo de duas maneiras:


chamada por valor chamada por referncia

chamada por valor copia o valor de um argumento no parmetro da funo. Assim, alteraes feitas nos parmetros da funo no tm nenhum efeito nas variveis usadas para cham-la. chamada por valor para passar argumentos, isso significa que voc no pode alterar as variveis usadas para chamar uma funo

1 /* Programa que calcula a soma do dobro de dois numeros */ 2 #include <stdio.h> 3 4 /* a e b sao parametros da funcao soma_dobro */ 5 int soma_dobro(int a, int b) 6 { 7 int soma; 8 a = 2 * a; 9 b = 2 * b; 10 soma = a + b; 11 return soma; 12 } 13 14 main() 15 { 16 int x, y, res; 17 cout<<"Digite o primeiro numero: "; 18 cin>>x; 19 cout<<"Digite o segundo numero: "; 20 cin>>y; 21 22 /* x e y sao argumentos/variveis utilizados para chamar a funcao soma_dobro */ 23 res = soma_dobro(x, y); 24 25 cout<<"A soma do dobro dos numero e:<< res; 26 }

FUNES

Representao Grfica de Passagem de Parmetros por Valor

PASSAGEM DE VETOR E PASSAGEM DE MATRIZ


passagem de vetor e passagem de matriz, como argumentos para uma funo, so consideradas como exceo conveno de passagem de parmetros com chamada por valor. apenas o endereo do vetor ou da matriz passado, no uma cpia do vetor inteiro ou da matriz inteira.

/* Programa que armazena e mostra 5 notas */ #include <stdio.h> mostra(float vet[5]) { int i; cout<<"\nResultado das notas: "; for (i=0; i<5; i++) cout<< vet[i]; }

Passagem de Vetor

main() { float notas[5]; int i;


for(i=0; i<5; i++) { cout<<"Digite a nota do aluno %d: "; cin>>notas[i]; } mostra(notas); }

/* Programa que armazena e mostra 4 notas de 3 alunos */


#include <stdio.h> main() mostra(float mat[3][4]) { {

Passagem de Matriz

float nota[3][4];

int i, j;
cout<<"\nAs notas dos alunos sao: \n"; /* linha - aluno */

int i, j; /* linha - aluno */ for(i=0; i<3; i++) { /* coluna - nota */

for (i=0; i<3; i++)


{ /* coluna - nota */

for(j=0; j<4; j++ )


{ cout<<"nota << i, j<< = mat[i][j]);

for(j=0; j<4; j++){


cout<<"Digite a nota<<j<<do aluno: << i; cin>>nota[i][j];

}
cout<<"\n"; } } }

}
mostra(nota);

Você também pode gostar