You are on page 1of 17

Programacin

Modular
Lenguaje de Programacin
Estructurado

Programacin modular
Hasta ahora, hemos
trabajado con
programas pequeos
de un solo archivo.

En programas grandes
esto no es posible,
dado que son
desarrollados por un
grupo de personas.

Los programas
grandes se organizan
el varias partes
organizadas.

Estas partes se
denominan MDULOS.

Mdulos
Grupo de funciones
que realizan tareas
relacionadas.

Es decir, son libreras


definidas por los
usuarios.

Parte pblica: Cmo


usar las funciones
del mdulo
(Estructuras de datos
y funciones)

Parte privada:
Implementa las
funciones del
mdulo.

Mdulos
Parte pblica y la parte privada.

Cabeceras
1. Una seccin
describiendo lo
que hace el
mdulo.

2. Constantes
comunes.

4. Declaraciones
de funciones
pblicas.

3. Estructuras
comunes.

5. Declaraciones
extern para
variables
pblicas.

Definicin de funciones
En C, todo necesita
declararse antes de
usarse.

Las funciones
deben declararse
antes de su primer
uso.

La definicin de la
funcin es ya la
implementacin
actual.

Una declaracin (o
prototipo) contiene
el tipo de retorno y
los parmetros.

La definicin de
una funcin es una
declaracin
implcita.

Mdulos
Declaracin e implementacin de funciones.

Compilacin de mdulos
Necesitamos
integrar todos los
mdulos de un
programa.

Esto implica
compilar el
programa
principal.

Junto a los
mdulos utilizados
que han sido
definidos.

En UNIX/LINUX, el
que se encarga
de esto es MAKE.

Programacin Modular

ZinjaI

Paso 1
Creamos un nuevo proyecto.

Paso 2
Le asignamos un nombre y una ubicacin

Paso 3
Seleccionamos una plantilla.

Paso 4
Crea los archivos y codifica.

calculadora.h
/*
Mdulo calculadora. Define una operacin calcular que
realiza una operacin aritmtica en dos nmeros. Adems,
contiene algunas variables pblicas.
*/

/* Esta es la descripcin de la variable. */


extern int siete;
/* Realiza una operacin aritmtica en dos nmeros */
double calcular(double, double, char);

calculadora.c
#include "calculadora.h /* Y otras libreras adicionales */
int siete = 7;
double calcular(double operador_1, double operador_2, char operacion) {
double respuesta; /* Respuesta del clculo */
switch (operacion) {
case '+':
respuesta = operador_1 + operador_2;
break; /* Agregar ms operadores de ser necesario*/
case '#':
respuesta = (operador_1 + operador_2) * siete;
break;
default:
exit(-1);
}
return respuesta;
}

principal.c
#include "calculadora.h"
extern int siete;
int main() {
double primer_operando, segundo_operando, resultado;
char operador;
char linea[100];
printf("siete= %d \n", siete); /*Qu valor muestro?*/
while (1) {
fgets(linea, sizeof(linea), stdin);
linea[strlen(linea) - 1] = '\0';
if (strcmp(linea, "salir") == 0) {
break;
}
sscanf(linea, "%lf %c %lf", &primer_operando, &operador, &segundo_operando);
resultado = calcular(primer_operando, segundo_operando, operador);
}
}

extern

extern y static
La variable/
funcin ha sido
definida en otro
archivo.
Usada para
declarar variables
globales para
varios mdulos.

Las variable es
local al archivo
actual.
Adems, las
variables local
static son
permanentes.

static

You might also like