Sei sulla pagina 1di 71

TEMA 5.

FUNCIONES
Grado en Ingeniera en Tecnologas Industriales
Programacin

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

CONTENIDOS
5.1. PROGRAMACIN MODULAR
5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
5.7.1. BIBLIOTECAS ESTNDAR DE C
5.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++
2

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.1. PROGRAMACIN MODULAR

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin modular
Tcnicas de programacin para crear buenos programas
Programacin modular
Programacin estructurada

Qu es un buen programa?
Funcionalmente correcto: Produce los resultados requeridos
Legible: Fcilmente comprensible por cualquier programador
Modificable: Diseado de forma que la incorporacin de
modificaciones sea sencilla
Fcil de depurar: Diseado de forma que la localizacin y correccin de
errores sea sencilla
Bien documentado: Incluye comentarios y documentacin
suplementaria que permite a otro programador comprender su
funcionamiento

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin estructurada
Programacin convencional:
Elabora programas sin seguir ningn mtodo de programacin.
Resultado: Programas muy largos y muy difciles de mantener.

Programacin estructurada
Todo programa tiene un nico punto de inicio y un nico punto de fin
Uso de un nmero limitado de estructuras de control: secuenciales,
alternativas y repetitivas
Prohibidos los saltos de una instruccin a otra

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin modular
Programacin modular:
Se basa en la descomposicin del problema en problemas ms simples
(mdulos) que se pueden analizar, programar y depurar
independientemente

Un mdulo es:
Un conjunto de instrucciones que realizan una tarea concreta y/o
proporcionan unos determinados resultados, y que puede ser llamada
(invocada) desde el programa principal o desde otros mdulos
Mdulo, subprograma o funcin son sinnimos
En C, los llamamos funciones
Ejemplos: funcionOrdenarLista, funcionCalcularMedia
6

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Ventajas de la programacin modular


Ventajas de la Programacin Modular:
Programas ms estructurados y legibles.
Programas ms cortos y simples, debido a la divisin del problema
complejo en partes
Los subprogramas son independientes
Se pueden escribir, compilar y probar de forma independiente, por
lo que en un programa de gran tamao pueden trabajar distintos
programadores.
Se puede modificar un subprograma sin afectar al resto de del
programa, por lo que se pueden realizar cambios en un mdulo sin
que sea necesario modificar (ni volver a probar) el resto
Los subprogramas son reutilizables.
Los mdulos pueden ser utilizados en distintos programas que
hagan uso de la misma funcionalidad.

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin modular

La adecuada divisin de un programa en subprogramas


constituye un aspecto fundamental en el desarrollo de
cualquier programa.

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin modular
Un programa consta de:
Programa principal: contiene operaciones fundamentales y las llamadas a
los subprogramas.
Subprogramas (funciones) : programas independientes que resuelven un
problema particular
Programa Principal

Funcin 1
instruccin a

INICIO

instruccin b

instruccin 1

instruccin z

instruccin 2

llamada a funcin 1
llamada a funcin n

Funcin n
instruccin a
instruccin b

instruccin n

instruccin z
FIN

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.1. Programacin Modular

Programacin modular en C: Funciones


C es un lenguaje que orientado a la programacin modular
Todo programa en C se compone de varios mdulos
denominados funciones
El programa principal en C es la funcin main
Se puede ver como una funcin a su vez, llamada desde el sistema
operativo

Las funciones son llamadas desde la funcin main o desde


otras funciones

10

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.2. IMPLEMENTACIN DE FUNCIONES

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Elementos fundamentales
Los elementos fundamentales de una funcin son
Su nombre, que se usa para llamarla (invocarla)
Ejemplo: CalcularMedia
El resultado que devuelve
Ejemplo: media
Los datos que usa para realizar su tarea
Ejemplo: num1, num2, num3
Llamados parmetros o argumentos
Las instrucciones que realizan la tarea

12

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Declaracin de una funcin: Prototipo


Prototipo
Para poder usar una funcin, primero hay que declararla, igual que se
hace con las variables
Para ello se usa una forma predefinida denominada prototipo
El prototipo informa de la existencia de la funcin, que est
implementada ms adelante
Tiene que estar antes de que se utilice por primera vez esa funcin
al comienzo del programa (despus de los #define e #include)
El prototipo de una funcin siempre termina con el carcter ;.

13

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Prototipo
En el prototipo se especifica
tipo: Tipo de dato que devuelve la funcin.
nombre: Nombre asignado a la funcin.
Autoexplicativo.
Debera empezar por una letra minscula.
Si contiene varias palabras se marcarn poniendo la inicial de la
segunda y subsiguientes palabras en maysculas.
lista de parmetros: Datos de entrada con los que trabaja la funcin

Sintaxis del prototipo en C


tipo nombre (lista de parmetros);
14

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Prototipo: Ejemplos
Ejemplos de prototipos de funciones
int potencia (int base, int exponente);
float suma (float n1, float n2);
void mostrarDatos (int a, int b);
int leerDato(void);

15

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Valor devuelto por una funcin


Resultado devuelto por la funcin
Una funcin realiza una serie de tareas y devuelve un resultado
Tambin llamado valor de retorno
Al declarar la funcin hay que definir el tipo de datos de ese resultado
Puede ser int, float, double, char
No puede devolver un vector ni una matriz
S puede devolver un puntero a un vector o a una matriz
Tambin puede no devolver ningn valor
En ese caso se declara que el tipo de dato devuelto es void

16

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Parmetros o argumentos
Parmetros o argumentos
Son los datos que la funcin recibe desde el programa que la llama
Parmetro y argumento son sinnimos

Para cada parmetro hay que indicar su nombre y tipo de datos


Se puede omitir el nombre (muy desaconsejable)
Puede haber uno, ninguno o ms de uno
Si hay ms de uno, se escriben separados por comas
Si no hay ninguno se escribe void
El valor de los parmetros puede modificarse o no dentro de la funcin
17

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Estructura de un programa en C
#include
#define

Directivas para el preprocesador

Declaraciones globales
Prototipos de las funciones

Funcin principal main


int main (void)
{
Declaracin de variables y constantes locales
instrucciones
}

Implementacin de las funciones


tipo1 funci(..)
{
...
}

18

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin


Adems del prototipo de la funcin hay que escribir la
definicin de la funcin
Es el cdigo de la funcin propiamente dicho, las
instrucciones con las que la funcin realiza las tareas para las
que ha sido diseada.
puede ubicarse en cualquier lugar del programa, con dos
restricciones:
debe hallarse despus de su prototipo
no puede estar dentro de la definicin de otra funcin (incluida main)

La definicin de una funcin tiene dos partes


cabecera (header)
cuerpo (body)

19

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin: Cabecera


Cabecera
primera lnea
Es idntica al prototipo declarado para la funcin
con dos diferencias:
no termina en ;
en la lista de parmetros es obligatorio incluir el tipo y el nombre
de los parmetros
en el prototipo el nombre se puede omitir (muy
desaconsejado)

Ejemplo
int suma (int a, int b)

20

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin: Cuerpo


Cuerpo
conjunto de instrucciones que se ejecutan cada vez que se realiza una
llamada a la funcin
entre llaves

Ejemplo

{
int r;
r=a+b;
return r;

21

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin: Setencia return


Instruccin return
El valor devuelto por la funcin (valor de retorno) se especifica con la
instruccin return
el tipo de dato de este valor debe coincidir con el definido en la
cabecera y el prototipo de la funcin.
si la funcin no devuelve ningn valor, el tipo del valor de retorno
debe ser void

La instruccin return devuelve el control del programa a la


funcin desde la que se realiz la llamada
Si hay otras instrucciones detrs no se ejecutan, finaliza la ejecucin de
la funcin
se recomienda incluir siempre una nica sentencia return
y que sta est situada al final de la funcin

22

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin: Variables locales


Una funcin puede tener sus propias variables
Se las denomina variables locales
Se declaran al comienzo del cuerpo de la funcin
Son slo visibles dentro del bloque en el que han sido definidas,
ocultas para el resto del programa
Se crean cada vez que se ejecuta la funcin

23

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin


Sintaxis de la definicin de la funcin
tipo nombre(lista de parmetros)
{
declaracin de variables locales
cdigo ejecutable
return (expresin);
}

24

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.2. Implementacin de Funciones

Definicin de una funcin: Ejemplo

Cabecera de la
funcin

int suma (int a, int b)


/**************************************************
|*** Funcin que devuelve la suma de dos nmeros
|**************************************************/
{
int r;
r=a+b;
return r;

Variable local de
la funcin

Cuerpo de la
funcin

25

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.3. LLAMADA A FUNCIONES

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.3. Llamada a Funciones

Invocacin de funciones
La llamada (invocacin) a una funcin se hace incluyendo su
nombre en una expresin o instruccin
Ya sea en el programa principal o de otra funcin.

El nombre de la funcin debe ir seguido de la lista de


parmetros separados por comas y encerrados entre
parntesis.
Si la funcin no acepta parmetros se utilizan los parntesis sin nada
entre ellos.

c=suma(a, b);
printf("%d, suma(3,7);
27

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.3. Llamada a Funciones

Invocacin de funciones
A los parmetros que aparecen en la llamada se les denomina
parmetros reales
pueden ser variables, constantes y expresiones.

A los parmetros que aparecen en la definicin se les llama


parmetros formales
Solo pueden ser variables

El nmero de parmetros reales (en la llamada a una funcin)


debe coincidir con el nmero de parmetros formales (en la
definicin y en la declaracin)
El tipo de dato de cada parmetro real debe coincidir con el tipo de
dato del parmetro formal correspondiente
Cuando el programa encuentra el nombre de la funcin, evala los
parmetros reales, pasa copia de dichos valores a la funcin y
entrega el control de la ejecucin a la funcin.

28

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.3. Llamada a Funciones

Ejemplo de funcin
#include <stdio.h>

Prototipo de la
funcin suma

int suma(int a, int b);

Parmetros formales
int main(void)
{
//Declaracin de variables del programa principal
int n1, n2, resu;

//Leemos dos nmeros


printf ("Dame dos numeros\n");
scanf("%d%d",&n1, &n2);
//Calculamos su suma llamando a una funcin:
resu=suma(n1,n2);
printf("La suma de %d y %d es %d", n1, n2, resu);
return (0);

int suma (int a, int b)


{
int r;
r=a+b;
return r;
}

Llamada a la
funcin suma

Parmetros reales
Declaracin de
la funcin suma

29

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.4. PASO DE PARMETROS A UNA FUNCIN:


POR VALOR Y POR REFERENCIA

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros
En la llamada a una funcin se pasan datos del programa
principal a esa funcin Cmo?
Se establece automticamente una correspondencia entre los
parmetros de la llamada (reales) y los del subprograma (formales).
Esta correspondencia est definida por la posicin:
El primer parmetro real se corresponde con el primer parmetro
formal; el segundo parmetro real con el segundo formal y as
sucesivamente
Deben coincidir en nmero y tipo de datos

Dos formas de pasar parmetros


Por valor se pasa una copia
Por variable se pasa un puntero

31

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros: Ejemplo


#include <stdio.h>
int suma(int a, int b);
int main(void)
{
int n1, n2, resu; //Declaracin de variables del prog. principal
//Leemos dos nmeros
printf ("Dame dos numeros\n");
scanf("%d",&n1);

scanf("%d",&n2);

50

//Calculamos su suma llamando a una funcin:


resu=suma(n1,n2);

53
}

50

printf("La suma de %d y %d es %d", n1, n2, resu);


return 0;

int suma (int a, int b)


{
int r;
3
50
r=a+b;
return r;
53
}

32

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por valor


La funcin recibe una copia de los valores de los parmetros
reales
Esta copia queda almacenada en el parmetro formal (parmetro de la
funcin receptora)

La funcin trabaja sobre el parmetro formal.


Si se cambia el valor de un parmetro formal, el cambio slo es visible
dentro de la funcin y no tiene efecto fuera de ella

Se debe usar el paso de parmetros por valor siempre que los


argumentos no se van a modificar dentro de la funcin
Y si se quiere modificar el valor de los parmetros pasados a una
funcin y devolver este valor modificado?
Usar entonces paso por referencia

33

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por valor: Ejemplo


/* Ejemplo: Paso de parmetros por valor*/
#include <stdio.h>
void demo1(int valor);
void main(void)
{
int n=10;
printf("Antes de llamar a Demo1, n=%d\n",n);
demo1(n);
printf("Despues de llamar a Demo1, n=%d\n",n);
return ( );
}
void demo1(int valor)
{
printf("Dentro de Demo1, valor=%d\n",valor);
valor=999;
printf("Dentro de Demo1, valor=%d\n",valor);
return( );
}
Antes de llamar a Demo1, n=10
Dentro de Demo1, valor=10
Dentro de Demo1, valor=999
Despues de llamar a Demo1, n=10;

Resultado de la ejecucin:

34

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por referencia


Paso de parmetros por referencia:
Se pasa a la funcin una referencia a la direccin de memoria en la que
est almacenado el dato que se quiere modificar (puntero a la
variable)
Y no una nueva variable con una copia del parmetro real como se
hace en el paso por valor

Despus de la llamada a la funcin, los valores se habrn


modificado en el programa principal
Decimos que son parmetros de salida, la funcin devuelve resultados
al programa principal a travs de esos valores
El paso por referencia se usa al escribir funciones que devuelven ms
de un valor al programa principal
Con return se puede devolver un nico valor de retorno

35

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por referencia: Sintaxis


En el programa principal (llamada):
El parmetro real va precedido por el operador direccin, indicando
que pasamos un puntero a ese parmetro:
&var1

En el prototipo de la funcin, en el encabezado y en el cuerpo


de la funcin:
El parmetro formal va precedido por el operador indireccin,
indicando que accedemos al contenido de ese parmetro
<tipo *param1>
(*param1)
36

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por referencia: Ejemplo


void incrementar (int *a);

int main (void){


int var1=1;
incrementar(&var1);
return 0;
}
void incrementar (int *a){
*a=*a + 1;
return;
}

Parmetro real: Referencia a la


direccin de memoria en la que est
almacenado el dato que se quiere
modificar (el smbolo & precede al
nombre de la variable)
Parmetro formal: Recibe la
direccin de memoria en la que est
almacenado el parmetro real.
El parmetro formal est declarado
como puntero al tipo de la variable
original: int*)
Para acceder a la variable original
se utiliza el operador de indireccin
(*) sobre el parmetro formal.

Para recordarlo, puede verse como si:


En la llamada, el nombre del parmetro real comenzara por &.
En la funcin, el nombre del parmetro formal comenzar por *.

37

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Paso de parmetros por referencia: Ejemplo 2


#include <stdio.h>
void intercambio(int *x, int *y);
int main(void)
{
int i=3;
int j=50;
printf("i=%d y j= %d\n", i, j);
intercambio(&i, &j);
printf("i=%d y j= %d\n", i, j);
return 0;
}

Parmetros reales: Referencia a la


direccin de memoria en la que estn
almacenados los datos que se desean
modificar (se usa el operador de direccin:
&)

Parmetros formales: Reciben la direccin


de memoria en la que estn almacenados los
parmetros reales que se desean modificar.
(Deben declararse como punteros)

void intercambio(int *x, int *y)


{
int aux;
aux=*x; //Paso1. aux toma el valor apuntado por x (i)
*x=*y; //Paso2. *x (i) toma el valor de *y (j)
*y=aux; //Paso3. *y (i) toma el valor de aux
return;
Para acceder a la variable original se usa el
}
operador indireccin: *

38

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Resumen:
Paso de parmetros por valor:
El valor del parmetro real se copia en el parmetro formal
Los cambios efectuados sobre el parmetro formal (dentro de la
funcin) no quedan reflejados en el parmetro real (fuera de la
funcin)

Paso de parmetros por referencia:


Los parmetros formales se declaran como punteros y reciben la
direccin de memoria en la que se almacena el correspondiente
parmetro real
para ello se usa el operador de direccin &
Cualquier modificacin sobre el parmetro formal que se realice en la
funcin se mantendr una vez que termine la funcin

El paso de parmetros por referencia permite que una


funcin pueda modificar ms de un valor

39

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Parmetros const de una funcin


Para garantizar que no se modifica por error el valor de una
variable se puede forzar al compilador a que impida cualquier
modificacin, aadiendo el especificador const a la
descripcin de un parmetro formal:
int sumaDatos(const int x, const int y);

El especificador const indica al compilador que, dentro de la


funcin, el parmetro es de slo lectura (no se puede
modificar).
Si se intenta modificar el valor de este parmetro se producir un
mensaje de error en tiempo de compilacin.
40

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Parmetros const de una funcin: Ejemplo


#include <stdio.h>
int suma(int a, int b);
int main(void)
{
int n1, n2, resu;

//Declaracin de variables del prog. principal

//Leemos dos nmeros


printf ("Dame dos numeros\n");
scanf("%d",&n1);
scanf("%d",&n2);
//Calculamos su suma llamando a una funcin:
resu=suma(n1,n2);

printf("La suma de %d y %d es %d", n1, n2, resu);


return 0;

int suma (const int a, const int b)


{
int r;
r=a+b;
return r;
}

Indica al compilador que los


parmetros son de lectura (no
se pueden modificar)

41

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

6.4. Paso de Parmetros a una Funcin

Parmetros const de una funcin

Mensajes de error
42

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.5. MBITO DE DECLARACIN DE VARIABLES

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.5. mbito de Declaracin de Variables: Visibilidad

mbito de declaracin de una variable


El mbito de una variable define desde dnde se puede
acceder al valor dicha variable:
Variables locales: dentro de una funcin
Variables globales: desde todo el programa

Variables Locales:
Se definen dentro de una funcin.
Slo son visibles desde la funcin en la que estn definidas.
Pueden definirse como:
Automticas: Se crean cuando se llama a la funcin y se destruyen
cuando la funcin acaba
Estticas: El valor de la variable perdura de una ejecucin de la
funcin a otra - No est en el temario de esta asignatura

44

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.5. mbito de Declaracin de Variables: Visibilidad

mbito de declaracin de una variable


Variables Globales:
Se definen fuera de las funciones.
Son accesibles desde cualquier funcin

Hay que evitar el uso de variables globales dentro de las


funciones que componen el programa
El uso de variables globales en las funciones:
Reduce la legibilidad del programa y dificulta su modificacin y
depuracin
Hace ms difcil seguir los cambios que se producen en los valores
de las variables, se cometen ms errores
Impide que las funciones sean reutilizables en otro programa
Siempre que se tenga que compartir informacin entre funciones las
variables se pasarn como parmetros

45

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.6. BIBLIOTECAS DE FUNCIONES

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.6. Bibliotecas de Funciones

Bibliotecas de funciones
El programa principal y los subprogramas pueden estar en un
mismo fichero de cdigo C o en diferentes
Agrupar funciones en un fichero independiente facilita su
reutilizacin: Bibliotecas de funciones
Para ello hay que crear dos ficheros
cabecera (*.h)
fuente (*.c)

Y luego incluir el fichero que contiene las funciones en el programa


#include "funciones1.h"
int main (void){
. . . .
return (0);
}

Fichero cabecera que


contiene la declaracin de
ciertas funciones

47

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.6. Bibliotecas de Funciones

Bibliotecas de funciones:
El fichero cabecera (.h) incluye:
La definicin de los tipos de datos asociados a las funciones
(estructuras, tema siguiente)
Los prototipos de las funciones incluidas en el mdulo

El fichero fuente (.c) incluye:


Definicin las funciones declaradas en el fichero cabecera.

48

RESUMEN Y PUNTOS A RECORDAR

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Resumen:
Una funcin es un fragmento de cdigo independiente que se
encarga de resolver una determinada tarea.
Las funciones siempre devuelven un nico valor
puede ser del tipo void

parmetros formales definicin de la funcin


parmetros reales - llamada a la funcin
Si una funcin no acepta parmetros indica con la palabra
reservada void en la definicin
Cuando se llama a la funcin se utilizan los parntesis sin nada entre
ellos.
50

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Resumen:
Una funcin finaliza su ejecucin cuando llega al final o
cuando se ejecuta dentro de ella la sentencia return.
es recomendable incluir siempre una sentencia return
No es obligatorio

Mediante return, una funcin puede devolver un nico valor


a la funcin que la llam.

51

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Puntos a recordar:
El prototipo de una funcin incluye el nombre de la funcin, su tipo
y los parmetros que acepta finalizando con un punto y coma.
Un parmetro que se pasa por valor a una funcin no resultar
modificado una vez terminada la ejecucin de la funcin
Cuando una funcin debe modificar el valor del parmetro pasado
y devolver este valor modificado se debe utilizar el paso de
parmetros por referencia:
El parmetro real ir precedido del smbolo &.
El parmetro formal ser un puntero.

Una variable local es una variable que slo puede ser accedida
dentro de la funcin en la que se define.
Se deben usar variables locales para los datos que el programa principal no
necesita conocer

52

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.7.1 BIBLIOTECAS ESTNDAR DE C

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

Bibliotecas estndar en C
Todas las versiones de C ofrecen una biblioteca estndar de
funciones que proporciona soporte para las operaciones que
se realizan con ms frecuencia.
Estas funciones permiten realizar una operacin con slo una
llamada a la funcin (sin necesidad de escribir su cdigo
fuente).
Las funciones estndar o predefinidas se dividen en grupos:
Todas las funciones que pertenecen al mismo grupo se declaran en el
mismo archivo cabecera.
Se pueden incluir tantos archivos de cabecera como sean necesarios.

Ya hemos visto algunos ejemplos


stdio.h, math.h, string.h

54

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

Bibliotecas estndar en C: Ejemplos


Las ms utilizadas
<complex.h>

Funciones relacionadas con la aritmtica de complejos

<ctype.h>

Manipulacin de caracteres

<errno.h>

Permite controlar errores

<float.h>

Aade funcionalidades a los tipos de coma flotante

<math.h>

Funciones numricas

<stdio.h>

Operaciones de Entrada/Salida (standard input output - io)

<string.h>

Manipulacin de cadenas de caracteres (string)

<time.h>

Funciones de fecha y hora

<stdlib.h>

Funciones de valor absoluto, generacin de nmeros aleatorios,


bsqueda y ordenacin, conversin de cadenas, gestin de memoria y
comunicacin con el entorno de ejecucin

55

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<stdio.h>
stdio define varios tipos, macros y funciones necesarias para leer e imprimir valores.
Las funciones y macros ms utilizadas son:
Macro getchar
Prototipo: int getchar(void);
Descripcin: Devuelve el carcter introducido por teclado.
Funcin gets
Prototipo: int *gets (char *cadena) ;
Descripcin: Devuelve la cadena de caracteres introducida por teclado.
Macro putchar
Prototipo: int putchar(int c);
Descripcin: Muestra por pantalla el carcter pasado como parmetro.
Funcin puts
Prototipo: int puts(const char *cadena);
Descripcin: Muestra por pantalla una cadena de caracteres
Funcin printf
Prototipo: int printf(const char *formato, ...);
Descripcin: Imprime por pantalla segn el formato pasado como parmetro.
Funcin scanf
Prototipo: int scanf(const char *formato, ...);
Descripcin: Lee de teclado los elementos indicados en el formato y los almacena en los
siguientes parmetros (que debern ser pasados por referencia)

56

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<stdio.h>
Funciones relacionadas con la E/S de ficheros:
Funcin fprintf
Prototipo: int fprintf(FILE *stream, const char *formato,
...);
Descripcin: Imprime en fichero segn el formato pasado como parmetro.
Funcin fscanf
Prototipo: int fscanf(FILE *stream, const char *formato,
...);
Descripcin: Lee de fichero los elementos indicados en el formato y los almacena en
los siguientes parmetros.
Funcin fopen
Prototipo: FILE *fopen(const char *nombre, const char *modo);
Descripcin: Abre un nuevo archivo y devuelve un stream asociado. El primer
parmetro representa el nombre del archivo y el segundo el modo de apertura.
Funcin fclose
Prototipo: int *fclose(FILE *stream);
Descripcin: Realiza todas las escrituras pendientes y cierra el archivo asociado al
stream.

57

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<stdlib.h>
stdlib define varios tipos, macros y funciones relacionadas con:
Conversin de cadenas de caracteres
Generacin de nmeros aleatorios
Gestin de memoria
Comunicacin con el entorno de ejecucin
Bsqueda y ordenacin
Algunas de las funciones ms utilizadas son:
Funcin atof
Prototipo: double atof (const char *nprt);
Descripcin: Transforma la cadena de caracteres pasada como parmetro a
su valor double correspondiente
Funcin atoi
Prototipo: int atoi (const char *nprt);
Descripcin: Transforma la cadena de caracteres pasada como parmetro a
su valor entero correspondiente

58

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<stdlib.h>
Funcin rand
Prototipo: int rand (void);
Descripcin: Devuelve un nmero aleatorio entre 0 y RAND_MAX
Funcin srand
Prototipo: void srand (unsigned int seed);
Descripcin: Indica la semilla inicial para la secuencia de nmeros aleatorios
generados al llamar a la funcin rand.
Funcin malloc
Prototipo: void *malloc (size_t size);
Descripcin: Reserva una zona de memoria de un tamao de bytes indicado como
parmetro y devuelve la direccin de comienzo de la misma.
Funcin realloc
Prototipo: void *realloc (void *prt, size_t size);
Descripcin: Cambia el tamao de la zona apuntada por el puntero pasado como
parmetro para pasar a ser del tamao indicado en el segundo parmetro.
Funcin free
Prototipo: void free (void *prt);
Descripcin: Libera la memoria dinmica apuntada por prt

59

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<string.h>
string.h define las funciones utilizadas en el manejo de cadenas de caracters
(string).
Algunas de las funciones ms utilizadas son:
Funcin strlen
Prototipo: usigned strlen (const char *s);
Utilidad: Contar el nmero de caracteres de una cadena.
Funcin strcat
Prototipo: char *strcat (char *s1, const char *s2);
Utilidad: Unir dos cadenas de caracteres poniendo s2 a continuacin de s1.
La cadena resultante se almacena en s1.
Funcin strcmp
Prototipo: int strcmp (const char *s1, const char *s2)
Utilidad: Compara dos cadenas de caracteres. Devuelve 0 si las cadenas son
iguales, un valor <0 si s1 es menor (en orden alfabtico) que s2, y un valor
>0 si s1 es mayor que s2.
Funcin strcpy
Prototipo: char *strcpy (char *s1, const char *s2)
Utilidad: Copia en s1, la cadena almaceada en s2

60

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<math.h>
math define diferentes macros y funciones matemticas.
Las funciones ms utilizadas son:
Funciones ceil y floor
Prototipo: double ceil (double x);
Descripcin: Redondea por exceso (por defecto) al entero ms prximo.
Funcin fabs
Prototipo: double fabs (double x);
Descripcin: Calcula el valor absoluto de un nmero.
Funcin fmod
Prototipo: double fmod (double x, double y);
Descripcin: Devuelve el resto de la divisin de x entre y.
Funcin sqrt
Prototipo: double sqrt (double x);
Descripcin: Calcula la raz cuadrada de un nmero.
Funcin pow
Prototipo: double pow (double x, double y);
Descripcin: Devuelve el resultado de elevar x a y.

61

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<ctype.h>
ctype incluye funciones que permiten la clasificacin y conversin de caracteres:
Las funciones ms utilizadas son:

Funcin isalnum
Prototipo: int isalnum (int c);
Descripcin: Devuelve verdadero (valor numrico distinto de cero) si el parmetro es
una letra o un dgito.
Funcin iscntrl
Prototipo: int iscntrl (int c);
Descripcin: Devuelve verdadero si c es un carcter de control.
Funcin isdigit
Prototipo: int isdigit (int c);
Descripcin: Devuelve verdadero si c es un dgito.
Funcin tolower
Prototipo: int tolower (int c);
Descripcin: Devuelve el carcter en minscula correspondiente al carcter pasado
por parmetro.
Funcin toupper
Prototipo: int toupper (int c);
Descripcin: Devuelve el carcter en mayscula correspondiente al carcter pasado
por parmetro.

62

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

<complex.h>
complex define las macros y funciones necesarias para implementar la aritmtica de
nmeros complejos.
Las funciones ms utilizadas son:
Funcin cabs
Prototipo: double cabs(double complex z);
Utilidad: Calcula el valor absoluto de un nmero complejo.
Funcin cimag
Prototipo: double cimag (double complex z);
Utilidad: Devuelve la parte imaginaria de un nmero complejo.
Funcin creal
Prototipo: double creal (double complex z);
Utilidad: Devuelve la parte real de un nmero complejo
Funcin csqrt
Prototipo: double complex csqrt (double complex z);
Utilidad: Calcula la raz cuadrad de un complejo.
Funciones ccos y csin
Prototipo: double complex ccos (double complex z);
Utilidad: Calcula el coseno (seno) complejo de z

63

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

Funciones de biblioteca: Ejemplo de uso


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TAM_CADENA

Archivo de cabecera
para operaciones E/S
80

int main (void)


{
//Declaracin de Variables:
char nombre[TAM_CADENA];
char apellidos[TAM_CADENA];
char nombreCompleto[TAM_CADENA*2];

Archivo de
cabecera para
trabajar con
cadenas

printf ("Introduzca su nombre: \n");


gets(nombre);

printf ("Introduzca sus apellidos: \n");


gets(apellidos);
/* Se almacena en nombreCompleto el nombre y los apellidos*/

64

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

Funciones de biblioteca: Ejemplo de uso


/* inicia nombreCompleto a la cadena vaca */
strcpy (nombreCompleto, "");
/*concatena el nombre*/
strcat(nombreCompleto, nombre);
/*concatena un espacio en blanco*/
strcat(nombreCompleto, " ");
/*concatena los apellidos*/
strcat(nombreCompleto, apellidos);
/*Se imprime el nombre completo*/
printf("Su nombre es: %s\n", nombreCompleto);

return 0;
}

65

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.1. Bibliotecas Estndar de C

Funciones de biblioteca: Resumen


Funcin

Tipo

Propsito

lib

abs(i)

int

Devuelve el valor absoluto de i

stdlib.h

fmod(d1, d2)

double

Devuelve el resto de la divisin d1/d2 (con el signo de d1)

math.h

sqrt(d)

double

Devuelve la raz cuadrada de d

math.h

atoi(s)

long

Convierte la cadena s en un entero

stdlib.h

atof(s)

double

Convierte la cadena s en un nmero de doble precisin

stdlib.h

floor(d)

double

Devuelve el valor entero equivalente al redondeo por defecto de d

math.h

ceil(d)

double

Devuelve el valor entero equivalente al redondeo por exceso de d

math.h

exp(d)

double

Funcin exponencial: e elevado a d

math.h

log(d)

double

Devuelve el logaritmo natural de d

math.h

rand(void)

int

Devuelve un valor aleatorio positivo

math.h

sin(d)

double

Seno de d (en radianes)

math.h

cos(d)

double

Coseno de d (en radianes)

math.h

tan(d)

double

Tangente de d (en radianes)

math.h

asin(x)

double

Arco seno de x

math.h

acos(x)

double

Arco coseno de x

math.h

printf(..)

int

Escribe datos en pantalla

stdio.h

scanf(..)

int

Lee datos de teclado

stdio.h

strcpy(s1,s2)

char*

Copia la cadena s2 en la cadena s1

string.h

strlen(s1)

int

Devuelve el nmero de caracteres de la cadena s1

string.h

66

5.1. PROGRAMACIN MODULAR


5.2. IMPLEMENTACIN DE FUNCIONES
5.3. LLAMADA A FUNCIONES
5.4. PASO DE PARMETROS A UNA FUNCIN: POR VALOR Y POR REFERENCIA
5.5. MBITO DE DECLARACIN DE VARIABLES. VISIBILIDAD
5.6. BIBLIOTECAS DE FUNCIONES
5.7. ANEXOS
3.7.1. BIBLIOTECAS ESTNDAR DE C
3.7.2. BIBLIOTECAS DE FUNCIONES EN DEV-C++

5.7.2 BIBLIOTECAS DE FUNCIONES EN DEV-C++

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.2. Bibliotecas de Funciones en Dev-C++

Aplicaciones modulares en el entorno Dev-C++


1. Crear un nuevo Proyecto
2. Aadir ficheros fuente a un proyecto:

Proyecto -> Nuevo Cdigo Fuente (si el fichero fuente no existe)


Proyecto -> Aadir a Proyecto (si el fichero existe)

Directiva
#INCLUDE "*.h"

68

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.2. Bibliotecas de Funciones en Dev-C++

Aplicaciones modulares en el entorno Dev-C++


3. Seleccionar los ficheros fuente que componen el mdulo

Despus de aadir los ficheros, aparecer una pestaa por cada uno
de ellos

69

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

5.7.2. Bibliotecas de Funciones en Dev-C++

Aplicaciones modulares en el entorno Dev-C++


4. Escribir el cdigo del mdulo principal (slo extensin .c)

Incluir la directiva #INCLUDE "fichero.h"

5. Compilar:

Ejecutar -> Compilar: Compila slo aquellos ficheros que han sido
modificados tras la ltima compilacin.
Ejecutar -> Compila el archivo actual: Compila slo el fichero actual
Ejecutar -> Reconstruir todo: Realiza una compilacin completa del
proyecto:

Si no se dispone de los ficheros fuente, el paso 2 (con la opcin "Nuevo


Cdigo Fuente") se repetir dos veces: una para el fichero .h y otra para el
fichero .c

Guardamos los ficheros en el directorio de trabajo

Compilamos el proyecto

70

TEMA 5.
FUNCIONES
Grado en Ingeniera en Tecnologas Industriales
Programacin

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 2. Arquitectura
Tema
Tema
del1.Ordenador:
5.Introduccin
FuncionesHardware y software

Potrebbero piacerti anche