sábado, 20 de agosto de 2016

Parâmetros formais

Quando declaramos parâmetros na própria declaração da função,
chamamos estes parâmetros de "Parâmetros formais", e as
variáveis declaradas recebem os valores dos argumentos.
O comportamento não é diferente de uma variável local declarada
dentro de uma função, só devo lembrar que você futuro programador
deve informar ao C que tipo são os parâmetros formais declarados,
que deve ser do mesmo tipo dos argumentos utilizados para chamar a função;
O C visualiza isto como variáveis locais normais, tendo efeito
apenas enquanto o bloco de código está em execução.
No exemplo abaixo é mostrado um real exemplo de parâmetros formais,
onde temos um vetor pré-definido com números de 1 a 9, um dígito
e solicitado e se o mesmo se encontra dentro do vetor, o C retorna 1
se não é encontrado, 0 é retornado para a função main();
Achei muito útil colocar uma proteção na entrada não permitindo
números muito alto, tipo acima de 100.

Veja abaixo imagens do programa em execução:





Veja abaixo o código do programa:

#include <stdio.h>
#include <conio.h>
void got_color ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col,
         int tam_fim_col, int a, int b ) {
     int i, c;
     if ( a >= 1 && a <= 16 ) {
         textcolor ( a );
     }
     if ( b >= 1 && b <= 16 ) {
         textbackground ( b );
     }
     for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) {
         for ( c = tam_ini_col; c < tam_fim_col; c++ ) {
              gotoxy ( c, i );
              printf ( " " );
         }
     }
}
int Ve_tor ( int *V, int N ) {
     while ( *V )
         if ( *V == N )
              return 1;
         else V++;
     return 0;
}
int main ( ) {
     system ( "title PARÂMETROS FORMAIS" );
     got_color ( 2, 25, 3, 79, 9, 15 );
     int vet [ 10 ] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
     int n, num;
     do {
         textcolor ( LIGHTRED );
         gotoxy ( 33, 3 );
         printf ( "PARÂMETROS FORMAIS" );
         textcolor ( LIGHTBLUE );
         gotoxy ( 22, 5 );
         printf ( "Digite um número ==> " );
         textcolor ( LIGHTRED );
         scanf ( "%d", &num );
         gotoxy ( 22, 7 );
         textcolor ( LIGHTBLUE );
         if ( num < 1 || num > 100 ) {
              printf ( "\aSó números entre " );
              textcolor ( LIGHTRED );
              printf ( "1 " );
              textcolor ( LIGHTBLUE );
              printf ( "e " );
              textcolor ( LIGHTRED );
              printf ( "100" );
              Sleep ( 1800 );
              gotoxy ( 22, 7 );
              clreol ( );
              gotoxy ( 43, 5 );
              clreol ( );
         }
     } while ( ( num < 1 ) || ( num > 100 ) );
     n = Ve_tor ( vet, num );
     if ( n == 0 ) {
         textcolor ( LIGHTBLUE );
         gotoxy ( 22, 7 );
         printf ( "Não temos o número " );
         textcolor ( LIGHTRED );
         printf ( "%d", num );
     }
     if ( n == 1 ) {
         textcolor ( LIGHTBLUE );
         gotoxy ( 22, 7 );
         printf ( "Nós temos o número " );
         textcolor ( LIGHTRED );
         printf ( "%d", num );
     }
     Sleep ( 1800 );
     textcolor ( LIGHTBLUE );
     gotoxy ( 22, 17 );
     printf ( "Por: " );
     textcolor ( LIGHTMAGENTA );
     printf ( "Samuel Lima" );
     textcolor ( BLACK );
     gotoxy ( 22, 18 );
     printf ( "sa_sp10@hotmail.com" );
     Sleep ( 1800 );
     textcolor ( LIGHTRED );
     gotoxy ( 37, 23 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     return 0;
}


Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.