USOS DE LOS BIBLIOTECAS DE LENGUAJE



siguenos: twitter facebook tumblr




INTRODUCCION



c.jpg

Todos los compiladores C y C++ disponen de ciertas bibliotecas 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.
Hay que decir que todas estas funciones no son imprescindibles, y de hecho no forman parte del C. Pueden estar escritas en C, de hecho en su mayor parte lo están, y muchos compiladores incluyen el código fuente de estas bibliotecas. Nos hacen la vida más fácil, y no tendría sentido pasarlas por alto.
Existen muchas de estas bibliotecas, algunas tienen sus características definidas según diferentes estándar, como ANSI C o C++, otras son específicas del compilador, otras del sistema operativo, también las hay para plataformas Windows. En el presente curso nos limitaremos a las bibliotecas ANSI C y C++.


5.1 BIBLIOTECA MATEMATICA.


Los operadores "<<" representarían el agua, y la dirección en que se mueve. Cualquier cosa que soltemos en el agua: "hola", " " o endl, seguirá flotando hasta llegar a la pantalla, y además mantendrán su orden.
En esta biblioteca se definen algunas de las funciones aplicables a los "streams", pero aún no estamos en disposición de acceder a ellas. Baste decir de momento que existen cuatro "streams" predeterminados:
  • cin, canal de entrada estándar.
  • cout, canal de salida estándar.
  • cerr, canal de salida de errores.
  • clog, canal de salida de diario o anotaciones.
Sobre el uso de cin, que es el único canal de entrada predefinido, tenemos que aclarar cómo se usa, aunque a lo mejor ya lo has adivinado.

* UNO DE LOS MAS IMPORTANTE DE LAS LIBRERIAS MATEMATICAS.

MATH.H

Math.h realiza cálculos matemáticos y conversiones.
Cos, cosl
Sintaxis:
#include <math.h>
double cos(double x);
long double cosl(long double x);
Descripción:
Calcula el coseno de un valor.

Cos computa el coseno del valor de la entrada. El ángulo se especifica en los radianes.

Cosl es la versión doble larga; toma un argumento doble largo y devuelve un resultado doble largo.
Esta función puede usarse con “bcd” y tipos del complejo.
El Valor de retorno:
Si el programa esta bien, Cos de un argumento real devuelve un valor en el rango -1 a 1
Si hay error, estas funciones pueden modificarse a través de _matherr (o _matherrl).
pow, powl
Sintaxis:
#include <math.h>
double pow(double x, double y);
long double powl(long double x, long double y);
Descripción:
Calcula x a la potencia y (xy).
Powl es la versión larga doble; toma argumentos dobles y regresa un resultado doble largo.
Esta función puede usarse con los bcd y tipos complejos.
El Valor de retorno:
Si el programa esta bien, el pow y powl devuelven el valor calculado de x elevado a y.
A veces los resultados dados son grandes o son incalculables. Cuando el resultado es correcto pero grandes o incalculables las funciones devuelven HUGE_VAL (pow) or _LHUGE_VAL (powl).
Los resultados de magnitud excesivamente grande pueden causar el errno inconstante global para ser puesto a

ERANGE Resultado fuera de rango

Si el argumento x pasó al pow o usted llama el pow(0,0).

EDOM Error de Dominio

Error que maneja para estas funciones puede modificarse a través de las funciones _matherr y _matherrl.
sqrt, sqrtl
Sintaxis:
#include <math.h>
double sqrt(double x);
long double sqrtl(long double x);
Descripción:
Calcula la raíz cuadrada positiva.
Sqrt calcula la raíz cuadrada positiva del argumento x.
Sqrtl es la versión larga doble; toma argumentos dobles y regresa un resultado doble largo. Error que maneja para estas funciones puede ser modificadas a través de las funciones _matherr y _matherrl.
Esta función puede usarse con los bcd y tipos del complejo.
El Valor de retorno:
Si el programa esta bien, sqrt y sqrtl devuelven el valor calculado, la raíz cuadrada de x. Si x es real y positivo, el resultado es positivo. Si x es real y negativo, el retorno será inconstante global se pone a EDOM (Error de Dominio).


5.2 BIBLIOTECA DE NUMEROS ALEATORIOS.


#include <stdlib.h>


abort
abs
atexit
atof
atoi
atol
bsearch
calloc
div
exit
free
getenv
labs
ldiv
malloc
mblen
mbstowcs
mbtowc
qsort
rand
Realloc
srand
strtod
strtol
strtoul
system
wctomb



stdlib.h

Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares. Los números aleatorios son útiles en programas que necesitan simular eventos aleatorios, tales como juegos, simulaciones y experimentos. En la práctica ninguna función produce datos aleatorios verdaderos -- las funciones producen números pseudo-aleatorios. Los números aleatorios son calculados a partir de una fórmula dada (los distintos generadores usan diferentes fórmulas) y las secuencias de números que son producidas se repiten.


5.3 BIBLIOTECA GRAFICA

El lenguaje C no provee de herramientas para realizar salida gráfica en un programa. Sin embargo existen una infinidad de bibliotecas, realizadas por terceros que proveen de estas facilidades. Dadas las peculiaridades de cada sistema operativo para manipular el entorno gráfico, es muy dificil mantener la portabilidad de un programa cuando se utilizan rutinas de graficación. Dado que este curso pretende enseñar a programar en C en forma independiente del sistema operativo, elegimos la biblioteca g2.
EJEMPLO

#include <stdio.h> /* el header genérico de la biblioteca */
#include <g2.h> /* el header específico para manipular ventanas de X11 */
#include <g2_X11.h>
int main()
{
int d; /* para identificar el dispositivo */
d = g2_open_X11(100,100); /* abre una ventana de 100 x 100, referenciada por d */
g2_line(d, 10, 10, 90, 90); /* dibuja una linea desde (10,10) hasta (90,90) */
getchar(); /* espera antes de cerrar la ventana */
g2_close(d); /* cierra el dispositivo (ventana) */
return 0; }




5.4 BIBLIOTECA DEFINIDA POR EL PROGRAMADOR

Las funciones que se han utilizado hasta ahora son funciones que el lenguaje de programación ha predefinido en sus bibliotecas o librerías. Sin embargo, también es posible que el programador defina y utilice sus propias funciones.


Las funciones definidas por el programador se escriben “fuera” de la función main. Si se recuerda, uno de los objetivos del uso de las funciones es la descomposición de problemas complejos y el trabajo en grupo. El siguiente es un ejemplo de una definición de una función. Se utiliza antes de presentar la sintaxis formal de modo que nos podamos familiarizar con la terminología.


El cuerpo de la función se encierra entre llaves y en él se escriben las sentencias que se necesitan ejecutar para lograr el objetivo de la función. Contiene al menos una sentencia return. La sentencia return va seguida del nombre de una variable o de un valor constante.

return cuadrado; El valor de dicha variable (o el valor de dicha constante) constituye el valor de regreso de la función. El tipo del valor que regresa la función debe ser consistente con el tipo del valor de regreso especificado en el encabezado de la función. Observe que, en este ejemplo, el valor de regreso de la función (tipo de la variable llamada cuadrado) es double, al igual que el tipo de valor de regreso especificado en el encabezado.


Uso de Funciones Definidas por el Programador

Si se recuerda, cuando se utilizan funciones predefinidas es necesario incluir a la biblioteca o librería que contiene su definición. Por ejemplo, si se usa la función pow, es necesario incluir math.h

Algo similar es necesario para funciones definidas por el programador. Ese algo es que, después de las directivas include pero antes de la función main, es necesario escribir el prototipo de la función. El prototipo de la función no es más que el encabezado de la función seguido de punto y coma. El siguiente ejemplo muestra como se podría utilizar en un programa una función definida por el programador.


EJEMPLO.
#include <iostream.h> #include <stdlib.h>
double square(double numero); int main()
/* Prototipo de la funcion*/
{
}
/* Este programa es solo un ejemplo de la definicion y uso de una funcion definida por el programador*/
double x,y,z; cin>>x>>y;
z = square(x);/* Llamado a la funcion*/ z = z * y;
cout<<"\n"; cout<<z; cout<<"\n";
system("PAUSE"); return 0;
/* Esta funcion calcula el cuadrado de un numero*/ double square(double numero)
{

double cuadrado;

cuadrado = numero * numero; return cuadrado;
{















BIBLIOGRAFIA:




http://www.iqcelaya.itc.mx/~vicente/Programacion/FuncionesDefUs.pdf

http://www.ib.cnea.gov.ar/~servos/CursoC/graficos.html
http://programandoenc.over-blog.es/article-29441001.html
http://html.rincondelvago.com/bibliotecas-en-cplus-plus.html
http://c.conclase.net/curso/?cap=902