Constantes simbólicas en C

– Prog085

/* Prog085 */

#include
#include
void sencos(float inicial,float paso);
void main()
{
float inicial,paso;
printf(«n Valor inicial y incremento ?n»); scanf(«%f %f»,&inicial,&paso); sencos(inicial,paso);
}
void sencos(float inicial,float paso)
{
int i;
double v[50],s[50],c[50]; for(i=0;i<50;i++)
{
v[i]=(double)(inicial+i*paso);
s[i]=sin(v[i]);
c[i]=cos(v[i]);
}
for(i=0;i<50;i++) printf(«n%10lf %10lf %10lf»,v[i],s[i],c[i]);
}

Estudio del PROG085:

– Es importante que tengas el PROG058 a la vista, para poder compararlo con elPROG085
– En el PROG058 el número de valores de la tabla de senos y cosenos correspondía a una variable (num), en nuestro caso (PROG085) el número de valores es fijo: 50.
– En el PROG058 las variables inicial y paso eran double, encambio en el PROG085 las declaramos float.
– El argumento de las funciones sin() y cos() (funciones que hay en la librería math.h) debe ser double. Por esta razón en el PROG085 hemos de transformar el argumento que es float a double. Y esto lo conseguimos de la siguiente forma:v[i]=(double)(inicial+i*paso); Es decir, basta escribir double entre parentesis antes de la expresión que es float, también entre paréntesis: (inicial+i*paso)

Nos gustaría modificar el PROG085 de forma que en lugar de 50 valores, sea otro número, pero que esta modificación sea fácil de hacer: vamos a utilizar las llamadas constantes simbólicas

Escribe, a partir del PROG085, el siguiente programa:

– Prog086

/* Prog086.cpp */

#include
#include
#define tam 50
void sencos(float inicial,float paso);
void main()
{
float inicial,paso;
printf(«n Valor inicial y incremento ?n»); scanf(«%f %f»,&inicial,&paso); sencos(inicial,paso);
}
void sencos(float inicial,float paso)
{
int i;
double v[tam],s[tam],c[tam];
for(i=0;i<tam;i++)
{
v[i]=(double)(inicial+i*paso);
s[i]=sin(v[i]);
c[i]=cos(v[i]);
}
for(i=0;i<tam;i++) printf(«n%10lf=»» %10lf=»» %10lf»,v[i],s[i],c[i]);=»» <br=»»> }

Estudio del PROG086:

– #define tam 50, definimos una constante simbólica de nombre tam y valor igual a 50. En el resto del programa, donde aparece tam, el compilador entiende50.

– La utilidad de una constante simbólica está en que basta cambiar el número 50, que hay al final de la línea define, por el número que queramos, para que el programa funcione exactamente igual pero con un valor de tam igual al nuevo valor introducido. Pruébalo.

Fuente: Programación en C/C++ (Manual FV) de Fermí Vilà