Вы находитесь на странице: 1из 2

Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral

Solucionario Instituto de Ciencias Matemáticas

Mejoramiento I Término 2005-2006. Septiembre 13, 2005


Tema 4 (15 puntos) En el juego del Pozo Millonario, se genera una tabla con 15 números aleatorios entre 1 y
25. Realice un programa que genere una tabla de Pozo Millonario considerando que:
- Los números en la tabla NO son repetidos (10 puntos).
- Los números se presentan ordenados ascendentemente (5 puntos).

Rubrica: - Números NO repetidos (10 puntos). Presentados ordenados en forma ascendente (5 puntos).

Propuesta de Solución:
Se usa variables para determinar n entre m posibles números.
De la misma forma que en el sorteo real existe un panel con todos los números
iluminados o apagados para indicar si el número ha salido del ánfora, se utiliza un
arreglo de banderas que indica si el número ha salido en el sorteo.
Se inicializa el tablero con valores equivalentes a ningún número seleccionado.
Luego de generar un número aleatorio, se marca en el tablero solamente si no ha
salido antes, repitiendo el proceso hasta completar los números necesarios.
Se muestra el número solamente si tiene la bandera en afirmativo.
Tarea: Considerar que los valores de n son menores que m.

Descripción DIAGRAMA DE FLUJO MATLAB ver 6.5


Inicio Inicio % Mejoramiento I Térm. 2005
Ingreso % Tema 4. Pozo millonario
Seleccionar n números
n n=input('seleccionar:');
Entre m disponibles
(rango de selección) m m=input('de cuantos:' );
Procedimiento
hipótesis: Ninguno % Ninguno seleccionado
k←1
seleccionado k=1;
Primero de la tabla
Repita while ~(k>m);
Marcado como libre
tabla(k)←0
tabla(k)=0;
Siguiente en la tabla
k←k+1
k=k+1;
Hasta poner todos los
F
números en cero
k>m end
V

Mejo_IT2005_T4_Solucion.Docx edelros@espol.edu.ec Página 1


Fundamentos de Computación ICM00794 Escuela Superior Politécnica del Litoral
Solucionario Instituto de Ciencias Matemáticas

Sorteo: Primer número i=1;


Repita while ~(i>n)
Genera el aleatorio
sorteado=fix(rand*m)+1;
Revisa si no es
repetido if tabla(sorteado)==0;

Marca número tabla(sorteado)=1;


sorteado
Siguiente sorteo i=i+1;
end
Fin condicional

Hasta completar todos end


los n números
%Salida
Primer número k=1;

Repetir while ~(k>m);


Mostrar solo los if tabla(k)==1
seleccionaros.
disp(k);
Siguiente número end

k=k+1;
Hasta leer toda la tabla
end
Fin de algoritmo

Ejecución del algoritmo: pozomillonario.m


>>pozomillonario >> pozomillonario
seleccionar:14 seleccionar:14
de cuantos:25 de cuantos:25
1 1
3 2
4 3
7 5
11 7
13 8
14 10
16 11
17 17
20 18
21 19
23 21
24 22
25 24

Mejo_IT2005_T4_Solucion.Docx edelros@espol.edu.ec Página 2

Вам также может понравиться