4) Implementao:
Resumidamente, para se implementar um procedimento temos que usar o termo
void, e em seguida, colocar o nome do mesmo, conforme o exemplo:
void entradaDados(int* x);
Essa uma declarao de procedimento para entrada de um valor em x. Note
que h um parmetro que foi passado por referncia, onde h mudana do valor
de x dentro do procedimento e poder ser reconhecida tal mudana no
programa principal onde foi chamado. Vejamos a implementao deste cdigo,
com a chamada do procedimento.
#include <stdio.h>
void entradaDados(int* x);
int main()
{
int x, y, z;
entradaDados(&x);
entradaDados(&y);
entradaDados(&z);
printf("%d %d %d",x,y,z);
return 0;
}
void entradaDados(int* x)
{
printf("Entre com um valor:");
scanf("%d",x);
//scanf("%d",*(&x));
}
Para a implementao de uma funo, basta substituir o termo void pelo tipo
que ser retornado. Um exemplo de funo que determina o menor valor de um
vetor de inteiros com N elementos mostrada a seguir.
int buscaMenor(int vet[], int N)
{
int m, i;
m = vet[0];
for(i=1; i<N; i++)
if(m > vet[i])
m = vet[i];
return m;
}
5) Exerccios
1) Faa uma funo que recebe por parmetro o raio de uma circunferncia e
calcula a sua rea.
2) Escreva um procedimento que recebe as 3 notas de um aluno por parmetro
e uma letra. Se a letra for A o procedimento calcula a mdia aritmtica das
notas do aluno e se for P, a sua mdia ponderada (pesos: 5, 3 e 2). O
procedimento deve imprimir a resposta.
3) Escreva uma funo que calcula o soma de Gauss em n, onde a soma
mostrada na equao a seguir:
4) Implemente um prottipo de calculadora, onde na main o usurio deve entrar
com os operadores e a operao que deseja. Por exemplo, 2, 1.5 e +, sendo
2 e 1.5 valores reais e + um caracter. Dependendo da operao escolhida, o
programa deve chamar uma funo especfica para calcular o resultado
(sero vlidas somente operaes binrias). Deve-se implementar um
procedimento em que faa o controle de qual operao ser chamada
(sugesto: use switch-case neste procedimento). O programa deve parar de
executar somente quando o usurio digitar um operador invlido.