|
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á:
-
El
número de cuenta del cliente.
-
El
límite de crédito del cliente, antes de la recesión.
-
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");
}
|
|