10 mayo 2006

Un poquito de probabilidad

Imagina que tienes una pared enfrente de tu casa a la que, cuando te aburres, tiras piedras con direccción totalmente aleatoria. Y que siempre le das a la pared. Imagina ahora que un cuarto de la pared está pintada de blanco y el resto, de negro.

Si después de lanzar muchas, muchísimas piedras, contases las que han dado en el negro, y las dividieses entre el total de lanzamientos, te saldría un número muy parecido a 3/4. Tanto más parecido cuantas más piedras hubieses lanzado.

Esto ocurre porque la probabilidad de dar en negro es exactamente ésa: 3/4.

Pues algo parecido hace un programa hecho por mí para ganarme un poquito de nota extra en una de las asignaturas de la Escuela.

El programa estima el valor de Pi de forma análoga, tirando piedras a un cuadrado en el que hay inscrito un círculo. Sin más que contar las piedras que caen dentro y dividir entre el total, ya tenemos Pi/4. Multiplico por 4 y... voilà: una aproximación de Pi.


La aplicación en sí no es que sea una maravilla. Pero es que es la primera vez que hago una ventanita. Reconozco mis limitaciones en lo que se refiere a programación orientada a usuarios.

Es importante no hacer demasiado el animal al elegir el número de lanzamientos. A título orientativo diré que hace unos 100.000 en unos 7 segundos (dependiendo de la potencia del ordenador, claro).

Y poco más. Que espero que os guste.

8 Comentarios:

Anonymous Anónimo escribió...

Curioso el programa y si ayuda a subir nota pues mejor que mejor. Yo me hice una vez uno parecido.

Por cierto sólo un apunte, creo que no has pensado en qué ocurre si en el número de lanzamientos introduzco una cadena de texto (produce desbordamiento) ó le meto un número negativo (no hace nada).

Un saludo

14/5/06 00:46  
Blogger Nano escribió...

Hola Juanma.

Hay que joderse con los informáticos. Les das un programa y se ponen a buscar fallos en vez de utilizarle... (Risas)

La explicación es fácil. Yo no programo para usuarios. Para mí, la informática es una herramienta para resolver problemas. Por tanto, el usuario soy yo o, en su defecto, alguien que conozca el problema, y por lo tanto no va a hacer "cosas raras".

Cuando tenga tiempo intentaré arreglarlo, aunque no prometo nada. Todo lo que no sea Fortran, no importa demasiado en cálculo nnumérico. Y menos las ventanas...

No obstante, gracias.

Un saludo.

14/5/06 16:23  
Anonymous Anónimo escribió...

No estoy de acuerdo con eso de que "el usuario soy yo o, en su defecto, alguien que conozca el problema, y por lo tanto no va a hacer cosas raras". Por una cuestión muy sencilla, cuando tenemos un problema y nuestras variables de entrada están acotadas, el programa que resuelve el problema tiene que tener las entradas acotadas, de lo contrario nuestra solución no es todo lo buena que debería ser.

De todas formas el programa está muy bien, y corregirse eso es algo tan sencillo como preguntar si en la cadena de entrada hay caracteres o si el número que ha entrado es menor que 0.

Salud

14/5/06 22:53  
Blogger Nano escribió...

Sí, eso había pensado. En mi descargo diré que no sé nada de Visual Basic. Imagínate aprender a utilizar un programa sin la Ayuda... Pues mi Visual Studio no la tiene.

Es que no me he explicado bien. Para mí, el programa es el medio, no el fin. Si yo introduzco una entrada no adecuada, peta y ya está. Y yo sé por qué ha petado. Pero es que no se contempla la posibilidad de hacer entradas erróneas. De hecho, algunas veces ni siquiera hay entradas, todo va dentro, y te limitas a correr.

Pero de todas formas, tienes razón. Cuanto mejor es el programa, mejor parece la solución. Y el que sabe de informática aquí eres tú.

O eso creo. Porque he dado por hecho que eres quien pienso, a pesar de la ausencia de tu comentario típico (oh, Gran Nano).

Si no, te ofrezco mis disculpas por la confusión.

Gracias de nuevo.

Salud

15/5/06 00:27  
Anonymous Anónimo escribió...

No hace falta que ofrezcas tus disculpas: oh gran Nano.

:-)

De todas formas tranquilo es un típico comentario de informático, el programa está muy bien, y para que engañarnos aprender un lenguaje de programación uno solo y con poca o ninguna ayuda... pues es jodido.

Salud

15/5/06 22:04  
Anonymous Anónimo escribió...

He introducido una cadena de caracteres (ABCDEFXYM) en mi calculadora Casio fx-100MS, y no solo no hace nada sino que ni siquiera me da error... Debe de ser que está mal hecha... O que alomojó no se usarla

20/5/06 21:49  
Blogger Nano escribió...

Hombre, Juanma, tampoco es que lo haya hecho por ciencia infusa... Tenía el fantástico manual "Aprenda VB como si estuviera en primero" (lo de fantástico es irónico). No está mal, pero suele ser más útil la ayuda del programa.

Supongo que después de exámenes lo corregiré.

Gracias por pasarte por aquí, y gracias por tus comentarios.

Salud.

21/5/06 19:17  
Blogger Nano escribió...

Y tú, Genaro, ¿cómo haces para meter texto en una Casio? En la mía se podía, pero era una 4500, no una 100. (Risas)

De todas formas, si no da error, será porque el que la programó sabría un poquito más que yo.

O infinitamente más.

Pero también me creo lo de que no sepas utilizarla. Hay calculadoras difíciles de manejar, como la Hp.

Pero si yo aprendí...

21/5/06 19:26  

Publicar un comentario

<< Home