CONTENIDO DE LA LECCIÓN 18
CONTENIDO DE LA LECCIÓN 18
CONTENIDO DE LA LECCIÓN 18
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
MIGUEL Á. TOLEDO MARTÍNEZ<br />
a) Cree un arreglo con todos los elementos inicializados a 1 (verdadero) Los elementos del arreglo que<br />
tengan índices primos permanecerán en 1. Los demás elementos del arreglo en algún momento se<br />
establecerán a cero.<br />
b) Comenzando por índice 2 (el índice 1 debe ser primo), cada vez que se encuentre un elemento del<br />
arreglo que sea 1, haga un ciclo por el resto del arreglo y establezca a cero todos los elementos cuyo<br />
índice sea un múltiplo de dicho índice. Para el índice 2, todos los elementos por encima de 2 que sean<br />
múltiplos de 2 se establecerán a cero (los índices 4, 6, 8, 10, etc.); en el caso del índice 3, todos los<br />
elementos por encima de 3 que sean múltiplos de 3 se establecerán a cero (índices 6, 9, 12, 15, etc.); y<br />
así sucesivamente.<br />
Terminado este proceso, los elementos del arreglo que aún estén establecidos a 1 indicarán que el índice<br />
es un número primo, así que podrán imprimirse. Escriba un programa con un arreglo de 1000<br />
elementos que determine e imprima los números primos entre 1 y 999. Ignore el elemento 0 del<br />
arreglo.<br />
6. Por medio de un arreglo de un solo índice resuelva el siguiente problema. Una compañía paga a sus<br />
vendedores con base en una comisión. Los vendedores reciben $200 a la semana más 9% de sus ventas<br />
netas durante la semana. Por ejemplo, un vendedor cuyas ventas brutas son de $5000, a la semana recibe<br />
$200 más 9% de $5000, es decir un total de $650. Escriba un programa (con un arreglo de contadores) que<br />
determine la cantidad de vendedores que ganaron salarios dentro de los siguientes rangos (suponga que el<br />
salario de cada vendedor se cierra a una cifra entera):<br />
a) $200 - $299<br />
b) $300 - $399<br />
c) $400 - $499<br />
d) $500 - $599<br />
e) $600 - $699<br />
f) $700 - $799<br />
g) $800 - $899<br />
h) $900 - $999<br />
i) $1000 o más<br />
7. El ordenamiento por el método de la burbuja elaborado en el ejemplo <strong>18</strong>.26. es ineficiente en el caso de<br />
arreglos grandes. Haga las siguientes modificaciones sencillas que mejorarán el desempeño del<br />
ordenamiento de burbuja.<br />
a) Después de la primera pasada, se garantiza que la cifra mayor es el elemento de mayor índice del<br />
arreglo, tras la segunda pasada, los dos números mayores están en su lugar, etc. En lugar de hacer<br />
nueve comparaciones con cada pasada, modifique el ordenamiento de burbuja para que efectúe ocho<br />
comparaciones en la segunda pasada, siete en la tercera, etc.<br />
b) Los datos en el arreglo tal vez ya estén en el orden adecuado, o casi, así que ¿por qué hacer nueve<br />
pasadas si tal vez baste con menos? Modifique el ordenamiento para comprobar al final de cada pasada<br />
si se han hecho intercambios. Si no ha sucedido ninguno, entonces los datos ya estarán en orden y<br />
deberá terminar el programa. Si han sucedido intercambios, entonces se necesita cuando menos otra<br />
pasada.<br />
8. Escriba instrucciones que lleven a cabo las siguientes operaciones sobre arreglos de un solo índice. Debe ser<br />
una sola instrucción por cada una.<br />
a) Inicialice a cero los 10 elementos del arreglo de enteros contador.<br />
b) Sume 1 a cada uno de los 15 elementos del arreglo de enteros bonos.<br />
c) Lea del teclado 12 valores para el arreglo float temperaturaMensual.<br />
d) Imprima los 5 valores del arreglo de enteros mejoresCalificaciones en formato de columnas<br />
9. Encuentre el error o los errores en las siguientes instrucciones:<br />
a) Suponga que: char cadena[5];<br />
cin >> cadena; //El usuario teclea bello<br />
b) Suponga que: int a[3];<br />
cout