Es mostren els missatges amb l'etiqueta de comentaris històries. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris històries. Mostrar tots els missatges

dilluns, 27 d’octubre del 2008

El primer vol de l'Ariane 5

Era el 4 de juny de l'any 1996, i l'Agència Espacial Europea, després de gastar-se una quantitat enorme de diners, es disposava a provar el seu nou Ariane.



Després de l'investigació, es va descobrir l'error.

Els Ariane 4 portaven en funcionament molts anys. I no hi havia hagut gaires errors. Així que els Ariane 5 van heretar força coses dels Ariane 4. Entre elles, part del software.

Una part d'aquest software feia servir una variable entera representada per 16 bits. Això vol dir que un dels bits es guardava pel signe, i amb els 15 bits restants s'escrivia la magnitud del signe. El valor de la variable podia anar des de -32767 fins a 32767. Això era suficient per l'Ariane 4, però l'Ariane 5 era més potent i... el valor d'aquesta variable es va sortir del rang dels nombres representables per la variable!

Això va ser degut a què el programa estava preparat per l'Ariane 4, i aquesta variable representava alguna variable relacionada amb la velocitat horitzontal del coet. Però l'Ariane 5 utilitzava una trajectòria diferent de les dels Ariane 4, on la velocitat horitzontal era molt més gran, i el dispositiu no la va poder emmagatzemar.

El coet va veure l'error, i va apagar el dispositiu, en comptes de continuar funcionant. Això va fer que, amb aquest dispositiu apagat, el coet explotés.

Per si no fos prou, aquesta variable estava relacionada amb un sistema de referència que es fa servir abans de que el coet s'enlairi. Si aquest procés s'hagués parat quan el coet es va enlairar, no hi hagués hagut cap problema (tot i que, després de fer aquesta afirmació, em pregunto quantes coses i amb quants errors hi ha funcionant per aquests móns de déu, que només funcionen perquè s'aturen a temps i qualsevol dia faran un pet...)

dissabte, 17 de març del 2007

Aritmètica egípcia

L'altre dia llegia un post d'en Dan, on parlava de la forma de calcular dels romans. Vaig llegir com era la multiplicació i vaig veure que jo aquesta multiplicació la tenia associada als egipcis, no als romans. Així que vaig anar a buscar-ho i em vaig trobar amb què aquesta també era la forma de multiplicar dels egipcis.

Així que jo ara explico la forma que tenien de multiplicar i de dividir els egipcis. Abans, però, una mica sobre la numeració egípcia, que no és tan coneguda com la romana (almenys per aquí).

El egipcis tenien una numeració additiva: tenien un símbol per l'1, un pel 10, un pel 100... i anaven sumant. Compte amb la diferència amb l'escriptura romana: si els egipcis escrivien 10 1, això era un 11. Però si escrivien 1 10, això també era un 11. L'ordre no intervenia per res, i tot sumava.



Està clar que amb aquesta forma d'escriure els números, sumar era molt fàcil: només havien d'ajuntar els símbols dels dos números, i substituir cada 10 símbols iguals per un símbol superior. El mateix per la resta.

Unes altres operacions que també eren molt senzilles eren les multiplicacions i divisions per 2. Per multiplicar per 2, només s'havien de doblar els símbols (i altre cop ajuntar els que es repetien 10 vegades). I per dividir per 2, quedar-se amb la meitat dels símbols, i si eren senars, substituir el símbol per 10 del símbol immediatament inferior.

Així doncs, com que multiplicar i dividir per 2 eren tan senzills, es van inventar un algorisme de multiplicació, que estava basat en la numeració en base 2. S'agafaven els dos números que s'havien de multiplicar, i es posaven de costat. Un s'anava dividint per dos (quedant-se només amb la part entera) i l'altre s'anava multiplicant per 2. Quan el que s'anava dividint per 2 havia arribat a 1, s'agafaven tots els termes senars del que s'havia anat dividint per dos i es sumaven els corresponents termes del que s'havia anat multiplicant per 2. Aquesta suma era el resultat de l'operació.

A l'exemple (clicant es veu més gran), es pot veure com funciona i per què funciona.



La divisió tampoc és complicada. Simplement es tracta de "desfer" el que ha fet la multiplicació. S'agafa el divisor i es va multiplicant per 2, fins arribar a més de la meitat del divident. Aleshores s'aconsegueix el divident (o un número prou proper) d'entre tota la llista de números obtinguts.

Quan es feia la multiplicació, ens quedàvem amb els números que tenien a l'esquerra un terme senar. Així que, amb els números que ens quedem, hi posem un terme senar (el doble més u), i amb els que no ens quedem, un terme parell (el doble).

Altre cop, amb l'exemple, suposo que quedarà més clar:

divendres, 31 de desembre del 2004

Mars Climate Orbiter

Fa uns dies la família em va preguntar sobre el tema. Tothom ha sentit la història, però m'ha fet gràcia escriure-ho. Així que m'he posat a buscar per internet. Entre altres coses, hi he trobat un report de la NASA, que es pot veure aquí.

El Mars Climate Orbiter (a partir d'ara MCO) era un projecte de la NASA per estudiar l'atmosfera de Mart. Va ser llançat l'11 de desembre de 1998. Havia d'arribar a Mart el 23 de setembre del 99, uns nou mesos i mig després del seu llançament, i col.locar-se a una òrbita quasi-polar a uns 400 Km al voltant de Mart. Però el 23 de desembre, el MCO es va estrellar inesperadament sobre la superfície de Mart.

Què va passar? Un dels equips que treballaven en el projecte treballava amb unitats internacionals (metres), mentre que un altre treballava en unitats angleses (milles). A l'hora de comunicar-se uns aparells amb els altres, les distàncies es donaven bé... només que amb unes altres unitats!

El resultat? Doncs que la MCO es va posar en una òrbita a uns 300 Km lluny de Mart, en comptes dels 400 que els aparells suposaven que estava. I això va ser suficient perquè la força de la gravetat l'atregués amb més força i se n'anés tot el projecte per terra (o per Mart, millor dit).