Está en la página 1de 2

MINI TALLER SOBRE SUBPROGRAMAS.

2015-02
01. Pedro tiene un capital de C1 pesos, y Juan uno de C2 pesos. Uniendo los dos no les alcanza para
hacer un negocio que requiere una inversin de C3 pesos.
Deciden colocar cada uno su capital a ganar inters. Pedro lo coloc a un inters compuesto del 3%
mensual, y Juan al 4% mensual. Elabore UNA FUNCIN que permita calcular en cuntos meses,
uniendo los dos capitales, pueden hacer el negocio que desean.
Asuma que el subprograma recibe los valores validados.
Anlisis:
Entradas:

capitales iniciales C1, C2 (reales)


el valor objetivo C3 (real)

Salidas: Cantidad de meses en alcanzar un valor objetivo M (entero)


Procesos:
Idea general:
Se necesitar un contador de meses el cual se inicializa en cero antes de iniciar el ciclo.
Mientras la suma de los capitales sea MENOR al valor objetivo C3, se debe hacer lo siguiente:
Aumentar el capital C1 en 3%
Aumentar el capital C2 en 4%
Aumentar en 1 el contador de meses
Cuando se salga del ciclo, la funcin devolver el valor M, que representa la cantidad de meses
Idea detallada:
Mientras la suma de los capitales sea MENOR al valor objetivo C3, se debe hacer lo siguiente:
Expresin: Mientras ( (C1+C2)<C3 ) hacer
El capital de Pedro (C1) va a crecer con un inters compuesto del 3%
La expresin para aumentar un valor con respecto a una tasa de inters es la siguiente:
C1 = C1 * ( 1 + (3/100))
C1 = C1 * 1.03
El capital de Juan (C2) va a crecer con un inters compuesto del 4%
La expresin para aumentar un valor con respecto a una tasa de inters es la siguiente:
C2 = C2 * ( 1 + (4/100))
C2 = C2 * 1.04
Y una vez hechos los 2 aumentos actualizar el contador de meses. Expresin: M = M + 1
Y esto se repetir mientras la condicin de control sea verdadera.
En el momento que la suma de C1y C2 iguale o supere a C3 saldremos del ciclo, y la funcin devolver el
valor M.

Entero funcion capitales (E real: C1, C2, C3)


Var
Entero: M
Inicio
M = 0
Mientras ( (C1+C2) < C3) hacer
C1 = C1 * 1.03
C2 = C2 * 1.04
M = M + 1
Fin_Mientras
Devolver (M)
Fin_Funcion

MINI TALLER SOBRE SUBPROGRAMAS. 2015-02


02. Genere los procedimientos que resuelvan el problema planteado. Adems, escriba el programa
principal que haga uso de los procedimientos que usted declar y defini.
El problema: Se requiere leer varios nmeros positivos y negativos, no sabemos cuntos. Al leer un
nmero, el algoritmo debe preguntarle al usuario si desea ingresar el siguiente nmero. La lectura de
valores termina cuando el usuario responda con el carcter N.
Tambin el algoritmo debe calcular e imprimir el promedio de los valores ledos y determinar cul fue
el mayor valor ledo y el menor valor ledo.
Algoritmo Cliente
Var
Real: promedio , mayor , menor
Inicio
mayor = -maximo_flotante
menor = maximo_flotante
determinar_valores(promedio , mayor , menor)
imprimir_resultados(promedio , mayor , menor)
Fin
Procedimiento determinar_valores(S real: pro , my , mn)
Var
Entero: numero , conteo_valores = 0
Real: suma_valores = 0
Caracter: RE = S
Inicio
Mientras (RE N)
Leer numero
conteo_valores = conteo_valores + 1
suma_valores = suma_valores + numero
Si(numero > my)
my = numero
Fin_Si
Si(numero < mn)
mn = numero
Fin_Si
Imprimir Otro numero? (s/n)
Leer RE
Fin_Mientras
pro = (suma_valores / conteo_valores)
Fin_Procedimiento
/*******************************************************************************/
Procedimiento imprimir_resultados(E real:
Inicio
Imprimir Promedio de los valores
Imprimir El MAYOR valor leido es
Imprimir El MENOR valor leido es
Fin_Procedimiento

pro , my , mn)
leidos es : ", pro
: ", my
: ", mn

También podría gustarte