Está en la página 1de 28

Ciclo Formativo de Grado

Superior de Administración de
Sistemas Informáticos

Módulo Profesional: Fundamentos de Programación


Unidad de Trabajo 6.- Técnicas de Programación.
Programación Modular.
Departamento de Informática y Comunicación
IES San Juan Bosco (Lorca-Murcia)
Profesor: Juan Antonio López Quesada
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
 

En general, el término librería se utiliza para referirse a un


conjunto de módulos objeto .obj / .o (resultados de
compilación) agrupados en un solo fichero que suele tener las
extensiones .lib, .bpl .a, .dll, etc. Estos ficheros permiten
tratar las colecciones de módulos como una sola unidad, y
representan una forma muy conveniente para el manejo y
desarrollo de aplicaciones grandes.

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.

16
 
 
 

En ambos casos es costumbre, que junto a las librerías propiamente dichas


(ficheros .lib, .a, .dll etc), se incluya un fichero .h denominado "de
cabecera", porque es tradición utilizar las primeras líneas del programa para
poner las directivas #include que los incluirán en el fuente durante la fase
de preproceso.  Este fichero contiene las declaraciones de las entidades
contenidas en la librería, así como las macros y constantes predefinidas
utilizadas en ella, de forma que el programador solo tiene que incluir el
correspondiente fichero .h en su aplicación para poder utilizar los recursos de
la librería en cuestión (recuerde que en C/C++ es imprescindible incluir la
declaración de cualquier función o clase antes de su utilización). Este sistema
tiene la ventaja adicional de que proporciona al usuario la información
mínima para su uso.  Es decir, la "interfaz" de las funciones o clases que
utilizará. 

Librerías estáticas

Denominadas también librerías-objeto, son colecciones de ficheros objeto


(compilados) agrupados en un solo fichero de extensión .lib, .a, etc. junto
con uno o varios ficheros de cabecera (generalmente .h).

17
 
 
 

Nota: una posición extrema la constituyen aquellas librerías


en las que toda la funcionalidad se ha incluido en el fichero
de cabecera .h, en cuyo caso no existen los módulos
compilados .lib, .a, etc.

Durante la construcción de la aplicación, el preprocesador incluye en


los fuentes los ficheros de cabecera. Posteriormente, durante la fase
de enlazado, el linker incluye en el ejecutable los módulos
correspondientes a las funciones y clases de librería que hayan sido
utilizadas en el programa, de forma que el conjunto entra a formar
parte del ejecutable. De ahí su nombre: Librerías enlazadas
estáticamente.

Dejando aparte consideraciones de comodidad y rapidez, el 


resultado de utilizar una de tales librerías no se diferencia en nada
al que puede obtenerse escribiendo en el código fuente las
funciones o clases correspondientes y compilándolas como un
módulo más de nuestra aplicación.

18
 
 
 

Librerías dinámicas

Otra forma de añadir funcionalidad a un ejecutable son las


denominadas librerías de enlazado dinámico, generalmente
conocidas como DLLs, acrónimo de su nombre en inglés ("Dynamic
Linked Library"). Estas librerías se utilizan mucho en la
programación para el SO Windows. Este Sistema contiene un gran
número de tales librerías de terminación .DLL, aunque en realidad
pueden tener cualquier otra terminación .EXE, .FON, .BPI, .DRV etc.
Cualquiera que sea su terminación, de forma genérica nos
referiremos a ellas como DLLs, nombre por el que son más
conocidas.

Nota: La programación tradicional de aplicaciones Windows utilizando la API


del Sistema es en realidad una sucesión de invocación a funciones contenidas
en librerías de este tipo.  En realidad este Sistema Operativo está constituido
por un conjunto de DLLs; la mayoría de los ficheros de disco asociados con el
Sistema son de este tipo, y se ha llegado a afirmar que escribir una DLL es
escribir una extensión del propio Windows.

19
 
 
 

Diferencias:  librería Estática "versus" Dinámica

Las diferencias más relevantes de las librerías dinámicas respecto a las


estáticas son fundamentalmente dos:

Las librerías estáticas quedan incluidas en el ejecutable, mientras las


dinámicas son ficheros externos, con lo que el tamaño de la aplicación
(nuestro ejecutable) es mayor en el primer caso que en el segundo. Esto
puede ser de capital importancia en aplicaciones muy grandes, ya que el
ejecutable debe ser cargado en memoria de una sola vez.

Las librerías dinámicas son ficheros independientes que pueden ser


invocados desde cualquier ejecutable, de modo que su funcionalidad puede
ser compartida por varios ejecutables. Esto significa que solo se necesita una
copia de cada fichero de librería (DLL) en el Sistema. Esta característica
constituye la razón principal de su utilización, y es también origen de algunos
inconvenientes, principalmente en sistemas como Windows en los que
existen centenares de ellas.

20
21
22
23
24
25
26
27
Dado una secuencia de número leídos y almacenados en un vector A y un número leído
determinar si dicho número se encuentra o no en el vector.
Leer una secuencia de 20 números y almacenar en un vector sus factoriales.
Leer 20 números almacenarlos en un vector y mostrarlos posteriormente de forma ordenada.
Leer un vector y obtener la suma de sus factoriales.
Dado un matriz visualizar cada fila de manera ordenada.
Dada una matriz visualizarla de forma ordenada.
Dado un vector mostrar el mayor y el menor de sus componentes.
Dada una matriz determinar el mayor de una fila dada por el usuario.
Dado una matriz determinar la posición (i,j) del mayor y menor.
Dado un vector de números determina aquellos que sea primos.
Dado una secuencia determina si es palíndromo.
Dado un vector de años determinar cuáles son Bisiestos.
Dado un vector de enteros positivos determinar si son o no Sociables.
Dado un vector de secuencias ordenarla Lexicográfica.

Aplica la programación modular a estos problemas. Realiza la librería Miscelanea.h con las funciones y procedimientos
que vayas creando con la resolución de los ejercicios.

Departamento de Informática y Comunicación


IES San Juan Bosco (Lorca-Murcia)
Profesor: Juan Antonio López Quesada

28

También podría gustarte