UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica...

12
Guía # 6: Estructuras de Control Repetitivas Introducción a la Programación 1 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION CICLO: 01/2015 GUIA DE LABORATORIO #06 Nombre de la Practica: Estructuras de Control Repetitivas Lugar de Ejecución: Centro de Computo Tiempo Estimado: 2 horas y 30 minutos MATERIA: Introducción a la Programación I. OBJETIVOS Que el estudiante: • Desarrolle soluciones informáticas a problemas que requieran estructuras de repetición. • Implemente los parámetros usados por cada estructura repetitiva disponible en C++ (for, while y do-while) • Aplique los conceptos de variable contador y acumulador • Diseñe estructuras repetitivas anidadas • Realice la conversión apropiada entre tipos de estructuras repetitivas II. INTRODUCCION TEORICA Métodos para repetir instrucciones en Lenguaje C Muchas veces dentro de algún programa, es necesario repetir varias veces un procedimiento representado por un conjunto de instrucciones bien definidas. Para este tipo de situaciones los lenguajes de programación brindan un conjunto de instrucciones que se conocen con sentencias repetitivas, llamadas también ciclos, lazos o bucles. Tipos de estructuras repetitivas El lenguaje C/C++ proporciona tres tipos de sentencias repetitivas que son conocidas como ciclos: for , while y do-while . Las características y la sintaxis de la primera estructura (for) se estudiara a continuación. Instrucción for Un lazo for es una estructura de control que permite repetir un grupo de sentencias un número especificado de veces. Las sintaxis de un lazo for se muestran a continuación: Método 1: Para una sola instrucción a repetir Método 2: Para repetir un bloque de instrucciones for(expresion1; expresion2; expresion3) instrucciónUnica; for(expresion1; expresion2; expresion3){ //instrucción1 ; //instrucción2 ; . . //instruccionN; }

Transcript of UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica...

Page 1: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 1

UNIVERSIDAD DON BOSCO

FACULTAD DE ESTUDIOS TECNOLÓGICOS

ESCUELA DE COMPUTACION

CICLO: 01/2015

GUIA DE LABORATORIO #06

Nombre de la Practica: Estructuras de Control Repetitivas

Lugar de Ejecución: Centro de Computo

Tiempo Estimado: 2 horas y 30 minutos

MATERIA: Introducción a la Programación

I. OBJETIVOS

Que el estudiante:

• Desarrolle soluciones informáticas a problemas que requieran estructuras de repetición.

• Implemente los parámetros usados por cada estructura repetitiva disponible en C++ (for, while y do-while)

• Aplique los conceptos de variable contador y acumulador

• Diseñe estructuras repetitivas anidadas

• Realice la conversión apropiada entre tipos de estructuras repetitivas

II. INTRODUCCION TEORICA

Métodos para repetir instrucciones en Lenguaje C

Muchas veces dentro de algún programa, es necesario repetir varias veces un procedimiento representado por un conjunto de instrucciones bien definidas. Para este tipo de situaciones los lenguajes de programación brindan un conjunto de instrucciones que se conocen con sentencias repetitivas, llamadas también ciclos, lazos o bucles.

Tipos de estructuras repetitivas

El lenguaje C/C++ proporciona tres tipos de sentencias repetitivas que son conocidas como ciclos: f o r , w h i l e y d o - w h i l e . Las características y la sintaxis de la primera estructura (for) se estudiara a continuación.

Instrucción for

Un lazo for es una estructura de control que permite repetir un grupo de sentencias un número especificado de veces. Las sintaxis de un lazo for se muestran a continuación:

Método 1: Para una sola instrucción a repetir Método 2: Para repetir un bloque de instrucciones

f o r ( e x p r e s i o n 1 ; e x p r e s i o n 2 ; e x p r e s i o n 3 ) i n s t r u c c i ó n U n i c a ;

f o r ( e x p r e s i o n 1 ; e x p r e s i o n 2 ; e x p r e s i o n 3 ) { / / i n s t r u c c i ó n 1 ; / / i n s t r u c c i ó n 2 ; . . / / i n s t r u c c i o n N ; }

Page 2: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 2

La e x p r e s i ó n 1 , conocida como inicialización, es una asignación de una o más variables, en la que se establece el valor inicial de la variable de control (contador) del ciclo, la e x p r e s i ó n 2 , conocida como condición, es una condición de algún tipo que, mientras sea evaluada como VERDADERA, permite la ejecución de las instrucciones del ciclo, y e x p r e s i ó n 3 , conocida como incremento, es otra asignación, en donde se realiza el incremento o decremento de la variable de control o contador del lazo.

Todas estas expresiones contenidas en el paréntesis del for deben estar separadas por (;) PUNTO Y COMA y no por comas simples.

Si va a utilizar más de una variable de control (dos contadores), debe separar las instrucciones de inicialización, de condición y de incremento con comas. Sin embargo, la condición puede ser, en este caso, una sola expresión compuesta por las dos variables de control.

No es imprescindible que existan todas las expresiones dentro del paréntesis del for. Pueden aparecer vacías algunas de ellas; o incluso, todas, por ejemplo:

f o r ( ; e x p 2 ; e x p 3 ) ó t a m b i é n f o r ( e x p 1 ; ; ) ó t a m b i é n f o r ( ; ; )

Estas dos últimas expresiones son interesantes desde el punto de vista de su falta de término relacional, lo que implica que el programador en C deberá haber previsto alguna manera alternativa de salir del lazo (probablemente mediante b r e a k ó r e t u r n como veremos más adelante) ya que si no, la ejecución del mismo se volverá infinita (o tan larga como se mantenga encendida la computadora). A este tipo de lazo o ciclo erróneo se le denomina lazo o ciclo infinito.

Instrucción while

La sentencia repetitiva while es el segundo de tipo de iteraciones posibles en C. Su sintaxis podría expresarse de las siguientes formas:

Método 1: Para una sola instrucción a repetir Método 2: Para repetir un bloque de instrucciones

w h i l e ( e x p r e s i o n ) i n s t r u c c i o n U n i c a ;

w h i l e ( e x p r e s i ó n ) { / / b l o q u e d e i n s t r u c c i o n e s a r e p e t i r i n s t r u c c i o n 1 ; I n s t r u c c i o n 2 ; . . . i n s t r u c c i o n N ; }

La sintaxis del lazo w h i l e expresada en palabras significa lo siguiente: “mientras e x p r e s i ó n de un resultado VERDADERO se ejecutará el bloque de instrucciones hasta la última i n s t r u c c i ó n N del bloque”.

La expresión es evaluada antes de iniciar el primer ciclo, por lo que, en caso de ser falsa esta condición, nunca entrara al ciclo y C continuara con el resto del programa, ignorando todo el lazo while.

Por lo general, dentro del bloque de instrucciones, se modifican variables de la expresión condicional del while, para controlar así la duración de la iteración.

Page 3: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 3

Instrucción do – while

Su sintaxis es la siguiente:

Método 1: Para una sola instrucción a repetir Método 2: Para repetir un bloque de instrucciones

d o i n s t r u c c i ó n U n i c a a r e p e t i r ; w h i l e ( c o n d i c i o n ) ;

d o { / / i n s t r u c c i o n 1 ; / / I n s t r u c c i o n 2 ; . . / / i n s t r u c c i o n N ; } w h i l e ( e x p r e s i ó n ) ;

Expresado en palabras, esto significa que: se ejecutará el bloque de instrucciones siempre la primera vez, independientemente del resultado de la condición, y luego, dependiendo del resultado de la expresión condicional colocada al final dentro del while, si esta es VERDADERO, se repetirá la ejecución del bloque de instrucciones, de lo contrario se terminará el ciclo o lazo.

Instrucciones de control de ciclos

El lenguaje C/C++ presenta dos instrucciones para controlar la ejecución de un ciclo/lazo, para así alterar la ejecución “normal” en cada ciclo. Estas dos instrucciones son: break y continue.

La instrucción break

Esta instrucción se utiliza para producir una salida inmediata de cualquier estructura de control, ya sea selectiva múltiple (como el switch), o para producir la salida anticipada de un ciclo o lazo de tipo while, do…while o for. La ejecución del programa continúa con la primera instrucción fuera de la estructura de control suspendida.

#include<iostream> using namespace std;

main(){ int num;

Cuando la variable num toma el valor 5, la condición del while se cumple e ingresa a ejecutar su cuerpo del bucle. num = 1;

while (num <= 10){ if(num == 5){ break; };

cout<<” - “<<num;

num = num + 1; }; cout<<endl; system(“pause”); }//fin main

Evalúa en su estructura if si variable num es igual a 5. Como esta condición es verdadera se ejecuta sentencia breaksaliendo del bloque while.

num termina con el dato 5 pues jamás se ejecuta la suma num = num + 1.

Page 4: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 4

La instrucción continue

Esta permite escapar el resto de las instrucciones del ciclo o lazo en ejecución, pero a diferencia de la instrucción break, lenguaje C continúa con la siguiente iteración de ese ciclo. La condición de continuidad del ciclo se evalúa nuevamente después de ejecutar la instrucción continue, y si el resultado es VERDADERO el ciclo continúa, de lo contrario (si es FALSO) se termina.

Puede utilizar la instrucción continue con los ciclos while, do…while o for.

Conclusiones sobre las estructuras repetitivas

+ El lazo f o r se suele utilizar cuando “se sabe cuántas veces se repetirá un bloque de instrucciones”, en cambio las 2 estructuras restantes (w h i l e ) y (d o - w h i l e ) se utilizan cuando “no se conoce con exactitud cuántas veces se repetirá un bloque, sino que todo depende de una condición a evaluar al inicio o final de c/ciclo”

+ Los lazos f o r y w h i l e son similares, porque ambos pueden repetir NINGUNA, UNA o VARIAS VECES un bloque de instrucciones. En otras palabras, podemos decir que: “en lenguaje C, una estructura for es simplemente una manera abreviada de expresar una estructura while”.

+ Las diferencias entre un lazo f o r y un w h i l e son las siguientes:

a) En un f o r se pueden colocar 3 expresiones de control que le indican: 1. conteo inicial, 2. condición de paro del ciclo y 3. incremento de variable de conteo de ciclos.

b) Un w h i l e solo permite una expresión de control, que es la condición de paro del ciclo. El conteo inicial hay que indicarlo ANTES DE ENTRAR AL CICLO y el incremento de la variable se debe realizar DENTRO DEL CUERPO del lazo. De otra manera, un lazo while puede “trabarse”, es decir, generar un “lazo infinito”.

Veamos la comparación de sus respectivas sintaxis (observe con cuidado la ubicación de las 3 expresiones en ambas estructuras):

#include<iostream> using namespace std;

main(){ int num;

num = 0; while (num <= 10) { num = num + 1; if(num == 5) { continue; };

El código anterior imprime en pantalla:

Como se puede observar en la salida de datos, el

número 5 no se imprime. cout<<” - “<<num;

}; cout<<endl;

system(“pause”); }

Page 5: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 5

Sintaxis de un lazo for La sintaxis for de la izquierda es equivalente a un while así:

f o r ( e x p r e s i o n 1 ; e x p r e s i o n 2 ; e x p r e s i o n 3 ) { p r o p o s i c i ó n 1 ; p r o p o s i c i ó n 2 ; . . . . . . . . . . . . . . }

e x p r e s i o n 1 ; w h i l e ( e x p r e s i o n 2 ) { p r o p o s i c i o n 1 ; p r o p o s i c i o n 2 ; . . . . . . . . . . . . . . e x p r e s i o n 3 }

+ La diferencia fundamental entre los lazos (w h i l e ) y (d o - w h i l e ) es que do-while se ejecuta SIEMPRE AL MENOS una vez, sea cual sea el resultado de expresión; en cambio while puede NUNCA LLEGAR A EJECUTARSE.

III. MATERIALES Y EQUIPO

Para la realización de la guía de práctica se requerirá lo siguiente:

No. Requerimiento Cantidad

1 Guía de Laboratorio 06 de IP 1

2 Memoria USB 1

3 Computadora con compilador de C++ 1

IV. PROCEDIMIENTO

1. Cree una carpeta llamada /EjerciciosGuia06IP/, en el cual guardara sus archivos de ejemplos y del análisis de resultados.

2. Ahora desarrolle los siguientes programas, teniendo cuidado de aplicar estas reglas:

� Cuide el uso de mayúsculas y minúsculas en al redactar palabras reservadas y los nombres de variables, ya que lenguaje C es sensible a mayúsculas y minúsculas.

� Las líneas en negrita, redactarlas en una sola línea, o sino generaran errores de compilación. � Tenga el cuidado de guardar cada código fuente con el nombre indicado en el encabezado respectivo.

CONSEJO EXTRA:

Por último, tome MUY EN CUENTA QUE “Digitar lo más rápido posible a cada código fuente de C++ del procedimiento de las practicas”… “ser el más rápido de todos en finalizar las practicas…” no es la más importante en este curso!!

LO VERDADERAMENTE IMPORTANTE DE DIGITAR CADA CÓDIGO DEL PROCEDIMIENTO es que usted evalué cuidadosamente cada elemento del código fuente mostrado, el cual es la solución a problemas del día a día que usted como programador se encontrara en el futuro. Debe ser atento en detalles fundamentales como:

- La declaración y luego el uso de variables con valores apropiados de acuerdo al tipo de dato definido

Page 6: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 6

- Uso correcto de los diferentes operadores del lenguaje (asignación, relacionales, lógicos, jerarquía operadores en cualquier expresión)

- Identificación de los diversos bloques de comandos a ejecutar de acuerdo a las estructuras de control utilizadas, anidación de estructuras.

- Invocación de las diversas funciones con los parámetros apropiados. - Estudio del dialogo (PC-Usuario) implementado en el código, gracias al uso de diferentes estructuras de

control, etc.

Se le recuerda que la materia se llama INTRODUCCION A LA PROGRAMACION, lo que implica que para poder aprobarla!! Usted deberá ir desarrollando continuamente un pensamiento metódico para resolver problemas con una PC, que le permitirán después, diseñar las soluciones lógicas respectivas, y las deberá redactarlas por usted mismo y sin ayuda!!

Para dar el 1er paso en este proceso complejo, debe evaluar los ejemplos de soluciones ya propuestas en los procedimientos de las prácticas del curso!!

Y por último debe de utilizar su razonamiento lógico para resolver los ejercicios propuestos y abstenerse de copiar los programas hechos por sus compañeros, sino empieza a pensar por sí mismo, nunca aprenderá a programar!!!

1. y 2. Nombres de programas E1GUIA06IPa y E1GUIA06IPb, respectivamente.

Desarrolle un programa que despliegue en pantalla la tabla de multiplicar de un número dado por usuario.

El número a ingresar solo es permitido entre 1 a 6, sino, se muestra un mensaje de error y termina el programa.

E1GUIA06IPa E1GUIA06IPb

/ * P r o g r a m a q u e m u e s t r a t a b l a d e m u l t i p l i c a r * / # i n c l u d e < i o s t r e a m > # i n c l u d e < m a t h . h > # i n c l u d e < c o n i o . h > u s i g n n a m e s p a c e s t d ; m a i n ( ) { / * n u m e r o p a r a v e r s u t a b l a m u l t i p l i c a r ( T M ) * / i n t N ; / * c o n t a d o r u s a d o p a r a g e n e r a r T M d e l N a n t e r i o r * /

i n t i ; / * v a l o r d e m u l t i p l i c a r c o n t a d o r p o r N * / i n t m u l ; c o u t < < " V E R T A B L A D E M U L T I P L I C A R \ n \ n " ; c o u t < < " I n g r e s e u n n u m e r o e n t r e s o l a m e n t e ( 1 y 6 ) : \ t " ;

c i n > > N ; i f ( ( N > = 1 ) & & ( N < = 6 ) ) { c o u t < < " \ n T a b l a d e m u l t i p l i c a r d e l " < < N ; f o r ( i = 1 ; i < = 1 0 ; i = i + 1 ) { m u l = N * i ; c o u t < < " \ n " < < N < < " p o r " < < i < < "

e s " < <m u l ; } / / f i n f o r i

/ * P r o g r a m a q u e m u e s t r a t a b l a d e m u l t i p l i c a r * / # i n c l u d e < i o s t r e a m > # i n c l u d e < m a t h . h > # i n c l u d e < c o n i o . h > u s i g n n a m e s p a c e s t d ; m a i n ( ) { / * n u m e r o p a r a v e r s u t a b l a m u l t i p l i c a r ( T M ) * / i n t N ; / * c o n t a d o r u s a d o p a r a g e n e r a r T M d e l N a n t e r i o r * /

i n t i ; / * v a l o r d e m u l t i p l i c a r c o n t a d o r p o r N * / i n t m u l ; c o u t < < " V E R T A B L A D E M U L T I P L I C A R \ n \ n " ; c o u t < < " I n g r e s e u n n u m e r o e n t r e s o l a m e n t e ( 1 y 6 ) : \ t " ;

c i n > > N ; i f ( ( N > = 1 ) & & ( N < = 6 ) ) { c o u t < < " \ n T a b l a d e m u l t i p l i c a r d e l " < < N ; i = 1 ; w h i l e ( i < = 1 0 ) { m u l = N * i ; c o u t < < " \ n " < < N < < " p o r " < < i < < " e s " < <m u l ;

Page 7: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 7

} e l s e { c o u t < < " \ n \ n E r r o r , n u m e r o i n c o r r e c t o . . " ; } / / f i n i f g e t c h ( ) ; } / / f i n m a i n

i = i + 1 ; } / / f i n w h i l e i } e l s e { c o u t < < " \ n \ n E r r o r , n u m e r o i n c o r r e c t o . . " ; } / / f i n i f g e t c h ( ) ; } / / f i n m a i n

3. Realice la compilación de c/código y ejecute ambos programas con los mismos datos de prueba.

4. Ahora responda ¿ambos programas son 100% idénticos (se obtiene el mismo resultado)? o existe alguna diferencia, ¿Por qué?, Explique….

3. Nombre de programa E2GUIA06IP :

Determinar el porcentaje de hombres y mujeres que se encuentran en un grupo de personas, suponiendo que los datos son ingresados de uno en uno. Debe utilizar estructuras while, do-while y switch en la solución.

Page 8: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 8

Nota:

Realice varias pruebas de ejecución del programa, activando/desactivando la tecla Mayúsculas/CapsLock por cada nueva ejecución

Page 9: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 9

5. Ahora responda estas preguntas:

+ ¿Qué significan los valores enteros (13 u 83) que se han utilizado en las condiciones de varios de los ciclos del código fuente de este ejercicio?, Explique…

4. Nombre del programa E3GUIA06IP :

Permita a un docente ingresar un total de notas que desea que la PC procese. Luego podrá ingresarlas una a una. Una nota es válida solamente en el rango (0.0-10.0), de lo contrario llamar la atención al docente e indicarle que el software finalizara por haber ingresado una nota no valida.

Al finalizar el ingreso correcto de todas las notas, el programa le muestra al usuario estos resultados:

a) porcentaje de reprobados

b) nota promedio de los alumnos reprobados

c) mayor nota de los alumnos con nota aprobados y d) total de notas ingresadas que son mayores de 7.0

Page 10: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 10

Nota: Observe el uso del operador lógico ||(equivalente a O, OR en pseudocódigo)

Ahora responda estas preguntas

a) Determine ¿Cuáles variables de este código fuente se usan como “acumuladores” y cuales como “contadores”?, justifique su respuesta…

b) Un programador novato afirma de este ultimo código fuente: “al evaluar cuidadosamente el lazo for utilizado aquí, no le veo una expresión3 (la actualización de variable contador según la sintaxis de uso del ciclo), por lo tanto, deduzco que este lazo no tiene fin, que se generara un lazo infinito”. Usted como experto en C ¿Qué le respondería?

Page 11: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 11

PROBLEMAS A RESOLVER (100%)

1. (25%) Presente a su instructor(a) las respuestas a las preguntas requeridas al final de los programas del procedimiento.

2. Elabore los diferentes códigos fuente de C++ que solucionen a cada uno de los problemas a continuación:

PROBLEMA A: (25%)

Auxilie a un Evaluador de Préstamos del Banco Mundial “LOS AMOS DEL MUNDO” a determinar las ganancias que la institución obtendrá en concepto de préstamos con tasas de intereses compuestas.

El evaluador requiere saber por cada préstamo ingresado de manera continua, si este es válido para la institución bancaria y luego obtener el monto final a pagar por el Deudor.

El departamento de Contabilidad del Banco establece como condiciones validas de préstamos estas restricciones:

• Las tasas de interés autorizadas se ubican entre 7.3% hasta 14.2%, solamente. Y la forma de capitalización (m) puede ser trimestral o semestral.

• Y el periodo de tiempo (n) para el préstamo puede ser indicado en meses o años.

Al finalizar, se debe mostrar un “Informe de Ganancias”, que describa los Montos totales ($) en concepto de Intereses que generaran los prestamos ingresados a Corto plazo (tiempo para pagar menores a 4 años) y a Largo plazo.

Permita al empleado bancario ingresar todos los préstamos que desee, continuamente, hasta que este decida terminar la evaluación individual, para luego describirle el Informe de Ganancias requerido.

Ejemplo de un préstamo valido:

Tomando en cuenta la fórmula del monto final (M) con interés compuesto . Si el banco

autoriza un préstamo (P) de $7,300 a un total de tiempo (n) de 20 meses y con una tasa interés compuesta (i) de 8.7% capitalizada trimestralmente (m=4); resulta que el cliente deberá pagar un monto final (M) de $12,957.27

Luego se determina que el Banco obtendrá una ganancia de este préstamo, en concepto de intereses de $(12957.27-7300)= $5657.27

Nota: recuerde que la medición del tiempo (n) debe ser del tipo que la capitalización (m)!!

Para el ejemplo definido acá, los n=20 meses se deben expresar en trimestres, para que coincida con el tipo de capitalización trimestral (m=4)

PROBLEMA B: (25%)

Escriba un algoritmo que permita llevar el conteo de jugadas de un partido de Ping-Pong. El programa debe ir leyendo en cada jugada quien ganó el punto.

Reglas del Ping-Pong

• El juego termina cuando un jugador llega 21 puntos y tiene por lo menos dos puntos de ventaja sobre el contrincante, si no tiene los dos puntos de diferencia continua jugando hasta que un jugador tenga dos puntos de ventaja sobre el otro.

• El juego también termina por muerte súbita cuando el puntaje de 0-7 o 7-0.

Implemente un algoritmo en pseudocódigo para determinar:

Page 12: UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE … · 2015-03-02 · implica que el programador en C deberá haber previsto alguna manera alternativa de salir

Guía # 6: Estructuras de Control Repetitivas

Introducción a la Programación 12

a) El ganador del juego. b) El número de jugadas realizadas.

PROBLEMA C: (25%)

Generar una secuencia de números enteros como la que se muestra en el ejemplo para un valor entero positivo digitado por el usuario (validar la entrada de este número).

Ejemplo: Valor digitado por el usuario 5 Secuencia generada:

1 9 9 25 25 25 25 49 49 49 49 49 49 49 49 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81 81

Donde 9 9 es el número 9 escrito 2 veces, 25 25 25 25 es el número 25 escrito 4 veces y así sucesivamente. Tenga en cuenta que el número entero positivo es lo único que el usuario digita

VII. BIBLIOGRAFÍA

•••• Metodología de la Programación: Diagramas de Flujo, Algoritmos y Programación estructurada. Joyanes Aguilar, Luis. No. De Clasificación 005.1 J88 1998. Editorial: MCGRAW HILL

•••• Cómo Programar en C/C++. Deitel, Harvey M... No. De Clasificación 005.362 D325 1995 Editorial: PRENTICE HALL