Documente Academic
Documente Profesional
Documente Cultură
Contenidos
1. Introduccin al concepto de subrutina o subprograma.
2. Definicin de funcin C++.
3. Estructura de una funcin.
a) Nombre de una funcin
b) Tipo de retorno (tipo del valor devuelto)
c) Valor retorno
d)) Lista de pparmetros
- Paso por valor
- Paso por referencia
4. Los arrays y las estructuras como parmetros.
5. Declaracin de funciones: Prototipos.
Programacin modular. Funciones
2009/2010
Introduccin
En la mayora de los casos, un determinado problema complejo lo
podemos (y debemos) dividir en problemas ms sencillos. Estos
subproblemas
p
se conocen en el contexto de la programacin
p g
como
Mdulos o subprogramas.
Tcnica de diseo conocida como
D d ell punto
Desde
t de
d vista
i t del
d l diseo:
di
TOP DOWN
2009/2010
Calcular la media
Determinar cuntos son
mayores que la media
Visualizar los datos
mayores que la media
Fin
2009/2010
Subprogramas
Un subprograma es una serie de instrucciones escritas
independientemente del programa principal. Este subprograma est
ligado al programa principal mediante un proceso de
t
transferencia/retorno.
f
i / t
Programa Principal
Subprograma
Transferencia
El control de ejecucin se
pasa al subprograma en el
momento en que se
q
sus servicios.
requieren
Transferencia/retorno de
control y datos
Retorno
2009/2010
Definicin de FUNCIN
z C++ es un lenguaje modular,
modular y por esta razn,
razn se puede dividir en
varios mdulos, cada uno de los cuales realiza una tarea determinada.
Cada mdulo es un subprograma llamado funcin.
z Una funcin es un miniprograma dentro de un programa. Es un
conjunto de sentencias que se pueden llamar desde cualquier parte
del programa.
p g
z Las funciones sirven para:
realizar tareas concretas y simplificar el programa
sirven
i
para evitar
i escribir
ibi ell mismo
i
cdigo
di varias
i veces.
Ventajas de utilizar funciones:
11.- Aislar
Ai l mejor
j los
l problemas
bl
2.- Escribir programas ms rpido
3.- Programas ms fciles de mantener (ms legibles y ms cortos)
Programacin modular. Funciones
2009/2010
...
void main()
{
...
...
do
cin >> dato;
}while ();
2009/2010
Transferencia / Retorno:
...
void main()
{
int numero, absoluto;
float resultado;
cin >> numero;
if (numero > 0 )
resultado
lt d = sqrtt ( numero ));
else
{
absoluto = abs (numero);
resultado = cubo( absoluto );
}
cout << resultado;
}
2009/2010
A
Argumentos
t o parmetros
t
Tranferencia
b = isdigit
g ( carcter )
C++ nos permite definir nuestras propias funciones. Pocas veces veremos
un programa que no use funciones. Una de ellas, que usamos siempre, es
la funcin main.
2009/2010
2009/2010
10
2009/2010
11
Nombres
b dde ffunciones
i
: _leer ,
visualizar_tabla_1
i
i
1,
leer_matriz
i , etc ...
2009/2010
12
...
void main()
{
.
primera_funcion();
funcion_de_otro();
funcion_3();
mi funcion();
mi_funcion();
}
13
void
Se llaman
Procedimientos
Un tipo struct
Lo veremos ms adelante
Programacin modular. Funciones
2009/2010
14
void visualizar_valores( )
{
.
}
bool encontrado ( )
{
.
}
Programacin modular. Funciones
iintt b
buscar_cd
d ( int
i t num )
{
.
}
2009/2010
15
1. C++ comprueba
p
la compatibilidad
p
de tipos,
p , (no
( se puede
p
devolver un
valor de tipo int, si el tipo de retorno es por ejemplo de tipo char).
2 Una vez que se ejecuta esta sentencia,
2.
sentencia termina la ejecucin de la funcin.
funcin
3. Una funcin puede tener cualquier nmero de sentencias return, pero al
menos debe haber una
una.
4. El valor devuelto puede ser: una constante, variable una expresin.
Programacin modular. Funciones
2009/2010
16
bbooll funcion(
f
i ( iint a )
{
bool negativo;
if (a
( <0)
{
negativo = true;
return negativo;
}
while (a < 100)
{
cout << a;
a++;
}
return false;
}
2009/2010
17
void main()
{
int resultado;
bool ok;
resultado = suma_tres
suma tres (2,
(2 xx, y );
ok = dividir (0, 3, resultado);
if (ok ==true)
cout << resultado;
else
l
cout << error-divisin por cero;
cout << resultado;
}
2009/2010
18
2009/2010
19
Variable local
int cubo (int a)
{
int aux;
aux = a
a*a*a
a a;
return aux;
}
2009/2010
20
funcin.
...
2009/2010
a
aux
10
1000
Cdigo de la
Funcin cubo
res
num
1000
10
Cdigo del
Programa
principal
p
p
MEMORIA
21
...
void main()
{
int num = 10;
cubo ( num );
cout << num;
}
...
aux
1000
Cdigo de la
Funcin cubo
num
a
* El co
compilador
p ado noo reserva
ese va memoria
e o a para
pa a
los parmetros, sino que utiliza la misma
porcin de memoria.
1000
10
Cdigo del
Programa
principal
MEMORIA
Programacin modular. Funciones
2009/2010
22
2009/2010
23
2009/2010
24
int b = 10,
10 e = 4
4, r= 0;
potencia (b, e, r);
cout << r;
}
25
);
#include <iostream.h>
Prototipo
El prototipo, informa de la
existencia de la funcin, el tipo
de datos que devuelve y los
parmetros que
p
q tiene
definidos.
Codificacin
Programacin modular. Funciones
2009/2010
26
return 7;
return x;
2009/2010
27