1. CENTROS DE ESTUDIOS
TECNOLOGICOS
INDUSTRIAL Y DE
SERVICIO
IDALIA GPE TRISTÁN SÁNCHEZ
CARLOS OZIEL SOLIS JUAREZ
MARGARITA ROMERO ALVARADO
DESARROLLO DE SOFTWARE UTILIZANDO PROGRAMACIÓN
BÁSICA
2.A PROGRAMACIÓN
2.
3. ¿Qué son exactamente las librerías?
En C++, se conoce como librerías (o bibliotecas) a cierto
tipo de archivos que podemos importar o incluir en
nuestro programa. Estos archivos contienen las
especificaciones de diferentes funcionalidades ya
construidas y utilizables que podremos agregar a nuestro
programa, como por ejemplo leer del teclado o mostrar
algo por pantalla entre muchas otras más.
4. ¿Qué son exactamente las librerías?
Al poder incluir estas librerías con definiciones de
diferentes funcionalidades podremos ahorrarnos gran
cantidad de cosas, imaginemos por ejemplo que cada
vez que necesitemos leer por teclado, debamos
entonces crear una función que lo haga (algo realmente
complejo), al poder contar con las librerías en C++,
podremos hacer uso de una gran variedad de funciones
que nos facilitaran la vida y aumentarán la modularidad
de nuestros códigos.
5. 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.
6. Biblioteca Matematica.
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.
7. BIBLIOTECA DE NUMEROS
ALEATORIOS
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
8. 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 difícil mantener la
portabilidad de un programa cuando se utilizan rutinas de
graficación.
9. BIBLIOTECA GRAFICA
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; }
10. 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.
11. BIBLIOTECA DEFINIDA POR EL
PROGRAMADOR
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.
12. BIBLIOTECA DEFINIDA POR EL
PROGRAMADOR
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 doublé, al
igual que el tipo de valor de regreso especificado en el
encabezado.
13. Uso de Funciones Definidas por el
Programador
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.
14. Uso de Funciones Definidas 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;
{
15. Bibliotecas o librerías en C++
Junto con los compiladores de C y C++, se incluyen
ciertos archivos llamados bibliotecas mas
comúnmente librerías. Las bibliotecas contienen el
código objeto de muchos programas que permiten
hacer cosas comunes, como leer el teclado, escribir
en la pantalla, manejar números, realizar funciones
matemáticas, etc.
16. Bibliotecas o librerías en C++
• Las bibliotecas están clasificadas por el tipo de
trabajos que hacen, hay bibliotecas de entrada y
salida, matemáticas, de manejo de memoria, de
manejo de textos y como imaginarás existen
muchísimas librerías disponibles y todas con una
función especifica.
17. Sintaxis para declarar Librerías en
C++
• La sintaxis es la siguiente: #include <nombre de la
librería> o alternativamente #include "nombre de la
librería". Cualquiera de las 2 formas es válida en C++
(no estoy seguro si en C sea válido), ten en cuenta que
siempre el nombre de la librería debe ir entre " y " o
entre < y >. En tu código puedes declarar todas las
librerías que quieras aunque en realidad no tienen
sentido declarar una librería que no vas a usar en tu
programa, sin embargo no existe límite para esto.
18. Librerías Estándar de C++
(Standar Template Library o STL
A continuación pondré algunas de las librerías de uso más
común de C++ y que forman parte de las librerías estándar
de este lenguaje.
fstream:Flujos hacia/desde ficheros. Permite la
manipulación de archivos desde el programar, tanto leer
como escribir en ellos.
iosfwd:Contiene declaraciones adelantadas de todas las
plantillas de flujos y sus typedefs estándar. Por ejemplo
ostream.
19. Librerías Estándar de C++
(Standar Template Library o STL
math:Contiene los prototipos de las funciones y otras
definiciones para el uso y manipulación de funciones
matemáticas.
memory:Utilidades relativas a la gestión de memoria,
incluyendo asignadores y punteros inteligentes
(auto_ptr).
"auto_ptr" es una clase que conforma la librería memory
y permite un fácil manejo de punteros y su destrucción
automáticamente.
20. Librerías Estándar de C++
(Standar Template Library o STL
Biblioteca new:Manejo de memoria dinámica
numeric:Parte de la librería numérica de la STL relativa
a operaciones numéricas.
ostream:Algoritmos estándar para los flujos de salida.
21. Librerías Estándar de C++
(Standar Template Library o STL
iostream:Parte del a STL que contiene los
algoritmos estándar, es quizá la más usada e
importante (aunque no indispensable).
La biblioteca list:Parte de la STL relativa a
contenedores tipo list; listas doblemente enlazadas
queue:Parte de la STL relativa a contenedores tipo
queue (colas de objetos).
22. Librerías Estándar de C++
(Standar Template Library o STL
Librería stdio:Contiene los prototipos de las funciones,
macros, y tipos para manipular datos de entrada y salida.
Librería stdlib:Contiene los prototipos de las funciones,
macros, y tipos para utilidades de uso general.
string:Parte de la STL relativa a contenedores tipo
string; una generalización de las cadenas alfanuméricas
para albergar cadenas de objetos. Muy útil para el fácil
uso de las cadenas de caracteres, pues elimina muchas
d elas dificultades que generan los char
23. Librerías Estándar de C++
(Standar Template Library o STL
vector:Parte de la STL relativa a los contenedores tipo
vector; una generalización de las matrices
unidimensionales C/C++
forward_listEsta librería es útil para implementar con
gran facilidad listas enlazadas simples.
listPermite implementar listas doblemente enlzadas
(listas enlazadas dobles) facilmente.
24. Librerías Estándar de C++
(Standar Template Library o STL
iteratorProporciona un conjunto de clases para
iterar elementos.
regexProporciona fácil acceso al uso de
expresiones regulares para la comparación de
patrones.
threadÚtil para trabajar programación multihilos y
crear múltiples hilos en nuestra aplicación
25. Acerca del namespace std
El espacio de nombre std como tal no es una librería
sino simplemente un namespace, por esta razón no
reemplaza la declaración de las librerías del código,
simplemente facilita la escritura de éste al momento
de usar las entidades de las librerías estándar.
26. Acerca del namespace std
• Sin embargo si vamos a hacer uso de una o varias
librerías estándar de C++ es recomendable que
declaremos el namespace std, para no tener que
estar constantemente escribiendo cosas similares a
las que puse hace unas líneas como std::cin o
similares, dado que únicamente se puede acceder a
la entidades de las librerías estándar por medio del
espacio nombre std.
28. Conclusión
Las librearías son archivos (no siempre externos) que nos
permiten llevar a cabo diferentes tareas sin necesidad de
preocuparnos por cómo se hacen sino simplemente
entender cómo usarlas. Las librearías en C++ permiten
hacer nuestros programas más modulares y reutilizables,
facilitando además crear programas con funcionalidades
bastante complejas en unas pocas líneas de código.
29. Opinión
En C++, la biblioteca estándar es una colección de Clases y
funciones, escritas en el núcleo del lenguaje. La biblioteca
estándar proporciona varios contenedores genéricos,
funciones para utilizar y manipular esos contenedores,
funciones objeto, cadenas y flujos genéricos (incluyendo E/S
interactiva y de archivos) y soporte para la mayoría de las
características del lenguaje.