sábado, 11 de septiembre de 2010

Unidad didactica Nro 4 (Clase Nro 5)

Unidad IV: Funciones

Librerías estándar

Todos los compiladores C y C++ disponen de ciertas librerías de funciones estándar que facilitan el acceso a la pantalla, al teclado, a los discos, la manipulación de cadenas, y muchas otras cosas, de uso corriente.

Ficheros Funcionalidad/funciones
Parte del a STL que contiene los algoritmos estándar de Entrada y Salida.
Encabezado estandar de entrada/salida.
Contiene los prototipos de las funciones matemáticas de la biblioteca.
Contiene prototipos de funciones y tipos para manipular la fecha y la hora.
Contiene los prototipos de las funciones para la conversión de números a texto y de texto a números, asignación de memoria, números aleatorios y otras funciones. Tiene la definición de la función RAND (random).
Contiene los prototipos de las funciones para el procesamiento de cadenas.
Para emplear la función getch ().

Funciones mas usadas de librerías
Función "sqrt(x)"
Devuelve la raiz cuadrada de x. Requiere la librería "math.h".
Sintaxis: sqrt(x);

Función "exp(x)"
Devuelve el exponencial de x. Requiere la librería "math.h".
Sintaxis: exp(x);

Función "pow(x,y)"
Devuelve la potencia de x elevada a y. Requiere la librería "math.h".
Sintaxis: pow(x,y);

Función "floor(x)"
Devuelve el Nro x redondeado al mas grande. Requiere la librería "math.h".
Sintaxis: floor(x);

Función "max()"
Devuelve el mayor de dos valores. Requiere la librería "stdio.h".
Sintaxis: max( t1, t2 );

Función "min()"
Devuelve el menor de dos valores. Requiere la librería "stdio.h".
Sintaxis: min( t1, t2 );

Función "abs()"
Devuelve el valor absoluto de un entero. Requiere la librería "stdio.h".
Sintaxis: int abs(int x);

Función "rand()"
Generador de números aleatorios. Requiere la librería "stdlib.h".
La función "rand" devuelve un número aleatorio entre 0 y RAND_MAX. La constante RAND_MAX está definida en stdlib.h.
Valor de retorno: "rand" devuelve un número entre 0 y RAND_MAX.
Sintaxis: int rand(void);
Ejemplo: i = 1 + rand () % 6 /* Crea un numero entre 1 y 6 */

Función "srand()"
Inicializa el generador de números aleatorios. Requiere la librería "stdlib.h".
La función "srand" sirve para cambiar el origen del generador de números aleatorios.
Valor de retorno: "srand" no devuelve ningún valor.

Sintaxis: void srand(unsigned semilla);
Ejemplo: srand (time (0)) /* Inicializa */

Tiro de dados, calcula la suma y despliega los resultados
# include
# include /* para la función time */
# include para las funciones srand y rand */
int main ( void )
{
int dado1; /* primer dado */
int dado2; /* segundo dado */
int sumaTemp; /* suma de los dados */
srand (time (0)); /* Inicializa el generador de números aleatorios */
dado1 = 1 + ( rand() % 6 ); /* toma el aleatorio para el dado1 */
dado2 = 1 + ( rand() % 6 ); /* toma el aleatorio para el dado2 */
sumaTemp = dado1 + dado2; /* suma el dado1 y el dado2 */
printf("El jugador tiro %d + %d = %d\n", dado1, dado2, sumaTemp); /* despliega los resultados */
return sumaTemp; /* devuelve la suma de los dados */
}


Verificación de las funciones matemáticas de la biblioteca
#include
#include
int main() /* la función main inicia la ejecución del programa */
{
printf( "sqrt(%.1f) = %.1f\n", 900.0, sqrt( 900.0 ) ); /* calcula y despliega la raiz cuadrada */
printf( "sqrt(%.1f) = %.1f\n", 9.0, sqrt( 9.0 ) );
printf( "exp(%.1f) = %f\n", 1.0, exp( 1.0 ) ); /* calcula y despliega la función exponencial e a la x */
printf( "exp(%.1f) = %f\n", 2.0, exp( 2.0 ) );
printf( "log10(%.1f) = %.1f\n", 1.0, log10( 1.0 ) ); /* calcula y despliega el logaritmo (base 10) */
printf( "log10(%.1f) = %.1f\n", 10.0, log10( 10.0 ) );
printf( "log10(%.1f) = %.1f\n", 100.0, log10( 100.0 ) );
printf( "fabs(%.1f) = %.1f\n", 13.5, fabs( 13.5 ) ); /* calcula y despliega el valor absoluto */
printf( "fabs(%.1f) = %.1f\n", 0.0, fabs( 0.0 ) );
printf( "fabs(%.1f) = %.1f\n", -13.5, fabs( -13.5 ) );
printf( "ceil(%.1f) = %.1f\n", 9.2, ceil( 9.2 ) ); /* calcula y despliega ceil( x ) */
printf( "ceil(%.1f) = %.1f\n", -9.8, ceil( -9.8 ) );
printf( "floor(%.1f) = %.1f\n", 9.2, floor( 9.2 ) ); /* calcula y despliega floor( x ) */
printf( "floor(%.1f) = %.1f\n", -9.8, floor( -9.8 ) );
printf( "pow(%.1f, %.1f) = %.1f\n", 2.0, 7.0, pow( 2.0, 7.0 ) ); /* calcula y despliega pow( x, y ) */
printf( "pow(%.1f, %.1f) = %.1f\n", 9.0, 0.5, pow( 9.0, 0.5 ) );
printf( "sin(%.1f) = %.1f\n", 0.0, sin( 0.0 ) ); /* calcula y despliega sin( x ) */
printf( "cos(%.1f) = %.1f\n", 0.0, cos( 0.0 ) ); /* calcula y despliega cos( x ) */
printf( "tan(%.1f) = %.1f\n", 0.0, tan( 0.0 ) ); /* calcula y despliega tan( x ) */
return 0; /* indica terminación exitosa */
}


Escala y cambio de enteros producidos por 1 + rand() % 6
#include
#include
int main()
{
int i; /* contador */
int fin;
for ( i = 1; i <= 20; i++ ) { /* repite 20 veces */
printf( "%10d", 1 + ( rand() % 100 ) ); /* obtiene un número aleatorio entre 1 y 6 y lo despliega */
if ( i % 5 == 0 ) { /* si el contador es divisible entre 5, comienza una nueva línea de salida */
printf( "\n" );
} /* fin de if */
} /* fin de for */
scanf ("%d", &fin);
return 0; /* indica terminación exitosa */
}

No hay comentarios:

Publicar un comentario