FUNDAMENTOS DE PROGRAMACIÓN. Practica 5 Números aleatorios

Fundamentos de programación FUNDAMENTOS DE PROGRAMACIÓN Practica 5 Números aleatorios 1.- Generar un número aleatorio cualquiera. 2.- Generar un núme

3 downloads 146 Views 307KB Size

Recommend Stories


PRACTICA 5 PENDULO SIMPLE
Física Experimental 1 Instituto de Física – Facultad de Ingeniería PRACTICA 5 PENDULO SIMPLE 1. OBJETIVOS Los objetivos de esta práctica son los sig

PRACTICA 5 AISLAMIENTO DE PROTEÍNAS
LABORATORIO DE BIOQUIMICA I PRACTICA 5 AISLAMIENTO DE PROTEÍNAS INTRODUCCIÓN En bioquímica es muy común aislar y purificar proteínas para estudiar su

PRACTICA #5. UDB ExplorationCCNA2 v4.0 Practica 5 Copyright 2006, Cisco Systems, Inc
PRACTICA #5 LAB 11.6.1: Práctica de laboratorio sobre configuración básica de OSPF LAB 11.6.2: Práctica de laboratorio sobre desafío a la configuració

Story Transcript

Fundamentos de programación

FUNDAMENTOS DE PROGRAMACIÓN Practica 5 Números aleatorios 1.- Generar un número aleatorio cualquiera. 2.- Generar un número aleatorio que tenga un límite. 3.- Generar un número aleatorio entre un rango. 4.- Generar semilla de inicio.

Introducción Los números aleatorios con valores numéricos que el programa genera al azar sin seguir un patrón de comportamiento, se utilizan para simular eventos. C# nos proporciona una manera fácil de trabajar con estos números, en esta práctica veremos las diferentes formas de generar números aleatorios.

Aurelio López Ovando

http://aureliux.wordpress.com

1

Fundamentos de programación

Generar un número aleatorio cualquiera Un número aleatorio es un valor numérico que el programa genera al azar, en C# utilizamos la clase Random para apoyarnos en esta tarea ya que mediante el uso del método Next podemos generar estos número aleatorio, veámoslo con un ejemplo. Ejemplo: Programa que genere un número aleatorio cualquiera. Primero creamos una clase llamada Azar con un atributo llamado numAle de tipo Random y un método que genera un número aleatorio cualquiera.

Por medio de Next generamos el número aleatorio.

En la función principal Main creamos nuestro objeto y llamamos al método que acabamos de crear (tema vista en el artículo anterior). e

Vemos que de salida genera un número aleatorio muy grande, si volvemos a ejecutar el programa seguramente va a generar otro número diferente.

Aurelio López Ovando

http://aureliux.wordpress.com

2

Fundamentos de programación

Generar un número aleatorio que tenga un límite En el ejemplo anterior se generó un número aleatorio muy grande y a veces eso no nos conviene, por ejemplo si queremos simular una calificación debemos limitar que el valor máximo generado no se exceda de 10, para ello en el método Next colocamos el límite que queremos. Por ejemplo:

Agregamos un nuevo método a la clase donde generamos un número cuyo límite es 11.

Invocamos al nuevo método que acabamos de crear.

Vemos que ahora nos devuelve un número aleatorio menor de 11, es importante aclarar que el límite que coloquemos en el paréntesis nunca lo va a generar ya que va desde 0 hasta un número menor al límite, es decir que nuestro ejemplo siempre va a generar un número entre 0 y 10. Aurelio López Ovando

http://aureliux.wordpress.com

3

Fundamentos de programación

Generar un número aleatorio entre un rango Podemos generar un número entre un rango, por ejemplo pensemos que las calificaciones que queremos simular van del 5 al 10, donde la mínima aprobatoria es 6, tendríamos que generar calificaciones que siempre estén entre este rango, esto también lo especificamos en el método Next, pero ahora en lugar de colora un límite, colocamos dos números que indican los rangos, a diferencia del límite los rangos si son tomados en cuenta.

Mejor cambiamos los textos por unos más descriptivos antes de continuar…

Creamos un nuevo método y colocamos el valor del rango

Lo invocamos desde Main

Podemos ver los tres tipos de salida, recordando que son números aleatorios así que cada quien puede tener valores diferentes.

Aurelio López Ovando

http://aureliux.wordpress.com

4

Fundamentos de programación

Generar semilla de inicio Los números aleatorios se rigen por operaciones matemáticas internas, a veces nos puede suceder que estos números se están repitiendo constantemente y provoque una simulación dudosa, para evitar esto lo aconsejable es generar una semilla de inicio la cual es un número bastante grande al momento de crear el objeto.

Podemos asignar un valor lo suficientemente grande nosotros mismo, pero algunos programadores dicen que esto solo disfraza la semilla de inicio y por lo tanto no es confiable y no lo recomiendan. Para no estar mortificándonos con ese valor numérico, vamos a hacer que C# nos dé un número diferente cada vez que se ejecute, por ejemplo podemos hacer que el valor de la semilla sea el número de segundos transcurridos desde las 0 horas hasta el momento que se esté ejecutando el programa, la instrucción que nos devuelve ese valor es: DateTime.Now.Ticks quedando de la siguiente manera.

Valor de la semilla de inicio

De esta manera cada vez que se ejecute el programa tomará una semilla de inicio diferente proporcionando una simulación más confiable.

Aurelio López Ovando

http://aureliux.wordpress.com

5

Fundamentos de programación

Cuestionario 1. ¿Qué es un número aleatorio? 2. ¿Para qué sirve la semilla de inicio de un número aleatorio? Ejercicios propuestos: 1. Hacer un programa que genere un número aleatorio de 4 cifras y que lo imprima al revés. 2. Hacer un juego en el cual se genere un número aleatorio de 4 cifras sin mostrarlo en pantalla y que pida a una persona adivinarlo, cuando la persona teclee el número y no sea el correcto, el programa debe decir cuántos números de los que tecleó pertenecen al número oculto y cuantos están en el lugar correcto. Por ejemplo: Numero oculto: 3452 Numero tecleado: 3216 El sistema debe decir: 2 números pertenecen al valor oculto. 1 número está en la posición correcta. El primer mensaje lo dijo porque el 3 y el 2 de 3216 pertenecen a 3452, el segundo mensaje lo dijo porque el 3 de 3216 está en la misma posición que 3452. El programa termina cuando se adivine el número antes de 10 intentos y por lo tanto gana el juego o cuando tuvo 10 fallas y perdió el juego.

Aurelio López Ovando

http://aureliux.wordpress.com

6

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.