Programación.

Anuncio
Programación.
Variables
En las variables, debemos introducir N0 y N (dándole a N0 un valor) y
cambiar el tipo de estas dos variables a int (entero). Al ser de este tipo, las
vamos a poder usar como dimensión para los arrays (conjunto de datos).
Arrays Además, definimos dos variables double, que indiquen la posición
(x e y). En el apartado de dimensión indicamos, para estas dos variables, que
queremos que sean arrays de N0 datos, se escribe como
[N0]
Añadimos dos arrays más de dimensión N0, uno tipo Object (c, por ejemplo) y otro tipo entero (indice)
Por último, falta añadir variables para el tiempo, el intervalo temporal, el
tiempo propio y su intervalo asociado, el tiempo de vida medio, la velocidad
de los muones (en unidades de la velocidad de la luz, para que sea más
comodo) y una variable para usar los números aleatorios. Si se prefiere se
puede definir, también, una variable para γ
Inicialización
En inicialización debemos dar valores a las variables con dimensión, para
ello es recomendable usar un bucle. Y también debemos inicializar algunas
variables, por si queremos en el programa compilado cambiar la velocidad o
el tiempo de vida media.
Bucle
Para conocer como se realiza un bucle véase bucle.pdf.
A la variable x le damos valores espaciados por 1, para que no estén
excesivamente juntos, además el indice lo ponemos a cero, y la variable objeto
le asignamos el color negro (esto nos servirá luego para en la vista, darle color
a los muones).
for(int i=0; i<N0; i++){
x[i]=(double)i;
y[i]=50.0;
c[i]=java.awt.Color.black;
indice[i]=0;}
En la cuarta lı́nea invocamos a un objeto, el color negro. Debemos estar
atentos a las mayúsculas.
Variables
Debemos inicializar gamma si la hemos definido, el tiempo, el tiempo propio, el intervalo de tiempo (el de tiempo propio es el que podremos cambiar
a voluntad) y el número de partı́culas N1 .
Evolución y Ligaduras
Además de hacer pasar el tiempo (el del laboratorio y el propio) y de
indicar que pare cuando lleguen al suelo, debemos hacer que bajen y que
decaigan. Para esto, necesitamos otro bucle que recorra desde 0 hasta N0,
moviendo y (con la discretización conocida) y llamando a un número aleatorio
Math.random()
Ası́, para la partı́cula i-ésima, si no ha decaı́do (indice[i]==0), invocamos
el número aleatorio, si es menor que dtp/tm, a esa partı́cula le damos el color
blanco (java.awt.Color.white, o cualquiera que sea el color del fondo), al
indice de la partı́cula le damos 1 y le restamos 1 a N.
Vista
La vista no requiere demasiadas complicaciones.
Estructura
Ventana
· Panel de botones
· Panel central
* Panel de dibujo: Muones caiendo a la Tierra (con fondo blanco
para que se dejen de ver cuando decaigan).
* Panel con Ejes: Gráfica que del número de partı́culas, en función del tiempo.
1
La variable N0 no debemos cambiarla en el programa, ya que define la dimensión de
los arrays y genera algunos conflictos.
Conjunto de partı́culas
Para añadir los muones, en Elementos de Dibujo 2D buscamos ConjuntoPartı́culas y lo colocamos en el panel de dibujo. En Elementos le damos el
número de muones (N0), la posición, y en color la variable objeto (c).
Descargar