Académique Documents
Professionnel Documents
Culture Documents
Subprogramas
Diseo estructurado y modular Declaracin de subprogramas y su interfaz Precondiciones y postcondiciones de algoritmos mbitos de visibilidad Tipos de parmetro (in, out e in-out) en C/C++ Punteros Ejemplos y ejercicios de subprogramacin
Qu son
Trozos de cdigo con un nombre que pueden ser llamados/invocados/ejecutados desde otras partes del programa
Cmo se construyen
tipo
nombre
(parmetros)
{cdigo}
nombre
(parmetros)
{el cdigo}
procedimiento
en C
Los procedimientos:
no devuelven nada
escribe(n)
main() { escribe(2); }
Los procedimientos:
no devuelven nada
escribe(n)
Las funciones:
devuelven un valor
x
main() { escribe(2); }
factorial(x)
res
Dnde se escriben
Parmetros
escribe(n)
funciones
factorial(x)
funciones
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
lunes 17 de octubre de 2011
// factorial.cpp // juanfc 2009-11-07 // funcin para calcular el factorial de un nmero #include <iostream> using namespace std; int fact(int n) { int f = 1; for ( int i = i; i <= n; ++i ) f *= i; return f; } int main() { int h = 10; cout << "El fact(" << h << ") es: " << fact(h) << endl; cout << fact(20) + fact(30) << endl; return 0; }
factorial(x)
res
pre y postcondiciones
las conciones en que se ejecuta (precondiciones) y las que se garantizan tras su ejecucin (postcondiciones)
Ejemplo
x
factorial(x)
res
empleando una serie de hasta trminos. La funcin recibir los dos parmetros y y devolver el valor calculado. Recordar que:
oat b,
oat c)
ejercicio
parmetros en C/C++
void ecu2grado(const oat a, const oat b, const oat c, oat& x1, oat& x2)
en el ejemplo de la ecu2grado debemos o bien recibir otro parmetro o bien devolver un valor que indique qu tipo de solucin hemos encontrado
Sobrecarga
funcin pero diriendo slo en algn detalle de la signatura. Esto se llama sobrecarga. El compilador decide a cul llamar segn se use con unos parmetros u otros. no siempre puede
Punteros
// ???
punteros y arrays
int a[N];
a[0] a[1] a[2] a[3] a[4] a[N-1]