Вы находитесь на странице: 1из 18

FUNCIONES Y PROCEDIMIENTOS

FUNDAMENTOS DE ALGORITMOS
Semana 08
INTRODUCCIN
SUB PROGRAMAS

En la cultura popular, divide y


vencers hace referencia a un
refrn que implica resolver un
problema difcil, dividindolo
en partes ms simples tantas
veces como sea necesario,
hasta que la resolucin de las
partes se torna obvia. La
solucin del problema principal
se construye con las
soluciones encontradas.
RECORDEMOS

Cmo podemos realizar


tareas repetitivas?
Qu estructura repetitiva cree
Ud. que se adapta mejor para
crear un men de opciones?
Necesita algn otro tipo de
estructura?
Si tuviera que imprimir los n
primeros nmeros pares, qu
estructura de control usara?
En qu se diferencian las
estructuras repetitivas?
CMO RESOLVERA

el siguiente problema
mediante un programa c++?
= .
LOGRO ESPERADO

Al trmino de la sesin, el
estudiante resuelve
problemas de diversos
tipos (estructuras
secuenciales, selectivas,
repetitivas,
implementando en su
solucin subprogramas
(procedimientos y
funciones).
Fundamentos de Algoritmos
DESARROLLO DEL TEMA
SUBPROGRAMA

En computacin, una
subrutina o subprograma
(tambin llamada
procedimiento, funcin o
rutina), como idea
general, se presenta
como un subalgoritmo
que forma parte del
algoritmo principal, el
cual permite resolver una
tarea especfica.
SUBPROGRAMAS

En cuanto a la estructura de un subprograma es igual a la


estructura de un programa, va a tener una informacin de entrada,
despus va a tener un conjunto de acciones, declarar otras
variables propias del subprograma, y al terminar la ejecucin puede
que devuelva o no resultados al programa que lo llam.

Hay dos tipos fundamentales de subprogramas: Funciones y procedimientos.


FUNCIONES

Funciones Ejemplos
Desde el punto de vista Internas
algortmico, es un rand() 0.038
subprograma que toma sqrt(49) 7
uno o varios parmetros pow(2,5) 32
como entrada y devuelve Externas
a la salida un nico
resultado. mayor (5, 9) 5
suma (v, n) 454
Hay dos tipos de
funciones: Uso
Internas: definidas por cout<<pow(2,5);
defecto en el lenguaje. x = mayor(sqrt(49),suma(v,n))
Externas: definidas por el
usuario y les da un nombre
o identificador.
FUNCIONES

tipoDatoDevuelto nombreFuncion (lista parmetros){


//declaraciones de constantes
//declaraciones de variables
//otras instrucciones de C++
return valor
}

int encontrarMax(int x, int y){


int numMax;
if(x>=y)
numMax = x;
else
numMax = y;
return numMax;
}
PROCEDIMIENTOS

Con frecuencia se requieren Decir Hola


subprogramas que calculen decirHola() Hola Mundo
varios resultados en vez de uno decirHola(Carlos) Hola
solo, o que realice la ordenacin Carlos
de una serie de nmeros, etc. Encontrar el mayor y menor de
una lista de 5 nmeros
La diferencia esencial entre un mayMen(18,5,13,9,2) Mayor:
procedimiento y una funcin es 18, Menor: 2
que la funcin obtiene un valor Leer n elementos de una
que puede ser utilizado en una arreglo de enteros a
expresin, mientras que un leerV(a,n)
procedimiento no tiene ningn Uso
valor asociado a su nombre. decirHola();
decirHola(Carlos);
mayMen(18,5,13,9,2);
PROCEDIMIENTOS

void nombreProcedimiento (lista parmetros){


//declaraciones de constantes
//declaraciones de variables
//otras instrucciones de C++
}

void encontrarMax(int x, int y){


int numMax;
if(x>=y)
numMax = x;
else
numMax = y;
cout<<numero mayor: <<numMax;
}
COMO RESOLVERA

el siguiente problema mediante un programa c++?


= .

int factorial(int n){


int f= 1;
for(int i=1;i<=n;i++){
f = f * i;
}
return f;
}
Reflexionemos!
EVALUACIN DEL TEMA DESARROLLADO
RECORDEMOS LO APRENDIDO

Qu es un subprograma o
subalgoritmo?
Qu es una funcin?
Qu tipos de funciones hay?
Mencione ejemplos de cada tipo de
funciones?
Cmo usamos las funciones en un
programa C++)
Qu es un procedimiento?
En que se diferencia un procedimiento
de una funcin?
Mencione ejemplos de procedimientos
Cmo uso un procedimiento en un
programa C++
EJERCICIOS DE APLICACIN
EJERCICIOS DE APLICACIN

Crear subprogramas
(procedimientos o funciones)
que implementen las
siguientes tareas:
Convertir un numero de
pulgadas a centmetros
Encontrar la potencia de un
numero bn.
Calcular el mcd de dos
nmeros por el mtodo de
Euclides.
Leer un nmero y devolverlo
invertido.
Retornar el mayor de 5
nmeros

Вам также может понравиться