Está en la página 1de 12

Librería o Biblioteca Informática

En ciencias de la computación, una biblioteca (del inglés library) es un conjunto de


subprogramas utilizados para desarrollar software. Las bibliotecas contienen
código y datos, que proporcionan servicios a programas independientes, es decir,
pasan a formar parte de estos. Esto permite que el código y los datos se
compartan y puedan modificarse de forma modular. Algunos programas
ejecutables pueden ser a la vez programas independientes y bibliotecas, pero la
mayoría de estas no son ejecutables. Ejecutables y bibliotecas hacen referencias
(llamadas enlaces) entre sí a través de un proceso conocido como enlace, que por
lo general es realizado por un software denominado enlazador.
Habitualmente se emplea el término librería para referirse a una biblioteca, por la
similitud con el original inglés library. Ambos términos, biblioteca y librería, son
correctos según las definiciones biblioteca y librería de la RAE, aunque en
términos formales, la acepción correcta es biblioteca, porque es la traducción
correcta de library, mientras que el término inglés para librería es bookstore o book
shop (literalmente: tienda de libros), o bien bookshelf (estantería o mueble para
guardar libros, librería o librero). También es habitual referirse a ella con el término
de origen anglosajón toolkit (conjunto, equipo, maletín, caja, estuche, juego (kit) de
herramientas).
Así, a pesar de que el término librería se haya difundido en ámbitos informales, no
es estrictamente correcto, en el peor de los casos debería utilizarse el término
librero.

Bibliotecas estáticas
Históricamente, las bibliotecas sólo podían ser estáticas. Una biblioteca estática,
también conocido como archivo, consiste en un conjunto de rutinas que se copian
en una aplicación por el compilador o el enlazador, produciendo archivos con
código objeto y un fichero ejecutable independiente. Este proceso, y el archivo
ejecutable, se conoce como una construcción estática de la aplicación objetivo. La
dirección real, las referencias para saltos y otras llamadas a rutinas se almacenan
en una dirección relativa o simbólica, que no puede resolverse hasta que todo el
código y las bibliotecas son asignadas a direcciones estáticas finales.
Bibliotecas dinámicas
Enlace dinámico significa que las subrutinas de una biblioteca son cargadas en un
programa en tiempo de ejecución, en lugar de ser enlazadas en tiempo de
compilación, y se mantienen como archivos independientes separados del fichero
ejecutable del programa principal. El enlazador realiza una mínima cantidad de
trabajo en tiempo de compilación, registra que rutinas de la biblioteca necesita el
programa y el índice de nombres o números de las rutinas en la biblioteca. La
mayor parte de la labor de enlazado se realiza en el momento en que la aplicación
se carga (tiempo de carga o loadtime) o durante la ejecución (tiempo de ejecución
o runtime). El necesario código enlazado, llamado por el cargador, es de hecho
parte del sistema operativo subyacente. En el momento adecuado el cargador
localiza las bibliotecas en el disco y añade los datos relevantes de estas en el
espacio de memoria del proceso.
Tipos de datos C++
Cuando hacemos un programa para solucionar un problema, es decir, cuando
estamos trabajando con un sistema informático y el algoritmo que soluciona un
problema se realiza por medio de un programa de ordenador escrito en un
lenguaje de programación, siempre tenemos datos de entrada, con los que este
programa va a trabajar y va a generar unos datos de salida, que son la
información.
Según la naturaleza de estos datos clasificarlos en distintos tipos. No es lo mismo
el nombre de una persona, que sería un texto o lo que llamamos una cadena de
caracteres, que, por ejemplo, la edad de una persona, que sería un valor o número
entero.
Tenemos datos que guardan valores muy simples y los tipos de datos en los
lenguajes de programación, y en especial en C++, nos van posibilitando guardar
información más compleja.
C++ es un lenguaje de programación que hereda muchos conceptos del lenguaje
C, es un lenguaje compilado y fuertemente tipado, lo que significa que en las
variables con las que trabajamos hay que indicar el tipo del dato que van a
guardar cuando se declaran, lo que puede hacer que tengamos problemas y se
generen errores.
Tipos de datos simples.
Los tipos de datos básicos normalmente son los numéricos y en la siguiente tabla
podemos ver estos tipos de datos simples en C++, su nombre, descripción, el
tamaño definido por el tipo de dato, que proporciona la cantidad de información
que podemos guardar en una variable de ese tipo de dato, y el rango de valores
que permite almacenar.
Tipos de datos enumerados.
Los tipos enumerados son un mecanismo usado en C++ que nos permite agrupar
constantes simbólicas.
enum dias { lunes, martes, miercoles, jueves, viernes,
sabado, domingo };
for (int d = lunes; d <=domingo; d++) cout << d;
En este ejemplo parece que en la variable días estamos guardando cadenas de
caracteres, pero realmente estamos guardando números, pero en lugar de guardar
los números directamente, a cada número le define una constante, es decir, el 1
es lunes, el 2 es martes, el 3 es miércoles, etcétera. Además, podemos
recorrerlos, ir desde el lunes hasta el domingo, utilizando una variable entera,
porque lo que realmente estamos guardando son enteros.
Tipos de datos complejos.
 Matrices / Array
Los array son un tipo dato complejo, en el sentido de que nos permiten guardar
conjuntos de datos, pero siempre datos del mismo tipo.
int números [5] = {1, 2, 3, 4, 5};
En este ejemplo, el array números guarda 5 datos enteros.
Hay que recordar que un array es una estructura estática, es decir, el tamaño del
mismo no cambia a lo largo de la ejecución del programa.
 Estructuras
Las estructuras nos permiten guardar un conjunto de datos, pero esos datos
pueden ser de distinto tipo.
/* declaración de estructura tiempo */
struct tiempo { int hora, minuto, segundo; };
En este ejemplo tenemos la estructura tiempo que tiene 3 enteros, pero se podría
utilizar otra estructura llamada persona que se componga de una cadena de
caracteres o string para el nombre y un entero para la edad.
Tipos de Librerias
Tipos
En lo que respecta al lenguaje C++, existen dos tipos fundamentales de librerías:
estáticas y dinámicas, que aunque comparten el mismo nombre genérico "librería",
utilizan mecanismos distintos para proporcionar su funcionalidad al ejecutable.
Clases de librerías
Los compiladores C++ incluyen un amplio repertorio de clases, funciones y macros
que permiten realizar una amplia variedad de tareas, incluyendo entradas/salidas
de bajo y alto nivel; manipulación de cadenas alfanuméricas y ficheros; control de
procesos (incluyendo multiproceso); manejo de memoria; cálculos matemáticos y
un largo etcétera.
Este repertorio de recursos es denominado colectivamente como "Rutinas de
librería"; "Librerías de ejecución" RTL ("Runtime Librarys") o simplemente
"Librerías". Puede decirse que el lenguaje aislado (tal cual) no tiene
prácticamente ninguna utilidad sin la concurrencia de estas utilidades. El Estándar
C++ las clasifica según su utilidad:
 Soporte del lenguaje
 Diagnóstico
 Utilidades generales
 Cadenas alfanuméricas ("Strings")
 Localización
 Contenedores
 Iteradores
 Algoritmos
 Cálculo numérico
 Entrada/Salida
Librería Estándar C++
Para poner un poco de orden, el Estándar C++ define la denominada Librería
Estándar que debe acompañar a cada implementación del compilador que se
adhiera al estándar. Es decir: la norma determina cuales son, como se llaman y
como se utiliza este conjunto de algoritmos que deben acompañar (como mínimo)
a cada implementación del compilador que quiera llamarse "Estándar". La última
versión, ISO/IEC 14882 del año 1998, especifica que se compone de 32 ficheros
de cabecera de nombres fijos y conocidos agrupados según la funcionalidad de
los algoritmos. Son los siguientes:
Cin, cout, scanf y printf.
Mostrar texto por pantalla en C++ es muy simple. Para imprimir una salida de texto
en C++ se hace uso de la instrucción cout, junto con <<. Es importante tener en
cuenta que la instrucción cout siempre va acompañada de << para controlar el
flujo de datos que sale. No te fijes mucho en ellos, solo ten siempre presente que
cout viene acompañado de << para tener cout << como resultado.
Veamos algunos ejemplos para mostrar texto por pantalla en C++:
1.

#include "iostream"

using namespace std;

int main()
{
//Se muestra un mensaje por pantalla.
cout << "Hola Mundo" << " Desde ProgramarYa." << "\n";

return 0;
}
El ejemplo que acabas de ver es bastante sencillo, excepto por un detalle. Si
ejecutar este código en tu pantalla aparecerá un mensaje diciendo "Hola Mundo
Desde ProgramarYa.". Tal como habrás notado el operador "<<" se usa para
concatenar (unir) dos cadenas de texto por eso el resultado es el obtenido. Luego
se usa "\n" lo cual crea un salto de línea. No es obligatorio, pero es recomendable.
2.
#include "iostream"
#include "string"

using namespace std;


int main()
{
//El valor de esta variable se mostrará en pantalla
string salida1 = "Ejemplo de salida";

//Este valor también se mostrará en pantalla.


int numero = 2;

//Estos valores se concatenarán en una única salida


string salida2 = "Desde ProgramarYa.";

//Se concatenan y muestran los valores por pantalla con


cout<<
cout << salida1 << " " << numero << ". " << salida2 <<
"\n";

return 0;
}
En este ejemplo de salida por pantalla hemos visto que también es posible usar la
instrucción cout para mostrar en pantalla el valor de las variables así sean
numéricas o cadenas de texto. También vimos que podemos concatenar los
valores de esas variables entre sí y también concatenarlas con otros valores
directamente (espacios, puntos, símbolos, etc.).
Ahora, veamos los mismos ejemplos, pero usando la función printf de C++, la cual
también es útil para imprimir valores por pantalla.
1.

#include "iostream"

using namespace std;


int main()
{
//Se muestra un mensaje por pantalla.
printf("Hola Mundo");
printf(" Desde ProgramarYa.");
printf("\n");

//Alternativamente
printf("Hola Mundo Desde ProgramarYa.\n");

return 0;
}

Como puedes ver, al ejecutar el código, el resultado sería el mismo del ejemplo de
cout: "Hola Mundo Desde ProgramarYa", con su respectivo salto de línea al final.
Sin embargo, el código es bastante diferente, pues printf no nos permite
concatenar valores directamente en un solo llamado, así que debemos hacer
llamadas sucesivas para imprimir cada parte del mensaje. Por supuesto, podrías
simplemente hacer un solo llamado a printf con el mensaje completo y sería
mucho más sencillo.
Adicionalmente, los llamados a printf requieren que los valores estén al interior de
los paréntesis (), pues printf es más una función que una instrucción propia de C+
+.
Es cuestión de gustos, pero siempre me ha parecido que cout simplifica bastante
las cosas. Veamos ahora el segundo ejemplo usando printf, porque la cosa se
complica:
2.
#include "iostream"
#include "string"

using namespace std;


int main()
{
string salida1 = "Ejemplo de salida"; //El valor de esta
variable se mostrará en pantalla
int numero = 2; //Este valor también se mostrará en
pantalla.
string salida2 = "Desde ProgramarYa."; //Estos valores se
concatenarán en una única salida

//Se concatenan y muestran los valores por pantalla con


parámetros de printf
printf("%s %d. %s \n", salida1.c_str(), numero,
salida2.c_str());

return 0;
}
En este ejemplo usando printf, puedes ver que inicialmente todo es igual, pero al
momento de imprimir, todo cambia. Cuando nec esitas pasar valores a printf, lo
haces con un "%" seguido de una letra. En el caso de un string se usa s (%s) y en
el caso de un número, se usa d (%d). Y luego, se pasa como una serie de
argumentos, cada uno de los valores a usar en ese mismo orden.
Ahora bien, la cosa es aún más compleja en el caso de string, porque printf no
soporta el uso de string, así que debemos pasar es un apuntador a una seria de
char. Por suerte, eso se consigue llamando a la función "c_str()" propia de string.
Ya tenemos claro cómo mostrar texto por pantalla en C++ ahora haremos uso de
este concepto y veremos cómo leer texto por teclado en C++.
PROGRAMA QUE DIGA SI EL NUMERO INTRODUCIDO ES PAR O IMPAR.

También podría gustarte