Está en la página 1de 21

Universidad Nacional Mayor de San Marcos

Facultad de Ciencias Matemticas


E.A.P. Matemtica

PROGRAMACIN DE
COMPUTADORAS I
Semana 6
Prof. Karina Escalante Zegarra
karina.escalante11@gmail.com

SUBPROGRAMAS
La resolucin de problemas complejos se facilita
considerablemente si se dividen en problemas ms
pequeos (subproblemas).
Este mtodo de disear la solucin de un problema principal
obteniendo las soluciones de sus problemas se conoce como
diseo descendente (top-dow design). Se denomina
descendente, ya que se inicia en la parte superior con un
problema general y el diseo especfico de las soluciones de
los subproblemas.

Diseo descendente
(top-dow design)

SUBPROGRAMAS
El problema principal se soluciona por el correspondiente
programa o algoritmo principal (controlador o conductor o
drive) y la solucin de los subproblemas mediante
subprogramas, conocidos como procedimientos (subrutinas)
o funciones.
Un subprograma puede realizar las mismas acciones que un
programa:
1. Aceptar datos
2. Realizar algunos clculos
3. Devolver resultados

Un Programa con un
subprograma
Programa
Llamada 1

Subprograma

Retorno 1

Llamada 2
Retorno 2
Algoritmo

Subalgoritmo

FUNCIONES
Matemticamente una funcin es una operacin que toma
uno o ms valores llamados argumentos y produce un valor
denominado resultado.

Las funciones incorporadas al sistema se denominan funciones


internas o intrnsecas y las funciones definidas por el usuario,
funciones externas.

DECLARACIN DE
FUNCIONES
Cuando las funciones internas no permiten realizar el tipo de clculo
deseado es necesario recurrir a funciones externas definidas por el
usuario mediante una declaracin de funcin.
Las funciones son diseadas para realizar tareas especficas: tomar una
lista de valores (argumentos) y devolver un nico valor.
<tipo_de_resultado> <nombre_funcion>(lista de parmetros);

DEFINICIN DE
FUNCIONES
La definicin de cualquier funcin es de la siguiente manera:
<tipo_de_resultado> <nombre_funcion>(lista de parmetros)
inicio
<acciones> // cuerpo de la funcin
devolver (<expresion>)
Fin_funcin

TIPOS DE FUNCIONES
SEGN EL VALOR DEVUELTO
Todas las funciones, excepto las de tipo void, devuelven un valor.
Funciones tipo void:
Este tipo de funciones no devuelve o no recibe valor, en otras
palabras, void quiere decir: sin tipo.
void <nombre_funcion>(lista de parmetros)
inicio
<acciones> // cuerpo de la funcin
devolver (<expresion>)
Fin_funcin

El siguiente programa halla el cuadrado de un nmero entero ledo


desde el teclado, haciendo uso de una funcin del tipo void.

TIPOS DE FUNCIONES
SEGN EL VALOR DEVUELTO
Funciones con valor devuelto:
Estas funciones tambin son denominadas funciones con tipo
devuelto o funciones con valor devuelto.
El tipo de resultado puede ser: int, float, double, char, etc.
<tipo_de_resultado> <nombre_funcion>(lista de parmetros)
inicio
<acciones> // cuerpo de la funcin
devolver (<expresion>)
Fin_funcin

El siguiente programa halla el cuadrado de un nmero entero ledo


desde el teclado, haciendo uso de una funcin que devuelve un valor.

Sentencia devolver (return)


La sentencia devolver se utiliza para regresar de una funcin.
Devolver hace que el control del programa se transfiera al
llamador de la funcin. Esta sentencia se puede utilizar para
hacer que la ejecucin regrese de nuevo al llamador de la
funcin.

En pocas palabras la sentencia devolver


inmediatamente la funcin en la cual se ejecute.

termina

DNDE

DECLARACIN DE
FUNCIONES?
Estas pueden ser declaras de 2 formas:
Con Prototipo de Funcin: La funcin puede estar en cualquier
lugar. En nuestro caso lo colocaremos al final.
Sin Prototipo de Funcin: La funcin debe estar cerca
(usualmente en la parte superior) donde es invocado.

Con Prototipo de Funcin en C++

Sin Prototipo de Funcin en C++

INVOCACIN A LAS
FUNCIONES
Una funcin puede ser llamada de la forma siguiente:

Nombre_funcin (lista de parmetros actuales)


Cada vez que se llama a una funcin desde el algoritmo principal se
establece automticamente una correspondencia entre los parmetros
formales y los parmetros actuales. Debe haber exactamente el mismo
nmero de parmetros actuales que de parmetros formales en la
declaracin de una funcin y se presupone una correspondencia uno a
uno de izquierda a derecha entre los parmetros formales y los
actuales.

INVOCACIN A LAS
FUNCIONES
Una llamada a la funcin implica los siguientes pasos:
1. A cada parmetro formal se le asigna un valor real de su
correspondiente parmetro actual.
2. Se ejecuta el cuerpo de acciones de la funcin.
3. Se devuelve el valor de la funcin al nombre de la funcin y se
retorna al punto de llamada.

Ejemplo:
Realizar el diseo de la funcin y=x3 (Cubo de un nmero)
Solucin 1:
Algoritmo: cubo de un nmero
Variables:
entero: n // nmero asignado al cubo de 2
Inicio // programa principal
n cubo(2) // invocacin o llamada a la funcin
Escribir (2 al cubo es,n)
Fin
Entero funcion cubo (E entero: x) //inicia la funcin
Inicio
Devolver(x*x*x)
Fin_funcin

ARGUMENTOS DE
UNA FUNCIN
Si una funcin utiliza argumentos, se debe declarar las
variables que aceptan los valores de los argumentos. Estas
variables se llaman parmetros formales de la funcin y se
comportan como otras variables locales dentro de la
funcin, crendose al entrar a la funcin y destruyndose al
salir.
Ejercicio: Realice un programa que lea el radio y la altura de
un cilindro y calcula su rea lateral, rea total y volumen.

1. Use una funcin para convertir pulgadas a centmetros y


viceversa (1pulgada = 2,54cm).
2. Use funciones para convertir una temperatura en grados
Celsius y diga a cunto equivale en grados Farenheit,
Kelvin y Rankine.
273 32 492
=
=
=
5
5
9
9

3. Usando funciones resuelva una ecuacin de 2do grado.


4. Usando funciones halle la distancia entre dos puntos.
5. Escriba una funcin para calcular la media aritmtica, la
geomtrica, armnica, la cuadrtica, la ponderada, la
varianza y la desviacin estndar de los datos. (Recuerde
que la desviacin estndar es la raz cuadrada de la
varianza)

También podría gustarte