Está en la página 1de 6

SUBPROGRAMA Un subprograma es un fragmento de cdigo que se comporta de manera independiente dentro de un programa.

Los subprogramas pueden ser invocados varias veces desde otras partes del programa.Se comunican mediante el pasaje de parmetros.Cada subprograma tiene su propio espacio de nombres (identificadores locales)Algunos identificadores pueden ser compartidos entre subprogramas y el programa principal (identificadores globales).Los subprogramas son una herramienta de modularizacin.

FUNCIONES Una funcin es un grupo de instrucciones cuya e ecucin se lleva a cabo cada ve! que se invoca el nombre de la funcin con valores de entrada y luego de reali!ar un c"lculo regresa un valor hasta la l#nea donde se hi!o la llamada a la funcin. $oda funcin regresa un %nico valor Declaracion general de una funcion: Funcion nombre (lista de parmetros) Variables locales Accion Resultado Fin funcion tipo;

TI !: es el tipo de dato que devolver la funcin al terminar de hacer su trabajo NOMBRE: nombre que le vamos a dar a la funcin PARAMETROS: es la lista de parmetros que vamos a pasar a la funcin VARIABLES: seccion donde se declaran variable a usar en la funcion Accion: procedimiento a realizar Resultado:lugar donde se guarda el valor a invocar Eje !lo: Programa que calucula la suma de los N primeros numeros naturales: Publica clase funcion { Metodo Principal { n, suma= es entero para n=! , n"=#, ! hacer suma=su an"n# mostrar$la suma de los %n$ primeros numeros naturales es$su a

& fin metodo Funcion su an"n:ente$o#:ente$o Su a%&' i es ente$o Pa$a i%(' i)%n' ( *ace$ Su a%su a+i 'eturn suma( Fin ,uncion &fin clase PARAMETROS NOMINALES: )on aquellos parmetros que aparecen en el encabezado de la funcion PARAMETROS EFECTIVOS: )on aquellos parmetros que aparecen en la invocacin de la funcion PASO -E PARAMETROS A FUNCIONES:

POR VALOR"# &n el momento de la invocacin se reali!a una copia de los valores de los parametros efectivos a los par"metros nominales.es por ellos que cualquier cambio que sufra dentro no repercute fuera de la funcion. & ' funcion f(a(b'enteros)enteros Al invocar f()*()+) a, )* b,)+ !R R"F"R"#$IA Los par"metros efectivos deben ser %ariables. &n el momento de la invocacin el par"metro nominal comparte el mismo espacio de memoria que el par"metro efectivo. (alias de variables). $oda modificacin del par"metro nominal se refle a en el par"metro efectivo. &n cambio( cuando el pasa e es por valor el par"metro efectivo no sufre modificaciones.

R!$"DI&I"#T!'

Un procedimiento es un grupo de instrucciones( que como su nombre lo dice reali!a un procedimiento y nada mas( cuya e ecucin se lleva a cabo cada ve! que se invoca el nombre del procedimiento( posiblemente con algunos valores como argumentos. $odo procedimiento no regresa valores( sino que hace algo como por e emplo ordenar( imprimir( intercambiar valores( etc. -ecla$acion .ene$al de un !$ocedi iento
R!$"DI&I"#T! nombre (-.VAR('A(IDA)$!#'T/0NombreParametro1:tipo-)...0); I#I$I! cdigo FI#;

'eme*an+as entre rocedimientos , Funciones1 La definicin de ambos aparece en la seccin de subprogramas de la parte de declaraciones de un programa y en ambos casos consiste en una cabecera( una parte de declaraciones una parte de instrucciones. 1 Ambos son unidades de programa independientes. Los par"metros( constantes y variables declarados en una funcin o procedimiento son locales a la funcin o al procedimiento( solamente son accesibles dentro del subprograma. 1 Cuando se llama a una funcin o a un procedimiento( el n%mero de los par"metros reales debe ser el mismo que el n%mero de los par"metros formales y los tipos de los par"metros reales deben coincidir con los tipos de los correspondientes par"metros formales( con una e2cepcin' se puede asociar un par"metro real de tipo entero con un par"metro formal por valor de tipo real.

Diferencias entre rocedimientos , Funciones1 3ientras que a un procedimiento se le llama mediante una instruccin de llamada a procedimiento( a una funcin se la llama usando su nombre en una e2presin. 1 4uesto que se debe asociar un valor al n%mero de una funcin( tambi5n se le debe asociar un tipo. 4or tanto( la cabecera de una funcin debe incluir un identificador de tipo que especifique el tipo del resultado. Sin embargo( no se asocia ning%n valor con el nombre de un procedimiento y( por tanto( tampoco ning%n tipo. 1 Las funciones normalmente devuelven un %nico valor a la unidad de programa que la llama. Los procedimientos suelen devolver m"s de un valor( o pueden no devolver ninguno si solamente reali!an alguna tarea( como una operacin de salida. 1 &n los procedimientos( los valores se devuelven a trav5s de par"metros por variable( pero el valor de una funcin se devuelve mediante la asignacin al nombre de la funcin de dicho valor en la parte de instrucciones de la definicin de la funcin.

*na funcion devuelveun valor


un procedimiento que reali!a una tarea especifica dentro de un programa y devuelve un valor.

*n procedimiento realiza una instruccin sin necesidad de devolver un valor


&l procedimiento 'ub es una unidad de cdigo que reali!a una tarea especifica dentro de un programa( pero que no devuelve un valor e2pl#cito.

+*,-./,0) float encontprom1int num!, int num23 { float promedio( promedio = 1num! 4 num23 5 26 ( return1promedio3( & main13 { int a=7, b=! ( float resultado( resultado = encontprom1a, b3( printf18Promedio=9f:n8,resultado3( & P'/-0;.M.0,</) void cuadrados13 { int contador( for1 contador=!( contador"! ( contador443 printf189d:n8,contador=contador3( & main13 { cuadrados13( &

También podría gustarte