BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 5 Sentencias
Ejercicios Propuestos

5.1.- Escriba un programa que continúe imprimiendo múltiplos del entero 2, es decir, 2, 4, 8, 16, 32, 64, etc. Su ciclo no deberá de terminar (es decir, usted debe de crear un ciclo infinito). ¿Qué ocurre cuando ejecuta este programa?

5.2.- Escriba un programa C++ que utilice ciclos para imprimir los números del 1 al 10, lado a lado en el mismo renglón, con tres espacios entre cada uno de ellos.

5.3.- El proceso de encontrar el número más grande (es decir, el máximo de un grupo de números), es utilizado con frecuencia en aplicaciones de computación. Por ejemplo, un programa que determina el ganador de un concurso de ventas, introduciría el número de unidades vendidas por cada vendedor. El vendedor que hubiera vendido la mayor cantidad de unidades, ganaría el concurso. Escriba un programa, primero en seudocódigo, y a continuación en C++, que introduzca una serie de 10 números, y determine e imprima el mayor de los mismos. Sugerencia: su programa debería utilizar tres variables como sigue:

counter: Un contador para contar hasta 10 (es decir, para controlar cuántos números han sido introducidos, y para determinar cuándo se han procesado los 10 números).

Number: El número actual introducido al programa.

largest: ·El número más grande encontrado hasta ahora.

5.4.- Un palíndromo es un número o una frase de texto, que se lee igual hacia adelante y hacia atrás. Por ejemplo, cada uno de los siguientes enteros de cinco dígitos son palíndromos: 12321, 55555, 45554 y 11611. Escriba un programa que lea un entero de cinco dígitos y que determine si es o no es un palíndromo. (Sugerencia: Utilice los operadores de división y de módulo para separar los números en sus dígitos individuales).

5.4.-Una crítica del enunciado break y del enunciado continue es que cada uno de ellos no es estructurado. De hecho los enunciados break y continue siempre pueden ser remplazados por enunciados estructurados, aunque el hacerlo puede resultar un poco torpe. Describa en general cómo eliminaría cualquier enunciado break de un ciclo de un programa, y lo remplazaría con algún equivalente estructurado (Sugerencia: el enunciado break deja un ciclo desde dentro del cuerpo del ciclo). La otra forma de salir es haciendo fallar la prueba de continuación de ciclo. Considere utilizar en la prueba de continuación de ciclo, una segunda prueba que indique (salida temprana debido a una condición "de salida"). Utilice la técnica que desarrolló aquí para eliminar el enunciado break de algún programa prueba.

5.5.- Una empresa paga a sus empleados como gerentes (que reciben un salario semanal fijo), trabajadores horarios (quienes reciben un salario horario fijo por las primeras 40 horas de trabajo, y "tiempo y medio", es decir, 1.5 veces su sueldo horario, para las horas extras trabajadas), trabajadores a comisión (quienes reciben $250 más 5.7% de sus ventas semanales brutas), o trabajadores a destajo (quienes reciben una cantidad de dinero por cada una de las piezas que produce cada trabajador a destajo de esta empresa que trabaja sólo un tipo de piezas). Escriba un programa para calcular la nómina semanal de cada empleado. Usted no sabe por anticipado el número de empleados. Cada tipo de empleado tiene su propio código de nómina: los gerentes tienen un código de nómina 1, los trabajadores horarios tienen un código 2, los trabajadores a comisión el código 3 y los trabajadores a destajo el código 4. Utilice un switch para calcular la nómina de cada empleado, basado en el código de nómina de dicho empleado. Dentro del switch, solicite al usuario (es decir, al oficinista de nóminas) que escriba los hechos apropiados que requiere su programa, para calcular la paga o nómina de cada empleado, basado en el código de nómina de cada uno de ellos.

5.6.- Escriba un programa que introduzca el año en el rango 1994 hasta 1999 y utilice una repetición de ciclo for para producir un calendario condensado e impreso de forma nítida. Tenga cuidado con los años bisiestos.

5.7.- Escriba el proceso que utilizaría para remplazar el ciclo do/while con un ciclo equivalente while. ¿Qué problema ocurre cuando usted trata de remplazar el ciclo while con un ciclo equivalente do/while? Suponga que se le ha dicho que debe eliminar un ciclo while y remplazarlo con un do/while ¿Qué estructura de control adicional necesitaría utilizar, y cómo la utilizaría, para asegurarse que el programa resultante se comporta igual que el original?

5.8.- La cobranza se hace cada vez má dificil durante periodos de recesión, por lo que las empresas pudieran restringir sus límites de crédito para impedir que sus cuentas por cobrar (el dinero que se les debe) crezca demasiado. En respuesta a una recesión prolongada, una compañía ha reducido a la mitad los límites de crédito de sus clientes. Por lo tanto, si un cliente particular tenía un límite de crédito de $2000, el límite de crédito de este cliente es ahora de $1000. Escriba un programa que analice el estado de crédito de tres clientes de esta empresa. Para cada cliente se le dará:

  1. El número de cuenta del cliente.

  2. El límite de crédito del cliente, antes de la recesión.

  3. El saldo actual del cliente (es decir, la cantidad que el cliente le debe a la empresa).

Su programa deberá calcular e imprimir el nuevo límite de crédito para cada cliente, y deberá determinar (e imprimir) qué clientes tienen saldos actuales que exceden sus nuevos límites de crédito.

5.9.- Una aplicación interesante de las computadoras, es dibujar gráficos y gráficas de barras ( a veces llamadas "histogramas"). Escriba un programa que lea cinco números (cada uno de ellos entre 1 y 30). Para cada uno de los números leídos, su programa deberá imprimir una línea, conteniendo dicho número en asteriscos adyacentes. Por ejemplo, si su programa lee el número 7, deberá imprimir *******.

5.10.- ¿Qué es lo que hace el siguiente segmento de programa?

for (i = 1; i <= 5; i++){

for (j = 1; j <= 3; j++) {

for ( k = 1; k <= 4; k++)

printf("*");

printf("\n");

}

printf("\n");

}