UNIVERSIDAD GRAN MARISCAL DE AYACUCHO
FACULTAD DE INGENIERIA
NÚCLEO: BARCELONA
ESCUELA DE SISTEMAS E INFORMATICA
ASIGNATUR...
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then
KeyAscii = 0
End If...
Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo)
End Function
'  -- Botón para mostrar la imagen
Private Sub Command1_Cl...
Randomize
' -- Crear números y añadir a la lista
For i = 0 To 100
' -- Generar el decimal aleatorio entre los dos valores ...
Próxima SlideShare
Cargando en…5
×

Unidad iii programas de aleatoriedad

387 visualizaciones

Publicado el

Archivo para ser practicas de progarmación de aleatoriedad

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
387
En SlideShare
0
De insertados
0
Número de insertados
173
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Unidad iii programas de aleatoriedad

  1. 1. UNIVERSIDAD GRAN MARISCAL DE AYACUCHO FACULTAD DE INGENIERIA NÚCLEO: BARCELONA ESCUELA DE SISTEMAS E INFORMATICA ASIGNATURA: SIMULACIÓN Programas ejemplos para generar números aleatorios Estos programas se pueden realizar el Visual Basic y adaptarlo a visual C++. 1.- GENERAR NÚMERO ALEATORIO Este es un simple ejemplo para generar números aleatorios en Visual basic usando la función Randomize y Rnd A la función " Aleatorio ", se le debe enviar en el primer parámetro el valor Mínimo y en el segundo el valor máximo del rango para generar el número aleatorio. Colocar un CommandButton, y dos textbox ( text1 para el minimo y text2 para el máximo ) CÓDIGO: Option Explicit 'Función que devuelve el número aleatorio '''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Function Aleatorio(Minimo As Long, Maximo As Long) As Long Randomize ' inicializar la semilla Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo) End Function Private Sub Command1_Click() If Len(Text1) <> 0 And Len(Text2) <> 0 Then 'generar un número MsgBox Aleatorio(CLng(Text1), CLng(Text2)), vbInformation End If End Sub Private Sub Form_Load() Text1 = "" Text2 = "" End Sub
  2. 2. Private Sub Text1_KeyPress(KeyAscii As Integer) If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0 End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0 End If End Sub 2.- COLOR ALEATORIO Este ejemplo utiliza la misma función anterior ( con Randomize y Rnd ) para generar un número aleatorio entre 0 y 15, y luego con dicho número obtener un color aleatorio que se obtiene en este caso con la función QBColor de Visual basic. Colocar un botón en el formulario CÓDIGO: Option Explicit Private Function Aleatorio(Minimo As Long, Maximo As Long) As Long Randomize Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo) End Function Private Sub Command1_Click() Me.BackColor = QBColor(Aleatorio(0, 15)) End Sub Private Sub Form_Load() Command1.Caption = "Generar color" End Sub 3.- IMAGEN ALEATORIA Este ejemplo , carga en un array, varios gráficos. Luego se genera un número aleatorio para usarlo como índice del array y obtener la imagen. Colocar un botón y establecer las rutas de los gráficos en el evento Load CÓDIGO: Option Explicit Private arr_Imagenes(1 To 5) As StdPicture Private Function Aleatorio(Minimo As Long, Maximo As Long) As Long Randomize
  3. 3. Aleatorio = CLng((Minimo - Maximo) * Rnd + Maximo) End Function ' -- Botón para mostrar la imagen Private Sub Command1_Click() Static lIndex As Long ' -- Para no repetir el número ( índice del array para el gráfico ) While lIndex = 0 Or lIndex = Me.Tag lIndex = Aleatorio(LBound(arr_Imagenes), UBound(arr_Imagenes)) Wend Set Me.Picture = arr_Imagenes(lIndex) Me.Tag = lIndex End Sub ' -- Inicio Private Sub Form_Load() Me.Tag = 0 Command1.Caption = "Mostrar imagen" ' -- Cargar las los gráficos en cada elemento del array Set arr_Imagenes(1) = LoadPicture("c:windowsplumas.bmp") Set arr_Imagenes(2) = LoadPicture("c:windowsAzteca.bmp") Set arr_Imagenes(3) = LoadPicture("c:windowsPompas.bmp") Set arr_Imagenes(4) = LoadPicture("c:windowsRododendro.bmp") Set arr_Imagenes(5) = LoadPicture("c:windowsViento.bmp") End Sub Private Sub Form_Unload(Cancel As Integer) ' -- Destruir Array para liberar recursos Erase arr_Imagenes End Sub 4.- DECIMALES ALEATORIOS Esta sencilla rutina de código, añade a un listbox números decimales aleatorios Colocar una caja de listado ( List1 ) CODIGO: Option Explicit Private Sub Form_Load() ' -- Variables Dim i As Integer Dim MaxNumber As Double Dim MinNumber As Double Dim Value As Double ' -- Definir Valores máximos y mínimos MinNumber = 250.51 MaxNumber = 300.83
  4. 4. Randomize ' -- Crear números y añadir a la lista For i = 0 To 100 ' -- Generar el decimal aleatorio entre los dos valores ( máximo y mínimo ) Value = CDbl((MinNumber - MaxNumber) * Rnd + MaxNumber) ' -- Usar la función FormatNumber y Formatear el valor para que muestre solo dos decimales List1.AddItem FormatNumber(Value, 2) Next End Sub

×