Xwork's Blog

The lord is waiting to take your hand.

Vamos a platicar #7 - Luchando contra la estupidez (última vez).

No hay comentarios.
Hola de nuevo a todos. En el post del día de hoy vamos a retomar un poco del trabajo de UNAM.
Parece que últimamente, cada vez que escribo  una sección de "Vamos a platicar", es sinónimo de "vamos a joder a alguien porque cree que los sismos son producto del HARP (sea lo que sea)" y no por las placas tectónicas; es decir; de forma natural.


Hace algunos días, de nueva cuenta se activó la alerta sísmica en la zona metropolitana de la Ciudad de México. Por fortuna el movimiento fue muy leve (por no decir imperceptible). Si has leido algunos post viejos de esta misma serie, sabrás que siempre trato de usar cómo referente la información proporcionada por el SSN.

Para no9 hacerle al feo a la costumbre, de inmediato salio gente que aseguraba que la magnitud estaba mal, "nos mienten", "se sintio pior" y cosas por el estilo. Cómo de costumbre hice lo minimo por tratar de persuadir a estas personas de que el SSN dice la verdad. Uno de ellos pregunto "¿y cómo sabes que no mete la mano el gobierno?". Yo sabía que la informacion practimente se publica en bruto (por eso despues los ajustes), pero realmente cómo es que se crea y se publica la información.

La solución, la UNAM creo un boletin en el cual lo explican.

Boletín UNAM-DGCS-440
Ciudad Universitaria.
11:00 hs. 21 de julio de 2018
GENERAN EN LA UNAM MAPAS DE INTENSIDADES SÍSMICAS Y DAÑOS EN TIEMPO REAL
Pueden contribuir a mejorar la toma de decisiones, dirigir la ayuda más rápido y con mayor eficiencia, e informar con prontitud a la población, explicó Mario Ordaz Schroeder, del Instituto de Ingeniería 
Para los mapas se utiliza información que proporcionan instituciones como el Servicio Sismológico Nacional de la UNAM 
Un movimiento telúrico tiene una sola magnitud, pero produce muchas intensidades, que son una medida instrumental y objetiva relacionada con los daños estructurales, aclaró
En los primeros minutos después de un sismo se produce un vacío de información en el que las autoridades no saben con precisión cuáles son los sitios más afectados o si se han producido daños en las estructuras de las edificaciones.
Por ello, la Coordinación de Ingeniería Sismológica del Instituto de Ingeniería de la UNAM genera mapas de intensidades y daños del territorio nacional en tiempo real, que pueden contribuir a mejorar la toma de decisiones, dirigir la ayuda más rápido y con mayor eficiencia, e informar con prontitud a la población si estamos o no ante una calamidad.
Mario Ordaz Schroeder explicó que un movimiento telúrico tiene una sola magnitud; por ejemplo, la del sismo del 19 de septiembre pasado fue de 7.1, pero las intensidades que se produjeron respecto al mismo fueron muchas.
“La intensidad sísmica es una medida local de la severidad del movimiento del suelo; está relacionada con la magnitud del temblor, pero depende de otros factores como la distancia desde el epicentro, el tipo de suelo o la ruptura de las placas tectónicas”.
A las construcciones no les “importa” si el temblor fue de magnitud 7 u 8, lo que las puede afectar es cuánto se acelera el suelo en su base. “Cuando tiembla, el suelo se mueve y esas aceleraciones se convierten en fuerzas de inercia sobre las estructuras”; por ello, la intensidad es una medida instrumental y objetiva relacionada con los daños estructurales, detalló el experto.
De ahí la importancia de crear mapas de intensidad sísmica muy poco tiempo después de que ocurrió un sismo. “Eso implica que existe la posibilidad de registrar la aceleración en el suelo, mediante instrumentos denominados acelerómetros, y llevar esos datos a un sitio central de recepción de manera automática, sin intervención humana, mediante infraestructura de comunicaciones; ya con los datos, un programa genera los llamados shake maps y los difunde”.
En México, para generar los mapas se utiliza información que proporcionan diferentes instituciones, entre ellas el Servicio Sismológico Nacional, que opera el Instituto de Geofísica.
Se cuenta con una cobertura nacional heterogénea, muy buena en Guerrero y Oaxaca, en donde hay una red que opera el Instituto de Ingeniería, y muy mala en regiones como la noroeste.
Cuando se presenta un temblor, expuso Mario Ordaz, se “dispara” automáticamente el proceso que toma los registros. El sistema identifica si se trata de un temblor o no, y de acuerdo con los valores de aceleración, determina hacer público un mapa.
En ellos se utiliza un código de color muy sencillo: rojo es “malo” y verde es “bueno”. En el sismo del 7 de septiembre se creó una imagen que el especialista calificó como “escalofriante”. Se observa un área de rojo intenso sobre Oaxaca y Chiapas, pero con tonos rojizos que llegaron hasta Veracruz y Puebla.
Para la Ciudad de México, que cuenta con una red de acelerómetros densa, de más de 100 instrumentos, se crean “mapas muy razonables de la intensidad”; así ocurrió con el sismo del 19 de septiembre y otros, finalizó Mario Ordaz.
El boletín anterior es una copia del original publicado por la UNAM.

Y bien por ahora es todo. La semana que viene continuaremos con más programación. Por último y por mas repetitivo que suene, no hay que descalificar al las fuentes de información oficiales. Muchas veces lo que sentimos no será lo que se mide, si no lo que pasa.

Los leo luego.

No hay comentarios. :

Publicar un comentario

Learning Machine #11 - Programando en Pascal - Ciclos for y repeat.

No hay comentarios.
Hola de nuevo a todos, el dia de hoy vamos a continuar con la serie "learning machine" para el lenguaje de programación Pascal. Anteriormente vimos algunas de las partes mas importanes del lenguaje, pero por alguna razon las parte número 9 no la publique o no lo hice bien. El punto es que vamos a ver una parte importante. Cómo usar los ciclos.

Muchas veces debemos hacer operaciones que requieren ser repetidas N número de veces, anteriormente vimos que podemos hacer que algumos procesos se repitan haciendo uso de while, pero que pasa si lo que queremos  hacer, ya lo tenemos bien definido, bien, para eso existe el ciclo for.

Ciclo for.

El ciclo for sirve para hacer N veces determinada tarea, en pascal la forma más básica de si uso es la siguiente:

{ ... }
{ ... }
	for {Desde} to {hasta} do
	begin
		{ haz algo }
	end;
{...}
{...}

Para hacer uso del ciclo, debemos de hacer uso de la palabra reservada "for" seguida del número desde cual se va empezar a contar, se debe de usar una variable que es la que usaremos a manera de contador. Seguido viene la palabra reservada "to" y despues viene lo que será el "tope" del ciclo, una vez indicado esto viene la palabra reservada "do" y dependiendo de cuanto código vamos a usar, podemos hacer uso de "begin" (para inidicar el inicio), todo el código contenido entre éste y su respectivo "end;", será lo que se ejecutará hasta que el contador llegue al limite indicado.

Ahora imaginemos que queremos hacer un programa que cuente del 1 al 100 y que además escriba "este mensaje se ha escrito N veces" en la consola. tomando en cuenta lo anterior, podemos hacer código cómo el siguiente:

Program Ciclofor;
uses crt, sysutils;
var
Contador : integer;
begin
	for Contador := 1 to 100 do
	begin
		writeln(concat('Este mensaje se ha escrito ', IntToStr(Contador) ,' veces usando for'));
	end;
	readln();
end.


Repeat until.

El bucle Repeat until, es muy similar al bucle while, es decir el ciclo se repetirá hasta que cierta condicion se cumpla.

Para hacerlo, primero debemos de hacer uso de la palabra reservada "repeat", luego escribiremos todo el código que se va a ejecutar y finalmente, pondremos la palabra reservada "until" y la condición que se debe de cumplir.

En la forma más simple, el bucle repeat tendrá la siguiente forma:

{ ... }
{ ... }
	repeat
		{ haz algo }
		{ haz algo }
		{ haz algo }		
		{ haz algo }
	until ({condicion});
{...}
{...}


Para tener una mejor idea de cómo se usa, vamos a hacer el mismo programa que usamos cómo ejemplo en el ciclo "for" solo que ahora lo adaptaremos a "repeat".
Program RepeatUntil;
uses crt, sysutils;
var
Contador : integer;
begin
	Contador := 100;
	repeat
		writeln(concat('Este mensaje se ha escrito ', IntToStr(Contador) ,' veces usando until'));
		Contador := Contador + 1;
	until (Contador > 100);
	readln();
end.

Algo importante que hay que resaltar, es que "repeat" a diferencia de "while", ejecutará al menos una vez el código dentro del bloque, esto debido a que la expresion se evalua hasta el final, cosa contraria a "while". Si quieres probar esto, puedes asignarle el valor de 100 a la variable "Contador" justo antes de "Repeat", la condicion ya se cumple, porque por obvio que parezca, 100 es mayor que 99.

Y bien, por ahora es todo, en post futuros veremos más aprendizaje de pascal (incluso la primer imagen te puede dar una idea de lo que viene). Puedes copiar los códigos anteriores para probarlos.

Los leo luego.

No hay comentarios. :

Publicar un comentario