tag:blogger.com,1999:blog-294906392024-03-19T04:36:42.491-07:00El CuadradorJosé Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-29490639.post-7229223448303993292018-02-12T12:54:00.002-08:002018-02-23T11:56:09.214-08:00Ejemplos de la Ley de Tricotomia<br />
<u>En Geometria Euclidiana</u><br />
<br />
- Definicion 1.7. Se dice que el segmento AB es menor que o igual a o mayor que el segmento CD, y se escribe AB < CD, AB = CD o AB > CD, si el numero AB es menor que o igual a o mayor que el numero CD.<br />
<br />
- Definicion 2.7. Un angulo dicese Angulo Obtuso o Recto si su medida es menor que o mayor que o igual a 90 grados.<br />
<br />
- Definicion 7.2. Se dice que una Recta es exterior a una Circunferencia si no tiene Puntos en comun. Una Recta se dice Tangente a una Circunferencia si tiene un unico Punto en comun. Una Recta se dice Secante a una Circunferencia si tiene dos Puntos en comun.<br />
<br />
<u>En Algebra</u><br />
<br />
- En las Raices de la Ecuacion Cuadratica, el Binomio Subradical "CUADRADO(b) - 4ac" se llama Discriminante. Si a, b y c son todos numeros Reales, estas Raices seran Reales e iguales si el Discriminante es igual a Cero; Reales y desiguales si el Discriminante es mayor que Cero; Complejas Conjugadas si el Discriminante es menor que Cero.<br />
<br />
<u>En Secciones Conicas</u><br />
<br />
- Una Seccion Conica se define como una curva generada por un Punto que se mueve de modo que la relacion entre su distancia a un Punto (denominado Foco) y a una Linea (llamada Directriz) es constante. Hay tres clases de Secciones Conicas, llamadas Elipse, Parabola e Hiperbola, dependiendo de la Constante (Excentricidad): menor que, igual a o mayor que Uno.<br />
<br />
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mrow>
<msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo>
<mrow>
<mn>4</mn>
<mo>⁢</mo>
<mi>x</mi>
</mrow>
<mo>+</mo>
<mn>4</mn>
</mrow>
<mo>=</mo>
<mn>0</mn>
</mrow>
</math>José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-26891944169843554742015-08-25T08:33:00.000-07:002015-09-09T04:13:18.147-07:00Reseña sobre el Dr. Luis Guillermo Portillo<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Esta nota de prensa apareció en el año 1990.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">-------- </span></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Médico,
Profesor y Bienhechor</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Por: Dr. Heberto
Jiménez Navas</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Ese fue en
vida el Dr. Luis Guillermo Portillo, fallecido exactamente el 18 de noviembre
de 1990, día de la Chinita.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Luis
Guillermo Portillo, excelente Médico Internista, se dedicó al ejercicio de la
Medicina, profesión y apostolado que practicó siempre.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Fue llamado
a la Facultad de Odontología de L.U.Z., cuando ejercimos funciones de gobierno
para fundar la Cátedra de “Medicina Interna”, lo cual cumplió a cabalidad, a
pesar de las dificultades que para la época (1966) significaba, lo novedoso en
los planes de estudios odontológicos, la incorporación de tan fundamental
conocimiento científico en la formación de los profesionales de la Odontología.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Su
competencia científica y su altísima vocación de servicio significaron
cualidades insuperables para el logro del objetivo propuesto dentro de la
conceptualización integral de la salud, y su especificidad en los aspectos estomatológicos.
A partir de ella hizo escuela en la Enseñanza de la Medicina Interna en
Odontología, dejando valiosos seguidores.</span><span lang="ES-VE" style="mso-ansi-language: ES-VE;"></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Hombre con
plena conciencia de su deber ciudadano, siempre estuvo atento en la defensa de
lo genuinamente universitario y de lo patriótico. Médico, humanista por
excelencia, practicó la Medicina sin ánimo de lucro y con alta solidaridad para
con sus pacientes, a quienes trató con bondad exquisita.</span> </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;"></span><span lang="ES-VE" style="mso-ansi-language: ES-VE;">Como
Profesor, no admitía sino lo que fuera la mejor enseñanza y formación integral
de sus alumnos. Serio, responsable, disciplinado, equilibrado, exigente, pero
comprensivo, caballeroso como el que más, fino y generoso.</span> </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span lang="ES-VE" style="mso-ansi-language: ES-VE;">Como amigo,
practicó la lealtad en grado superior como un principio doctrinario sobre el
cual no admitía debilidades o desviaciones. Hombre de buen humor, que
disfrutaba de la buena relación amistosa, y de la cual derivaba su más grande
felicidad.</span> </div>
<div class="MsoNormal">
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ui_w2zFPodLu64gSOZI6Eu3AAdJmsaACZuJROJszd_Ey69sLQdiOmfYMFpMIfPn8REgKXChZTTnpzwLnVTE_wNlfCw_2eFfA5FVzGuLODYUQ_aCL8SL41O9gSkazGv6IosIq0w/s1600/Nota_Prensa_1990.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9ui_w2zFPodLu64gSOZI6Eu3AAdJmsaACZuJROJszd_Ey69sLQdiOmfYMFpMIfPn8REgKXChZTTnpzwLnVTE_wNlfCw_2eFfA5FVzGuLODYUQ_aCL8SL41O9gSkazGv6IosIq0w/s320/Nota_Prensa_1990.JPG" width="261" /></a></div>
<br />
<div style="text-align: center;">
Figura 1. Nota de prensa original</div>
</div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-60707741021831745412014-10-21T08:17:00.002-07:002017-02-28T05:49:51.216-08:00DEFINICIONES BÁSICAS PARA EL ESTUDIO DE LA GEOMETRÍA EUCLIDIANA<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>La Ciencia del ingeniero debe ser práctica, pero no empírica. </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>El empirismo termina en rutina, y la rutina en ceguera. </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>El ingenio se cultiva también con la luz de la razón </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>cuando la intuición no ilumina lo bastante, </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>y la Matemática que necesita el técnico </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>debe proporcionarle no sólo los conocimientos pragmáticos, </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>los útiles de su trabajo, </i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>sino también el hábito de manejarlos con buen criterio.</i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i><br /></i></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><i>Puig Adam, Pedro - Curso de Geometría Métrica,Vol. 1 Fundamentos - 1947</i></span></div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<br />
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;">Unfortunately, mathematicians do not always adhere to their own canons of accuracy </span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;">with respect to terminology.</span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div style="text-align: right;">
<span style="font-family: "courier new" , "courier" , monospace;">Birkhoff and Beatley - Basic Geometry, Manual for teachers - 1943</span></div>
<span style="font-size: small;"><br /></span>
<span style="font-size: small;"><br /></span>
<span style="font-family: "calibri" , "sans-serif"; font-size: small; line-height: 115%;"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>ES-VE</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Calibri","sans-serif";}
</style>
<![endif]-->
</span><br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small; line-height: 115%;"></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><span style="line-height: 115%;">Este Glosario intenta ser “auto-contenido”, tal y como es la<span style="font-family: "courier new" , "courier" , monospace;"> </span>Geometría euclidiana misma:<span style="font-family: "courier new" , "courier" , monospace;"> </span>en el <b style="mso-bidi-font-weight: normal;">Espacio
Euclidiano</b> existe todo el <b style="mso-bidi-font-weight: normal;">Universo</b>
de <b style="mso-bidi-font-weight: normal;">objetos</b> (Elementos Geométricos). Es un pequeño viaje desde las definiciones grandes hacia los elementos primitivos. </span><span style="color: #1d1d1d; line-height: 24.624px;">Siempre pensé que el título matemático tiene como sinónimo el título analista.<span style="font-family: "courier new" , "courier" , monospace;"> </span>El oficio de analista es usar la facultad racional para desmontar/construir discursos, información en todas sus formas, infraestructuras lógicas deductivas con el objetivo de estudiarlas para conocer su Valor Veritativo.</span></span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<br />
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;">La precisión y belleza de toda la infraestructura matemática proviene de su semi-rigidez. Los años de trabajo abstracto enseñan que el analista/matemático no debe adoptar una postura rígida (ortodoxa) frente a los problemas. Newman y Kasner, en su libro Matemáticas e imaginación, remarcaron –“a menudo el rigor matemático solo sirve para provocar otra clase de rigor…el rigor mortis de la creación matemática”. La herramienta fundamental del analista (precisamente para no ser un sujeto con pensamiento rígido) es la flexibilidad en su pensamiento: un ir y venir entre el universo de lo abstracto y la materialidad.</span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;">Se trata, este breve trabajo, de un homenaje a la lucha contra el olvido. Como parte de mi investigación, estuve escarbando la biblioteca nacional en Caracas, en busca de trabajos y traducciones de los Elementos de Euclides. Tuve la suerte de encontrar una obrita producida por la UNAM en 1944. En su preámbulo, el Prof. García Bacca hizo un análisis filosófico de la obra de Euclides. Inmediatamente me dí cuenta que estaba en presencia de un libro histórico. El libro lo encontré en condiciones deplorables: humedad y roturas llenaban sus tapas y hojas. Muchos textos parecidos se encuentran en condición similar en esa biblioteca (y en otras bibliotecas del país, incluida la librería del Palacio de las Academias en Caracas). Hago desde aquí un llamado a digitalizar muchos libros valiosos como estos para contrarrestar el olvido.</span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">1.- La palabra <b style="mso-bidi-font-weight: normal;">Lógica</b>
proviene del vocablo griego <i style="mso-bidi-font-style: normal;">logos</i> que
significa Discurso o Raciocinio. Es una rama de la filosofía que estudia el
razonamiento.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">2.- La <b style="mso-bidi-font-weight: normal;">Lógica
Matemática</b> es el estudio sistemático de los razonamientos correctos para
diferenciarlos de los incorrectos.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">3.- <b style="mso-bidi-font-weight: normal;">Discurso</b> es la
facultad racional con que se infieren unas cosas a partir de otras. Ejemplo:
"c^2 = a^2 + b^2" es un Discurso racional.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">4.- <b style="mso-bidi-font-weight: normal;">Oración Gramatical</b>
es la unidad del lenguaje que expresa un sentido completo.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">5.- Una <b style="mso-bidi-font-weight: normal;">Proposición</b>
es una Oración Gramatical que es verdadera o es falsa pero no ambas cosas a la
vez.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">6.- Una <b style="mso-bidi-font-weight: normal;">Forma
Proposicional</b> es una Oración Gramatical que incluye Variables. Ejemplo:
"x es un número primo". No es una Proposición, dado que no es posible
determinar si es verdadera o falsa.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">7.- Una <b style="mso-bidi-font-weight: normal;">Definición</b>
es un convenio sobre el significado de un Término en particular según el cual
el Definiendum puede sustituir al Definiens. Consta de dos Expresiones llamadas
Definiendum y Definiens.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">8.- <b style="mso-bidi-font-weight: normal;">Conjunto</b> es un
término primitivo que no se define. Es sinónimo de Agregado o Colección de
Objetos, y estos Objetos se llaman sus Elementos.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">9.- Una <b style="mso-bidi-font-weight: normal;">Variable</b>
es un Símbolo que denota un Elemento cualquiera de un Conjunto no vacío. Este
Conjunto se llama Rango o Universo del Discurso de la Variable, y sus Elementos
se llaman Valores de la Variable.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">10.- Una <b style="mso-bidi-font-weight: normal;">Constante</b>
es una Variable cuyo Rango tiene un solo Elemento.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">11.- Una <b style="mso-bidi-font-weight: normal;">Circunferencia</b>
es el Lugar Geométrico de los Puntos que equidistan de un Punto dado, y puede
trazarse con compas. También, una Circunferencia de centro un Punto O y de
Radio un número K > 0 es el Conjunto de los Puntos que están a la distancia
K de O.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">También se llama <b style="mso-bidi-font-weight: normal;">Radio</b>
al Segmento que une el centro O con cualquier Punto P de la Circunferencia.
Esta palabra Radio se usa en dos sentidos.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Cuando se diga "el Radio" significa: el número K
> 0. Cuando se diga "un Radio" significará: un Segmento. Lo propio
ocurre con el vocablo Diámetro.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Un Punto P dícese interior a O(k) si OP < K. </span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">En este glosario se sigue la simbología del Prof. Darío Durán
Cepeda [2]</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">12.- Un <b style="mso-bidi-font-weight: normal;">Ángulo</b> es
la unión de dos semirectas con un extremo común. A este extremo común se le
denomina Vértice del Ángulo y las semirectas se les llama Lados del Ángulo. La
notación comúnmente usada para expresar la medida de un Ángulo es m<abc .="" span=""></abc></span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">13.- Un Ángulo dícese Agudo, Obtuso o Recto si su medida es
menor, mayor o igual a 90°.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">14.- Se llama <b style="mso-bidi-font-weight: normal;">Cuerda</b>
al Segmento que une dos Puntos de una Circunferencia.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">15.- Un <b style="mso-bidi-font-weight: normal;">Diámetro</b>
es una Cuerda que pasa por el Centro de la Circunferencia. También, se llama
Diámetro al número 2K.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">16.- Dos Puntos se dicen Diametralmente Opuestos si son
extremos de un Diámetro.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Teorema: Un Diámetro en una Circunferencia es la Cuerda de
mayor longitud.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">17.- <b style="mso-bidi-font-weight: normal;">Circulo</b> es el
Conjunto de los Puntos interiores a una Circunferencia.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">18.- Un <b style="mso-bidi-font-weight: normal;">Lugar
Geométrico</b> es una Figura Geométrica cuyos Elementos Geométricos (Puntos,
Rectas), y solamente ellos, gozan de una misma Propiedad, como la
Circunferencia.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">La Mediatriz de un Segmento es otro Lugar Geométrico, ya que
sus Puntos, y nada más que ellos, distan individualmente lo mismo de los
extremos del Segmento, por Rectas Oblicuas que se separan igualmente del Pie de
la Recta Perpendicular, y cualquier Punto que no pertenezca a la Mediatriz no
goza de esa Propiedad.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Análogamente, la Bisectriz de un Ángulo es el Lugar
Geométrico de los Puntos, que individualmente distan lo mismo de los Lados del
Ángulo, lo cual se ve por giro de la Figura o la mitad de ella, alrededor de la
Bisectriz.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">19.- <b style="mso-bidi-font-weight: normal;">Desigualdad
triangular</b>: un Lado de un Triángulo es menor que la suma de los otros dos
Lados.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">20.- Dados tres Puntos no-Colineales A, B, C, se llama <b style="mso-bidi-font-weight: normal;">Triángulo</b> a la Figura obtenida por la
unión de los tres Segmentos AB, AC y BC.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">21.- Esta es una hermosa definición de <b style="mso-bidi-font-weight: normal;">Postulado</b> escrita por el Dr. Juan David García Bacca en su
introducción filosófica a los Elementos de Euclides: </span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">"<i>Y en nuestros días llamamos Postulados a todos los
axiomas geométricos, es decir: cosas no evidente al entendimiento especulativo
que tienen que ser construidas según normas para que el entendimiento las pueda
intuir y luego formular como Proposiciones.</i></span></span></span></div>
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><i>
</i></span></span><br />
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;"><i>A la acción constructora le sigue la contemplación.</i>" [1]</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">22.- Si un Punto P está en el Plano de O(k), entonces los
números OP y k satisfacen la <b style="mso-bidi-font-weight: normal;">"Ley
de Tricotomía"</b>: "Se cumple una y solamente una de las siguientes
posibilidades: OP < k, OP = k, OP > k".</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Esto indica que O(k) divide al Plano en tres regiones
excluyentes: el Círculo de centro O y Radio k, la Circunferencia de Centro O y
Radio k y el exterior de la Circunferencia.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">23.- Se dice que M es el <b style="mso-bidi-font-weight: normal;">Punto
Medio</b> del segmento AB si AM = MB y M está entre A y B. En este caso también
se dice que A y B son Puntos Simétricos respecto de M o que A es el Simétrico
de B respecto de M o que M Biseca al segmento AB.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">24.- El Segmento que une un Vértice de un Triángulo y el
Punto medio del Lado opuesto se llama <b style="mso-bidi-font-weight: normal;">Mediana</b>
de ese Lado. También se llamará Mediana a la Longitud de ese Segmento.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">25.- El Segmento que une un Vértice de un Triángulo y su
Proyección Ortogonal sobre la Recta que contiene al Lado opuesto se llama <b style="mso-bidi-font-weight: normal;">Altura</b> de ese Lado.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">También se llama Altura a la Longitud de ese Segmento.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">26.- El Punto de corte de las Medianas de un Triángulo se
llama <b style="mso-bidi-font-weight: normal;">Baricentro</b> del Triángulo.
También se llama <b style="mso-bidi-font-weight: normal;">Centroide</b> o <b style="mso-bidi-font-weight: normal;">Centro de Gravedad</b> del Triángulo.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">27.- La intersección de las alturas de un Triángulo se llama
el <b style="mso-bidi-font-weight: normal;">Ortocentro</b> del Triángulo. El
Triángulo cuyos vértices son los pies de las alturas de otro Triángulo se llama
<b style="mso-bidi-font-weight: normal;">Triángulo Órtico</b> de éste.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">28.- Un <b style="mso-bidi-font-weight: normal;">Punto de <i style="mso-bidi-font-style: normal;">Menelao</i></b> (<i style="mso-bidi-font-style: normal;">Menelaus</i> según [6]) de un Lado de un Triángulo es un Punto que no
es Vértice del Triángulo y está en la Recta que contiene a ese Lado del
Triángulo.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">29.- Se llama <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Ceviana</i></b> de un Vértice de un
Triángulo al segmento determinado por el Vértice y un Punto de <i style="mso-bidi-font-style: normal;">Menelao</i> del Lado opuesto. Este último
Punto se llama <b style="mso-bidi-font-weight: normal;">Pie de la <i style="mso-bidi-font-style: normal;">Ceviana</i></b>. La <i style="mso-bidi-font-style: normal;">Ceviana</i> es interior o exterior según que su Pie sea un Punto
interior o exterior del Lado.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="line-height: 115%;">Menelaus</span></i></b><span style="line-height: 115%;"> de Alejandría fue un astrónomo griego que vivió en el primer
siglo de nuestra era. Escribió la obra llamada <i style="mso-bidi-font-style: normal;">Esférica</i> donde estudió los triángulos esféricos y los puntos
colineales. El matemático <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">Giovanni Ceva</i></b> (ca. 1647 – 1736)
publicó un trabajo sobre las rectas concurrentes.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">30.- Una <b style="mso-bidi-font-weight: normal;">Función</b>
de un Conjunto no vacío X en un Conjunto no vacío Y es una regla que asigna a
cada Elemento de X un único Elemento de Y. Este único Elemento se llama su <b style="mso-bidi-font-weight: normal;">Imagen</b>. El conjunto X se llama el <b style="mso-bidi-font-weight: normal;">Dominio</b> de la función, y el Conjunto Y
se llama su <b style="mso-bidi-font-weight: normal;">Codominio</b>. Una Función
de X en Y se dice <b style="mso-bidi-font-weight: normal;">Biyectiva</b> si elementos
distintos de X tienen imágenes distintas, y cada Elemento de Y es imagen de
algún Elemento de X.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">31.- Se llama <b style="mso-bidi-font-weight: normal;">Correspondencia
Biunívoca</b> entre dos triángulos a una <b style="mso-bidi-font-weight: normal;">Función
Biyectiva</b> entre sus vértices. Escribiremos <b style="mso-bidi-font-weight: normal;">ABC ↔ DEF</b> para denotar la correspondencia biunívoca entre los
triángulos ABC y DEF siempre y cuando los vértices D, E y F sean las
respectivas imágenes de los vértices A, B y C. Toda correspondencia biunívoca
induce una correspondencia biunívoca entre sus ángulos y sus lados.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">32.- Una <b style="mso-bidi-font-weight: normal;">Semejanza</b>
entre dos triángulos es una correspondencia biunívoca entre sus vértices tal
que los ángulos correspondientes son iguales y sus lados correspondientes son
proporcionales.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">33.- Dos triángulos ABC y DEF son semejantes o el triángulo
ABC es semejante al triángulo DEF, y se escribe <b style="mso-bidi-font-weight: normal;">ABC </b></span><b style="mso-bidi-font-weight: normal;"><span style="line-height: 115%;">∼</span></b><b style="mso-bidi-font-weight: normal;"><span style="line-height: 115%;"> DEF</span></b><span style="line-height: 115%;">, si la Correspondencia Biun</span><span style="line-height: 115%;">í</span><span style="line-height: 115%;">voca ABC </span><span style="line-height: 115%;">↔</span><span style="line-height: 115%;"> DEF es una Semejanza. El Factor de
Proporcionalidad entre los lados correspondientes se llama <b style="mso-bidi-font-weight: normal;">Razón de Semejanza</b>.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">34.- Una <b style="mso-bidi-font-weight: normal;">Congruencia</b>
entre dos triángulos es una Correspondencia Biunívoca entre sus vértices de modo
que sus ángulos correspondientes y sus lados correspondientes sean iguales.
Diremos que dos triángulos ABC y DEF son congruentes o que el triángulo ABC es
congruente con el triángulo DEF, y se escribe <b style="mso-bidi-font-weight: normal;">ABC </b></span><b style="mso-bidi-font-weight: normal;"><span style="line-height: 115%;">≅</span></b><b style="mso-bidi-font-weight: normal;"><span style="line-height: 115%;"> DEF</span></b><span style="line-height: 115%;">, si existe una Correspondencia ABC </span><span style="line-height: 115%;">↔</span><span style="line-height: 115%;">DEF entre los v</span><span style="line-height: 115%;">é</span><span style="line-height: 115%;">rtices.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">35.- Una <b style="mso-bidi-font-weight: normal;">Congruencia</b>
entre dos Figuras es una Correspondencia Biunívoca que preserva distancias. Por
esta razón las congruencias se llaman en ocasiones Isometrías (<i style="mso-bidi-font-style: normal;">isos</i> = igual; <i style="mso-bidi-font-style: normal;">metrón</i> = medida). Esta definición es una generalización de la
definición de Congruencia de triángulos.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">36.- Una <b style="mso-bidi-font-weight: normal;">Proporción</b>
es la igualdad de dos razones, y es verdadera sii el producto de los extremos
es igual al producto de los medios, es decir, x/a= b/y si y sólo si a.y = b.x.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">En el Libro V de los Elementos de Euclides se pueden leer las
siguientes dos definiciones:</span></span></span></div>
<div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">a) Una <b style="mso-bidi-font-weight: normal;">Razón</b> es determinada relación con respecto a su tamaño entre dos
magnitudes homogéneas.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">b) Llámense proporcionales las
magnitudes que guardan la misma razón.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Se puede intuir de allí que la <b style="mso-bidi-font-weight: normal;">Razón</b> de dos cantidades es el cociente entre ellas y que una <b style="mso-bidi-font-weight: normal;">Proporción</b> es la igualdad de dos
razones</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">37.- Se dice que los segmentos a, b, c, d forman una <b style="mso-bidi-font-weight: normal;">Proporción</b> si a/b = c/d. Los segmentos
a y d se llaman los <b style="mso-bidi-font-weight: normal;">Extremos de la Proporción</b>,
y los segmentos b y c se llaman sus <b style="mso-bidi-font-weight: normal;">Medios</b>.
Cada uno de esos segmentos se llama la <b style="mso-bidi-font-weight: normal;">Cuarta
Proporcional</b> de los segmentos restantes.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Se dice que el segmento b es <b style="mso-bidi-font-weight: normal;">Media Geométrica</b> o <b style="mso-bidi-font-weight: normal;">Media Proporcional</b>
de los segmentos a y c si b^2 = a.c. En este caso cualquiera de los dos factores
del segundo miembro se llama una <b style="mso-bidi-font-weight: normal;">Tercera
Proporcional</b>.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">38.- Un <b style="mso-bidi-font-weight: normal;">Punto</b> es
el Límite mínimo de la Extensión, que se considera sin Dimensión alguna. Evidentemente, para hacerlo parte de toda la estructura,
se tendrán que analizar las palabras Límite, Extensión y Dimensión y eso nos
llevaría lejos de la Geometría. Por estas razones la Geometría acepta el Punto
como <b style="mso-bidi-font-weight: normal;">Término Primitivo</b>. Lo propio
ocurre con las palabras <b style="mso-bidi-font-weight: normal;">Recta</b> y <b style="mso-bidi-font-weight: normal;">Plano</b>. </span></span></span><br />
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">El enfoque sistémico (modularización y orientación a objeto), reciente dentro del conocimiento humano, puede ayudarnos a entender. Es una acción de observar en perspectiva. De lejos solo existe el Punto. Luego al aproximarnos más al objeto pudieran aparecer detalles: en este instante deja de ser un Punto y sus partes, ahora visibles, aparecen como Puntos en nuestro espacio. La experiencia sigue a medida que avanzamos. Por eso se trata de un "límite de la extensión".</span></span></span><br />
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;"><br /></span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="color: #1d1d1d; line-height: 1.8;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">39.- Los Términos Primitivos de la Geometría son [2]:</span></span></span></span><br />
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(a) L</span><span style="line-height: 1.8;">os Puntos</span></span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(b) Ciertos Conjuntos de Puntos que llamamos Rectas</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(c) La Distancia entre dos Puntos</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(d) La Medida de un Ángulo</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(e) El Área de ciertos Conjuntos de Puntos</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">40.- El Espacio es el Conjunto de todos los Puntos.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">El Espacio Abstracto de la Geometría Euclidiana goza de las siguientes Propiedades:</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Continuo (sin interrupciones)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Homogéneo (sin diferencias en sus partes)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Isótropo (sin deformaciones: todas las Rectas son iguales)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Divisible indefinidamente (sin átomos de extensión) à contrastar con def. de Punto</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Accesible en todos los Puntos</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Compenetrable (dos figuras pueden ocupar el mismo lugar)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Tridimensional (definen una posición tres “direcciones” perpendiculares)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">- Independiente del tiempo (existe sin que el tiempo influya en su modo de ser)</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Vemos como el Espacio, al igual que cualquier otro objeto matemático, posee propiedades notables intrínsecas. En otras palabras:</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">¡la inmensidad del Espacio como objeto de estudio en sí mismo! </span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">41.- La Geometría es la parte de la Matemática que estudia las Propiedades Notables intrínsecas de las Figuras Geométricas. Estas Propiedades de las Figuras admiten un doble orden de clasificación: Propiedades Métricas, Proyectivas, Topológicas y el de las llamadas Propiedades de Posición, Extensión y Forma.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Las Propiedades de las Figuras Geométricas resultan de las Propiedades del Espacio.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">42.- Propiedad es el Atributo o Cualidad esencial de alguien o algo.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">43.- Cualidad es cada uno de los Caracteres, naturales o adquiridos, que distinguen a las personas, a los seres vivos en general o a las cosas.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">44.- Un Sistema Axiomático es la plataforma que sostiene a toda infraestructura lógica deductiva y consiste en lo siguiente:</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">(a) Un Conjunto de Términos Primitivos que constituyen la base del Vocabulario necesario</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(b) Un Conjunto de Proposiciones iniciales no demostradas</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">(c) Leyes de la Lógica</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">(d) Un Conjunto de Teoremas que enuncian las Propiedades de los Términos Primitivos</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Un Sistema Axiomático, como todo objeto matemático, posee propiedades notables intrínsecas. Se trata de las propiedades de un axioma y del conjunto de axiomas: (d.1) cada axioma debe ser compatible; (d.2) el conjunto de axiomas debe ser completo; (d.3) el conjunto de axiomas debe ser coherente.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;">Puede darse la situación que un conjunto de axiomas, por sí solo, no es suficiente para sostener un a determinada infraestructura lógica deductiva. En caso tal, el analista/matemático debe buscar (o inventar) otros axiomas y añadirlos a su sistema axiomático.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Es bueno tener siempre en cuenta que existen muchos objetos matemáticos, algunos son simples mientras que otros (construidos en base a los objetos simples) son compuestos. Entre los objetos matemáticos que han sido más elaborados tenemos los vectores, las matrices, algunos objetos físico-matemáticos como los tensores y los espacio vectoriales.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">45.- Una Figura Geométrica es un Conjunto de puntos.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">46.- Un Argumento Lógico es un Conjunto finito de Proposiciones donde la última de ellas se llama Conclusión, y las restantes se llaman Premisas.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Si p1, p2, …pn son Premisas de un Argumento y q es la Conclusión, entonces escribiremos [p1, p2, …, pn] lŀ q</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Definición (del punto 46).</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Diremos que el argumento [p1, p2, …, pn] lŀ q es Válido si la Condicional (p1 ^ p2 ^ …^ pn) => q</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 1.8;">Es una Tautología. Se dice que el Argumento es una Falacia si no es Válido.</span></span></span></div>
<div style="color: #1d1d1d; line-height: 1.8; margin-bottom: 1em; padding: 0px;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></span></span></div>
</div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Resumiendo algunas notaciones empleadas en la Geometría
Euclidiana:</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">A, B, C, ... son los vértices o ángulos correspondientes de
un <b style="mso-bidi-font-weight: normal;">Polígono</b>. a, b, c, ... son los
lados del polígono. Si ABC es un triángulo a, b, c son los lados opuestos a los
ángulos A, B, C. s es el <b style="mso-bidi-font-weight: normal;">Semiperímetro</b>
del triángulo ABC y p = 2s es el <b style="mso-bidi-font-weight: normal;">Perímetro</b>.
La recta AB es la recta que pasa por los puntos A y B. La circunferencia ABC es
la circunferencia que pasa por los puntos A, B, C. O(A) es la circunferencia de
centro O que pasa por A. O(k) u O(AB) es la circunferencia de centro O y de
radio k o AB. ha, hb, hc son las alturas y ma, mb, mc son las medianas de los
lados a, b, c del triángulo ABC. Las alturas de un triángulo se cortan en su <b style="mso-bidi-font-weight: normal;">Ortocentro</b> H. Las medianas de un
triángulo se cortan en su <b style="mso-bidi-font-weight: normal;">Baricentro</b>
G que triseca a cada mediana. wa, wb, wc son las bisectrices interiores y wa`,
wb`, wc` son las bisectrices exteriores de los ángulos A, B, C de un triángulo
ABC. Las bisectrices de los ángulos de un triángulo se cortan en su <b style="mso-bidi-font-weight: normal;">Incentro</b> I, que es el centro del <b style="mso-bidi-font-weight: normal;">Incírculo</b>, es decir, de la
circunferencia tangente a sus lados. Su radio r se llama el inradio y 2r se
llama el <b style="mso-bidi-font-weight: normal;">Indiámetro</b>. Las mediatrices
de los lados de un triángulo se cortan en su <b style="mso-bidi-font-weight: normal;">Circuncentro</b> O, que es el centro del <b style="mso-bidi-font-weight: normal;">Circuncírculo</b>, i.e., la circunferencia que pasa por los vértices
del triángulo. Su radio r se llama el <b style="mso-bidi-font-weight: normal;">Circunradio</b>
y 2R se llama el <b style="mso-bidi-font-weight: normal;">Circundiámetro</b>. Un <b style="mso-bidi-font-weight: normal;">Excírculo</b> de un lado de un triángulo es
la circunferencia que es tangente a ese lado y a las prolongaciones de los
otros dos lados. Sus centros se llaman <b style="mso-bidi-font-weight: normal;">excentros</b>
y se denotan por Ia, Ib, Ic. Sus radios se llaman <b style="mso-bidi-font-weight: normal;">exradios</b> y se denotan mediante ra, rb, rc. </span><span style="line-height: 115%;">∠</span><span style="line-height: 115%;">AOB es el </span><span style="line-height: 115%;">á</span><span style="line-height: 115%;">ngulo de v</span><span style="line-height: 115%;">é</span><span style="line-height: 115%;">rtice O y de lados las semirrectas OA y OB.</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><br /></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">Referencias:</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">[1] Euclides, Hilbert,
David, García Bacca, Juan David - Elementos de Geometría - UNAM, 1944</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">[2] Duran Cepeda, Darío - Geometría Euclidiana - 2005</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">[3] Jiménez, Douglas - Geometría: El encanto de la forma -
2005</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span style="line-height: 115%;">[4] Biosca, Francisco M. - Geometría - Enciclopedia LABOR,
1962</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span lang="EN-US" style="line-height: 115%;">[5] Postigo,
Luis - Matemática</span></span></span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span lang="EN-US" style="line-height: 115%;">[6] Cajori,
Florian – A History of Mathematics</span></span></span><br />
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span lang="EN-US" style="line-height: 115%;">[7] López, Nayit E. - Fundamentos de Geometría Métrica Plana</span></span></span><br />
<span style="font-size: small;"><span style="font-family: "courier new" , "courier" , monospace;"><span lang="EN-US" style="line-height: 115%;">[8] Diccionario de la Real Academia de la Lengua Española</span></span></span><br />
<span lang="EN-US" style="font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US;"><br /></span></div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-6908988737931420872012-11-28T18:30:00.000-08:002016-10-25T04:54:34.086-07:00BREVE RECUERDO DEL LENGUAJE DE PROGRAMACIÓN MIXAL<br />
<i>And now I see with eye serene</i><br />
<i>The very pulse of the machine.</i><br />
<i> - William Wordsworth, She Was a Phantom of Delight (1804)</i><br />
(tomada de Fundamental Algorithms - Knuth, Donald E. - 1973)<br />
<br />
Ejemplo de traducci\'on (compilaci\'on) manual desde un mini programa originalmente escrito en lenguaje C++ hacia el Assembler \texttt{MIXAL}, y desde ese lenguaje intermedio hacia instrucciones de la m\'aquina \texttt{MIX}. La traducci\'on hacia \texttt{MIXAL} se hizo manualmente: de izquierda a derecha aparece la instrucci\'on de m\'aquina \texttt{MIX}, seguida de la direcci\'on en la memoria hipot\'etica y finalizando con la sentencia Assembler \texttt{MIXAL}.\\\\<br />
<br />
Se sigui\'o la convenci\'on tomada por algunos compiladores de Lenguaje C en cuanto a la generaci\'on de c\'odigo para ciclos constantes como el FOR. El ejemplo es muy simple pero sirve como muestra del uso de registros \'indice como contadores descendientes (al estilo de la instrucci\'on de decremento autom\'atico BCT de la IBM System/360).\\<br />
<span style="font-family: "verdana" , sans-serif;"><span style="font-size: x-small;"></span></span><br />
<br />
<span style="font-family: "verdana" , sans-serif;"><span style="font-size: x-small;">%<br />% Ensayo de tabbing para la escritura de codigo en assembler.<br />%<br />\begin{verbatim}<br />* EJEMPLO DE TRADUCCIÓN (MANUAL) DE UNA SENTENCIA COMPLEJA<span style="font-size: x-small;"> </span>"FOR" <br />* EN ASSEMBLER MIXAL PARA LA MÁQUINA ARTIFICIAL MIX </span></span><br />
<span style="font-family: "verdana" , sans-serif;"><span style="font-size: x-small;">*<span style="font-size: x-small;"> ==</span>==================================================== <br />*<span style="font-size: x-small;"> </span>AUTOR: JOSE PORTILLO LUGO, 2012 <br />* <br />* MÁQUINA MIX DIR ASSEMBLER MIXAL <br />*-------------- ---- -------------------------------------------------------------------</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> ORIG 000 <br />+0000 00 00 00 0000 TASA CON 0 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0049 ORIG 49 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0050 STK ORIG *+1 Stack de trabajo </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0052 RESUL ORIG *+2 Declaración de símbolos </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0054 PORC ORIG *+2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0056 X ORIG *+2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0058 TEMP ORIG *+2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0060 Z ORIG *+2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0062 Y ORIG *+2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> 0064 BUFFCRD ORIG *+2 Buffer de entrada/salida <br />* </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> I EQU 1 Se optimiza el uso de I y J, </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> J EQU 2 usando los registros rI1 y rI2 </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> CARD<span style="font-size: x-small;">RD </span> EQU 16 Unidad Lectora - Tarjetas </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> <span style="font-size: x-small;">CARDWR EQU <span style="font-size: x-small;">17 Unidad Perforadora - Tarjetas</span></span><br />* <br /> ORIG 100 Subrutina - cálculo <br />+0128 00 02 32 0100 FOREXPR STJ 5F Establece enlace de la Subrutina <br />+0052 00 05 33 0101 STZ RESUL resul=0 <br />+0001 00 02 49 0102 ENT1 1 i=1 <br />+0008 00 02 50 0103 ENT2 8 j=8 <br />+0002 00 02 55 0104 ENTX 2 <br />+0060 00 05 31 0105 STX X x=2 <br />+0003 00 02 55 0106 ENTX 3 <br />+0066 00 05 31 0107 STX Y y=3 <br />+0025 00 02 55 0108 ENTX 25 <br />+0064 00 05 31 0109 STX Z z=2 <br />+0058 00 05 08 0110 LDA 0,2 j <br />+0060 00 05 03 0111 MUL X x <br />+0005 00 02 06 0112 SLAX 5 <br />+0054 00 05 24 0113 STA TEMP j*x <br />+0064 00 05 08 0114 LDA Z z <br />+0066 00 05 03 0115 MUL Y y <br />+0005 00 02 06 0116 SLAX 5 z*y <br />+0062 00 05 01 0117 ADD TEMP j*x+z*y <br />+0052 00 05 24 0118 STA RESUL <br />+0126 00 00 39 0119 JMP 4F Evalua condiciones <br />+0052 00 05 08 0120 3H LDA RESUL Inicio del ciclo <br />+0000 00 05 03 0121 MUL TASA <br />+0005 00 02 06 0122 SLAX 5 <br />+0100 00 05 04 0123 DIV 100 (resul*tasa)/100 <br />+0054 00 05 24 0124 STA PORC <br />+0001 00 01 49 0125 DEC1 1 i-- <br />+0128 00 07 39 0126 4H J1Z 5F <!--1--><!--1--><!--1--><!--1-->Termina el ciclo <br />+0120 00 00 39 0127 JMP 3B Continua el ciclo <br />+0001 00 00 39 0128 5H JMP * Enlace de retorno - Subrutina <br />* </span></span><br />
<span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;"> ORIG 500 Driver principal del programa <br />+0001 00 02 32 0500 MAIN STJ END Establece enlace - Sistema Operativo NIX <br />+0000 00 05 33 0501 STZ TASA <br />+0054 00 05 33 0502 STZ PORC <br />+0053 00 16 34 0503 JBUS *(CARD<span style="font-size: x-small;">RD</span>) Espera por Lectora - Tarjetas <br />+0067 00 16 36 0504 IN BUFFCRD(CARD<span style="font-size: x-small;">RD</span>) Lectura <br />+0067 00 02 55 0505 LDX BUFFCRD <br />+0000 00 05 15 0506 STX TASA Tasa para el cálculo <br />+0100 00 00 39 0507 JMP FOREXPR Invoca Subrutina <br />+0054 00 05 15 0508 LDX PORC RX = porc<!-----><!-----></span></span><br />
<!-----><span style="font-size: x-small;"><span style="font-family: "verdana" , sans-serif;">+0067 00 05 31 0509 STX BUFFCRD Almacena en buffer salida <br />+0510 00 1<span style="font-size: x-small;">7</span> 34 0510 JBUS *(CARD<span style="font-size: x-small;">WR</span>) Espera por perforadora - Tar<span style="font-size: x-small;">je</span>tas <br />+0067 00 1<span style="font-size: x-small;">7</span> 37 0511 OUT BUFFCRD(CAR<span style="font-size: x-small;">DWR</span>) Perfora <br />+0000 00 02 05 0512 HLT Enlace de retorno - Sistema Operativo NIX</span></span><br />
<span style="font-family: "verdana" , sans-serif;"><span style="font-size: x-small;"><span style="font-size: x-small;"> END MAIN </span><br />* <br />\end{verbatim}<br />\\ </span></span><br />
<span style="font-family: "verdana" , sans-serif;"><span style="font-size: x-small;">\page<br />* Fuente en lenguaje C++ simplificado: \\<br />{\obeylines \sfcode`;=3000<br />{\bf void main()}<br />\{ // Cuerpo principal del programa<br />\qquad {\bf int} ${\it tas}=0$, ${\it porc}=0$;\\<br /><br />\qquad ${\it tas} = getchar()$;<br />\qquad forexpr({\it tas}, {\it &porc});<br />\qquad putchar({\it &porc});<br />\}<br /><br />{\bf void forexpr}(int tasa, int &porcen)<br />\{ // Subrutina - cálculo<br />\qquad {\bf int} $i=1$, $j=8$, $resul=0$, $x=2$, $y=3$, $z=25$;\\<br /><br />\qquad {\bf for}($resul=j*x+z*y&, $porcen=0$; $i \geq 1$; $porcen=(resul*tasa)/100$, i--);<br />\}<br />\par}<br />%<br />%----------------------------%<br />% Referencias bibliográficas %<br />%----------------------------%<br />%<br />\begin{thebibliography}{7}<br />\bibitem{Knuth1} Knuth, Donald E. \textit{The Art of Computer Programming, Vol. 1 Fundamental Algorithms}, 1973.<br />\bibitem{Knuth2} Knuth, Donald E. \textit{3-TRAN Interpreter Compiler source listing}, 1964.<br />\bibitem{Knuth3} Knuth, Donald E., Sites R. L. \textit{MIX/360 Users Guide}, 1971.<br />\bibitem{Knuth4} Computer Museum. \textit{Oral History of Donald Knuth}, 2007.<br />\bibitem{Akers1} Akers, Max Neil. \textit{A Proposed Programming System for Knuth MIX Computer}, 1969.<br />\bibitem{Burr} Burroughs. \textit{Burroughs 205 Electronic Data Processing Systems Handbook}, 1957.<br />\end{thebibliography}<br /><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"><span style="font-size: x-small;"> </span></span></span></span></span></span></span></span><br />
<br />José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-27462541358510871972011-11-13T14:59:00.000-08:002011-11-13T15:27:39.495-08:00El Llano en un soplo: imagenes de la vida retirada de Germán Pinto Saavedra, Tulia Restrepo y familia...Tuve el privilegio de convivir unos días junto al filósofo gran-colombiano Germán Pinto Saavedra, su esposa Tulia y su familia en el fundo Santa Teresa al sur del río Capanaparo. Una entrevista sobre filosofía desde la Grecia antígua, otra conversa sobre historia política de Colombia la grande, una muestra de los arboles sembrados en medio de la sabana y al final un reflejo de mis prejuicios de la gran ciudad que llevé a cuestas. Es allí donde descubrí lo que todo citadino encuentra: he sido toda mi vida un pobre huevon que no ha entendido en qué consiste el verdadero tejido de la existencia. Solo viviendo un tiempo en esos parajes se devela tal misterio y corre ligero, sencillo...<br /><br />A continuación algunas imágenes que me traje acompañadas de un poema de Fray Luis de león (gracias Germán por enseñarme tan hermoso poema):<br /><br /><span style="font-family:Verdana;font-size:85%;">Qué descansada vida<br /> la del que huye del mundanal ruido<br /> y sigue la escondida<br /> senda por donde han ido<br /> los pocos sabios que en el mundo han sido!<br /> <br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjstmu7_9Ea89Pi9-MKSnS3GwHZprZg48iLCkzdf6fr5v02FtA5lzRmFW8wJdSdNr8pb8hOCkQ8E8kQz4Pq6W7ZKXaxAymCCb9pua9ntWctaO2RGqeeiovkrUqkCF7ACIcZsGMIeQ/s1600/mini_Fundo_Santa_Teresa_Macanilla_1.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjstmu7_9Ea89Pi9-MKSnS3GwHZprZg48iLCkzdf6fr5v02FtA5lzRmFW8wJdSdNr8pb8hOCkQ8E8kQz4Pq6W7ZKXaxAymCCb9pua9ntWctaO2RGqeeiovkrUqkCF7ACIcZsGMIeQ/s320/mini_Fundo_Santa_Teresa_Macanilla_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5674620387213383618" border="0" /></a><br /><br /> Que no le enturbia el pecho<br /> de los soberbios grandes el estado,<br /> ni del dorado techo<br /> se admira, fabricado<br /> del sabio moro, en jaspes sustentado.<br /> <br /> No cura, si la fama<br /> canta con voz su nombre pregonera,<br /> ni cura, si encarama<br /> la lengua lisonjera,<br /> lo que condena la verdad sincera.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv1OtLAflQMeu_n6AbYhpU18C4eowD32DxdaBVyRalEelc9FWRpwdqG04i-M78FU-2-Xr9pA1AVQhM38fYLEFtIf-kZe8GQKzsCBKQTic08BJSSjr-m9h91F9_5y6t30gFLCqThQ/s1600/mini_Fundo_Santa_Teresa_Macanilla_3.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv1OtLAflQMeu_n6AbYhpU18C4eowD32DxdaBVyRalEelc9FWRpwdqG04i-M78FU-2-Xr9pA1AVQhM38fYLEFtIf-kZe8GQKzsCBKQTic08BJSSjr-m9h91F9_5y6t30gFLCqThQ/s320/mini_Fundo_Santa_Teresa_Macanilla_3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5674620828378702818" /></a><br /> <br /> ¿Qué presta a mi contento,<br /> si soy del vano dedo señalada,<br /> si en busca de este viento<br /> ando desalentado<br /> con ansias vivas, con mortal cuidado?<br /><br />¡Oh campo, oh monte, oh río!<br /> ¡Oh secreto seguro deleitoso!<br /> Roto casi el navío,<br /> a vuestro olmo reposo<br /> hallo de aqueste mar tempestuoso.<br /> Un no rompido sueño,<br /> un día puro, alegre, libre quiero;<br /> no quiero ver el ceño<br /> vanamente severo<br /> de a quien la sangre ensalza o el dinero.<br /> <br /> Despiértenme las aves<br /> con su cantar suave no aprendido,<br /> no los cuidados graves<br /> de que es siempre seguido<br /> quien al ajeno arbitrio está atenido.<br /> <br /> Vivir quiero conmigo,<br /> gozar quiero del bien que debo al cielo,<br /> a solas, sin testigo,<br /> libre de amor, de celo,<br /> de odio, de esperanzas, de recelo.<br /></span><b><span style="font-family:Verdana;font-size:85%;"><br /></span></b><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVUD6dzCE9jqwncj_uLcKJQNoKZrT82eDv5jPYWM6u-nwAaFHt3hR-nRjY65xvGc6ptcdVM2-O2q32ljbEAq7kJ3BMlF4FvavhvIMpIWd23jNW17W_rFGzcue8dt1OYecvEQkFZw/s1600/mini_Fundo_Santa_Teresa_Macanilla_7.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVUD6dzCE9jqwncj_uLcKJQNoKZrT82eDv5jPYWM6u-nwAaFHt3hR-nRjY65xvGc6ptcdVM2-O2q32ljbEAq7kJ3BMlF4FvavhvIMpIWd23jNW17W_rFGzcue8dt1OYecvEQkFZw/s320/mini_Fundo_Santa_Teresa_Macanilla_7.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5674621150474720994" /></a>José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-2679098132837931942011-03-08T17:13:00.000-08:002016-11-02T07:54:33.265-07:00El llano y mi familia<span lang="ES-VE">
<br />Hace unos minutos me informó mi prima Graciela que Josefa Lugo, hermana de mi madre Rosa Isabel y una de las mujeres más abnegadas y ejemplo del estado Apure, está pasando sus últimos momentos de vida.</span><br />
<span lang="ES-VE"><br />
</span><span lang="ES-VE">Una vida que ya se apaga pero que ha dejado en la mente de todos los jóvenes que la hemos conocido la imagen/ejemplo de trabajo, del ser emprededor(a) hasta el final.</span><br />
<span lang="ES-VE"> </span>
<br />
<div class="MsoNormal">
La última vez que conversé con ella (Abril del 2010) se quejaba de su dificultad para recordar. Ella que en otros tiempos era un motor empresarial (por así llamarla): "Ay... yo no sé que me pasa... todo se me olvida... yo que resolvía tantas cosas y le resolvía la vida a mucha gente". Nada, solo la vejez que la había alcanzado al fin. Mientras escuchaba me decía que ese drama será el mío si alcanzo a llegar a esa edad (+80).</div>
<div class="MsoNormal">
<span lang="ES-VE">
<br />
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP7eYt8Vx6VWvU1rVC_EdJN0DLNa8Ckd_arV-x_m9vuwOc11XXJEw6he_ItOHG5mPRnzCKGng_8sx02TLw2tW_ZzgIXCgEQcsO1tA4cPt-fVDa-Vjd73Lt2g8MiggLBfXsrGgmw/s1600/Tia_Josefa_1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5581882992913680866" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP7eYt8Vx6VWvU1rVC_EdJN0DLNa8Ckd_arV-x_m9vuwOc11XXJEw6he_ItOHG5mPRnzCKGng_8sx02TLw2tW_ZzgIXCgEQcsO1tA4cPt-fVDa-Vjd73Lt2g8MiggLBfXsrGgmw/s320/Tia_Josefa_1.jpg" style="cursor: pointer; display: block; height: 322px; margin: 0px auto 10px; text-align: center; width: 239px;" /></a>
</span></div>
<div class="MsoNormal">
<span lang="ES-VE">
</span></div>
<div class="MsoNormal">
<span lang="ES-VE">A Josefa Lugo la conocían por la gran refresquería situada frente a la catedral de San Fernando de Apure. Simón Díaz, cada vez que visitaba San Fernando pedía que lo llevaran a tomarse un café en la refresquería de Josefa Lugo.</span></div>
<div class="MsoNormal">
<span lang="ES-VE">Durante muchos años estuvo unida afectivamente a Fermín Castillo quien era muy amigo y socio de Jesús Aponte de San Fernando. Ambos, Josefa Lugo y Fermín Castillo tenían un Pilón.</span></div>
<div class="MsoNormal">
En el viejo Apure las mujeres acostumbraban a criar hijos(as) que no eran de sangre. Josefa Lugo crió y formó a varios(as) hijos(as) que hoy día son ejemplo de trabajo y dedicación como mi prima Graciela, la joven Patricia y Pancha. Pancha por cierto fue quien cuido de Josefa Lugo durante muchos y duros años de vejez y enfermedades. La gran Pancha era de aquella estirpe de mujeres que acompañaban a los arrieros y cabresteros en las largas jornadas de arreo de ganado a lo largo del llano.</div>
<div class="MsoNormal">
<span lang="ES-VE">La artista/cantante Adilia Castillo era compañerita de mi mamá en la escuela en el Yagual y era sobrina de mi abuela la Mamá Patricia. Ambas, mi madre y mi tía Josefa conocieron muy bien a maría Laya quien bailaba en las presentaciones del Indio Figueredo. Ambas (mi madre y tía) le decían mama Asunción a María Laya. Vaya mi reconocimiento a todas esas valientes mujeres que marcaron y siguen marcando el rumbo de esa bella región de Venezuela [1].</span></div>
<div class="MsoNormal">
<i><span lang="ES-VE">El llano se tragó a Doña Barbara…</span></i></div>
<div class="MsoNormal">
<br />
<i><span lang="ES-VE">La leyenda de Pancha Vásquez está viva en el relato oral en Apure…</span></i></div>
<div class="MsoNormal">
<br />
<i><span lang="ES-VE">Pancha Vásquez le encomendó a José Natalio Estrada (su compadre), que al morir la sembrara a orillas del Arauca y José Natalio cumplió su palabra…</span></i></div>
<div class="MsoNormal">
<br />
<i><span lang="ES-VE">Al fallecer la sepultó a unos cien metros del gran río que baja hacia el Orinoco sumergido en un profundo silencio…</span></i></div>
<div class="MsoNormal">
<i><span lang="ES-VE">Años después, donde estaba sembrada, apareció un hueco y un montón de tierra al lado…</span></i></div>
<div class="MsoNormal">
<br />
<i><span lang="ES-VE">Desde entonces se desconoce el paradero del cuerpo de esta mujer hombruna sobre quien se ha tejido un peculiar anecdotario en pueblos y caseríos del alto Apure junto a la figura de Manuel Fuentes y del Cristo de la Sabana…</span></i></div>
<div class="MsoNormal">
<br />
<br />
<span lang="ES-VE">¿Cómo entender la existencia sino a través de ese gran silencio del llano venezolano?</span></div>
<div class="MsoNormal">
<br />
<br /></div>
<div class="MsoNormal">
Sobre la enfermedad que acabó con la vida de mi madre.-</div>
<div class="MsoNormal">
<i><span lang="ES-VE"> </span></i><span lang="ES-VE"><br /></span></div>
<div class="MsoNormal">
<span lang="ES-VE"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--></span></div>
<div class="MsoNormal">
<span lang="ES-VE"><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
</span></div>
<div class="MsoNormal">
<span lang="ES-VE"><span lang="ES-VE" style="mso-ansi-language: ES-VE;">En el año
1968, mi padre llevó a mamá a Caracas. La llevó a consulta con el Dr. Jacinto Convitt, antiguo profesor de mamá en la escuela de enfermería de Caracas. Cuando
regresaron, se supo que ella tenía un Lupus Discoide (enfermedad de la piel). Posteriormente,
le afectó hígado y riñón. Padeció veinte años esta enfermedad. Ella
se cuidaba mucho del sol; no podía comer alimentos condimentados. Posiblemente el stress
que padeció influyó. Manifestación: lesiones a nivel de piel: cabeza, pecho y
rostro. Murió en 1982. Sus hijas: Alix Teresa, Mercelena, Isabel Teresa, mujeres emprendedoras y caritativas con el prójimo; son las tres enfermeras de corazón [2].</span></span><br />
<br />
Unas palabras sobre mi familia.-<br />
<br />
Mis hermanas (Alix, Isabel y Mercelena) y mi hermano (Luis) han sido y son la generosidad y la dignidad. En toda mi vida no he conocido a personas que dediquen sus esfuerzos y tiempo de forma mas desinteresada que ellos, para con sus hijos y para las demas personas. En un mundo donde lo que priva es la viveza y el ser oportunista, ellos han mantenido una labor silenciosa de hacer el bien a toda persona que acude a ellos. Esta fue la obra de nuestros padres, quienes educaron a sus hijos a la crianza antigua de los pueblos. Esta no ha sido la educacion comun en los pueblos: en Guarico, Apure y otras regiones abundan las madres oportunistas que no perdian el tiempo en hacer de todo hijo de familia de dinero su ahijado para obtener beneficios e influencia. Conozco a varias de esas familias, incluso de escritores muy reconocidos. El resultado de esto ultimo es que sus hijos de sangre son extremadamente utilitaristas y oportunistas. Soy afortunado de tener una familia del tipo opouesto a esta ultima.<br />
<br />
Referencias<br />
[1] Recuerdos de la familia Lugo, especialmente de Graciela y Pancha, 2010.<br />
[2] Recuerdos de Alix Portillo, Mercelena Portillo, Isabel Portillo, 2008-2010.<br />
<br /></div>
<i><span lang="ES-VE">
</span></i><br />
<div class="MsoNormal">
<i></i> </div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com3tag:blogger.com,1999:blog-29490639.post-37840595851319184072010-08-12T08:45:00.000-07:002014-09-07T16:32:18.625-07:00Multiplicación de cantidades decimales: una cuestión de representación, escala y transformación<br /><div style="text-align: right;">
<i>I like to think of mathematics as a vast musical instrument on which one can play a great variety of beautiful melodies. Many generations of mathematitians have provided us with rich tonal resources that offer limitless possibilities for harmonious combination.</i></div>
<div style="text-align: right;">
<i>Knuth, Donald - Algorithmic Themes, AMS History of Mathematics, Volume 1: A Century of Mathematics in America</i>, AMS, Providence, RI, 1988. </div>
<br />
<br />
¿Por qué la multiplicación de dos cantidades decimales x e y, tal que {1 > x > 0 ; 1 > y > 0}, nos da como resultado una cantidad menor que los multiplicandos, a diferencia de la multiplicación de cantidades iguales o mayores que la unidad?<br />
<br />
Aquí está la respuesta expresada gráficamente. Es una cuestión de escala. La parte superior del gráfico muestra la multiplicación de una cantidad mayor que la unidad por otra cantidad menor que la unidad: el resultado (esperado por la regla de la multiplicación) es otra cantidad mayor que la unidad. La parte inferior muestra el ejemplo clásico de multiplicación en la cual el resultado es una cantidad que es misteriosamente mucho menor que los multiplicandos. Un resultado no tan obvio, sobre todo si se trabaja la multiplicación de forma mecánica manualmente (multiplicación trae la idea a la mente de magnificar una cantidad N veces ella misma):<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOOftUEAF6UCq0Dfgpfp4bshwLRMuhsQl9GtMvpkOHGIu-TtuRZzbFPavwW2vO3pheom5j5vk4-FJ-e86Kd-0cPDYwzKGM1xpKhFKdt4huyODWx4xUUbtVjCljEMhDKEic_olTUA/s1600/multiplicar_decimas.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOOftUEAF6UCq0Dfgpfp4bshwLRMuhsQl9GtMvpkOHGIu-TtuRZzbFPavwW2vO3pheom5j5vk4-FJ-e86Kd-0cPDYwzKGM1xpKhFKdt4huyODWx4xUUbtVjCljEMhDKEic_olTUA/s320/multiplicar_decimas.jpg" id="BLOGGER_PHOTO_ID_5504556112722130210" style="display: block; height: 225px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<br />
Es una paradoja. La misma paradoja que enfrenta todo niño en la escuela cuando, despues de tanto machacar de memoria las tablas de multiplicar (en la cual el resultado de la multiplicación de dos cantidades siempre muestra una cantidad mayor que los multiplicandos), de pronto aparece una operación de multiplicación que desafía esta regla de caletre. El niño(a) curioso y protestón descubre que ha sido engañado y que realmente no sabe qué es realmente la operación aritmética de multiplicación. Un escenario que ocurre con mucha frecuencia y que es producto de un alumnado que no quiere esforzarce en comprender y por otro lado un profesorado que no le gusta que le pregunten para no tener que explicar y desarrollar didacticas que realmente "lleguen al punto" (el punto en este caso es que el alumno comprenda perfectamente bien una idea).<br />
<br />
Esta paradoja de las operaciones aritméticas "al ojo" es una de las razones que motivaron el uso de la notación estándar o notación científica: se establece una posición fija para la coma "," decimal en cualquier cifra numérica, lo cual facilita su lectura y por consiguiente su uso en operaciones aritméticas. Es así como una cifra numérica se expresa como una expresión potencia de base N (en nuestro sistema decimal se usa como base el 10):<br />
<br />
"cifra-decimal * 10^n" , siendo n la posición de la verdadera coma "," decimal.<br />
<br />
Por ejemplo, nos presentan la siguiente multiplicación:<br />
<br />
5.267,4232 * 0,0000012967 = ? (1)<br />
<br />
Usando la notación estándar podemos transformar las cifras originales en la siguiente forma:<br />
<br />
0,526x10^4 * 0,129x10^-5 (2)<br />
<br />
Y resolviendo terminos semejantes en (2) obtenemos:<br />
<br />
0,526 * 0,129 * 10^-1 (3)<br />
<br />
La expresión (3) es más adecuada tanto a la vista del calculador que hace el trabajo de forma manual como al calculador que hace uso de una regla de cálculo o de tablas. En nuestro ejemplo, sin embargo, hicimos una simplificación al truncar varios dígitos en las cifras originales y por consiguiente cargamos con un margen de error en la precisión del resultado desde el puno de vista de los operandos originales. En este caso el error sería de 0,0000448676634399988, pero es un buen ejemplo de la forma de operar y los errores que pudieramos esperar en aritmética manual de precisión.<br />
<br />
Para el caso de una regla de calculo, en la cual la escala comienza en la unidad ("1"), podemos expresar el problema simplificado (3) así:<br />
<br />
5,26x10^3 * 1,29x10^-6 (4)<br />
<br />
Luego, simplificando (4) obtenemos:<br />
<br />
5,26 * 1,29 * 10^-3 (5)<br />
<br />
La sub-expresión 5,26 * 1,29 de (5) la trasladamos al desplazamiento de escalas en una regla de calculo y obtenemos el resultado (de 6,78) de forma analógica como se muestra en la siguiente imagen en las escalas A y B (parte superior de la regla de calculo - para ver detalle presionar el mouse sobre la imagen):<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCHHOfy2tAjN_RzsA1McXBxhYrnvcct30BhPTtgxNeR2dCAJkhJNlMAy6TXXFpQWm01SqvbWyVQo0Bfv1q4sbwKXFD_O2wcRJbpp1WS5p4SUjpSEz890ZcYzOyqHpMY2NJvka8EQ/s1600/escala.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCHHOfy2tAjN_RzsA1McXBxhYrnvcct30BhPTtgxNeR2dCAJkhJNlMAy6TXXFpQWm01SqvbWyVQo0Bfv1q4sbwKXFD_O2wcRJbpp1WS5p4SUjpSEz890ZcYzOyqHpMY2NJvka8EQ/s320/escala.jpg" id="BLOGGER_PHOTO_ID_5508732004904352834" style="display: block; height: 122px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
Finalmente operamos este sub-resultado ajustando la escala al factor 10^-3 de la expresión (5) para obtener el total.<br />
<br />
La notación estándar es utilizada en programas de hoja de calculo y frecuentemente se expresan las cifras con el formato "f.ffff...E+e", siendo "f.ffff..." la parte decimal, "+" el signo del exponente y "e" el exponente de base 10.<br />
<br />
El modelo de programación de un procesador (microprocesador) diseñado para almacenar y operar con cifras decimales aproximadas, debe permitir registrar en una misma palabra de dato las distintas partes que conforman la notación estándar o científica que mostramos antes. Esta notación, aplicada a los procesadores digitales se le llama de punto flotante (Floating Point notation) y pudieramos representarla en su forma básica de la siguiente manera:<br />
<br />
+/- e fffff...<br />
<br />
Siendo +/- el signo de la cifra representada, "e" el exponente en base 10 o base 2, y "fffff..." la cifra decimal o Mantisa.<br />
<br />
<br />
Sobre el uso de la regla de cálculo y los logaritmos:<br />
<br />
La regla de cálculo como instrumento, hoy día olvidado (incluso como herramienta educativa), es el típico ejemplo de un computador analógico (transformación de cantidades numéricas en cantidades físicas: desplazamientos, voltages). Dada una operación aritmética a resolver, las cantidades involucradas son transformadas en desplazamientos entre una regla deslizante y otra regla estática. A través de los mismos desplazamientos y escalas logaritmicas impresas físicamente en las superficies de las reglas se hacen los calculos y el resultado (como en el ejemplo dado en esta entrada) es leido en las escalas como números. Las escalas impresas en la superficie de la regla son logaritmicas y están basadas en la siguiente identidad de los logaritmos:<br />
<br />
LOG(A x B) = LOG(A) + LOG(B) (6)<br />
<br />
Asumiendo que usamos nuevas variables para representar los logaritmos de cada número original, tenemos<br />
<br />
LOG(A) = X<br />
<br />
LOG(B) = Y<br />
<br />
Entonces<br />
<br />
LOG(A x B) = X + Y<br />
<br />
Es decir, "X + Y" es el exponente al cual debemos elevar la base (10 en nuestros ejemplos) para obtener "A x B":<br />
<br />
10^(X + Y) = A x B<br />
<br />
Esto mismo es lo que hace la regla de cálculo, los números u operandos originales son transformados en nuevos operandos que representan desplazamientos en las escalas de la regla. Si observamos las escalas veremos una numeración del 1 al 10 (en algunos casos como la regla Faber Castell 2/82, la numeración comienza en 0,9). Sin embargo la distancia entre los números no es uniforme: las distancias son exponenciales.<br />
<br />
Vamos a revisar un ejemplo de este enunciado. Imaginemos que deseamos resolver la multiplicación de las cantidades:<br />
<br />
1,78 x 5.011,87<br />
<br />
Usando la escala L de una regla de cálculo ó usando una tabla de logaritmos, encontramos que:<br />
<br />
LOG(1,78) = 0,25 y LOG(5.011,87) = 3,7 (6.1)<br />
<br />
Luego sustituyendo (6.1) en (6) tenemos:<br />
<br />
LOG(1,78) + LOG(5.011,87) = LOG(1,78 x 5.011,87) (6.2)<br />
<br />
Resolviendo cada lado de la ecuación (6.2) :<br />
<br />
0,25 + 3,7 = 3,95<br />
<br />
Por lo tanto, obtener el producto A x B es equivalente a obtener la suma de sus logaritmos (cantidades a las cuales debe "elevarse" una base 10 para obtener cada valor A y B):<br />
<br />
10^0,25 = 1,78 y 10^3,7 = 5.011,87<br />
<br />
El proceso de transformación que referimos antes ocurre cuando trasladamos nuestro calculo original (multiplicación en este caso) a el "mundo" de escalas logaritmicas y desplazamientos físicos entre superficies: la multiplicación de cantidades se transforma en suma de cantidades y esta a su vez se transforma en suma de desplazamientos físicos. La ecuación (6) muestra cómo desplazando una escala logaritmica sobre otra estática (suma) obtenemos el producto entre cantidades.<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_9QQwZfWM-GuG5BDYgW0YZ9MBixHnl74LwK_1OtFGiRgsHc-A_6UX5cY28SH3xjFXMDY2IlFSBvW0nEwJP3jlcypXIcxv3hphuFow53lO0df8-tPnK9Vl-am4TH7cMU0i8rz1w/s1600/Logarithmos_Escala.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio_9QQwZfWM-GuG5BDYgW0YZ9MBixHnl74LwK_1OtFGiRgsHc-A_6UX5cY28SH3xjFXMDY2IlFSBvW0nEwJP3jlcypXIcxv3hphuFow53lO0df8-tPnK9Vl-am4TH7cMU0i8rz1w/s320/Logarithmos_Escala.JPG" id="BLOGGER_PHOTO_ID_5534378963706027410" style="cursor: pointer; display: block; height: 180px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>Esta imagen presenta un ejemplo de multiplicación utilizando la suma de logaritmos. La hoja (parte superior) desglosa las operaciones involucradas tal y como fueron descritas en la ecuación (6). Para el caso de la regla de cálculo (parte inferior) se muestra el desplazamiento cuya distancia es proporcional al logaritmo.<br />
<br />
<br />
Anterior a las tablas logaritmicas y a las reglas de cálculo, uno de los métodos usados fue el llamado Prosthaphaeresis o método Prosthaphaeretico a través del cual operaciones de multiplicación eran transformadas en multiplicaciones de funciones seno/coseno de ángulos y estas a su vez resueltas por identidades trigonométricas que las igualaban con operaciones de resta y suma de senos/cosenos (ver "On Tycho Brae's Manual of Trigonometry" - 1916 ; en ese trabajo se hace referencia al esfuerzo de un tal Johannes Wener de Nurnberg, a parte del trabajo que el mismo Tycho describe haber realizado en 1580 junto a Paul Wittich de Breslau). La palabra Prosthaphaeresis es la conjunción de las palabras adición y sustracción en griego y una de las identidades usadas para hacer la transformación era la siguiente:<br />
<br />
<span style="font-size: 85%;">2 x Sen(alpha) x Cos(betha) = cos(alpha - betha) - Cos(alpha + betha) (6.1)</span><br />
<br />
La formulación (6.1) requiere el resolver nuestras cantidades originales A y B a sus correspondientes ángulos alpha y betha mediante una búsqueda en tablas, tal que:<br />
<br />
Seno(alpha) = A<br />
<br />
y<br />
<br />
Coseno(betha) = B<br />
<br />
Como se ve era un método más complicado que el uso de tablas logaritmicas posteriores, además de sus limitaciones.<br />
<br />
Este mismo proceso de transformación (llamado Isomorfísmo por el Prof. Martin Cohen) conforma el principio de los instrumentos de medición como el Sextante. En el Sextante, la elevación del sol respecto al horizonte aparente es transformada en una medida angular utilizando espejos, tornillo micrométrico y brazo mecánico montados de forma relacional en un cuadrante de metal o madera.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0hc32WQE6jxFdBZEfudKHP35b0PvrYLUh7NN24A1SReHY6Ih6dvjMeBdYyxnMrkgWLFPDXAnyiXyV7uOKtni_FQ2n4TTEI8Wouc5c3eFR0OgYMNFwRmGbzYS5CnPTo4MfV6T-fw/s1600/nemo-05-sextant-l.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0hc32WQE6jxFdBZEfudKHP35b0PvrYLUh7NN24A1SReHY6Ih6dvjMeBdYyxnMrkgWLFPDXAnyiXyV7uOKtni_FQ2n4TTEI8Wouc5c3eFR0OgYMNFwRmGbzYS5CnPTo4MfV6T-fw/s200/nemo-05-sextant-l.jpg" id="BLOGGER_PHOTO_ID_5513442186662680834" style="display: block; height: 200px; margin: 0px auto 10px; text-align: center; width: 199px;" /></a> El capitán Nemo usando un Sextante para transformar la elevación del sol, respecto al horizonte aparente, en una medida angular para el calculo de la latitud (de un grabado de Alphonse de Neuville)<br />
<br />
Las tablas de logaritmos han sido usadas desde mediados del siglo XVII hasta muy entrada la década de los años 1970 para "mecanizar" las operaciones aritméticas de multiplicación, división realizadas por ingenieros, astrónomos y matemáticos. Por otro lado, las escalas logaritmicas (como las impresas en la regla de cálculo) proliferaron en Europa especialmente en Francia durante los años medios del siglo XIX (como necesidad de herramientas de cálculo durante las labores de ingeniería en la construcción de las vías de ferrocarriles) en forma de Nomogramas. Uno de los Nomogramas más interesantes de esa época es el Abaque ou Compteur Universel creado por Léon Lalanne (ofrecía la posibilidad de hacer operaciones básica de multiplicación "z = xy" de números enteros, división de números enteros y otros cálculos más laboriosos como el cálculo de medidas en la circunferencia). En una próxima entrada en este Blog trataré este interesante téma de las tablas logaritmicas, la Nomografía y su utilización práctica. Aquí es importante afirmar que la idea de estos instrumentos y artificios (tablas logaritmicas, reglas de cálculo y la representación de cantidades por notación científica) es la de "mecanizar" las operaciones aritméticas y por ende acelerar el procedimiento de resolución. De esta "mecanización" (secuencia de pasos como búsqueda al "ojo" en una tabla logarítmica o el desplazamiento de escalas en las reglas de cáculo) se pasó luego a la automatización (de estas mecanizaciones) a través del uso de calculadoras y computadoras programables.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrmEKi8Ku_8ydHQp12g5AAqhGpTqvqhGO-VmOkp7pciqp7etbR3Xwre_MDXlhhPyEsjsdw-U6HPEKiViYhqWEV3b26iMNx_KNRTgYFzrnnni9SB3UFlWUNAUCAZK322ySdv5VrQ/s1600/Escala_Logarithmica_Construccion.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQrmEKi8Ku_8ydHQp12g5AAqhGpTqvqhGO-VmOkp7pciqp7etbR3Xwre_MDXlhhPyEsjsdw-U6HPEKiViYhqWEV3b26iMNx_KNRTgYFzrnnni9SB3UFlWUNAUCAZK322ySdv5VrQ/s320/Escala_Logarithmica_Construccion.jpg" id="BLOGGER_PHOTO_ID_5597013762097783810" style="cursor: pointer; display: block; height: 231px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>Esta gráfica muestra la creación de una escala logarítmica (parte superior) similar a las escalas C y D de la regla de cálculo básica Manheimm<br />
<br />
Una de las ventajas de las reglas de cálculo y el uso de tablas es que son herramientas de un "proceso conciente". Utilizar una calculadora programable (con solo pulsar un par de botones) representa un proceso hasta cierto punto "inconciente". El "usuario" de una calculadora programable pudiera no ser conciente de la formulación matemática y procedimiento para obtener un resultado. La regla de cálculo por otra parte exige un llevar cuenta de las posiciones decimales de cada operando y para cada resultado obtenido. La regla de cálculo rebasa la frontera que separa el "usuario" del "calculista" (este último termino era dado a los ingenieros que se dedicaban a hacer los cálculos para trabajos de ingeniería). En el pasado (años 1970 hacia atrás) las organizaciones y compañías de ingeniería tenían un equipo de "calculistas" o "computadores" quienes realizaban los calculos para los proyectos.<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhggkD07Q4fCF-2aqLzCFg_AJdwOt-zT5G088D0r0XtMcgEWWIAXp7rgb7btlAInvJ2i3SkhytuxikFtgNt30P_7uoCTOFM89esj0v8IZM3EpfwrgLfdSBDkE-9W20LfA_Q7RuFGA/s1600/Logaritmos_Pasos.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhggkD07Q4fCF-2aqLzCFg_AJdwOt-zT5G088D0r0XtMcgEWWIAXp7rgb7btlAInvJ2i3SkhytuxikFtgNt30P_7uoCTOFM89esj0v8IZM3EpfwrgLfdSBDkE-9W20LfA_Q7RuFGA/s320/Logaritmos_Pasos.jpg" id="BLOGGER_PHOTO_ID_5540234646896146386" style="cursor: pointer; display: block; height: 101px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>Esta imagen muestra el proceso de Transformación que ocurre con el uso de las reglas de cálculo: a la izquierda de la imagen se muestra la operación de multiplicación tal y como se dá en un (1) solo paso, contrastando con los tres (3) pasos requeridos por la Transformación. Presionar sobre la imagen para verla ampliada<br />
<br />
<br />
Veamos otro ejemplo esta vez un poco más abultado:<br />
<br />
1.590 x 3,64 x 0,763 (7)<br />
---------------------<br />
4,39 x 930<br />
<br />
Usando una calculadora escribiríamos las operaciones de forma jerárquica RPN (Reverse Polish Notation - ver entrada sobre computación en los años 1950 en este mismo Blog). En una calculadora programable es posible almacenar esta secuencia como un programa titulado "A" y ejecutarlo presionando unas pocas teclas:<br />
<br />
1.590<br />
ENTER<br />
3,64<br />
x<br />
0,763<br />
x<br />
STO 10<br />
4,39<br />
ENTER<br />
930<br />
x<br />
STO 11<br />
RCL 10<br />
ENTER<br />
RCL 11<br />
/<br />
<br />
La calculadora nos muestra entonces, luego de ejecutar esta secuencia de pasos, el resultado 1,0816.<br />
<br />
Ahora vamos a hacerlo con nuestro método manual y mucho más instructivo e interesante combinando la notación estándar o científica y una regla de cálculo.<br />
<br />
Primero normalizamos todas las cantidades involucradas a través de la notación estándar:<br />
<br />
- 1.590 se convierte en 1,6 x 10^3<br />
<br />
- 3,64 se convierte en 3,64 x 10^0<br />
<br />
- 0,763 se convierte en 7,63 x 10^-1<br />
<br />
- 4,39 se convierte en 4,39 x 10^0<br />
<br />
- 930 se convierte en 9,30 x 10^2<br />
<br />
Nuestra expresión original se convierte en:<br />
<br />
(1,6 x 10^3) x (3,64 x 10^0) x (7,63 x 10^-1) [8]<br />
----------------------------------------------<br />
(4,39 x 10^0) x (9,30 x 10^2)<br />
<br />
La expresión aritmética [8] es nuestra expresión original en la cual los operandos se expresan de forma estándar o científica.<br />
<br />
En este punto debemos recordar la precedencia de operadores aritméticos. Esto es, la operación de multiplicación tiene una precedencia mayor que la operación de división. Por tanto resolveremos las multiplicaciones y al final resolveremos la división. Este método no es el recomendado por los calculistas de antaño. El método que ellos recomendaban (para minimizar la cantidad de desplazamientos de la regla) es el de "zig-zag" (vease la nota al final de esta entrada). También es importante indicar que al utilizar una regla de cálculo, es posible resolver operaciones de multiplicación continuada del tipo aa x bb x cc. Para esto deslizamos la unidad de la escala C sobre el primer multiplicando. Seguidamente deslizamos el apuntador sobre el próximo multiplicando en la escala C. Observamos el resultado intermedio en la escala D (en el mismo punto indicado por el apuntador en este instante). Luego deslizando la unidad de la escala C sobre la posición del indicador, deslizamos el indicador sobre el siguiente operando en la escala D. Observamos el resultado final en la escala C en la nueva posición del indicador. No mostraremos aquí imágenes de la regla de calculo. La imágen anterior puede servir como guía. Luego publicaré un enlace para descargar reglas de calculo en forma de applets de java para practicar en el navegador de Internet. Yo utilizo una Faber-Castell 2/82 y una Aristo 0968 (ambas muy buenas para el cálculo de sobre-mesa por su buen tamaño de más de 25cm). Lo importante de tener varias reglas de cálculo es que permite la práctica constante. En su libro sobre la Regla de Cálculo, el doctor Porcel nos dice que el oficio de calculista es similar a la taquigrafía: como el caso de la taquigrafía, se debe practicar frecuentemente.<br />
<br />
Procedemos entonces a reducir las expresiones del numerador y denominador de la división:<br />
<br />
1,6 x 3,64 x 7,63 x 10^2 (9)<br />
------------------------<br />
4,39 x 9,30 x 10^2<br />
<br />
NOTA IMPORTANTE: La multiplicación en el denominador dará como resultado 4 x 9 = 36. Igualmente para el caso del numerador 3 x 7 = 21. Es decir, el resultado será una cifra con un orden superior al de las cifras multiplicando. Por otra parte, la regla de cálculo nos da el resultado con, máximo, tres cifras significativas pero sin indicación de dónde puede estar localizada la coma decimal. Entonces, debemos tomar en cuenta en nuestro calculo mental o en nuestras anotaciones este orden superior del resultado (10^1). Con lo cual, la expresión del denominador en (9) quedaría: 4,39 x 9,30 x 10^2 x 10^1. Continuamos nuestras operaciones sin tomar en cuenta esto, suponiendo que las cuentas las hacemos mentalmente. Pero ya sabemos que para el calculo con regla debemos tomar en cuenta estos cambios de orden en las operaciones parciales.<br />
<br />
Resolviendo las multiplicaciones en (9) nos queda:<br />
<br />
4,44 x 10^2 (10)<br />
------------<br />
4,07 x 10^2<br />
<br />
Para finalizar resolviendo la división en (10):<br />
<br />
1,09 x 10^0 = 1,09 x 1 = 1,090<br />
<br />
El resultado del programa RPN en la calculadora fué 1,0816.<br />
<br />
Dejo el siguiente ejercicio al lector:<br />
<br />
0,028 * 0,0031 * 0,4<br />
---------------------<br />
0,315 * 0,22 * 0,5<br />
<br />
<br />
Lo interesante del uso de tablas logaritmicas o regla de cálculo es que la acción de resolución se hace mentalmente con ayuda de la herramienta (tablas o regla). Es decir, llevamos mentalmente la cuenta de los exponentes de diez (10).<br />
<br />
Otro punto importante, sobre la resolución de operaciones como las anteriores y a través de la regla de cálculo, es que se sigue un esquema de "zig-zag" para aprovechar el posicionamiento de la regla en cada sub-desplazamiento. Por ejemplo:<br />
<br />
A x B x C<br />
---------<br />
D x E<br />
<br />
La secuencia de operaciones sería: (((A / D) x B) / E) x C<br />
<br />
El siguiente ejemplo (e imagen) muestra cómo se opera con tabla de logarítmos y por otra parte con regla de cálculo. Supongamos que nos plantean la siguiente división:<br />
<br />
0,0272 x 27,1 x 12,6<br />
---------------------<br />
2,371 x 0,007<br />
<br />
Usando tabla de logarítmos tenemos,<br />
<br />
log(0,0272) = (-) 2,43457<br />
log(27,1) = 1,43297<br />
log(12,6) = 1,10037<br />
- log(2,371) = (-) 1,62507<br />
- log(0,007) = 2,15491 +<br />
-------------<br />
2,74789<br />
<br />
Aplicando Antilog(2,74789) = 559,6<br />
<br />
El cálculo con tabla de logarítmos (incluidas las operaciones de sustracción de 1,00000 para cada valor negativo de logarítmo más la sumatoria total final) tomó 6 minutos aproximadamente.<br />
<br />
Luego, haciendo el cálculo con la regla (utilicé una regla Hemmi SUN 259D con escalas D, C, DF, CF),<br />
<br />
Paso 1. utilizo las escalas DF-CF y D-C siguiendo la estrategia "center-drift" con los valores 12,6 y 0,007 localizados en las escalas superiores DF-CF y el resto de los valores localizados en las escalas inferiores D-C. Obtenemos el valor "562".<br />
<br />
Paso 2. Aproximación de la coma decimal por medio de la notación Estándar -1 -(-3) = 2, obtenemos el valor definitivo "562,0".<br />
<br />
El cálculo con regla tomó 1 minuto aproximadamente.<br />
<br />
La diferencia entre los valores "559,6" del cálculo con tabla de logarítmos y el "562,0" se explica dado que la tabla de logarítmos contempla valores resultantes de hasta 4 dígitos, mientras que la regla (que en este caso es de 25cm.) contempla hasta 3 dígitos. Sin embargo, el uso de la regla acelera los cálculos. Sobre todo en operaciones múltiples que incluyen productos, cocientes e incluso funciones trigonométricas y/o exponenciales, la regla es como la taquigrafía!<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK2j7D7YSf_L-RsWcPQxY_shLEECBTiJb5_CLBh6uKr_Iz-z2m3mDmRjjFvSYu4EGO5ijUrYGyXxfM6NRdaJbG6Exn9ssQu2Msyxg2TPOJJytqz1LynShxr9dMRXYbPwN84C_ZWw/s1600/Calculo_Log_y_Regla.JPG"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK2j7D7YSf_L-RsWcPQxY_shLEECBTiJb5_CLBh6uKr_Iz-z2m3mDmRjjFvSYu4EGO5ijUrYGyXxfM6NRdaJbG6Exn9ssQu2Msyxg2TPOJJytqz1LynShxr9dMRXYbPwN84C_ZWw/s320/Calculo_Log_y_Regla.JPG" id="BLOGGER_PHOTO_ID_5712141932312041522" style="cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 240px;" /></a>Aquí se muestra la hoja en la cual se realizó el cálculo final y el valor marcado en la escala de la regla (escala D, es decir primera escala de abajo hacia arriba)José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-4743510293794530742010-06-14T15:44:00.000-07:002014-09-07T16:32:36.413-07:00Intérpretes y el arte de la programación, 2da Parte<br /><i>It is no exaggeration to regard this as<br />the most fundamental idea in programming:<br />"The evaluator, which determines<br />the meaning of expressions in a<br />programming language,<br />is just another program"<br /><br />Structure and Interpretation of Computer Programs<br />Abelson & Sussman, 1996</i><br />
<br />
<br />
Continuación del tema sobre programación de computadoras, Intérpretes y el arte de estructurar. Esta entrada junto con la anterior (1ra parte) conforman un breve resumen y crónica sobre la idea fundamental de la programación de computadoras.<br />
<br />
Revisaremos las estructuras: Analizador Sintáctico, Intérprete. Además de la programación funcional como herramienta habilitadora en la construcción de Analizadores Sintácticos (Parsers en inglés) que "navegan" a traves de gramáticas de lenguajes para descubrir la estructura inmersa en un texto cualquiera. La estructura del texto está definida por una Gramática. Una Gramática se utiliza para definir un Lenguaje y sobre-poner una estructura en cada Sentencia del Lenguaje (la gramática en si misma es una programa, ejecutado por un autómata que recorre las producciones gramaticales y también el texto del listado fuente siendo traducido). La función de "navegar" de un Analizador Sintáctico verifica que el texto obedece las convenciones sintácticas de la Gramática. Revisar estas estructuras virtuales es un paso necesario para continuar nuestro recorrido sobre Intérpretes y Virtual Machines partiendo ahora de los años 1970s. Uno de los ejemplos que utilizaremos se conecta directamente con la referencia que hicimos de FORTRAN en la 1ra Parte. Este tema es muy extenso y en la Internet y en las bibliotecas existe mucha literatura sobre él. Recomiendo entonces tomar estos escritos como punto inicial en una labor de investigación en la cual el lector descubrirá el gran espectro de aplicaciones que tienen hoy día y que tendrán en el futuro estas ideas fundamentales. También, al igual que en la 1ra parte, haremos referencia a varios textos de estudio.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixrT0qIrUwhBSm6BDVEn67iNFXeFPbZInBrb5sNp41RFP3P3aFmzXxj-dBB-BQx5zzEMSe4y39w81clTPD5sBr15wQ0AJJBqGiwgTwxXn3g7BlC2qwVkeAvApSz1OaH86NOsfXsg/s1600/EULER_Interpreter.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixrT0qIrUwhBSm6BDVEn67iNFXeFPbZInBrb5sNp41RFP3P3aFmzXxj-dBB-BQx5zzEMSe4y39w81clTPD5sBr15wQ0AJJBqGiwgTwxXn3g7BlC2qwVkeAvApSz1OaH86NOsfXsg/s320/EULER_Interpreter.jpg" id="BLOGGER_PHOTO_ID_5487824379440029922" style="cursor: hand; display: block; height: 276px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
Sección del listado fuente de EULER, la cual representa al Intérprete para la ejecución del P-Code generado por compilador [1]. Wirth nunca más abandonó este método de escribir a cerca de un lenguaje X incluyendo dentro del mismo texto/documento el listado fuente de un Compilador e Intérprete para la traducción del lenguaje X. Documentos como este de Wirth, escritos durante la década de 1960, sembraron la semilla para la portabilidad y método de distribución de lenguajes de 3ra generación que proliferaron durante la década de 1970 (Tiny Basic, SmallTalk y otros).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp81sOgqC4JKDySpdAmdy3J3yaE_xT0D3ziLgf9KQBC4pxixJ8Ppl4rxuoc2E0f4aGLugCyupPCULpvQKeFsx8OSsKh_EuPhuTtnO6vyh9pvX74sHFPvGFJhICbngXdiN24K0seg/s1600/Hanoi_Towers_Pascal.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp81sOgqC4JKDySpdAmdy3J3yaE_xT0D3ziLgf9KQBC4pxixJ8Ppl4rxuoc2E0f4aGLugCyupPCULpvQKeFsx8OSsKh_EuPhuTtnO6vyh9pvX74sHFPvGFJhICbngXdiN24K0seg/s320/Hanoi_Towers_Pascal.jpg" id="BLOGGER_PHOTO_ID_5487876776277217394" style="cursor: hand; display: block; height: 86px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a> Muestra del clásico ejemplo las Torres de Hanoi escrito en el lenguaje Pascal. La siguiente figura muestra la traducción hecha por el compilador Pascal-F. El traductor o Compilador Pascal-F recibía de entrada un listado fuente en lenguaje Pascal y producía en su salida un listado fuente en F-Code. Este listado fuente en F-Code es Fortran puro y podía ser traducido a su vez por cualquier compilador Fortran de la época [2] . Este método (de utilizar un lenguaje de alto nivel como lenguaje Assembler, aprovechando la difusión de tal lenguaje para asegurar la portabilidad) continuó apareciendo en las siguientes décadas a 1970s. La primera referencia bibliográfica de este método la encontré en el libro "Compiler Design in C" por Allen I. Holub (1990). Posterior a esta publicación existe el trabajo titulado "C--: A portable Assembly Language" por Peyton Jones, Nordin, Oliva (1997). Este último trabajo es en parte una crítica a la utilización del lenguaje C como Assembler.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinX6orS_yQyUNZoZjvdGZ__kGWLpflNK4GZ1kPjc6PJ6aS0zMCAj3TQuWy-mYTEzVMiCjFUC0uin_cZ2Y2S2dr9N4bqkF-xFtfYQIERrX2eHndLFy0JCSfOe0ml1MMwR9njtjpkg/s1600/Hanoi_Towers_FCode.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinX6orS_yQyUNZoZjvdGZ__kGWLpflNK4GZ1kPjc6PJ6aS0zMCAj3TQuWy-mYTEzVMiCjFUC0uin_cZ2Y2S2dr9N4bqkF-xFtfYQIERrX2eHndLFy0JCSfOe0ml1MMwR9njtjpkg/s320/Hanoi_Towers_FCode.jpg" id="BLOGGER_PHOTO_ID_5487825273357914866" style="cursor: hand; display: block; height: 290px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<br />
Un punto muy importante a tomar en cuenta: el Compilador diseñado por Manning estaba escrito en lenguaje Pascal, de tal manera que su listado fuente pudiera ser compilado por otra instancia del mismo compilador ya existente en la instalación destino (un Compilador Pascal traduciendo el listado fuente del mismo Compilador). Aquí aparece nuevamente la idea fundamental expresada por los profesores Abelson y Sussman en su libro: “el evaluador o programa que traduce un programa, es en sí mismo otro programa”. Esta idea fundamental permitió el transporte y la reproducción) de compiladores y lenguajes de una plataforma computacional a otra. La siguiente imagen muestra esta idea fundamental de un evaluador (traductor) construyendo otra instancia de si mismo ("Drawing Hands" - Maurits Cornelis Escher, 1948)<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidmKZUpvu5KhnNIf5oPFISJEDQvbjymxF9O84aD5ft46IcOYFBx8Pz5WFosL9JZOohojxEYOA-2Ti04SWf197-J_yaestqm7a9edZCDD5eg3QRVjYnACiOzwbayUA9p203TBFI4A/s1600/Hands_Evaluador.jpg"></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhNgeVhvd6fjSFFxJeiB36N7UJYLiov7ugKf5gVyC3Oqg7t0kbPYyWZjYLCMSVOs-c-1ni2tHcMf2uxDWzrkvQGPSr1tRMbpX36HsMxCzNfkLqoXdIPDhjh9-dLTwZS7rRLgj_pw/s1600/Drawing-hands.jpg"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhNgeVhvd6fjSFFxJeiB36N7UJYLiov7ugKf5gVyC3Oqg7t0kbPYyWZjYLCMSVOs-c-1ni2tHcMf2uxDWzrkvQGPSr1tRMbpX36HsMxCzNfkLqoXdIPDhjh9-dLTwZS7rRLgj_pw/s200/Drawing-hands.jpg" id="BLOGGER_PHOTO_ID_5494149131817903058" style="cursor: hand; cursor: pointer; display: block; height: 196px; margin: 0px auto 10px; text-align: center; width: 200px;" /></a><br />
<br />
El Sistema Operacional UNIX es otro ejemplo de la aplicación de la tendencia hacia la Portabilidad que nació entre los años 1967 y 1971. Los creadores del UNIX escribieron los listados fuente en el lenguaje Assembler para la computadora DEC PDP-7 localizada en Bell Laboratories para el año 1968 [3]. Posteriormente, en 1973, los listados fuente fueron re-escritos en un lenguaje llamado C [3]. Es de suponer que el ejemplo que Niklaus Wirth dio en 1965 con el lenguaje EULER motivó el uso del método de escribir Compiladores e Intérpretes (e incluso Sistemas Operacionales como en este caso de UNIX) utilizando un lenguaje X para traducir el mismo lenguaje X.<br />
<br />
Otro punto fundamental que revisaremos es la abstracción en la programación. Segun el texto de Abelson y Sussman, existen tres mecanismos para la construcción de ideas complejas a partir de ideas básicas [4]:<br />
<br />
* Expresiones primitivas, las cuales representan las entidades más simples del lenguaje de programación.<br />
* Formas de combinación, mediante las cuales se sintetizan elementos compuestos a partir de las entidades más simples.<br />
* Formas de abstracción, mediante las cuales se asignan nombres a los elementos compuestos para luego poder ser manipulados como entidades simples. Este mecanismo de abstracción es fundamental en lenguajes como C++, C#, OBERON, Scheme, Java.<br />
<br />
-------------------------------------------------------------------------------<br />
<br />
[1] Wirth y Amp - Euler: A generalization of Algol, and its Formal Definition – 1965<br />
[2] Joseph Manning - PASCAL-F : A Portable FORTRAN-Based PASCAL Compiler - 1981<br />
[3] Kernighan y Pike - The Unix Programming Environment – 1984 <br />
[4] Abelson y Sussman - Structure and Interpretation of Computer Programs - 1996<br />
<br />José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-14944998762022851062010-04-26T13:53:00.000-07:002017-02-28T05:39:51.548-08:00Diseño de Computadores en 1950s, Interpretes y el arte de diseñar Lógica digital...1ra Parte<br />
<br />
<div style="text-align: right;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<i>"We are about to study the idea of a computational process.<br />Computational processes are abstract beings that inhabit<br />computers. As they evolve, processes manipulate<br />other abstract things called data.<br />The evolution of a process is directed by a pattern<br />of rules called a program.<br />People create programs to direct processes.<br />In effect, we conjure the spirits of the computer with our spells."<br /><br />Structure and Interpretation of Computer Programs<br />Abelson & Sussman, 1996</i></div>
<br />
<br />
<div style="text-align: right;">
<i>"Much of my story takes place in 1967, by which time a great many sophisticated<br />computer programs had been written all over the world. Computing machines had come<br />a long way since their invention in the 30s and 40s"</i></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<i>The Genesis of Attribute Grammars<br />Donald E. Knuth, Stanford University, 1970</i></div>
<br />
<div style="text-align: right;">
<i>"The user of a modern computer faces a bewildering array of languages: languages of machine control; high level languages, which must be translated; languages to express the translation process; and languages to define languages. All these languages are artificial, retricted modes of expression first invented by someone and then tediously learned by others."</i></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<i>A Compiler Generator (XPL language)</i></div>
<div style="text-align: right;">
<i>McKeeman, Horning, Wortman - 1969</i></div>
<br />
<div style="text-align: right;">
<i>"The computer programs for the Apollo spacecraft will son become the most pacing ítem for the Apollo flights."</i></div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
<i>Howard W. Tindall, NASA-Especialista asignado al MIT/IL 1966</i></div>
<div style="text-align: right;">
<i></i></div>
<br />
<br />
<u><b>Introducción</b></u><br />
<br />
<div style="text-align: justify;">
Los siguientes fragmentos e ideas conforman un subconjunto de varias conversaciones que sostuve con Hugh Blair-Smith (HB-S), con el Dr. Ramón Alonso (RA) y con Eldon C. Hall (EH) entre los años 1997 y 2008, conjuntamente con material histórico adicional que intercale en el texto como guía a los temas tocados. Blair-smith quien fuera el diseñador de la Microarquitectura del computador del Apollo, consultor para el software de alta disponibilidad del transbordador espacial y diseñador del software de auto-verificación para uno de los sistemas del nuevo Lunar Orbiter lanzado (hasta donde supe) en el año 2008. El Dr. Ramón Alonso fue el arquitecto del computador de la sonda que el MIT/IL planeaba para una misión a Marte en 1956. Su diseño de computador (desarrollado en conjunto con Halcombe Laning y Ramón Alonso) se convirtió en la base para el computador Apollo de los 1960s. Eldon C. Hall fue el director del proyecto de construcción del computador Apollo. Anterior a este trabajo, Hall ya había ejercido el mismo papel para el proyecto del sistema de guía en el misil Polaris. Uno de los grandes legados que ha dejado Eldon Hall es el haber utilizado circuitos integrados de compuertas en el diseño del computador Apollo, en una época cuando estos "bichos" no eran confiables y muchos fabricantes de computadores no se atrevían a usarlos.</div>
<br />
<div style="text-align: justify;">
Desde hace varios años he recabado información histórica sobre programas Intérpretes y sus aplicaciones desde los años 1940s. Tomando en cuenta las tendencias en materia de "Virtualización" que han aparecido en los últimos 6 años tendría mucho sentido hacer este recuento. El motivo de quien escribe no es hacer un ejercicio en erudición histórica. Más bien es un resumen/resultado de varios años de investigación a destajo, los cuales se colocan a disposición de cualquier interesado y que sirvan de punto de partida para nuevas investigaciones en historia de la tecnología. Debe disculpar el lector cierto desorden en la organización del texto. Publicar la información de forma más ordenada requeriría todo un documento tipo monografía a parte. Mis ocupaciones laborales me han impedido tener un poco de paz mental para sintetizar el grueso de documentación que tengo en mis manos. Espero contar con la salud suficiente en los próximos años para publicar todo esto en un texto técnico/histórico. El objetivo último de estos escritos es divulgar la cronología de ideas y transferencia de conocimientos que permitieron armar los sistemas de computación que se utilizan hoy día en diferentes actividades. Mi intención es mostrar cómo un método estructurado de diseño/construcción nos permite (partiendo de cero y con solo materias primas básicas) obtener herramientas para la investigación y la creación de más conocimiento. </div>
<br />
<div style="text-align: justify;">
Hay mucha información histórica que se cruza. Por lo tanto, se incluyen notas y comentarios para guiar al lector y ponerlo en contexto y/o alertarlo sobre inter-relaciones entre tecnologías o hechos históricos. También se hace referencia a textos interesantes sobre estos temas.</div>
<br />
<br />
<div style="text-align: justify;">
<u><b>Sobre Intérpretes (Virtual Machines) creados para los primeros prototipos del Apollo Guidance Computer - primer uso de este método de distribuir el trabajo en Software</b></u></div>
<br />
<div style="text-align: justify;">
<i>HB-S: As for the interpreter, you certainly have a very early model in that paper, since Mod 3C was, in effect, "AGC Block Zero." Let me give you a few comments off the top of my head, without looking up anything -- though I could do some of that if you have further questions.</i></div>
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8_hWbzmU2cGu4D47LJAhNRcAJF_nAy1K4nABEyCuQC0GDjFRENVvgjqmnrHN4VhoQqkr3T8iUCPnD7iSWiX2cYYv_A2i2eM12VhpqFez2NB5lBu1QSTCKv4saIZ_ze_kmeII6RA/s1600/Yul_Interpreter.jpg"><img alt="" border="0" height="285" id="BLOGGER_PHOTO_ID_5464820755084279458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8_hWbzmU2cGu4D47LJAhNRcAJF_nAy1K4nABEyCuQC0GDjFRENVvgjqmnrHN4VhoQqkr3T8iUCPnD7iSWiX2cYYv_A2i2eM12VhpqFez2NB5lBu1QSTCKv4saIZ_ze_kmeII6RA/s320/Yul_Interpreter.jpg" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /></a><br />
<div style="text-align: center;">
Figura 1.</div>
<div align="left">
<br /></div>
<div align="left" style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">Figura 1: parte del código fuente escrito en Assembler YUL para un modelo de intérprete de instrucciones Mod 3C (tomado del reporte MIT E-1077 - Preliminary Mod 3C Programmers Manual, Blair-Smith, Alonso, Laning - 1961). Este Intérprete utilizaba una Jump Table para localizar las Subrutinas que ejecutan cada Operación de "Alto Nivel". Más adelante en este artículo se muestra una imagen de uso de estas instrucciones de "Alto Nivel" o Ecuaciones.</span></span></div>
<div align="left">
<span style="font-size: 85%;"><br /></span><span style="font-size: 85%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSe56_a3XVM2r8ou1PnFnb4gIXdE7P1iiRQXwu0cKYm59zYL038Wh28N5AeeIUXT8QKe2q5v-wZKHlzGtALh9Cmbbb5RWFuGmVcjp8TPSBnUoYIFLr0_rB5Bch2TNPUvestwnFTg/s1600/Jump_Tab_Luminary.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" height="240" id="BLOGGER_PHOTO_ID_5637959862828385746" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSe56_a3XVM2r8ou1PnFnb4gIXdE7P1iiRQXwu0cKYm59zYL038Wh28N5AeeIUXT8QKe2q5v-wZKHlzGtALh9Cmbbb5RWFuGmVcjp8TPSBnUoYIFLr0_rB5Bch2TNPUvestwnFTg/s320/Jump_Tab_Luminary.JPG" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /></a></span></div>
<div align="left">
<div style="text-align: center;">
Figura 2.</div>
<br /></div>
<div style="text-align: justify;">
En la Figura 2: sección del Software LUMINARY del módulo lunar Apollo que ejecuta el Intérprete (el "CPU de Software"). Específicamente se muestra la Jump Table que despacha a las Subrutinas para ejecución de intrucciones de "Alto Nivel" o Ecuaciones.</div>
<div align="left">
<span style="font-size: 85%;"><br /></span><span style="font-size: 85%;"><i><span style="font-size: small;">HB-S: First of all, the interpreters in all 3 AGC blocks had the same purpose: to reduce the memory usage for double precision (including vector) calculations, at a considerable cost in additional execution time. The additional time was acceptable because that kind of calculation was used only for navigation and guidance functions that were done infrequently and at low priority compared to, say, flight control. I'm pretty sure that the DAP and general flight control never used interpretive language.</span></i></span></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: justify;">
<span style="font-size: 85%;"><i><span style="font-size: small;">HB-S: In the executive, any routine that was going to use interpretive allocated a VAC (Vector Accumulator) block of working memory; any routine that didn't use interpretive allocated the smaller and simpler block size.</span></i></span></div>
<div style="text-align: left;">
</div>
<div style="text-align: justify;">
<span style="font-size: 85%;"><i><span style="font-size: small;">HB-S: A note on notation: because so much of our logic was concerned with either interrupts or interpretive, we wanted distinctive abbreviations for those two words. Since the first 5 letters are the same, we used the end pieces "RUPT" and "PRET" as abbreviations in YUL code.</span></i></span></div>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">El software en el computador Apollo (Apollo Guidance Computer) fue escrito utilizando dos (2) lenguajes: un lenguaje Assembler básico (que Blair-Smith llamó YUL) y un lenguaje Interpretado más orientado hacia el calculo Vectorial y Matricial con números de precisión doble (28 bits). YUL estaba basado en el Assembler SOAP (Symbolic Optimizing Assembler Program) del computador IBM 650 (como lo indica el propio Blair-Smith en sus anotaciones al libro de Eldon C. Hall - "Annotations to Eldon Hall's Journey to the Moon"). El Intérprete utilizaba una notación polaca de operando y operadores (Polish Prefix). Las operaciones de Navegación y Guía en Apollo implicaban el uso de Vectores de Estado (posición y velocidad) y trabajo con Matrices (como el procedimiento Gaussian Least-Square para determinar la posición en el espacio). Cada 0.1 segundos el Piloto Automático Digital (DAP) entraba en ejecución y una de las funciones del DAP era el de Estimador Óptimo (Optimal Estimator) que implicaba cálculo Vectorial. Para todo esto, la idea de un programa Intérprete fue de mucha utilidad y ahorró espacio de memoria en el computador. Para una muestra de la programación "a bajo nivel" del Software Apollo ver el ensayo monográfico publicado en la MAPLD 2004 - "Attitude Controller Assembly Input Processing": <a href="http://web.mit.edu/digitalapollo/Documents/Chapter8/portillo.pdf">http://web.mit.edu/digitalapollo/Documents/Chapter8/portillo.pdf</a></span></span></div>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">El siguiente fragmento proviene de las anotaciones que Blair-Smith hizo sobre el libro de Eldon C. Hall "Journey to the Moon" ("Annotations to Eldon Hall's Journey to the Moon") y en el cual se da la cronología del Assembler YUL:</span></span></div>
<span style="font-size: 85%;">
</span><span style="font-size: 85%;"><br /><span style="font-size: small;">- Cita Blair-Smith -</span><span style="font-size: small;"><i>In 1959, the Model 1A was known as the "Christmas computer" because of a wildly optimistic theory that the machine and its system software would be finished by Christmas of that year. My first assignment, on joining the Lab in September 1959, was to write an "assembler for an unknown number of machines with unknown characteristics," meaning the Mod 1A and whatever would come after it. This was what we now call a "cross-assembler," because it had to run on a "real" machine rather than the (yet unbuilt!) one whose code it was translating from assembly language to binary. The other quality, that it could be easily tweaked up to assemble code for other machines that hadn't been designed yet, does not have a modern term because as far as I know, there had never been, and has never been since, anything quite like it. In honor of the "Christmas computer," I named the assembler the "Yul System" and it served the Mod 1A, Mod 1B, Mod 3S, Mod 3C, AGC4 (Block I AGC), and two versions of the final Block II AGC. At each level, it translated two separate assembly languages: a low-level one in which each line of assembly-language text was turned into a binary instruction word of 11 bits (later 15) that the machine could execute directly, and a higher-level one in which each line was turned into a binary "interpretive instruction" which an interpreter program executed by simulating a considerably smarter computer. The Yul System itself was written in assembly language and ran on an IBM 650, in which memory was a magnetic drum, logic was vacuum tubes, and input/output was punched cards. Later I ported it to assembly language for the Honeywell 800.</i></span><span style="font-size: small;">- Fin de la cita Blair-Smith -</span><span style="font-size: small;"><br /></span><span style="font-size: small;"><br /></span><span style="font-size: small;"><i>HB-S: In the AGC design, the word length of 15 bits was chosen because it was the smallest size that would accommodate such subsystem variables as angles and accelerometer pulse counts. Also, the double-precision word length of 28 bits and sign was just enough to accommodate vector components for distance and velocity (28 bits is about 250 million, and the distance in feet from Earth to Moon is about 1200 million, and a precision of 5 feet in the last bit was plenty good enough). The only thing we kept in triple precision was Mission Elapsed Time, and we didn't need to use interpretive for that.<br /><br />HB-S: So there wasn't exactly an "application example." It was simply that anything involving vector calculations (which naturally includes trig) was done in interpretive.<br /><br />HB-S: As I write this, I've been trying to remember what the Block I interpretive language looked like, but no luck! I'm pretty sure that the idea of using Reverse Polish Prefix notation first arose for Block II. I remember making a pencil sketch of the head of Łukasiewicz, the inventor of regular Polish Prefix notation (or more precisely, what I thought his head ought to have looked like!), and taping it to my office wall. But whether that was in 1962 (Block I) or 1965 (Block II) I can't remember for sure. What is certain is that the Block II interpretive language and the Block II AGC were designed together -- that's why one erasable address (0023?) performed a 7-bit right shift to position the left op code for jump table use.<br /><br />HB-S: Polish Prefix notation as developed by Lukasiewicz consisted of variable names followed by the operators to use on them. That's OK for hand-held calculators, but too awkward for interpreter use. That's why somebody (not us) invented Reverse Polish Prefix, in which the operators are followed by the variable addresses. As you've seen, our priority for saving space led us to pack 2 interpretive op codes per word, followed by whatever addresses those particular ops need. Having 15 bits for addresses was advantageous too, even if it didn't extend into Superbanks, because the interpreter performed all the necessary bank-switching. But the best part about Polish is that you don't need addresses for short-term intermediate variables, because the structure implies how to push and pop with a stack.</i></span></span><br />
<span style="font-size: 85%;"></span><br />
<div style="text-align: justify;">
</div>
<span style="font-size: 85%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkc2-U2ry8fTh3R7BRQ9Vumqdzk5yqZ00EqGFgwIB41kaP15snLNmoWpqjY038VW0p5UPGtLP8Xh3FvWnkVjppPI3_QsvTUM4mRr43p30YzQlBQnWRYjqSNXXiIj2AUS-tvEqZqw/s1600/Coelliptic_Sequence.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}">
<img alt="" border="0" height="220" id="BLOGGER_PHOTO_ID_5635650326646036386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkc2-U2ry8fTh3R7BRQ9Vumqdzk5yqZ00EqGFgwIB41kaP15snLNmoWpqjY038VW0p5UPGtLP8Xh3FvWnkVjppPI3_QsvTUM4mRr43p30YzQlBQnWRYjqSNXXiIj2AUS-tvEqZqw/s320/Coelliptic_Sequence.JPG" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /></a></span><br />
<div style="text-align: center;">
Figura 3.</div>
<div align="left">
</div>
<div style="text-align: justify;">
<br />
<span style="font-size: 85%;"><span style="font-size: small;"><u><b>Breve disertación sobre marcos referenciales y virtualización en Apollo</b></u></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: 85%;"><span style="font-size: small;">Blair-Smith afirma en el párrafo anterior que no recuerda como eran las instrucciones para la Virtual Machine desarrollada en el Mod 3C. La figura 3 es muestra de instrucciones del lenguaje seudo-algebraico ejecutadas por el Intérprete. Se trata de un trozo de la subrutina llamada "Coelliptic Sequence Initiation" y es parte del programa LUMINARY del módulo lunar Apollo. Durante el ascenso del módulo lunar hacia la orbita lunar, en el viaje de regreso/encuentro con el módulo de comando, la tripulación alimentaba al PGNS (Primary Guidance and Navigation System - el nombre dado al grupo de programas dentro del AGC que incluía todos los Major Modes de navegación y guia - al PGNS lo tenían como el gran orquestador del ballet orbital ejecutado por Apollo y se pronunciaba "Pings") con varios programas - uno de ellos es este Coelliptic Sequence Init. Aquí podemos ver como era utilizada la notación polaca (Polish Prefix) - instrucción u operador de alto nivel seguida de los operandos. Por ejemplo, en la muestra de listado se observa la instrucción interpretada (de "alto nivel") "DAD". Esta instrucción ejecuta un Double Precision Add (suma de doble precisión), en contraste con la instrucción de máquina (de "bajo nivel") "AD" microprogramada en el Sequence Generator del AGC y ejecutada por la lógica electrónica que se muestra en la figura 11 (Sumador del AGC - construido con lógica basada en NOR Gates). Muchos cálculos con Vectores/Matrices y números de doble precisión (28 bits) que aparecen en los programas de Guía (Major Modes - como este Coelliptic Sequence Init. y el siguiente Delta High) del Software Apollo son resueltas por este Intérprete que nació en el diseño Mod 3C y prosperó hasta Apollo. Otra instrucción muy usada era la multiplicación de una matriz por un vector (el DSKY - Display Keyboard - del computador tenía tres grupos de displays digitales de 7-segmentos para mostrar los 3 componentes vectoriales - figura 3.1). Con estas instrucciones interpretadas se programaba en "alto nivel" la lógica y cálculos de guía y navegación. Al conjunto de Operador + Operandos se le llamaba "Ecuación" (Codigo de Operación seguido de los Operandos) según la notación polaca (ver "MIT's Role in Project Apollo, Volume III; Computer Subsystem, R-700, MIT Instrumentation Laboratory, Cambridge, MA, Aug. 1972" - Eldon C. Hall). De esta manera, el lenguaje básico de programación del AGC quedaba extendido con un lenguaje orientado al anejo de matrices y vectores. </span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA_JG-G7TiQ4344YZgmR3ykSIQF0KDFWXxrFOpoWnCCBEOQvT9J6-wppjVGqY6rzbxwHgJ5Mim8HpRUWJS4bQ4dJ_IzErZX5sC2rmh7ToNl6fZKlWDIDgQQWZDaFtk0IZYD-NlaA/s1600/APOLLO_Panel.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA_JG-G7TiQ4344YZgmR3ykSIQF0KDFWXxrFOpoWnCCBEOQvT9J6-wppjVGqY6rzbxwHgJ5Mim8HpRUWJS4bQ4dJ_IzErZX5sC2rmh7ToNl6fZKlWDIDgQQWZDaFtk0IZYD-NlaA/s400/APOLLO_Panel.png" width="300" /></a></div>
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
Figura 3.1. Display & Keyboard del Apollo Guidance Computer en el panel principal del módulo de comando. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
El programa, para el caso de la misión Apollo XI, fue bautizado COLOSSUS IIA. Michael Collins, el piloto del módulo de comando, relata su encuentro con COLOSSUS IIA -"My computer had been equipped with a slightly different program which MIT called Colossus IIA; it was aptly named... Colossus IIA was my uncompromising companion, and I would never truly be alone in the command module."</div>
<br />
Otra sección del programa LUMINARY (y de los programas COLOSSUS y COMANCHE, incluidos en la memoria Rope del módulo de comando) está dedicada al cálculo de las secciones Cónicas (subrutinas KEPLER y LAMBERT) para la solución de problemas de trayectorias de vuelo producidas por las fuerzas centrípetas que actuaba sobre el punto de masa de la aeronave Apollo. Dichas fuerzas eran ejercidas por los diferentes cuerpos celestes (tierra, luna y sol) que eran considerados centrales en cada punto del recorrido. Estas subrutinas reciben (explicado aquí a modo general) un vector de estados inicial y el tiempo e el cual dicho vector de estados debe ser actualizado a través de una trayectoria cónica (alguna sección cónica: circular, elíptica, parabólica, hiperbólica o rectilínea) respecto al cuerpo celeste (luna, tierra).<br />
<br />
El siguiente es un ejemplo de implementación de la subrutina LAMBERT en el lenguaje seudomatemático interpretado:<br />
<br />
(tomado del listado del programa COLOSSUS Revisión 88)<br />
<br />
40220 LAMBERT STQ SETPD <br />
02712 RTNLAMB <br />
00001 0D <br />
77600 BOV <br />
25231 +1 <br />
76731 SSP VLOAD* <br />
00027 ITERCTR <br />
00024 20D <br />
11740 MUTABLE,1 <br />
14017 STODL 1/MU <br />
02673 TDESIRED <br />
77675 DMPR <br />
11615 BEE19 <br />
03777 STORE EPSILONL <br />
77214 SET VLOAD <br />
00474 SLOPESW <br />
02657 R1VEC <br />
45115 PDVL CALL <br />
02665 R2VEC <br />
11702 GEOM <br />
16732 STODL SNTH <br />
02722 MAGVEC2<br />
65301 NORM PDDL <br />
00047 X1 <br />
00041 R1 <br />
56342 SR1 DDV <br />
65257 SL* PDDL <br />
20173 0 -6,1<br />
77626 STADR <br />
75043 STORE CSTH <br />
44342 SR1 BDSU <br />
11612 D1/4 <br />
02736 STORE 1-CSTH <br />
53106 ROUND BZE <br />
25473 360LAMB <br />
65301 NORM PDDL <br />
00047 X1 <br />
00001 0D <br />
56342 SR1 DDV <br />
75457 SL* SQRT <br />
20176 0 -3,1<br />
54325 PDDL SR <br />
02732 SNTH <br />
20607 6 <br />
<br />
La subrutina LAMBERT es invocada cada vez que se ordena un impulso (propulsión) en el vuelo. Esta basada en el problema de astrodinámica llamado de Lambert. Existen muchoas propiedades interesantes sobre las secciones conicas. El teorema de Lambert (demostrado a traves de metodos geometricos sinteticos y luego demostrado analiticamente por Lagrange) tiene que ver con el tiempo necesario para atravesar un arco eliptico. Lambert demostro que este tiempo depende unicamente de la longitud del eje mayor, de la suma de las distancias de los puntos inicial y final en el arco conformado desde el centro de la fuerza de atraccion (estos puntos se refieren al momento de determinar el tiempo de alcance hacia el punto destino y el unto destino mismo) y de la longitud de la cuerda que une ambos puntos. Este planteamiento pretende determinar la forma de una orbita futura en función a dos observaciones (vectores de estado) y al tiempo transcurrido entre ambas observaciones. Una presentacion de este teorema y sus ramificaciones nos desvia hacia el mundo de la dinamica analitica (matematica aplicada), lejos de nuestro tema de maquinas virtuales y programacion. Para comprender en detalle este y otros problemas recomiendo el texto "<span class="st">Astronautical Guidance</span>" por el Dr. Richard Battin.</div>
<div style="text-align: justify;">
<br />
Un ejemplo de uso de la subrutina LAMBERT es el programa (Major Mode como se denominaba a cada Job ejecutado por el sistema operativo del AGC "EXECUTIVE") P40 que calculaba la orientación predefinida para el IMU y para el motor DPS. Este Major Mode era invocado a través del comando V37E 40E (VERB + 37 + ENTER, luego 40 + ENTER).<span style="font-size: 85%;"><span style="font-size: small;"><span lang="ES-VE" style="font-family: "times new roman"; font-size: 12.0pt;"> </span></span></span><br />
<br />
Los usuarios dialogaban con COLOSSUS o con LUMINARY a través de un lenguaje numérico: dos dígitos decimales que indicaban el verbo o acción requerida (VERB o simplemente V) y dos dígitos decimales que indicaban el objeto de la acción (NOUN o N). Sobre el origen de este lenguaje/interface, Eldon C. Hall indicó<br />
<br />
-"<span style="font-size: small;"><i><span lang="EN-US">The DSKY verb-noun combo
was quite ingenious. It was devised by
men in my group who were designing the computer. I think the primary idea was Dr. Ramon
Alonso’s, but many of the features of the computer came from the combined
efforts of Ramon, Dr. Albert Hopkins, and Hugh Blair-Smith. That software and the computer test software
was written by other members of my group.
I should have said more about that interface. It was quite unique.</span></i>
<i><span lang="EN-US" style="font-family: "times new roman";">At that time communicating with a computer was
difficult. High level languages were
very limited and not designed for functions as required for an astronaut
interface. Entering information into
computers was by punched cards so the whole idea of the DSKY was unique. If you notice the first version of the
astronaut control panel was complex with analog meters and many switches. Techniques for digital displays and entering
data into computers manually were almost none existent.</span></i></span>"<br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;"><span lang="ES-VE" style="font-family: "times new roman"; font-size: 12.0pt;">La IMU (Inertial
Measurement Unit, referida en el párrafo anterior) es otro ejemplo de la idea de virtualización pero trabajado en
un contexto distinto al software. Trataremos de definirla lo más claro posible (ver Figura 3.2). Era como el oído interno y la memoria
de posición de la aeronave Apollo. Físicamente parecía un balón de basketball muy
pesado, inerte y dormido que al ser alimentado con electricidad (al igual que
el AGC) se convertía en el órgano de sentido de orientación. En su organización
interna incluía un conjunto de ejes (gimbals) sujetos a la infraestructura de
la aeronave por un lado y por el otro sujetos a una plataforma (en forma de una
mesa pequeña), de tal modo que la plataforma podía permanecer en reposo o
moverse independientemente del estado de reposo o movimiento de la
infraestructura de la aeronave. La idea central es la independencia de reposo o
movimiento, de tal manera que la plataforma podía situarse en una posición
artificial o virtual (independiente de la posición real de la aeronave),
reproduciendo (localmente) una orientación en el espacio cartesiano (ejes x, y,
z) de objetos (estrellas o planetas). Manteniendo una posición virtual
respecto, digamos, a la posición de dos estrellas (previamente catalogadas como
puntos en un marco referencial llamado Basic Reference Coordinate System o BRCS) los ejes tenían la capacidad
de calcular, eléctricamente, la diferencia entre la orientación de la
plataforma y la posición de la infraestructura de la aeronave. Esta diferencia
(en forma numérica) era interpretada y procesada por el software de navegación
para ejercer dos funciones: 1) presentar dicha diferencia a los usuarios
(pilotos); 2) modificar, usando los motores cohetes de control, la posición de
la aeronave para alinearla a la orientación de la plataforma inercial que a su
vez tenía una orientación con respecto al marco referencial (y por
ende a los objetos celestes consultados). Adicionalmente, la plataforma inercial tenia un conjunto de tres acelerómetros que medían la aceleración lineal sobre cada uno de los ejes del espacio cartesiano (x-punto, y-punto, z-punto). En general, el conjunto de los tres ejes o componentes (x, y, z) de posición, más los tres componentes de aceleración (x-punto, y-punto, z-punto) y el tiempo, constituían los denominados Vectores de posición y de velocidad, que en conjunto definían el Vector de Estado de la aeronave en relación al marco referencial: un equivalente del Estado en una 5-tupla (sistema algebraico) de autómata finito en la ciencia de la computación. Se debe remarcar, en este punto, el
carácter virtual de este mecanismo: establecido un marco referencial, se ubican
ciertos objetos celestes en el espacio circundante, se ubica el punto que se
quiere medir o cambiar de posición y por último se traducen las ubicaciones a
posiciones en tres ejes cartesianos para operarlos de forma analítica. El sistema PGNCS (pings) solo necesitaba conocer la posición de dos objetos celestes para determinar la posición del universo en general. Durante la planificación de los vuelos se diseñaron seis sistemas coordinados de referencia, dos de los cuales eran el Basic Reference Coordinate System y el IMU Stable Member Coordinate System. Se diseñó incluso un ente matemático, en forma de vector, que permitía transformar entre el marco de referencia BRCS y el marco de referencia local del IMU. Este vector se llamaba Reference to Stable Member Matrix (REFSMMAT). El proceso de transformación, usando el ente matemático REFSMMAT, es similar al proceso de transformación descrito en la referencia [1]. Este cambio entre marcos de referencia constituya un ejemplo, a gran escala, de virtualización, de sustitución de un nivel de abstracción por otro, y todo esto fue ideado a finales de la década de 1950. En otra
entrada del blog [2] se describe este esquema referencial basado en vectores.</span> </span></span></div>
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdzZXzXaAByz9IHez0FpcMf85j7PygDiL1pf-RPa7jJeK4K0XF7h-0jo9suzMPEZA5mvmVCQhodi59cPqtsFzjn_r3N8IBdJ-HZQjlLu11Hbz2b5TlKClTkkg9QhKgmDX6pDFxFw/s1600/IMU.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdzZXzXaAByz9IHez0FpcMf85j7PygDiL1pf-RPa7jJeK4K0XF7h-0jo9suzMPEZA5mvmVCQhodi59cPqtsFzjn_r3N8IBdJ-HZQjlLu11Hbz2b5TlKClTkkg9QhKgmDX6pDFxFw/s400/IMU.jpg" width="400" /></a></div>
<div style="text-align: center;">
<span style="font-size: 85%;"><span style="font-size: small;">Figura 3.2</span></span></div>
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;">Mostramos, a continuación, un fragmento del código fuente de LUMINARY para el procesamiento del Major Mode P52 (alineación de la plataforma estable del IMU con respecto a un par de estrellas). El programa es invocado, como ya indicamos, usando el Display Keyboard - V37E + 52E:</span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: 85%;"><span style="font-size: small;">P52E TC BANKCALL # DO STAR SELECTION<br /> CADR PICAPAR<br /> TC P52I # 2 STARS NOT AVAILABLE<br />P52F TC INTPRET # 2 STARS AVAILABLE<br /> CALL<br /> R51</span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;">R51 EXIT<br /> CAF BIT1<br /> TS STARIND<br /> TS MARKINDX<br />R51.2 TC INTPRET<br />R51.3 CLEAR CLEAR<br /> TARG2FLG<br /> TARG1FLG<br /> EXIT<br /> TC PHASCHNG<br /> OCT 05024 # RESTART GR 4 FOR R52-R53<br /> OCT 13000<br /> INDEX STARIND<br /> CA BESTI<br /> EXTEND<br /> MP 1/6TH<br /> TS STARCODE<br />R51DSP CAF V01N70<br /> TC BANKCALL<br /> CADR GOFLASHR<br /> TC GOTOP00H<br /> TC +5<br /> TC -5<br /> CAF SIX<br /> TC BLANKET<br /> TCF ENDOFJOB<br /> TC CHKSCODE<br /> TC FALTON<br /> TC R51DSP<br /> TC INTPRET<br /> RTB CALL<br /> LOADTIME<br /> PLANET<br /> SSP LXA,1<br /> S1<br /> 0<br /> STARIND<br /> TIX,1<br /> R51ST<br /> STCALL STARSAV2 # 2ND STAR<br /> R51ST +1<br />R51ST STORE STARSAV1 # 1ST STAR<br /> EXIT</span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"><br /></span></span>
<span style="font-size: 85%;"><span style="font-size: small;">Continuando con la descripción del Intérprete </span></span><span style="font-size: 85%;"><span style="font-size: small;"><span style="font-size: 85%;"><span style="font-size: small;">(o computador hecho en Software)</span></span>, vamos a descomponerlo un poco. En su corazón encontramos al "Interpretive CPU" o Dispatcher. Esta es la rutina principal encargada de decodificar los Operadores de cada Ecuación. Es este "Interpretive CPU" el que implementa la "Jump Table" que señalamos en una imagen anterior. Dentro de cada Ecuación, se incluyen dos (2) Operadores de la siguiente manera:</span> </span><br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><br />OP-CODE 1 OP-CODE 2<br />ADR 1<br />ADR 2<br /><br />OP-CODE 3 OP-CODE 4<br />ADR3<br />ADR4<br /><br /><span style="font-size: small;">El Assembler YUL traduce estas Ecuaciones en palabras de memoria organizadas de la siguiente manera:</span></span></div>
<span style="font-size: 85%;"></span><br />
<div style="text-align: justify;">
<span style="font-size: 85%;">bit 15-----------87-------------1</span><br />
<span style="font-size: 85%;">OP-CODE 1 OP-CODE 2</span><br />
<span style="font-size: 85%;">AAAAAAAAA ADR 1 AAAAAAAAAA</span><br />
<span style="font-size: 85%;">AAAAAAAAA ADR 2 AAAAAAAAAA</span><br />
<span style="font-size: 85%;">OP-CODE 3 OP-CODE 4</span><br />
<span style="font-size: 85%;">AAAAAAAAA ADR 3 AAAAAAAAAA</span><br />
<span style="font-size: 85%;">AAAAAAAAA ADR 4 AAAAAAAAAA</span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;">Como se aprecia en la figura 3, el programador invoca al "Interpretive CPU" a través de la instrucción "TC INTERPRET" antecediendo al conjunto de instrucciones de "Alto Nivel" que conforman la Ecuación matemática de programa. En todo momento el "Interpretive CPU" debía conocer si se requería una operación de precisión doble, precisión tríple, operación matricial u operación vectorial. El "OP-CODE" la operación de "Alto Nivel" contenía esta información.</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;">Vamos a implementar un ejemplo de formula matemática como seudo-instrucciones (tomado de "E-1758 - Organization of Computation and Control in the Apollo Guidance Computer" - Lawton, T. J. y Muntz, C. A.). Tomemos la siguiente formulación:</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;">z = a * M(x+y) , tal que "a" es un escalar y "M" una matriz 3x3</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;">se traduce al seudo-lenguaje como</span></span><br />
<br />
<span style="font-size: 85%;"> MXV</span><br />
<span style="font-size: 85%;"> VXSC</span><br />
<span style="font-size: 85%;"> X</span><br />
<span style="font-size: 85%;"> Y</span><br />
<span style="font-size: 85%;"> M</span><br />
<span style="font-size: 85%;"> A</span><br />
<span style="font-size: 85%;"> STORE Z</span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;">El siguiente es el fragmento del listado en Assembler YUL - programa Colossus (Software del módulo de comando Apollo) correspondiente a la Jump Table del "Interpretive CPU" - Tomado del Virtual AGC compilado y mantenido por Ronald Burkey. En este fragmento veremos los enlaces a subrutina para muchas de las seudo-instrucciones que hemos visto en la subrutina LAMBERT:</span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br />
<span style="font-size: 85%;"><u>CodigoOperación</u> <u>Instrucción en Assembler YUL</u></span><br />
<br />
<span style="font-size: 85%;">16454 INDJUMP TCF VLOAD # 00 -- LOAD MPAC WITH A VECTOR.</span><br />
<span style="font-size: 85%;">17040 TCF TAD # 01 -- TRIPLE PRECISION ADD TO MPAC.</span><br />
<span style="font-size: 85%;">17624 TCF SIGN # 02 -- COMPLEMENT MPAC (V OR SC) IF X NEG.</span><br />
<span style="font-size: 85%;">17350 TCF VXSC # 03 -- VECTOR TIMES SCALAR.</span><br />
<span style="font-size: 85%;">16652 TCF CGOTO # 04 -- COMPUTED GO TO.</span><br />
<span style="font-size: 85%;">16437 TCF TLOAD # 05 -- LOAD MPAC WITH TRIPLE PRECISION.</span><br />
<span style="font-size: 85%;">16021 TCF DLOAD # 06 -- LOAD MPAC WITH A DP SCALAR.</span><br />
<span style="font-size: 85%;">17573 TCF V/SC # 07 -- VECTOR DIVIDED BY A SCALAR.</span><br />
<span style="font-size: 85%;">16450 TCF SLOAD # 10 -- LOAD MPAC IN SINGLE PRECISION.</span><br />
<span style="font-size: 85%;">16567 TCF SSP # 11 -- SET SINGLE PRECISION INTO X.</span><br />
<span style="font-size: 85%;">16472 TCF PDDL # 12 -- PUSH DOWN MPAC AND RE-LOAD IN DP.</span><br />
<span style="font-size: 85%;">17303 TCF MXV # 13 -- MATRIX POST-MULTIPLIED BY VECTOR.</span><br />
<span style="font-size: 85%;">16526 TCF PDVL # 14 -- PUSH DOWN AND VECTORLOAD.</span><br />
<span style="font-size: 85%;">16575 TCF CCALL # 15 -- COMPUTED CALL.</span><br />
<span style="font-size: 85%;">17306 TCF VXM # 16 -- MATRIX PRE-MULTIPLIED BY VECTOR.</span><br />
<span style="font-size: 85%;">17565 TCF TSLC # 17 -- NORMALIZE MPAC (SCALAR ONLY).</span><br />
<span style="font-size: 85%;">17543 TCF DMPR # 20 -- DP MULTIPLY AND ROUND.</span><br />
<span style="font-size: 85%;">17546 TCF DDV # 21 -- DP DIVIDE BY.</span><br />
<span style="font-size: 85%;">17552 TCF BDDV # 22 -- DP DIVIDE INTO.</span><br />
<span style="font-size: 85%;">17570 TCF GSHIFT # 23 -- GENERAL SHIFT INSTRUCTION</span><br />
<span style="font-size: 85%;">16720 TCF VAD # 24 -- VECTOR ADD.</span><br />
<span style="font-size: 85%;">16716 TCF VSU # 25 -- VECTOR SUBTRACT.</span><br />
<span style="font-size: 85%;">17005 TCF BVSU # 26 -- VECTOR SUBTRACT FROM.</span><br />
<span style="font-size: 85%;">17300 TCF DOT # 27 -- VECTOR DOT PRODUCT.</span><br />
<span style="font-size: 85%;">17427 TCF VXV # 30 -- VECTOR CROSS PRODUCT.</span><br />
<span style="font-size: 85%;">17374 TCF VPROJ # 31 -- VECTOR PROJECTION.</span><br />
<span style="font-size: 85%;">16754 TCF DSU # 32 -- DP SUBTRACT.</span><br />
<span style="font-size: 85%;">17031 TCF BDSU # 33 -- DP SUBTRACT FROM.</span><br />
<span style="font-size: 85%;">16744 TCF DAD # 34 -- DP ADD.</span><br />
<span style="font-size: 85%;">16300 TCF +0 # 35 -- AVAILABLE</span><br />
<span style="font-size: 85%;">17541 TCF DMP1 # 36 -- DP MULTIPLY.</span><br />
<span style="font-size: 85%;">17562 TCF SETPD # 37 -- SET PUSH DOWN POINTER (DIRECT ONLY)</span><br />
<span style="font-size: 85%;">12371 MISCJUMP TCF AXT # 00 -- ADDRESS TO INDEX TRUE.</span><br />
<span style="font-size: 85%;">12376 TCF AXC # 01 -- ADDRESS TO INDEX COMPLEMENTED.</span><br />
<span style="font-size: 85%;">12401 TCF LXA # 02 -- LOAD INDEX FROM ERASABLE.</span><br />
<span style="font-size: 85%;">12405 TCF LXC # 03 -- LOAD INDEX FROM COMPLEMENT OF ERAS.</span><br />
<span style="font-size: 85%;">12411 TCF SXA # 04 -- STORE INDEX IN ERASABLE.</span><br />
<span style="font-size: 85%;">12417 TCF XCHX # 05 -- EXCHANGE INDEX WITH ERASABLE.</span><br />
<span style="font-size: 85%;">12433 TCF INCR # 06 -- INCREMENT INDEX REGISTER.</span><br />
<span style="font-size: 85%;">12442 TCF TIX # 07 -- TRANSFER ON INDEX.</span><br />
<span style="font-size: 85%;">12425 TCF XAD # 10 -- INDEX REGISTER ADD FROM ERASABLE.</span><br />
<span style="font-size: 85%;">12436 TCF XSU # 11 -- INDEX SUBTRACT FROM ERASABLE.</span><br />
<span style="font-size: 85%;">12514 TCF BZE/GOTO # 12 -- BRANCH ZERO AND GOTO</span><br />
<span style="font-size: 85%;">12521 TCF BPL/BMN # 13 -- BRANCH PLUS AND BRANCH MINUS.</span><br />
<span style="font-size: 85%;">12474 TCF RTB/BHIZ # 14 -- RETURN TO BASIC AND BRANCH HI ZERO.</span><br />
<span style="font-size: 85%;">12534 TCF CALL/ITA # 15 -- CALL AND STORE QPRET.</span><br />
<span style="font-size: 85%;">12543 TCF SW/ # 16 -- SWITCH INSTRUCTIONS AND AVAILABLE.</span><br />
<span style="font-size: 85%;">12504 TCF BOV(B) # 17 -- BRANCH ON OVERFLOW TO BASIC OR INT.</span><br />
<span style="font-size: 85%;"> COUNT* $$/INTER </span><br />
<span style="font-size: 85%;"> BANK 0 # 00 -- EXIT -- DETECTED EARLIER.</span><br />
<span style="font-size: 85%;">13207 UNAJUMP TCF SQRT # 01 -- SQUARE ROOT.</span><br />
<span style="font-size: 85%;">13527 TCF SINE # 02 -- SIN.</span><br />
<span style="font-size: 85%;">13516 TCF COSINE # 03 -- COS.</span><br />
<span style="font-size: 85%;">13607 TCF ARCSIN # 04 -- ARC SIN.</span><br />
<span style="font-size: 85%;">13611 TCF ARCCOS # 05 -- ARC COS.</span><br />
<span style="font-size: 85%;">13174 TCF DSQ # 06 -- DP SQUARE.</span><br />
<span style="font-size: 85%;">12116 TCF ROUND # 07 -- ROUND TO DP.</span><br />
<span style="font-size: 85%;">17637 TCF COMP # 10 -- COMPLEMENT VECTOR OR SCALAR</span><br />
<span style="font-size: 85%;">13232 TCF VDEF # 11 -- VECTOR DEFINE.</span><br />
<span style="font-size: 85%;">13023 TCF UNIT # 12 -- UNIT VECTOR.</span><br />
<span style="font-size: 85%;">13176 TCF ABVALABS # 13 -- LENGTH OF VECTOR OR MAG OF SCALAR.</span><br />
<span style="font-size: 85%;">13245 TCF VSQ # 14 -- SQUARE OF LENGTH OF VECTOR.</span><br />
<span style="font-size: 85%;">16323 TCF STADR # 15 -- PUSH UP ON STORE CODE.</span><br />
<span style="font-size: 85%;">13274 TCF RVQ # 16 -- RETURN VIA QPRET.</span><br />
<span style="font-size: 85%;">13247 TCF PUSH # 17 -- PUSH MPAC DOWN.</span></div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
</div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">Existe una seudo-instrucción RTB la cual era usada para "fabricar" nuevas seudo-instrucciones para el modo Intérprete. Funcionaba en combinación con una Subrutina DANZIG que retornaba el control a la siguiente seudo-instrucción a ser ejecutada. El siguiente es un ejemplo de uso de RTB:</span></span></div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
</div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">// Primero se invoca la nueva seudo-instrucción (no existente en el cuerpo original del Intérprete en la <br /> memoria Core-Rope de solo lectura - ejemplo el cuerpo de programa Luminary).</span></span><br />
<span style="font-size: 85%;"><br /></span>
<span style="font-size: 85%;">43034 PTOACSM RTB BON </span><br />
<span style="font-size: 85%;">26723 MOVEPCSM </span><br />
<span style="font-size: 85%;">04303 CMOONFLG </span><br />
<span style="font-size: 85%;">26716 SETMOON </span></div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
</div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">// A continuación se define el cuerpo de la nueva seudo-instrucción que formará parte del repertorio disponible a los programadores/matemáticos.</span></span><br />
<span style="font-size: 85%;"><br /></span>
<span style="font-size: 85%;">03036 MOVEPCSM TC SETBANK </span><br />
<span style="font-size: 85%;">55500 TS DIFEQCNT </span><br />
<span style="font-size: 85%;">51500 INDEX DIFEQCNT </span><br />
<span style="font-size: 85%;">31554 CA RRECTCSM </span><br />
<span style="font-size: 85%;">51500 INDEX DIFEQCNT </span><br />
<span style="font-size: 85%;">55502 TS RRECT </span><br />
<span style="font-size: 85%;">11500 CCS DIFEQCNT </span><br />
<span style="font-size: 85%;">12724 TCF MOVEPCSM +1 </span><br />
<span style="font-size: 85%;">06061 TC DANZIG </span><br />
<span style="font-size: 85%;"><br /></span></div>
<span style="font-size: 85%;">
</span><span style="font-size: 85%;"><span style="font-size: small;">El uso de un "Interpretive CPU" dentro del AGC cobraba un precio en consumo de memoria. 700 palabras de la memoria fija (Rope Memory) y 35 palabras de la memoria volátil (Eresable Memory) eran ocupadas por este computador hecho en Software. Sin embargo, el contra-balance era el ahorro en llamadas a Subrutinas (guardar estado ; llamada ; ejecución ; recuperar estado ; retorno) y la posibilidad dada a los programadores de contar con un lenguaje pseudo-matemático que facilitaba traducir las ecuaciones expresadas de forma abstracta en los diseños técnicos de navegación y guía.</span><br /><span style="font-size: small;">Al programar en instrucciones de "Alto Nivel", el ingeniero/programador trabajaba sobre un grupo de máquinas virtuales "apiladas" cada una con su respectivo proceso de fabricación (ensamblado del programa fuente ; generación de código de máquina virtual o "real" a ser luego interpretada por la lógica de micro-secuenciamiento del AGC ; generación de la información para manufactura de la memoria física). El Dr. Albert Hopkins (diseñador del sumador y de la lógica de secuenciamiento del AGC) describió parte de esta traducción/manufactura "apilada" en el informe Space Guidance Navigation and Control - R500 MIT, 1965:</span><br /><span style="font-size: small;"> </span></span><br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">- Cita Dr. Albert Hopkins -"</span><i><span style="font-size: small;">It may be instructive to trace briefly the history of part of a mission program-- re-entry guidance, for example -- from the conceptual stage to actual readiness for flight,<br /><br />A. The mathematical ideas are blocked out roughly, tolerances guessed,<br />variables and effects judged to be significant or negligible,<br />such decisions are left to be settled by trial and error.<br /><br />B. A procedure employing the concepts is worked out, using one<br />mathematical model for the spacecraft with its guidance and<br />navigation system, and another for the environment. This procedure<br />is then employed in a data processor program for testing.<br /><br />C. The program is compiled, tested, revised, and retested, until the<br />mathematical properties of the procedure are satisfactory.<br />Because these programs retain 2 to 4 more digits of precision<br />than double-precision. AGC programs, the variables at this stage<br />may be considered free of truncation or round-off error. It<br />is desirable to do as much pinning down of the procedure as<br />possible in steps B and C, since these programs run a good<br />deal faster than real time.<br /><br />D. An AGC program is written by translating the relevant parts of<br />the program into AGC assembly language; the more mathematical<br />parts, such as position and velocity updating, into interpretive<br />language, and the more logical, such as turning reaction control<br />jets on and off, into basic.<br /><br />E. In combination with the utility programs described previously, the AGC<br />program is assembled. After two or three revisions, when the grammatical<br />errors that can be detected by the assembler are eliminated, the program<br />checkout is begun by use of the AGC simulator, another data processor<br />program, which is described later. In advanced stages of checkout, this<br />simulation incorporates the part of the program of steps B and C that<br />models the environment. AGC simulation discovers the numerical properties<br />of the procedure, since all effects of scaling, truncation, and roundoff<br />are present. Steps D and E are repeated until the program fulfills the<br />goals determined in step A. Severe problems may send the engineers back<br />to step B, or even to step A.<br /><br />F. Up to this point, everything has been done on the initiative of the 3- or 4-<br />man "working group'' whose specialty is the particular phase of the mission.<br />Now, however, this AGC program must be integrated with the rest of the<br />mission program. Using the updating facilities of the assembler, the working<br />group transfers its own coding to the mission program and, in qooperation<br />with the group in charge of program integration, checks out not only<br />its operation but its ability to "get along with" the other parts of the mission<br />program, e. g. , staying within its part of the time budget. Here again,<br />the AGC simulator is the primary tool.<br /><br />G. At this point, or sometimes before step F, it is necessary to run an AGC<br />attached to guidance and navigation and ground support equipment. This is<br />the last procedure devoted entirely to the checkout of an AGC program.<br />H. When all of steps A through G for a whole mission program have been completed,<br />the assembly listing of the program is given the status of an engineering<br />'drawing. Only now are rope memory modules wired; and further<br />testing is for the benefit of other subsystems as much as of the program."</span></i><span style="font-size: small;">- Fin de la cita -<br /><br />1950s fueron los años dorados para la técnica de Interpretes (Virtual Machines). El uso de Virtual Machines como la máquina PL/0 (Pascal) del Prof. Niklaus Wirth a comienzos de los 1970s, el Tiny BASIC de finales de 1970s y como la VM Java o el Run-Time .NET en los años 1990s y 2000 podemos catalogarlos como descendientes de la vieja técnica de programación de los años 1950s (en el caso de la Java VM y el Run-Time .NET pudiéramos tratarlo más como un "revival" de la idea PL/0 del Prof. Wirth). Incluso, para el caso del computador Apollo: al momento de crear el complejo de simuladores para los módulos lunar y de comando y sus comunicaciones con la red global de rastreo y telemetría (Deep Space Network) simulada, los diseñadores tuvieron que crear un simulador para el computador Apollo dentro de uno de los computadores Honeywell. El computador Apollo "real" estuvo listo para 1964. Aquí es importante separar estos desarrollos sobre Virtual Machines de las técnicas de simulación tradicionales. Estas últimas tienen su propia cronología y en algún momento durante los años 1960s se tocaron con las VM por así decirlo. Sin embargo, las técnicas de simulación basadas en modelos matemáticos de ecuaciones diferenciales tuvieron su propia historia, muy densa por cierto y estaban soportadas por computadores analógicos (redes de tubos al vacío electrónicos amplificadores o transistores amplificadores).<br /><br /><i>HB-S: Within the IL, the Mod 3C Interpreter was preceded by a much smaller one running on Mod 1B (1960), which I think I mentioned in my Eldon annotations. It was followed by one for AGC Block I (1962) that I don't remember specifically, but our 1963 IEEE paper that was published in Bell and Newell's Computer Structures: Readings and Examples shows that it was a similar predecessor to the AGC Block II Interpreter (1964 probably) with its reverse Polish prefix "parenthesis-free" notation.<br /><br />HB-S: Sometime around 1960 the control computer for the Wright Brothers Wind Tunnel at MIT was a Bendix G-15 (or maybe G-16?). Its native instruction repertoire was generally regarded as so complex and obscure as to be almost unusable, so my friends there always coded in an interpretive language that I guess would be the "Intercom 1000" that turns up when you Google "Bendix G-15."<br /><br />HB-S: I certainly share Knuth's reverence for the IBM 650, but I would call it a '50s mini-computer, not a PC. Its CPU (with a control panel at one end) was about 3' wide by 6' high by 8' deep, and the card reader/punch was perhaps 5' wide by 4' high by 2' deep. The usual printers, IBM 402 or later the IBM 407, were about 5' wide by 4' high by 4' deep including the paper stacker; these were not connected to the 650, and you had to carry output cards from the punch to the printer. Anyway, all that plus a desk-size keypunch would fit handily in a moderate-size room, say 12' by 9'. (If you want to identify a '50s PC, I'd nominate the Electrodata 101, a drum-storage machine with a cute little pegboard for programming.)<br /><br />HB-S: In 1957-9 I used an ordinary 650 at Harvard, sometimes experimenting with an interpreter called BLISS (Bell Labs Interpretive System), which emulated a three-address machine.<br /><br />HB-S: The 650 I used at the Lab, however, was something grander and deserved the name of "mainframe." It included floating-point arithmetic, and some Boolean combinatorial instructions made up specially for MIT. Attached to it was a hard disk unit ("RAMAC") the size of a large refrigerator, and an IBM 727 tape drive so that MAC programs compiled on the 650 could be taken to an IBM 704 "supercomputer" at the GE engine works in Lynn, on the North Shore. Card-driven machines in the room included a plotter and a paper-tape punch in addition to the 407 printer.</i></span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"></span></span><br /></div>
<span style="font-size: 85%;"><span style="font-size: small;"><br /><u><b>Primeros trabajos en el Instrumentation-Lab (luego Draper Lab), y en especial sobre el mítico sistema YUL como Cross-Assembler (posiblemente uno de los primeros en la historia)</b></u><br /><i></i><br />
<i>HB-S: All the Polaris work took place before I joined the Lab, but I learned a few things about the "welded stick" construction, and about the Polaris computer. Fact 1 (as I remember it) is that the Polaris computer was not a software-programmed device but a digital differential analyzer (DDA). In a funny way, those were like FPGAs, because you programmed them by connecting the elements (digital integrators with respect to time) together: the output of one to one or more inputs of others.<br /><br />HB-S: That means that what Hal Laning wrote was not parallel to the YUL system's "manufacturing" function, but much closer to Delphi (the "oracle of Apollo"), written by Bob Morse to guide the Gardner-Denver wire-wrap machine. Both programs were converting encoded circuit diagrams into backplane interconnection sequences. I know that Delphi produced a medium (probably Mylar tape like YUL's output) that actually controlled the machine, but I've no idea what Hal's code produced, beyond what you say here about "draw the welded wire matrix." We certainly used ink-on-paper plotters at the time, and that would have made sense in the Polaris context. I'd guess that the drawings were of several layers, first the bottom layer of welds nearest the backplane, then a layer of welds that had to be one level up because they crossed the wires of the first layer, and so on. The welding would have been done manually, following the drawings, with no need for the welder to have any understanding of what logic each connection implemented. Perhaps a layer of potting was applied between one layer and the next ... but there's a lot of guesswork on my part here. You should probably ask Eldon directly how it was done.</i></span></span><br />
<div style="text-align: justify;">
<br /></div>
<span style="font-size: 85%;">
</span>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: small;">En consulta con Eldon Hall (Julio 1999) sobre los procesos de manufactura de los gabinetes y del diseño mecánico del computador Apollo, comentó lo siguiente:</span></span></div>
<div style="text-align: justify;">
<br />
<span style="font-size: 85%;"><span style="font-size: small;">- Cita Eldon Hall -</span></span><br />
<span style="font-size: 85%;"><span style="font-size: small;"><i>"I thought you might be interested in some efforts to develop CAD back in the stone age. In the late 1950s Laning wrote a program to lay out the welded wire matrix for the Polaris computer. This would be a job similar to laying out a multilayer printed circuit board. He was successful except the program would split up similar functional elements of logic. The logic designers were not happy with that feature so all the layouts were done manually. The manual approach was carried over into Apollo. The only CAD was in the module to module wiring which generated a set of punched cards that operated the wire wrap machine. That program was developed for Polaris and used for Apollo also.<br /><br />Dividing the circuits into modules was a major effort in Polaris and Apollo. The circuit designers worked with mechanical engineers to accomplish a satisfactory placement of the electrical components between modules and within modules. Then the mechanical designer completed the module design and detail draftsmen documented the drawings. The mechanical design had to consider heat transfer to keep the components cool and structural strength to survive the vibration, shock and acceleration of the flight."</i>- fin de la cita - Tomada de un correo personal de Julio 1999.</span></span></div>
<span style="font-size: 85%;"><span style="font-size: small;">
</span></span>
<br />
<div align="justify" style="text-align: left;">
</div>
<div style="text-align: left;">
</div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ICM5zeaHxylZywnhYYrnU_wkyTlwtVZUOU62hKhGIniOOZaRPsMAtvvWvx5Xur4D8KoNAfLO3wJ87XzjG6-AP3ylrci5RCQVu9SN96e13t88BfoayVVXaoUB_e6KM2-Fn8-5Fg/s1600/maufactura.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5464569409156656130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1ICM5zeaHxylZywnhYYrnU_wkyTlwtVZUOU62hKhGIniOOZaRPsMAtvvWvx5Xur4D8KoNAfLO3wJ87XzjG6-AP3ylrci5RCQVu9SN96e13t88BfoayVVXaoUB_e6KM2-Fn8-5Fg/s320/maufactura.jpg" style="cursor: hand; display: block; height: 241px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<div style="text-align: center;">
Figura 4.</div>
<br />
<div style="text-align: justify;">
Figura 4: manufactura del gabinete contenedor de los Logic Modules (utilizando una máquina herramienta Gardner-Denver con la técnica Wire-Wrap muy utilizada durante los años 1950's y comienzo de los 1960's).</div>
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBHNnlNTxMHX_rNsfHiRl2gkXCk7U5R3e7bMsIIoDMfR8ElYtj2MNeJYILcIcTtElgn9FwBDPeck29vuSikSdouEHz9EDthQH5HBBDShUQgx3xQJqjtmKT0JaT3XAAsXZTJrYPTA/s1600/AGC_Rope_Manufactura.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5472990138718257058" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBHNnlNTxMHX_rNsfHiRl2gkXCk7U5R3e7bMsIIoDMfR8ElYtj2MNeJYILcIcTtElgn9FwBDPeck29vuSikSdouEHz9EDthQH5HBBDShUQgx3xQJqjtmKT0JaT3XAAsXZTJrYPTA/s320/AGC_Rope_Manufactura.jpg" style="cursor: hand; display: block; height: 241px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><br />
<div style="text-align: center;">
Figura 5.</div>
<br />
<div style="text-align: justify;">
La figura 5 musra la manufactura de las memorias Core Rope que contenian el Software y datos constantes en el computador Apollo. En estas Core Rope Memory cada bit era "tejido" por damas de edad avanzada que de forma paciente y asistidas por una máquina herramienta hacían la operación de tejido de cada bit. La maquina herramienta era dirigida por un Paper Tape (lo que Blair-Smith llama Mylar Tape) generado por el Assembler YUL en una de sus pasadas. Extendiendo esto último, Blair-Smith escribió en sus anotaciones al libro de Eldon C. Hall ("Annotation to Eldon Hall's Journey to the Moon") lo siguiente:</div>
<br />
- Cita Blair-Smith -<br />
<div style="text-align: justify;">
<i>This was the other major function of my "Yul System," which I called manufacturing a program. Once the assembled program had been tested to the point where the powers that be were willing to invest the long fabrication cycle to make it into rope, Yul encoded the binary form of the code into a highly specialized 8-channel teletype code (specified by Raytheon for their machine) and punched that into a "paper" tape. As Eldon says, the tape we used for this purpose was not the usual pink paper at all but the more robust material, Mylar: almost untearable, impervious to oil and other factory-environment hazards, and cannot develop extra holes by any small accident.</i></div>
<br />
<div style="text-align: justify;">
<i>The image (aquí refiere al fragmento superior derecho de la figura 5 - la dama tejedora de bits) shows the tape reader with its takeup spool on the right, driving the larger machine. Each 8-bit row of the tape set relay switches; when settings were made by reading half a dozen or so of these rows, the fabricating machine shifted the rope frame up or down, and toward or away from the operator. The white plastic funnel (at the left end of the needle in the operator's hand) stayed in a fixed position, and the motion of the rope frame brought a particular core in line with the axis of the pair of funnels: the one you can see and its mirror image on the other side. The operator had a springlike coil of wire inside the needle; what she had to do was poke the needle carefully through the bundle of wires already passing through that core (without scraping any insulation off the 100 or so already threaded through it!), thus adding one more wire to the bundle. Then she pressed a switch to let the machine read more tape and advance the next core to the funnel position, and she passed the needle through the opposite way.</i>- Fin de cita Blair-Smith -</div>
<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnbf6dmnf9buNK72PfmqA7HkIR8OLUijuyhO2p6uXotCSThK_d673eVRy6tsNIlPbeJKh1Bz8M6xzsiF76Ywn1DhGDvUMZ-5tfbKUWukVNQQA06kiXEKKmfYDjGB-8PGHypWmjPQ/s1600/JacquardLoom.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5497120658194439938" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnbf6dmnf9buNK72PfmqA7HkIR8OLUijuyhO2p6uXotCSThK_d673eVRy6tsNIlPbeJKh1Bz8M6xzsiF76Ywn1DhGDvUMZ-5tfbKUWukVNQQA06kiXEKKmfYDjGB-8PGHypWmjPQ/s200/JacquardLoom.jpg" style="cursor: hand; display: block; height: 166px; margin: 0px auto 10px; text-align: center; width: 200px;" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY_SKXd1c1VEA6TdBA2X_vVIt1u3LMgOJIz9f5WCPnbxOUd3-RUtCLx4yeprHd2jcJsBW4haGsPKWrvFaIWP2Mz9EYif6K-uYQkJlqiUMBnYS2t3IHYhlzT2_HxaD-gI_bKBh6EA/s1600/jacquard-card-making.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5497119738463061298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgY_SKXd1c1VEA6TdBA2X_vVIt1u3LMgOJIz9f5WCPnbxOUd3-RUtCLx4yeprHd2jcJsBW4haGsPKWrvFaIWP2Mz9EYif6K-uYQkJlqiUMBnYS2t3IHYhlzT2_HxaD-gI_bKBh6EA/s200/jacquard-card-making.jpg" style="cursor: hand; float: right; height: 200px; margin: 0px 0px 10px 10px; width: 150px;" /></a><br />
<div style="text-align: justify;">
El proceso de traducción desde un listado fuente en Assembler hacia un paper tape con instrucciones de "tejido" es, en cierto modo, similar al proceso de traducción que en otras épocas hacían los operadores de los telares Jacquard: primero se trazaba un boceto (dibujo) de las figuras a ser tejidas; luego, se creaba una secuencia de pasos a ser ejecutados por el cabezal ("head") del telar; la secuencia de pasos era "traducida" de forma manual en tablillas perforadas, las cuales guiaban los pasos del telar. También se puede establecer la similitud entre estos procesos de la siguiente manera: el proceso de traducción del Assembler YUL tiene como objetivo el "tejer" una secuencia de pasos para el procesamiento de datos, mientras que el proceso del telar Jacquard tenía como objetivo el "tejer" imágenes de forma secuencial - Imagen tomada de "An Illustrated History of Computers" por John Kopplin - 2002</div>
<div style="text-align: center;">
Figura 6.</div>
<br />
<div style="text-align: justify;">
<i>HB-S: Whirlwind was hardware, MIT's (not the Lab's) first in-house computer, and I don't know what Hal did for it. I never used or saw George either, and I don't even know if it generated Whirlwind code, but I'll bet it did, because if it had generated IBM 650 code, I'd have seen and possibly used it. But it was definitely something in the past by 1959, remembered mostly by the reason for its name: "let George do it." What we used to convert algebraic/calculus expressions to 650 code (and later IBM 704 code as well) was MAC, which stood for something really dumb like "Machine Algebraic Compiler," but it was way ahead of its time, and the Shuttle's HAL/S compiler is really just a minor elaboration of MAC.</i></div>
<br />
<div style="text-align: justify;">
"George" era uno de los primeros lenguajes algebraicos. Permitía escribir programas utilizando notación algebraica normal (incluso con subíndices y paréntesis). La historia es larga pero (siguiendo los trabajos de Donald Knuth y del propio John Backus) en algún momento de 1954 John Backus y el equipo de IBM que estaba trabajando en el diseño del lenguaje FORTRAN visitaron el MIT/IL para ver los trabajos de Halcombe Laning con "George". Este hecho está registrado en un trabajo sobre lenguajes de programación de alto nivel en los 1950s por Donald Knuth y Luis Trapp Pardo ("The Early Development of Programming Languages", Knuth y Pardo) y en un artículo escrito por el propio John Backus ("Programming in America in the 1950s", Backus). También se relata el encuentro en el libro "Introduction to the Mathematics and Methods of Astrodynamics" por el prof. Richard Battin. Así que "George" pudiera ser considerado como un padre de FORTRAN.</div>
<br />
<div style="text-align: justify;">
Este uso "no-numérico" (más bien de manejo de símbolos) era una idea que parecía impresionante a muchos técnicos y matemáticos usuarios en los años 1950s y comienzo de los 1960s. En una entrevista realizada en 2007 por el Computer History Museum titulada "Oral History" el Profesor Don Knuth relató la siguiente anécdota. Knuth relata su primer encuentro con un traductor de lenguaje algebraico llamado "IT" que se ejecutaba en una IBM 650. Knuth perforaba una expresión algebraica en una tarjeta, luego colocaba la tarjeta en la lectora del computador y en respuesta la IBM 650 le devolvía el equivalente de la expresión algebraica original en instrucciones de la máquina IBM 650 (este fue el inicio de la carrera de Knuth como constructor de compiladores durante los años 1960s):</div>
<br />
- Cita de la entrevista - Computer History Museum<br />
<div style="text-align: justify;">
<i>"Knuth: Yeah, the seeds were planted at Case in the following way. First I learned about the 650. Then, I’m not sure when it was but it probably was in the summer of my freshman year, where we got a program from Carnegie -- where you were a student --that was written by Alan Perlis and three other people.<br /><br />Feigenbaum: “IT”.<br /><br />Knuth: The IT program, “IT”, standing for Internal Translator.<br /><br />Feigenbaum: Yeah, it was Perlis, [Harold] van Zoeren, and Joe Smith.<br /><br />Knuth: In this program you would punch on cards a algebraic formula. You would say, “A = B + C.” Well, in IT, you had to say, “X1 = X2 + X4.” Because you didn’t have a plus sign, you had to say, “A” for the plus sign. So you had to say, “X1 Z X2 A X4.” No, “S,” I guess, was plus, and “A” was for absolute value. But anyway, we had to encode algebra in terms of a small character set, a few letters. There weren’t that many characters you could punch on a card. You punch this thing on a card, and you feed the card into the machine. The lights spin around for a few seconds and then -- punch, punch, punch, punch -- out come machine language instructions that set X1 equal to X2 + X4. Automatic programming coming out of an algebraic formula. Well, this blew my mind. I couldn’t understand how this was possible, to do this miracle where I had just these punches on the card. I could understand how to write a program to factor numbers, but I couldn’t understand how to write a program that would convert algebra into machine instructions.<br /><br />Feigenbaum: It hadn’t yet occurred to you that the computer was a general symbol-manipulating device.<br /><br />Knuth: No. No, that occurred to Lady Lovelace, but it didn’t occur to me..."</i>- Fin de la cita - Computer History Museum</div>
<br />
<div style="text-align: justify;">
En el capítulo "Boundless interests, A common thread" del libro "Out of Their Minds, The Lives and Discoveries of 15 Great Computer Scientists" (Shasha D., Lazere C. - 1998), el profesor Knuth declara lo siguiente:</div>
<br />
- Cita - "Out of Their Minds"<br />
<div style="text-align: justify;">
<i>"I got into compilers because I thought the most amazing thing you could do with computers was to have them write their own programs. When computing is applied to computing, that's when computer science reaches an ultimate completeness."</i>- Fin de la cita - "Out of Their Minds"</div>
<br />
<div style="text-align: justify;">
Para apreciar esa plenitud de idea que refiere Knuth en la cita anterior se recomienda estudiar (y comparar en sus funciones) dos ejemplos que aparecen en el Volumen 1 "The Art of Computer Programming" de Knuth: el Intérprete de la máquina MIX y el programa de diferenciación simbólica en la sección de árboles binarios (el primero recorre una secuencia de instrucciones de máquina, mientras que el segundo "camina" a través de un árbol de símbolos). El apreciar y comparar ambas formas de secuenciar y movimiento constituyen la manera perfecta de comprender esta idea fundamental. En la historia hay muchos ejemplos de las funcionalidades que se derivan de ideas fundamentales y del uso preciso de las herramientas e ideas, las cuales han impactado al ser humano de mente abierta. Tal fue el caso de la solución al problema de determinar la longitud en navegación. Durante muchos años se pensó que el problema de determinar la longitud de un punto en el mar solo tenía solución dentro del ámbito de la observación del movimiento de los cuerpos celestes (lograr manejar la observación de lunas, sol, planetas como si fuesen un gran mecanismo de relojería). Existía, claro, la concepción que el conocimiento preciso de la diferencia entre el tiempo en el punto geográfico de inicio del viaje y el tiempo local del navío daba el elemento fundamental para el calculo, pero los relojes mecánicos en aquella época (finales del siglo XVI y las primeras décadas del siglo XVII) perdían su sincronización (basada en el movimiento de péndulos) por el movimiento del navío. De pronto, un día, un carpintero inglés llamado John Harrison apareció ante el "board" científico (encabezado por el propio Isaac Newton) ordenado por el rey George III. Traía en sus manos la documentación de un reloj de precisión de madera que había desarrollado y el cual no perdía (aparentemente) su sincronización y que (aparentemente) era perfecto para la navegación en mar abierto. La mayoría de los miembros de este "board" eran astrónomos y estaban convencidos que solo a través de la observación del cielo (ese gran mecanismo de relojería aparente, aúnque Newton consideraba que Dios, en tanto en cuanto, re-ajuste dicho mecanismo) era posible determinar la longitud en un punto en el mar. No entendían que, a través de la mecánica de precisión, era posible determinar el tiempo de forma eficaz en el mar. La moraleja de este episodio es que se requiere de seres humanos con mente abierta a nuevas ideas y con una actitud experimental y progresista. Como vemos en su relato, Knuth muestra una mente abierta y una actitud de curiosidad ante lo desconocido. A tal punto que una vez confrontado con eso desconocido, luego se fue a estudiarlo con tal profundidad que se hizo un experto en el tema (la motivación para escribir sus volúmenes del arte de la programación fue el tema de construcción de compiladores).</div>
<br />
<br />
<div style="text-align: justify;">
<u><b>El computador Whirldwind y los primeros lenguajes algebraicos</b></u></div>
<br />
<div style="text-align: justify;">
Lo novedoso de FORTRAN (y los lenguajes predecesores como George, MAC) es que daba al matemático/ingeniero la posibilidad de incluir en un programa expresiones algebraicas utilizando los tradicionales signos de agrupación (paréntesis) e incluso sin hacer uso de ellos (a través de un sistema de precedencia de operaciones incluida en el programa traductor del lenguaje). Por ejemplo, la siguiente expresión podía ser escrita con y sin símbolos de agrupación:</div>
<br />
X.AND..NOT.P.EQ.Q/R*S.OR.L/M.LT.5 - utilizando la precedencia de operadores de la gramática del lenguaje<br />
<br />
(X).AND.(.NOT.(P.EQ.(Q/(R*S)))).OR.((L/M).LT.5) - utilizando separadores<br />
<br />
<div style="text-align: justify;">
Otra facilidad que otorgaba el FORTRAN a los programadores de aplicaciones no-numéricas era el uso especial de GO TO múltiple (COMPUTED GOTO). En FORTRAN era posible expresar una "Jump Table" utilizando una variable como índice y varias etiquetas que apuntan a otras partes del programa (una facilidad que es de mucha utilidad en un programa Intérprete o Virtual Machine):</div>
<br />
GO TO (100,200,300,400,500,600,700,800) apuntador<br />
<br />
100 .....<br />
200 .....<br />
300 .....<br />
...<br />
<br />
<div style="text-align: justify;">
El siguiente enlace web lleva a una entrevista realizada a Bob Hughes (Lawrence Livermore National Laboratory) en 1997. Hughes formó parte del equipo de John Backus para el desarrollo del compilador FORTRAN. Uno de los aportes de Hughes fue su idea de utilizar letras-identificador para indicar el tipo de dato de las variables. De esa manera toda variable cuyo identificador que comienza por las letras "i", "j", "k" tiene el tipo de dato Integer. En un momento dado de la entrevista Hughes señala al Assembler del computador CDC 6600 como el mejor. Esta opinión es compartida por quien escribe. Realmente ese lenguaje Assembler llamado COMPASS es muy simétrico en su estructura y modelo de programación: toda instrucción contiene tres (3) registros y las operaciones del tipo Load/Store se hacen a través de registros: <a href="http://www.computer-history.info/Page1.dir/pages/Hughes.html">http://www.computer-history.info/Page1.dir/pages/Hughes.html</a></div>
<br />
<div style="text-align: justify;">
Otro punto interesante son las extensiones que se le hicieron al FORTRAN básico. Una de ellas le otorgaba al lenguaje la posibilidad de manejar estructuras de datos de Listas. La librería FLPL (Fortran List Processing Library) fue creada con este fin. De nuevo el MIT jugó un papel importante en estas iniciativas, pero ahora desde su departamento de Artifitial Inteligence con el Prof. John McCarthy. En el año 1957, McCarthy investigaba la creación de un lenguaje para manejo de expresiones algebraicas pero para su aplicación en la AI. A partir de este estudio nació el lenguaje LISP.</div>
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFKsjCPt77CHuphnh6wTog7PrtNmIpJScb49kKZDTdAa2-4YktiXuO04y8eszIXZkcWOnNTRa8xlhrIV0Z0OQALOviK2NahA5UuPA3DHdBWLQSzmBGPmkunEzapYBsK8KQVVu_FA/s1600/George_ejemplos.jpg"><img alt="" border="0" height="400" id="BLOGGER_PHOTO_ID_5472983966942795298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFKsjCPt77CHuphnh6wTog7PrtNmIpJScb49kKZDTdAa2-4YktiXuO04y8eszIXZkcWOnNTRa8xlhrIV0Z0OQALOviK2NahA5UuPA3DHdBWLQSzmBGPmkunEzapYBsK8KQVVu_FA/s320/George_ejemplos.jpg" style="display: block; margin: 0px auto 10px; text-align: center;" width="311" /></a><br />
<div style="text-align: center;">
Figura 7.</div>
<br />
<br />
<div style="text-align: justify;">
La figura 7 es una muestra de programas escritos en "George" (tomada del paper "A Program for Translation of Mathematical Equations for Whirlwind", Laning & Zierler - 1954). La figura 8 muestra un "Flexowriter" como el utilizado para perforar las líneas de código en Paper Tapes que luego son leidos por el computador Whirlwind para su compilación. Los Paper Tapes también fueron usados en la manufactura del Software para Apollo: el Assembler YUL generaba un Paper Tape que era utilizado para guiar la máquina herramienta para el "tejido" del Software en las memorias Core Rope de solo lectura.</div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhriQupE5pu66u-dgSXyTKQ7C4c_fmKI6ntkPalRpwwrst5PoEUFqVTBDSEmqpuvwvd2yCddVuvYNXk2DWsS6JwI8FUJo5-shKFCDEJXTyN1cXzIRbfttffSqiJdSoNnUhNO3nUlg/s1600/flexowriter.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5497126038346974354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhriQupE5pu66u-dgSXyTKQ7C4c_fmKI6ntkPalRpwwrst5PoEUFqVTBDSEmqpuvwvd2yCddVuvYNXk2DWsS6JwI8FUJo5-shKFCDEJXTyN1cXzIRbfttffSqiJdSoNnUhNO3nUlg/s200/flexowriter.jpg" style="cursor: hand; display: block; height: 198px; margin: 0px auto 10px; text-align: center; width: 200px;" /></a><br />
<div style="text-align: center;">
Figura 8.</div>
<br />
<br />
<div style="text-align: justify;">
<i>HB-S: And yes, they were fairly common in those days. Bell Labs wrote BLISS for the 650 ("Bell Labs Interpretive [Something] System") which simply featured 1-digit op codes with 3 addresses of 3 digits each, plus some 4-digit op codes with 2 addresses--that was a considerable improvement over the 650's native architecture of 2-digit op codes with one 4-digit address and a 4-digit "half-address" that pointed to the next instruction. The Bendix G-16 instruction repertoire was so hard to understand that somebody wrote an interpreter for it just to have an assembler-level language that a reasonable person could write and read; that's how it was used in MIT's Wind Tunnel Lab. And there were many more that I don't remember offhand.<br /><br />HB-S: It took no great leap of creativity to see that small control computers (the Mars series and Apollo) had such a small repertoire of instructions that an interpreter was the obvious way to have an assembler-level language that was writable and readable by aerospace engineers rather than computer wizards, and to reduce required memory space as well. Also, I'm pretty sure that Al Hopkins and Ray Alonso thought up the Mars Mod 1 interpreter before I came to the Lab -- it wasn't my invention!</i></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedcyrA6ygAqf5WOLfMbMEyg-qvRFIvDNF0oQnch05n6LkOYQJFntBJsZPkzBDQTn-6MI_QWgMEGsmpVaWLV_FUSMOlT-x_964GBifPny6MS3_QKqsTzW9XpS9Ae5rW-d-tM61WA/s1600/Whirldwind_comp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjedcyrA6ygAqf5WOLfMbMEyg-qvRFIvDNF0oQnch05n6LkOYQJFntBJsZPkzBDQTn-6MI_QWgMEGsmpVaWLV_FUSMOlT-x_964GBifPny6MS3_QKqsTzW9XpS9Ae5rW-d-tM61WA/s1600/Whirldwind_comp.jpg" width="400" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb08-Pjp4Cdhl7OFYrRhSY8fN0b3_g2Ph56vOwK5rZKrHsPEDHlalwd7oqqmfdq9jYqA_-ZsThlx8iPNQQUg6NtoIFqr3YmRf0CYbixZUueSYeP3_qgSGSC1z28GSMw9SK-48vpQ/s1600/visit.jpg"></a><br />
<div style="text-align: center;">
Figura 9.</div>
<br />
<div style="text-align: justify;">
Whirlwind, un gigante metálico de tubos de rayos catódicos y memoria de núcleos magnéticos (Magnetic Core) ya no existe. Sin embargo se conservan algunas de sus partes. En esta fotografía de 1998 aparecen Eldon Hall (director del proyecto Apollo Guidance Computer) y el autor de este trabajo junto a algunos de los arreglos de Tubos electrónicos del Whirlwind que se conservan en el museo del computador en Boston, Ma. Creo que la muestra es parte de la unidad aritmética del computador. Esta afirmación la hago siguiendo fotografías e información que aparecieron en un artículo sobre Whirlwind ("The Whirlwind 1 Computer", Robert R. Everett - 1951) reproducido en el libro "Computer Structures: Readings and Examples" de Gordon Bell (libro extraordinario que recomiendo ampliamente). En la figura 10 aparece el arreglo completo tal y como era en 1950s y el autor del artículo Robert Everett probando un simulador de vuelo en tiempo real manejado por Whirlwind 1 (el computador era parte de todo un sistema de simulación en tiempo real). Whirlwind fue uno de los primeros computadores (algunas referencias del MIT indican que fue el primero) con memoria del tipo Magnetic Core. Además, según un artículo de Maurice Wilkes de 1969 ("The Growth of Interest in Microprogramming", Wilkes), el propio Wilkes indica que la Matriz de Diodos (Diode Matrix) de control del Whirlwind pudiera ser tomada como un ancestro de la memoria de microinstrucciones en el concepto de Microprogramación que Wilkes ideó en los años 1950s. Conectando esto último con la introducción que hicimos al comienzo del escrito: las Diode Matrix como la del whirlwind eran las madres de las instrucciones de máquina complejas microprogramadas como la instrucción BCT (brach on count - especial para controlar y efectuar ciclos constantes de control como "FOR") de la IBM 370, de la instrucción CCS (Count-Compare-Skip) del computador Apollo y además fueron las abuelas de la Virtualización de computadores de hoy día (toda Virtualización lleva implícita un proceso de Interpretación de instrucciones).</div>
<br />
<div style="text-align: justify;">
<span style="font-family: "times" , "times new roman" , serif;">El Dr. Richard Battin dio una reseña sobre Whirlwind durante una entrevista otorgada al NASA Johnson Space Center Oral History
Project.</span></div>
<span style="font-family: "times";"></span><br />
<div style="text-align: justify;">
<span style="font-family: "times";">- Cita<br />
<i>"<span style="font-family: "arial";">MIT's Whilrwind computer was housed in an enormous building, and it had very
little capability. It had 1,024 16-bit words of memory. When they turned [the
computer] on, they had to first notify the Cambridge powerplant, because it put
such a [strain] on their system that they had to be prepared for this. So you
have a very primitive computer that's using enough power [for] the city…[to be
concerned]. That was the state of the art in computers, and for us to even be
talking…[of a computer to be carried in a small spacecraft seemed quite
far-fetched. Therefore,] some of the study money…[from NASA] was used…to perfect
[an] on-board flight computer. It actually was the grandfather of the Apollo
guidance computer.</span>"</i>- Fin de la cita</span></div>
<span style="font-family: "times";"></span><br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzw_T_XTZjpqRTEgXm4SWcszkYk9JwzRcSg6T7IntULWG3OXL8hzXoBAlQwQcAifKKRn22QiZuHUQluheXU5etom4mWQ8F1jaGV3cnX0HivNE2rGDkXKkrM_bwngLJO26V9-oIg/s1600/Whirlwind.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5465189810955263186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtzw_T_XTZjpqRTEgXm4SWcszkYk9JwzRcSg6T7IntULWG3OXL8hzXoBAlQwQcAifKKRn22QiZuHUQluheXU5etom4mWQ8F1jaGV3cnX0HivNE2rGDkXKkrM_bwngLJO26V9-oIg/s320/Whirlwind.jpg" style="cursor: hand; display: block; height: 250px; margin: 0px auto 10px; text-align: center; width: 247px;" /></a><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOdqlHQvNVeczGX_S6TtE2HX_ssv6M1D0BWpOidoyr_pue-oz6DcfZNvCRY3OVCYuO8btyRDYDaK8bIgp2iyk7SVjiMFZtWfZ4HnKOc47OhM7_SiSQ3AahD_GxB-tArZuW7Dm9g/s1600/1947-June-25,-Robert-Everett.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5472979808249588306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEOdqlHQvNVeczGX_S6TtE2HX_ssv6M1D0BWpOidoyr_pue-oz6DcfZNvCRY3OVCYuO8btyRDYDaK8bIgp2iyk7SVjiMFZtWfZ4HnKOc47OhM7_SiSQ3AahD_GxB-tArZuW7Dm9g/s200/1947-June-25,-Robert-Everett.jpg" style="cursor: hand; display: block; height: 136px; margin: 0px auto 10px; text-align: center; width: 185px;" /></a><br />
<div style="text-align: center;">
Figura 10.</div>
<br />
<br />
<div style="text-align: justify;">
<u><b>Organización interna del Apollo Guidance Computer</b></u></div>
<br />
<div style="text-align: justify;">
Blair-Smith hace referencia al trabajo del Dr. Ramón Alonso y Albert Hopkins. Alonso trabajó con Hal Laning en otro proyecto previo al Apollo que consistía en enviarle una sonda al planeta Marte a finales de los 1950s para tomarle fotografías. El computador que ellos diseñaron para aquella sonda utilizaba un elemento conmutador llamado Core-transistor logic: se trata de una tecnología de transistor que solo consume energía (Watts) cuando se activa para hacer algún calculo. El resto del tiempo está dormido consumiendo muy poca energía durante el largo viaje al planeta Marte. Durante mi visita al Draper Lab en 1998 pude ver la maqueta original de esta sonda en el techo de la entrada al laboratorio. Un poco de historia del espacio. Otro punto al cual hace referencia Blair-Smith es el compilador "George". Se trata de un verdadero ancestro del FORTRAN. En su libro "An Introduction to the Mathematics and Methods of Astrodynamics" el Dr. Richard Battin (colega de Laning y quien fuera el jefe directo de Eldon Hall durante el proyecto del computador Apollo) describe cómo el comité de IBM encabezado por John Backus quienes tenían la labor de buscar ideas para el desarrollo de un lenguaje de programación algebraico estándar, visitaron a Laning en el MIT/IL y vieron una demostración de las capacidades de "George" corriendo en aquel monstruo de tubos al vacío electrónicos que era el Whirlwind. Donald Knuth y Pardo dan cuenta de este relato también en su paper sobre la historia de los primeros lenguajes de programación ya señalado anteriormente.</div>
<br />
Comentando sobre sus trabajos en el MIT/IL, el Dr. Ramón Alonso indicó:<br />
<br />
- cita Dr. Alonso -<br />
<div style="text-align: justify;">
<i>Yo entré al Instrumentation Laboratory, entonces parte de MIT y dirigido por C. Stark Draper, el que perfeccionó el giroscopio, en 1959. Me puse a trabajar con Eldon Hall, que estaba entonces a cargo del diseño del computador del cohete Polaris, lanzado de dentro de submarinos.<br /><br />Pronto me encontré con J. Halcombe Laning (Hal), y por él supe que Milt Traegeser estaba proponiéndole a la Fuerza Aérea el mandarle una sonda a Marte. Laning y Battin son los autores de las (relativamente) famosas "Q-equations," para dirigir misiles a blancos lejanos. En esos días los computadores tenían muy poco poder, y estas ecuaciones son muy eficientes. El computador de Polaris era una versión digital de computador análogo, de una clase que se llamaba "Digital Diferential Analyzer", o DDA, y yo había trabajado con estos en Harvard, cuando estudiante graduado.<br /><br />Laning me propuso que viera si era posible diseñar/construir un computador "general purpose," es decir, de arquitectura esencialmente moderna, para ir a Marte. El problema era que tenía que gastar muy, muy poca electricidad, ya que todo el poder vendría de células solares. El viaje de ida y vuelta sería muy largo, por supuesto. La función de la sonda era tomar fotos de Marte, y traerlas de vuelta. La computación sería necesaria sólo en media docena de puntos durante el viaje, y con las Q-equations, sólo tendría que estar funcionando unos minutos cada vez. Pero tendría que cumplir con todas las funciones de "guidance," "navigation" y "control."<br /><br />Mi solución fue un diseño basado en "core-transistor logic," donde todas las unidades lógicas se conectaban por medio de transformadores pequeñitos, de modo que usaban energía solo durante la duración de un pulso, de mas o menos 1 microsegundo. Los transformadores de "cores" estaban hechos de un material que lo llamábamos "ribbon cores," que ya los había usado Harvard en sus computadores, y que tienen memoria.<br /><br />Siguiendo la arquitectura que hoy en día se llama "Harvard architecture," donde se separa la memoria del programa de la memoria de los datos, diseñé también la memoria principal usando esos "ribbon cores," en la forma de un "core rope."<br /><br />El resultado fue un modelo experimental 1B, programado por Hugh Blair Smith y Laning. Comprobamos que, aunque la energía usada por instrucción era bastante alta, usaba casi nada en el estado de descanso, que iba a ser el 99.9% del tiempo de la misión.<br /><br />Laning y yo conseguimos patentes para el "interrupt," donde una señal exterior causa que le programa corriente se suspenda, ejecuta otro programa, y vuelve a resumir el programa original. También nos dieron patentes para lo que hoy en día se llama "Direct Memory Access." Señales del CDU causaban incrementos o decrementos en ciertos registros, completamente transparente al programa, de modo que el programa simplemente leía el contenido de esos registros para saber los ángulos de la plataforma inercial.<br /><br />Allá por el '61 o '62 se cambió la agencia de aviación a lo que es hoy NASA, y el Instrumentation Lab busco contratos con ella. Albert Hopkins, compañero mío en Harvard, vino a trabajar también al IL, y juntos rediseñamos El Mod 1B con un modelo ya mas apropriado (Mod 3, se llamaba, si me acuerdo bien) para una misión a la luna. Usamos otra vez los mismos elementos, la "core-rope" y el "core-transistor logic."<br /><br />Toda esta estructura sobrevivió en el AGC. El cambio mayor fue el reemplazo del core-transistor logic por las NOR gates, hechas con circuitos integrados.<br /><br />Albert y yo estábamos completamente opuestos a estas NOR gates, pero Eldon nos contramandó, en una decisión que creo yo fue, técnicamente, de las mas importantes en el proyecto Apollo.<br /><br />Si me acuerdo bien, escribimos Laning y yo un informe (R-212?) describiendo el Mod 1B, pero no tengo ya copias de este.</i>- fin de la cita - Tomada de un correo personal (Julio 1999).</div>
<div style="text-align: justify;">
<br /></div>
<br />
<div style="text-align: justify;">
3) Sobre sus comienzos en el mundo de las matemáticas y de la computación y sobre el método que utilizaron para impementar la microarquitectura del computador Apollo con compuertas NOR TTL de tres(3) entradas:</div>
<br />
<div style="text-align: justify;">
<i>HB-S: Your request for a link between algebra and the layout of NOR gates is very interesting. I don't recall it as much of an algebraic exercise, though of course one must master enough Boolean algebra to realize a number of simple functions (and, or, exclusive or) in NOR logic. I played around a little with the NOR logic to realize one bit position of addition with carry in and carry out, and reminded myself that the greater concerns were:<br /><br />- how many gates are used;<br /><br />- how many levels of gates (each with its own delay time) are required for each result;<br /><br />- how many gates a single signal can safely enter as an input (fan-out rule);<br /><br />- how many signals can safely enter a single gate as input (fan-in rule).<br /><br />(The last of those makes sense in a world of 3-input NOR gates if you parallel them together in the "blue-nose" configuration; for instance, a 9-input NOR gate was made by tying the output signal pins of 3 gates together and leaving the load resistors of 2 of them disconnected from Vcc -- those 2 are shown schematically by a solid blue nose without the usual inverting circle.)<br /><br />HB-S: I think the most complex "expression" in AGC gate-level logic was the explicit-carry adder, in which each of 16 single-bit add/carry circuits fed its carry-out to the next similar circuit, all in a big loop to include end-around carry as required for ones-complement. But this was never written out as a long algebraic expression, to be simplified by algebraic means. When I have a moment, I'll write out the sort of tables we used, and how those were implemented in NOR gates. As I don't have a software package to draw gate diagrams (though one must exist somewhere)</i></div>
<br />
<br />
<br />
<div align="center">
<span style="font-size: 85%;"><img alt="" border="0" height="125" id="BLOGGER_PHOTO_ID_5464561689985083698" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpNuFKRRNvh8gCjLyE_YXXOuuCOnu6iWbucgi7icekM7wz3AXryj6ys2pf_vdC-m3dU24nU5Bj6T5ELfgdk1jACP5IAF-XCwsCNmcHFGx7hN30VfHHF1_OJGCkIPnCs0Bnd-5tQ/s320/AGC_Architecture.jpg" style="display: block; margin: 0px auto 10px; text-align: center;" width="400" /></span><br />
<div align="left">
</div>
<span style="font-size: 85%;">Figura 11. Fragmento del Sumador del Apollo Guidance Computer (mostrando los circuitos Flip-Flop de compuertas NOR logic)</span></div>
<br />
<br />
<div style="text-align: justify;">
<i>HB-S: My personal road to technology was all paved and signposted at birth, as far as I can tell. When I was three, the road to my grandmother's house in Connecticut went by an old barn whose roof had sagged and nearly collapsed. I named it "Brokeny House" and resolved to come back and fix it when I was grown up! At age twelve, I started a considerable model railroad in HO gauge and worked on that for several years. In high school, math, chemistry and physics reinforced my leanings, especially algebra in which I took great delight in crossing things out and reducing a big complicated mess to a simple answer. Between school and college, I was given a series of Johnson O'Connor tests to measure talents and traits so that my parents could figure the best way to steer me. The result was that my talents for English and math were both very strong (which I could have told them without the tests). A lot of the DNA for that came from my mother's father, who edited math textbooks for McGraw Hill. If he'd been born a generation later, he might have been one of the pioneers like Shannon or Turing. Starting college, I still equated engineering with bridge building, though I chose a number of electrical engineering courses; but when computer programming became available to Harvard undergraduates, I knew within weeks what I had been born to do. When I hear about people who spend years trying to figure out what to do with their lives, I sympathize just to be nice, but they sure don't come from the same planet I do!</i><a href="http://www.computer-history.info/Page1.dir/pages/Hughes.html"></a></div>
<br />
<br />
<div style="text-align: justify;">
<u><b>Sobre la interacción entre los analistas funcionales y programadores durante el diseño del Software Apollo</b></u></div>
<br />
<div style="text-align: justify;">
<i>HB-S: We didn't have a profiler program for the AGC, since the simulator served to expose all performance problems. However, I did put code inspection -- well, actually algebra inspection -- to good use. One evening Bill Widnall, an absolutely brilliant control system engineer but no programmer, was bitching and moaning over how long his calculations took to run, as revealed by the simulator. I looked at his matrix algebra and saw that rearranging some terms would make the run time proportional to the 3rd power of 3 rather than the 4th power. It would have taken me weeks to figure out what the matrix algebra ought to do, and he had no training or experience in thinking like a programmer.</i></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<i>We just took care of each other, and that's how Apollo got done!</i></div>
<br />
<br />
<div style="text-align: justify;">
<u><b>Sobre la importancia dada a la capacidad de computo (en los sistemas de Guía y Navegación) y sobre la documentación del software</b></u></div>
<br />
<div style="text-align: justify;">
- Cita Dr. Albert Hopkins - tomada del Space Guidance Navigation and Control - R500 MIT, 1965 -</div>
<div style="text-align: justify;">
<i>The reasons for having an airborne computer are so numerous that the computer engineer is apt to take the parochial viewpoint that the guidance computer is the principal part of the guidance system, and that the other parts, such as inertial, optical, radar, and radio elements are ancillary units for sensing and communication. This picture of a guidance system is somewhat distorted, but not entirely so, In 1962, J. F. Shea, then Deputy Director of Manned Space Flight at NASA, and presently Apollo Project Manager, said, "Although engineers in each discipline tend to regard their particular developments as the most critical, once the propulsion capability has been provided the key to reliable execution of a wide range of complex, long-duration missions is the computational capacity provided aboard the spacecraft."</i></div>
<div style="text-align: justify;">
- Fin de la cita -<br />
<br />
Como punto final se desarrolla el tema de la documentación del software. En múltiples ocasiones se ha escuchado a los nuevos profesionales de la computación afirmando que los buenos programadores (llamados "hackers") no documentan programas. Una especie de código secreto abunda en todos los centros de cómputo en los cuales el autor de este trabajo ha laborado. La mezquindad tecnológica abunda, a veces como forma de reserva de información privilegiada para lograr importancia y una especie de manto de sabiduría. Son estos los principales problemas actuales, como lo eran en el pasado.<br />
<br />
- Cita Dr. James Tomayko - Computers in Spaceflight: The NASA Experience -<br />
<i>Overcoming the problems of the Apollo software, NASA did successfully land a man on the moon using programs certifiably adequate for the purpose. No one doubted the quality of the software eventually produced by MIT nor the dedication and ability of the programers and managers at the Instrumentation Lab. It was the process used in software development that caused great concern, and NASA helped to improve it. The lessons of this endeavor were the same learned by almost every other large system development team of the 1960s:</i><br />
<i></i><br />
<i>(a) documentation is crucial,<br />(b) verification must proceed through several levels,<br />(c) requirements must be clearly defined and carefully managed,<br />(d) good development plans should be created and executed, <br />(e) more programmers do not mean faster development.</i><br />
- Fin de la cita -<br />
<br />
<br />
Referencias<br />
<br />
[1] <a href="http://jportillolugo.blogspot.com/2010/08/el-problema-de-multiplicar-cantidades.html">Multiplicación de Cantidades Decimales: Una cuestión de escala</a><br />
[2] <a href="http://jportillolugo.blogspot.com/2007/03/conferencia-nasa-mapld-2004-digital.html">Conferencia NASA MAPLD 2004 - "Digital Engineering and Computer Design"</a></div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com1tag:blogger.com,1999:blog-29490639.post-43737805708611308142010-04-03T20:57:00.001-07:002017-03-01T04:06:13.144-08:00Mi encuentro con el profesor Raúl Patiño - historias sobre la computación en Venezuela<br />
<div align="left">
<i><span style="font-size: 85%;"></span></i><br /></div>
<div style="text-align: justify;">
Esta entrada va dedicada a mi hermano Luis Portillo, Rafel Messana, José Márquez, Fernando Bello, y tantos otros quienes han dejado escuela en el universo de la computación Mainframe en Venezuela. De esos héroes anónimos de mil batallas. Y como ellos muchos otros cuyos nombres no son conocidos por las nuevas generaciones en tecnología.</div>
<br />
<div align="left">
<span style="font-size: 85%;"><i>There is no reason why a student should<br />be afraid of learning the characteristics<br />of more than one computer; once one<br />machine language has been mastered,<br />others are easily assimilated.<br />Indeed, serious programmers may<br />expect to meet many different<br />machine languages in the course of their carrers...<br /><br />The Art of Computer Programming, Volume 1<br />Fundamental Algorithms<br />Donald E. Knuth, 1997</i> </span></div>
<br />
<br />
<div align="left">
<br />
<span style="font-size: 85%;"><br /></span><span style="font-size: 85%;">Tuve el privilegio de conversar una tarde con el profesor Raúl Patiño. Creo que puedo referir los inicios de Patiño y de Bello en la computación por circunstancias, nunca planeado desde temprana edad. En su larga trayectoria laboral y entre sus ocupaciones, Raúl Patiño ha sido programador de computadoras, profesor universitario y junto a su señora esposa Aura han formado una gran familia de venezolanos y venezolanas de ejemplo. Ha sido Raúl un especialista en historia universal y de Venezuela por derecho propio. Comenzó algo tarde su carrera en la computación pero en esos años ha dejado un legado en la mente y alma de muchos de los que una vez fueron sus alumnos y hoy día tienen como ocupación y modo de vida (y hasta como pasión) el mundo de la tecnología. El espectro de lenguajes de programación que utilizó abarca desde el AUTOCODER y SPS de las computadoras IBM, hasta el RPG ILE de los iSeries, FORTRAN II, FORTRAN 77, COBOL DB2, Pascal y C. Sus experiencias conforman un compendio de la actividad y arte de la programación en nuestro país. Cursó sus primeros estudios en el colegio San José del Ávila cuando era administrado y conducido por padres Benedictinos. Justo este mismo año tuve la oportunidad de recorrer junto a Raúl los pasillos del colegio en el que hace varias décadas Raúl y sus compañeros aprendía matemáticas, lenguaje, historia y aprendían a cultivar en un huerto anexo al colegio.</span><br />
<span style="font-size: 85%;"><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMELXqihfTn6VWYG2FaPJXJhw082eZBGzumz2oN3nrW1RajmGQHNWgEdQVvvKyvVjz6-Dez_caJTONDi1d80iILDBjmyfz8rWzqdyArF5vK4OpzEhZagqOvRYCGKU7m-ZBrHgXgg/s1600/San_Jose_del_Avila_2011_3.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5619786026272636642" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMELXqihfTn6VWYG2FaPJXJhw082eZBGzumz2oN3nrW1RajmGQHNWgEdQVvvKyvVjz6-Dez_caJTONDi1d80iILDBjmyfz8rWzqdyArF5vK4OpzEhZagqOvRYCGKU7m-ZBrHgXgg/s320/San_Jose_del_Avila_2011_3.jpg" style="cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 240px;" /></a>En esta foto del año 2011 aparecen Raúl Patiño y su señora esposa Aura dentro del patio interior del colegio San José del Ávila en Caracas<br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJqIODN6G4Twg-XO3P6yXYtifIFEcZ5SulYJlrny_V8GGWOMCAeg0Wpxq6TceWuOAnHst9U9xwZnuJkAAEKOP71KFmvFbYP5TOx5kiVee3c6YCv8fu1HAAN08ScVsCLSnHW16XA/s1600/Pati%C3%B1o_Bello_1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5489923930466428594" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJqIODN6G4Twg-XO3P6yXYtifIFEcZ5SulYJlrny_V8GGWOMCAeg0Wpxq6TceWuOAnHst9U9xwZnuJkAAEKOP71KFmvFbYP5TOx5kiVee3c6YCv8fu1HAAN08ScVsCLSnHW16XA/s320/Pati%C3%B1o_Bello_1.jpg" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>De izquierda a derecha en la foto: Raúl Patiño y Fernando Bello</span><br />
<span style="font-size: 85%;"><br />RP - Raúl Patiño<br />JP - José Portillo<br /><br /><br />RP: Te debo el listado del compilador que me pediste.<br /><br />JP: ¿Los que escribiste en Pascal de Wirth?<br /><br />RP: Si, lo hice en la universidad de Southern Missisipi, donde obtuve un Bachelor in Computer Science. Fueron dos trabajos, las materias se llamaban Construcción de Compiladores y Construcción de Assembler. Esos trabajos los hice en el lenguaje Pascal. En aquella época en las universidades se enseñaba programación con Pascal, además de otros lenguajes como Fortan, Snobol, APL, Assembler, Cobol, Basic. Eso fue entre 1978-1980, no había diskette, no había CD, el medio de entrada eran las tarjetas perforadas, sin embargo, tenias otros medios de almacenamiento como cintas y discos magnéticos, así que me traje los listados fuente de los programas. Voy a revisar mis archivos físicos y al encontrarlos te los suministro.<br /><br />JP: Cuando los consigas vamos a "escanearlos" y los rescatamos. Eso hago yo con todos mis trabajos viejos en tecnología y no tecnología. El papel se deteriora con rapidez en estos tiempos...<br /><br />RP: Si consigo los libros te los guardo. Lo que ocurre es que le doné a la Universidad Simón Rodríguez un montón de libros (eran como 400 libros). Se los doné porque en aquella época no tenían muchos libros especializados. Me quedé con los más actualizados. Recuerdo que había un libro de lenguaje Cobol de la famosa casa editora Mike Murach, especializada en Assembler y Cobol. Posteriormente, incorporaron Cobol/DB2, Cobol/Cics, Java, MVS, OS, toda estas herramientas para mainframe. Con el libro de Cobol/DB2 preparé un taller dirigido a especialistas del área.<br /><br />JP: ¿Cuál fue el primer lenguaje de programación que manejaste?<br /><br />RP: Se llamaba SPS (el Autocoder llegó luego), era de la segunda generación de computadores de IBM: 1401, 1440 y 1460.<br /><br />JP: ¿Dónde trabajaste con esos computadores?<br /><br />RP: Fue en el IPASME. Yo entré como operador y los programadores ahí usaban el SPS. Consistía en instrucciones de Assembler. Allí di mis primeros pasos en programación.<br /> </span><br />
<span style="font-size: 85%;">Luego me fui al Ministerio de Obras Públicas (MOP) con la poca experiencia que yo tenía. Ellos tenían IBM 1401 también pero usaban SPS y Autocoder este último era un Assembler más poderoso que el SPS. Me hice programador en esa herramienta.<br /><br />JP: Como un Macro-Assembler<br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ezSt-66zxipI3KgGk37ZcTFjRUA4Q9JjsmqMJYhHedpXBthU1u_xpu0wnZtMML58iqxXw-Z16aarfCEzozEy-Q-3GX67p6cE5U0ib2-PIt-XFhntAyVII5DwZRLXtDY9YooQHA/s1600/Autocoder_list.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5488709508168957970" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ezSt-66zxipI3KgGk37ZcTFjRUA4Q9JjsmqMJYhHedpXBthU1u_xpu0wnZtMML58iqxXw-Z16aarfCEzozEy-Q-3GX67p6cE5U0ib2-PIt-XFhntAyVII5DwZRLXtDY9YooQHA/s320/Autocoder_list.jpg" style="cursor: pointer; display: block; height: 232px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>Listado fuente en AUTOCODER. Esta muestra es parte de un listado de salida mostrado desde un programa Assembler escrito en FORTRAN (tomado de la página BitSavers, una fuente importante de información y documentos sobre la IBM 1401 y contemporáneos <a href="http://www.bitsavers.org/">http://www.bitsavers.org/</a>)<br /><br /><br />RP: Estando en el MOP, un día nos llama el director (a mí y a un compañero de nombre Adolfo Ayala). Recién lo habían nombrado director del centro electrónico (se llamaba así y no informática o tecnología). Nos dijo: "necesito que me ayuden a organizar el inventario del archivo técnico porque hay muchas cajas y paquetes de software". La mayoría de los programadores en el ministerio eran ingenieros en diversas áreas y programaban en FORTRAN II.<br /><br />JP: ¿Los ingenieros en otras áreas conocían de programación en esa época?<br /><br />RP: Si, programaban en FORTRAN II y estaba por salir el FORTRAN IV.<br /><br />NOTA: Para el año 1966 la división de procesamiento electrónico del Ministerio era visitada por ingenieros como Castor Segundo Goa, Celso Fortoul, León Arocha Carvajal, Antonio Alamo. Para el procesamiento de cálculos se usaba una IBM 1602 que era programada en FORTRAN II.<br /><br />JP: ¿Y que pasó después?<br /><br />RP: Entonces, volviendo al tema, el director del Centro Electrónico, nos pidió hacer un inventario. Allí conseguimos FARGO (Fourteen-o-one [IBM 1401] Automatic Report Generation Operation), que fue anterior al RPG, ambos, FARGO and RPG facilitaron la transición entre las máquinas de tabulación y equipo de registro unitario de IMB, hacia la nueva serie de computadoras </span><a href="http://en.wikipedia.org/wiki/IBM_1401" title="IBM 1401"><span style="font-size: 85%;">IBM 1401</span></a><span style="font-size: 85%;">. ¿Escuchaste nombrar ese FARGO alguna vez?<br /><br />JP: No<br /><br />RP: Era un generador de reportes. También había RPG I. Todos estaban en cinta magnética. Además había Cobol. Luego cuando le llevamos el resultado del inventario nos dijo: "aquí podemos usar muchas de estas cosas". Él director nos llamó para decirnos: "voy a hablar con IBM para que nos dé un curso de Cobol aquí en sitio".<br /><br />JP: ¿Qué año fue eso?<br /><br />RP: Estamos hablando del año 1966.<br /><br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq00VAmElBSghFA_LkFisg20wlsKDgkNzaa3p-2QbTGOC7xD4P9O-35OujlxLpX00FgDqfH5MxUHujWDBV3zklbzUiv3NlEA5kk6aU64lqceU1ekMJGQZk7zrk4TlVFqmGjYoZOw/s1600/ibm1401.jpg"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5488705868707621442" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq00VAmElBSghFA_LkFisg20wlsKDgkNzaa3p-2QbTGOC7xD4P9O-35OujlxLpX00FgDqfH5MxUHujWDBV3zklbzUiv3NlEA5kk6aU64lqceU1ekMJGQZk7zrk4TlVFqmGjYoZOw/s320/ibm1401.jpg" style="cursor: pointer; display: block; height: 253px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a>La IBM 1401<br /><br /><br />JP: ¿Dónde quedaba la IBM en aquel entonces?<br /><br />RP: IBM tenia su sede en la avenida Urdaneta y estaban mudarse a la Torre Capriles, en Plaza Venezuela.<br /><br />RP: Entonces, nuestro director habla con la gente de IBM y preparamos un curso en el propio ministerio por las tardes. IBM asignó un instructor y comenzó a dictarnos el curso que duraría dos (2) semanas con tres (3) horas diarias o algo así. En paralelo a todo esto, Ayala y yo bajamos el compilador Cobol la 1401. Luego, a los tres días de haber iniciado el curso el instructor no pudo asistir. No sé si enfermó, pero el hecho es que no continuó. Luego nos dijeron que enviarían a otro pero tampoco se presentó, el curso murió al nacer.<br /><br />JP: ¿Y cómo armaron todo?<br /><br />RP: Ayala y yo, por nuestra cuenta, continuamos investigando y estudiando para intentar hacer un programa modelo en Cobol. Por cierto, ¿Sabes cuanto se demoraba una compilada en la 1401?<br /><br />JP: Imagino que mucho por las limitaciones de memoria. ¿Cuánto tardaba?<br /><br />RP: Entre 40 y 45 minutos. Y en algunos casos entre una (1) hora y más dependiendo del tamaño del programa.<br /><br />JP: ¿"ponchaban" las tarjetas perforadas ustedes mismos?<br /><br />RP: Si, las "ponchabamos". Ese era el medio de entrada (de datos y programa). El compilador de Cobol estaba en cinta magnética. Antes, cuando el compilador estaba en tarjetas perforadas, el programa fuente había que colocarlo en medio de un grupo de tarjetas de comandos y el compilador.<br /><br />JP: ¿En esa época existía el lenguaje JCL (Job Control Language)?<br /><br />RP: Había algo muy básico, en JCL.<br /><br />JP: Y las tarjetas con esos comandos se colocaban en los extremos como emparedando a tu programa fuente, ¿Correcto?<br /><br />RP: Si, eso es. Correcto.<br /><br />RP: Había unas tarjetas de control, pero eran más que todo para Jobs, las extensiones para discos, el Exec y otros comandos más. El sistema operativo era DOS (no confundir con el ms-dos posterior de Microsoft). Después de las primeras tarjetas de comandos venían las tarjetas con el fuente seguidas de las tarjetas de fin y al final la data cuando estaba en tarjetas.<br /><br />JP: ¿Y le sacaron provecho?<br /><br />RP: Lo cierto es que, en aquel momento, hicimos dos o tres programas y nos emocionamos mucho con los progresos que obtuvimos. En paralelo trabajábamos con los programas de la instalación. Los programas leían y grababan data secuencial, sencilla. Luego nos metimos con Index-Sequential, arreglos y subrutinas. Al ver estos avances, el director nos dice: "miren, hay una aplicación que tenemos que hacer y con eso se gradúan. Era la aplicación de la Caja de Ahorros, háganla en Cobol, tengo aquí ese proyecto para automatizar esa parte". Entonces lo hicimos en Cobol, con los pasos propios de análisis, diseño, desarrollo y lo implantamos; fue una novedad.<br /><br />JP: ¿Cuánto tiempo tardaron en desarrollarlo?<br /><br />RP: Bueno, entre cuatro a seis meses. No había apuro porque no se conocía nada. Era un ambiente medio experimental en aquella época y no había nadie a quien preguntarle.<br /><br />JP: Entonces ustedes fueron pioneros en Cobol en el ministerio.<br /><br />RP: En esa parte de Cobol, si. Porque todo se hacia en Autocoder. Todos los programas administrativos se hacían en ese Assembler. Que usaban Macros para el manejo de cintas, de discos. Pero cuando no habían Macro la cosa más complicada porque tu mismo tenías que armar las instrucciones de cinta (rebobinar la cinta, instrucciones de avance, la lectura o grabación de la misma, el área entrada-salida de los datos), igualmente para el manejo de lectura-grabación de los discos, todo un "trabajón". Fue una época muy bonita de la computación.<br /><br />JP: ¿Y después del Cobol, que pasó?<br /><br />RP: Un día el director nos dice: "vamos a preparar un cursito en RPG". Hicimos lo mismo que con el Cobol: la cinta, esto, aquello. No conocíamos nada de RPG: las hojas de File, Input, Calculo, Output y Extensión... eso si, estudiamos y repasábamos la lógica del RPG porque era el RPG básico, en el que tu no tenías las ventajas que tienes en los RPG´s posteriores. Hicimos dos listados y el director entusiasmado comenzó a reunirse con nosotros una hora después de almuerzo y una hora en la tarde. para darle los avances y preparar el material. Al final se preparó el curso y el director lo dictó en las instalaciones del Centro de Procesamiento de Datos del Banco Obrero, tuvo una buena acogida<br /><br />JP: Un solo "Eval" y metes toda una expresión algebraica, etc.<br /><br />RP: Nada de eso existía..<br /><br />RP: Bueno,<br /><br />JP: ¿Cómo se llamaba él?<br /><br />RP: Antonio Aranguren, un ingeniero. Había estudiado en Francia y para esa época estaba recién llegado a Venezuela. Era hombre muy culto.<br /><br />JP: Un emprendedor. Por eso los impulsaba a ustedes a meterse en todos esos proyectos de aprovechar las herramientas.<br /><br />RP: Claro que sí. Él era ingeniero civil, tiempo después sacó una firma de Consultoría y Proyectos.<br /><br />JP: ¿Murió ya?<br /><br />RP: Si, ya el murió.<br /><br />RP: Un hombre muy pro-tecnología. Ese Centro Electrónico ocupaba todo un piso. Habían como 30 ingenieros en diversas especialidades.. En el Ministerio se desarrollaba muchos programas del área de ingeniería, prácticamente todas las obras que se construyeron en el país, se calculaban en ese Ministerio, (construcción de puentes, autopistas, edificios, área eléctrica, represas, etc.) y la otra área, la constituían los Analistas Programadores del área administrativa, esto incluía la contabilidad, presupuesto, inventario de bienes, nómina y otros.<br /><br /><br />NOTA: A este punto la conversación se desvía al tema educativo y sobre la relación alumno-profesor.<br /><br />JP: Siguiendo el caso de este señor director, ¿Aprendiste a medir a las personas? ¿Cuál era tu lema como profesor a este respecto?<br /><br />RP: Yo me preparaba con mucho ahínco y daba lo mejor de mí, y por lo tanto podía exigir. Hay algo que saqué por psicología propia. En general tienes tres grupos: el grupo de las personas que salen adelante, no importa si el profesor es bueno o mediocre, otro grupo, que es la mayoría, quieren aprender y se esfuerzan. Si el profesor es bueno, obtienen resultados positivos, pero si el profesor no cumple con las pautas, algunos terminan con dificultades o no finalizan. No hay que descuidarlos.<br /><br />JP: ¿Este último grupo es más numeroso?<br /><br />RP: Correcto.<br /><br />RP: Y hay un tercer grupo que cuesta incorporarlos, este grupo es un reto para quien con profesionalismo imparte el entrenamiento, en la medida que motives, atiendas con más dedicación y entendimiento den sus dificultades, hace que muchos se incorporen al segundo grupo o pasan a la estadística de reprobados.<br /><br />JP: Es decir, es la representación exacta del comportamiento de la curva normal (desde el punto de vista estadístico del término), ¿Correcto?<br /><br />RP: Así es.<br /><br />JP: La motivación, la motivación...<br /><br />NOTA: Raúl me comentó casos de alumnos que tuvo que reprobaban determinada materia en varias ocasiones. Era el caso curioso de un señor quien siendo era un gran analista y programador en Cobol pero no daba con el Assembler y otro caso fue en lenguaje Fortran, en ambos preparé un plan de recuperación teórico-práctico con evaluación dirigida y continua, que dieron resultados muy apetecibles a estos casos. El lector puede recordar en este momento el epígrafe con el cual inicio este artículo basado en la nota del profesor Knuth sobre el manejo de múltiples lenguajes de programación.<br /><br />JP: ¿Cómo explicas que una persona sea buena para un lenguaje de programación y para otro sea un desastre, si consideramos que lo que está en el fondo de cada lenguaje es la misma lógica de programación?<br /><br />RP: Primero existe una influencia de su trabajo diario. Lo sacas de Cobol y no da la talla para la nueva propuesta. Son personas que tienen tapa ojos y solo ven un camino, pero si los sacan de eso se pierden. Se hacen unos expertos y caminos grandes con una sola cosa. Yo tuve la suerte que el primer programa que hice lo construí con mis compañeros de trabajo y no necesité de un curso.<br /><br />JP: ¿Cómo te iniciaste en Assembler?<br /><br />RP: Me inicie con SPS y Autocoder, Posteriormente trabajando en el Instituto Nacional de Hipódromos hice un curso de Assembler 360 en dos semanas en IBM, mañana y tarde. Cuando regresé del curso, me dediqué a programar en esa herramienta por mucho tiempo.<br /><br />JP: ¿Te fuiste a trabajar en el hipódromo?<br /><br />RP: Si<br /><br />JP: ¿Qué equipos tenían?<br /><br />RP: El Hipódromo tenía un sistema de registro unitario y una IBM 360-20. Estaban saliendo del registro unitario y cambiando todo para la 360, todo continuaba en tarjetas perforadas y la decisión era cambiar la modelo 20 por una 360 modelo 30 que era más versátil. La persona destacada por IBM me pide que lo ayude a preparar unos cursos de procesamiento de datos básico. Me dio unos tips sobre cursos. Allí di mis primeros pasos en la docencia.<br /><br />JP: ¿Qué año era?<br /><br />RP: Eso fue en 1968. Estuve dos años programando en Cobol, RPG y Assembler en el Hipódromo, por cierto que la aplicación estrella fue la automatización del juego del 5 y 6, esto fue un suceso nacional.<br />De allí me fui como director de una academia llamada ECPI (Electronic Computer Programming Institute).<br /><br />JP: ¿Dónde estaba la sede de esa academia?<br /><br />RP: En el edificio de la Cámara de Comercio al final de los Caobos. Piso 7. Estuve entre los años 1970 y 1974.<br /><br />JP: ¿Era una academia privada?<br /><br />RP: Era privada de un gringo que la había instalado en México y en Puerto Rico. Era como una red en Estados Unidos y el tenía la franquicia. La montó en Caracas y en Valencia. Tenía una máquina propia, era una IBM 360.<br /><br />JP: Anterior a esa ¿Existían otras academias de computación?<br /><br />RP: Si, la Academia Moderna en el centro y otra más, pero no eran muy buenas y no tenían equipos.<br /><br />JP: ¿Era un currículum completo?<br /><br />RP: Muy completo para su momento. Estudiabas un año y medio más o menos. Tenías una materia introductoria al Procesamiento de Datos con duración de tres meses, donde veías los conceptos básicos: bit, byte, archivo, registro, campos, lógica binaria, diagramas de flujo, etc. Después tenías un curso de RPG que duraba tres meses, luego Cobol con cuatro meses, después Assembler de seis meses y al final Sistema Operativo dos meses..<br /><br />JP: Al final ¿te daban un diploma o título?<br /><br />RP: Un titulo de programador. Con las asignaturas explicadas arriba.<br /><br />JP: Y todas estas empresas enviaban personas a prepararse allí.<br /><br />RP: Muchas empresas, si. Allí estudió gente valiosa. Personas que años después los encontré como desarrolladores, programadores y gerentes en varias compañías. Yo entré como director en esa academia por mi experiencia en educación en computación y estuve trabajando allí cuatro años.<br /><br />NOTA: A este punto pasa cerca de nuestra mesa una muchacha muy bella y con minifalda y me desconcentró. Me lanzó una mirada muy pícara que todavía la recuerdo. Luego me di cuenta que también le había echado una picada de ojo a Raúl. Que vaina!<br /><br />RP: ¿Qué pasó? Te veo perdido.<br /><br />JP: Cónchale Raúl, con esa echadera para delante y para atrás en tu narración me perdí!<br /><br />RP: Bueno, en el hipódromo estuve entre 1968 y 1970. Luego vino la academia que te comenté, ¿Me sigues?<br /><br />JP: Yes sir!<br /><br />RP: Yo creía que sabía Assembler y cuando fui a dar mi primer curso en ECPI bueno... tuve que auto-entrenarme con aquel manojo de instrucciones como la aritmética binaria y de punto flotante, las instrucciones de uso múltiple y otras<br /><br />JP: Aprendiste bastante enseñando la materia, ¿Correcto?<br /><br />RP: Claro que si, muchísimo. Del ECPI me fui a la Fuerza Aérea como analista programador. En el ECPI daba clases Mariano Márquez Oropeza, un teniente coronel quien era el segundo de abordo del proyecto de automatización en La Carlota. Ellos tenían un IBM 360 Modelo 20 en Maracay, únicamente para el inventario de las partes para los aviones Mirage. Luego arrancaron el proyecto de automatización de todas las aplicaciones de la fuerza con sede en La Carlota, en lenguaje Cobol, muchos de los militares programaban en Fortran. Después con el instituto del IUFAN comenzaron a usar el RPG. Dado mis conocimientos de Assembler y DOS me colocaron como System Programming, es decir, encargado del sistema operativo y dando soporte a los usuarios. Estaba yo solo para revisar y resolver los reventones de programas, descifrar los dumps de memoria, etc. Había que conocer los formatos de datos: empaquetado, binario, registros etc. En eso estuve desde el año 1974 hasta 1978.<br /><br />RP: Entonces, el teniente coronel que me contrató, quien sabía mucho de computación porque era ingeniero civil y había hecho una maestría en Estados Unidos en Investigación de Operaciones y conocía de teoría de colas, teoría de inventarios, modelos matemáticos y era un excelente programador en Fortran. Por eso me llevó para allá conjuntamente con otras personas y armó un buen team.<br /><br />JP: Estando en la Fuerza Aérea es que decides ir a estudiar en el norte<br /><br />RP: Si, porque conocía mucho pero no tenía un título. Ya había arrancado la carrera de computación en la Simón Bolívar, ya estaban saliendo los licenciados de la UCV Yo había arrancado a estudiar en la Central pero lo interrumpí por cuestiones de trabajo.<br /><br />JP: Y estando en tus ocupaciones de system programming, ¿Continuaste con tus labores de docencia?<br /><br />RP: Si, mientras estuve en la FA me llama un amigo del Instituto Universitario Nueva Esparta para dictar un curso en RPG. Ellos no tenían máquina. Todo era teórico. El curso más avanzado estaba en cuarto semestre y ninguno había programado en una máquina real. Esa era una carrera a nivel de técnico superior que estaba comenzando, en mi caso entré como experto. Por eso pude entrar a dar clases sin tener título de tercer nivel.<br /><br />RP: Durante el semestre les mandé un programa. Tenía como ocho alumnos. Por mi cuenta, les pedí los programas en papel y en la FA le pedí a una secretaria que me ayudara a poncharlos en tarjetas y a la computadora para que vieran los errores de compilado, y me aparecí luego con los resultados de la compilación.<br /><br />JP: Imagino la cara de los alumnos cuando vieron por primera vez en sus vidas esos listados!<br /><br />RP: Caramba! se impresionaron, luego fui contratado para un segundo semestre. Un día se me prende el bombillo. Hablo con el ya Coronel Mariano Márquez Oropeza con quien trabajaba en la FA. y ya nombrado Director del Centro Electrónico, le explico la situación con mis alumnos. Por cierto, él había dado clases en ECPI y también le gustaba muchísimo la docencia, le planteo la posibilidad de hacer un intercambio: le enviamos unos becarios de la FA al instituto y a cambio le compilamos programas de los alumnos en nuestra máquina. Me respondió: "encárgate de eso". Se lo planteo al director del Instituto Nueva Esparta y por supuesto le gustó la idea. Fue una tabla de salvación. A partir de ese momento se estableció un acuerdo beneficioso para ambas partes, por parte de la FA, formar recurso humano y por el Instituto Nueva Esparta facilitar la compilación de los programas de sus alumnos.<br /><br />JP: Fuiste un gran enlace. Un intercambio bien bonito.<br /><br />RP: Si, y yo iba a coordinar todo eso.<br /><br />JP: ¿Eran mujeres quienes perforaban y transcribían los programas?<br /><br />RP: Si, y yo sugerí que contratáramos a alguna de ellas a destajo. Pero finalmente se optó en utilizar los servicios de transcripción con una firma externa.<br /><br />JP: Para ese entonces, la Central y la Simón Bolívar ¿Tenían sus propios computadoras?<br /><br />RP: Si, incluso la de los Andes y la del Zulia también.<br /><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVg2EMI5EvHNI8dyXFkyUGCvzZs0Bs00Bo4Y71nvZmSAEsEewmLO9SKdkfWzkyerGTMfZvhJAp74Fmr1A7xyfiNdrvsXBssWdI965MII0jUTDnkNK0DzutVsP4HFfT8Imw5ZIFxg/s1600/Pati%25C3%25B1o_Compiler_Fortran_Pascal_18_06_2010.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5632539636100242146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVg2EMI5EvHNI8dyXFkyUGCvzZs0Bs00Bo4Y71nvZmSAEsEewmLO9SKdkfWzkyerGTMfZvhJAp74Fmr1A7xyfiNdrvsXBssWdI965MII0jUTDnkNK0DzutVsP4HFfT8Imw5ZIFxg/s320/Pati%25C3%25B1o_Compiler_Fortran_Pascal_18_06_2010.jpg" style="cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 240px;" /></a> El prof. Patiño revisando el listado fuente del compilador Fortran que desarrolló para la cátedra de construcción de compiladores en la SMU (está escrito en lenguaje Pascal y arroja código Assembler para la Xerox Sigma-9 que tenían en la universidad en aquella época)<br /><br />Patiño se fue a estudiar en University of Southern Missisippi, donde obtuvo un Bachelor in Computer Sciences y regresó, para continuar con su labor docente desde el año 1981 en el Instituto Nueva Esparta y a partir de 1987 en la Universidad Simón Rodríguez, primero entra como contratado por horas y después contratado medio tiempo, posteriormente concursó por la cátedra Lenguaje Fortran que le permitió obtener el escalafón de Instructor, más adelante, debido a sus credenciales, obtuvo una reclasificación como Profesor Asistente. Después cursó una Maestría en Gerencia de Informática en la Universidad José María Vargas y cuyo trabajo de grado, le valió su ascenso a Profesor Agregado. A partir de 2006 se jubiló como Profesor de la Universidad Simón Rodríguez. Desde 1990 hasta 1999 compartió sus labores docentes como Gerente de Informática en empresa de fármacos y misceláneos.</span></div>
<a href="http://www.bitsavers.org/"></a><a href="http://www.bitsavers.org/"></a><br />José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com4tag:blogger.com,1999:blog-29490639.post-50717413734403555322008-02-25T16:36:00.000-08:002013-09-16T09:48:26.992-07:00A un gran y fiel amiguito que se nos fue...<div>
<img alt="" border="0" height="178" id="BLOGGER_PHOTO_ID_5171082954712248306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRJaB422ncBVVw4dxhLRkwnUAvDc517-CENTsYtvoIy9axx8Wiue-5T8fM9xguqOBSXXj3BSUtmi35Ud_vhql38iiR1F0TZrbuk83yrUM7na62h4asle5MCnEh_JW0liwhvfh-sg/s320/Imagen010.jpg" style="cursor: hand; display: block; height: 223px; margin: 0px auto 10px; text-align: center; width: 359px;" width="259" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsHSlpQaIjMWToK1Y3R9N5_I_WKYP3QnBhDltum56ORERExo2KgFWavJd0uUyFNQ1twc9C1_Nf3cn0gZv3uLSoOyNdw0f5GRUEaBufefylg8Devt68fjrIbiRLyRX2vVu_psOnPA/s1600-h/Imagen010.jpg"></a></div>
<br />
<br />
<br />
<div>
<br /></div>
<br />
<div>
<img alt="" border="0" height="278" id="BLOGGER_PHOTO_ID_5171081825135849426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi_U-_ptqpwhhhj95f0u7E6GwAaDJ7NrKBNr5QaitKgOPnKjva0cKDGjUow-Ti3YxKX1aOoncX9nBYip1tlQRr70ZZ1iP8gj5RUYHHfZ8BQthyxhmAfPOOPQ5owjvb5EVbZPDaJQ/s320/chiquitin2.jpg" style="cursor: hand; display: block; margin: 0px auto 10px; text-align: center;" width="357" /></div>
<br />
<div>
</div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-1174930998646338942007-03-26T11:29:00.000-07:002017-03-01T04:05:53.197-08:00Conferencia NASA MAPLD 2006 - "Digital Engineering and Computer Design"<div style="text-align: center;">
<div style="text-align: left;">
<br />
<span style="font-style: italic;">Celebrada en Octubre de 2006, los temas a tratar en la sesión de trabajo estuvieron relacionados con el arreglo de Computadores (mecanismo de Interconexión, manejo de redundancia y Fail-Over) dentro del Orbitador del Transbordador Espacial y un repaso hitórico de la Misión Apollo 13 a cargo de Jack Garmman director de los sub-sistemas de Guía y Navegación Apollo y Sy Liebergot Controlador de Vuelo durante la Misión Apollo 13. Además tuvimos un brindis el último día en las instalaciones del Smithsonian National Air and Space Museum.</span><br />
<br /></div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiONtKHqXPfY_dxSFRiMQ9SliI5E4rYVwqdG9WPK4dT2qxZWUb-PqIgESVPfoldxUgXDJxKCqMdKB36jIw5Mjo9fyMaEyoSk9aMFiTdt8wkbE_Z-1jCVvxN1qbITsbhw_On9ym1Kg/s1600-h/enterprise_2.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051873024475395106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiONtKHqXPfY_dxSFRiMQ9SliI5E4rYVwqdG9WPK4dT2qxZWUb-PqIgESVPfoldxUgXDJxKCqMdKB36jIw5Mjo9fyMaEyoSk9aMFiTdt8wkbE_Z-1jCVvxN1qbITsbhw_On9ym1Kg/s200/enterprise_2.JPG" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><span style="font-size: 85%; font-style: italic;">Visita al Air and Space Museum en Dulles (el Transbordador Enterprise está al fondo)</span></div>
<br />
<br />
<div style="text-align: center;">
</div>
<br />
<br />
<div style="text-align: center;">
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/162989/STS_MRCA.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/133945/STS_MRCA.jpg" style="cursor: pointer; display: block; height: 213px; margin: 0px auto 10px; text-align: center; width: 295px;" /></a><span style="font-style: italic;"><span style="font-size: 85%;">(Hacer click para ver el detalle)</span></span><br />
<span style="font-style: italic;"><span style="font-size: 85%;">Diagrama funcional comparativo entre las Interfaces del Piloto y el Software de Piloto Automático Digital (DAP) en los módulos Apollo Vs. el arreglo en el Transbordador Espacial</span></span><br />
<span style="font-size: 85%; font-style: italic;">* Fuente: "Manual Rate Command Augmentation Systems: A brief Chronology from 1950's Simulations to the Space Shuttle" - Sometido a la Conferencia MAPLD 2006 - Octubre 2006</span></div>
<span style="font-style: italic;"><span style="font-size: 85%;"> </span></span><br />
<br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpqAcBt72BtsArWAala3psehLiURLtdhFcFkh_wOw-OV-w92d5xT-013WmTYZ7Hl33HO_jR7ZW-nOdJh2YFtHfnmBfBjZANeChU7pXGgct4NONorBji3W2fRqjq4WpPLFpBRRHA/s1600-h/josehaise.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051873355187876914" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPpqAcBt72BtsArWAala3psehLiURLtdhFcFkh_wOw-OV-w92d5xT-013WmTYZ7Hl33HO_jR7ZW-nOdJh2YFtHfnmBfBjZANeChU7pXGgct4NONorBji3W2fRqjq4WpPLFpBRRHA/s200/josehaise.JPG" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><span style="font-size: 85%;">Astronauta/Piloto de Pruebas Fred Haise</span></div>
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi09zerTptOBZbJ6s2MRSfAQ6BnSTUzD1M938KQ5KblhkucaLLASXTLoPsVHS2iekNwSJtrLPpCD7LmWy4lWF3wo6xBa6UdrehB8ipv331II-MSYCwl5Nmkw-X_LnkTjfVXmS5x7Q/s1600-h/llrv.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5111204625220531154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi09zerTptOBZbJ6s2MRSfAQ6BnSTUzD1M938KQ5KblhkucaLLASXTLoPsVHS2iekNwSJtrLPpCD7LmWy4lWF3wo6xBa6UdrehB8ipv331II-MSYCwl5Nmkw-X_LnkTjfVXmS5x7Q/s320/llrv.JPG" style="cursor: pointer; float: left; height: 122px; margin: 0pt 10px 10px 0pt; width: 147px;" /></a><br />
<div style="text-align: center;">
<span style="font-size: 85%;">Fred Haise fue uno de los Pilotos/Ingenieros que probaron vehículos controlados eléctricamente (Fly-By-Wire) para practicar descensos lunares aquí en la tierra (luego como Piloto del Modulo Lunar Apollo 13) y ya entrada la década de 1970 practicar descensos con un planeador (sin motor) de las dimensiones del Transbordador Enterprise.<br />(para aprender más sobre sistemas de control electrónico/digitales ver el ensayo monográfico publicado en la conferencia MAPLD 2004: <span style="text-decoration: underline;"><br /><a href="http://www.klabs.org/mapld04/papers/p/p202_portillo_p.pdf">http://www.klabs.org/mapld04/papers/p/p202_portillo_p.pdf</a></span></span></div>
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/534901/ALT.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/951645/ALT.jpg" style="cursor: pointer; float: left; height: 130px; margin: 0pt 10px 10px 0pt; width: 146px;" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi67ixzRJZ6xd1gmgRjl_Gn6pbCV7lQ7ADUAXDOF5V_C8VCLJkBuPnUnFDft9ua2wQdTCsEeApNr3iC0FMXrPWPV9AcsM70fFvayvYwURXImOKuHHC8D8Y0ztcv4fqDvOByxnmr_w/s1600-h/LMSS.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051873711670162498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi67ixzRJZ6xd1gmgRjl_Gn6pbCV7lQ7ADUAXDOF5V_C8VCLJkBuPnUnFDft9ua2wQdTCsEeApNr3iC0FMXrPWPV9AcsM70fFvayvYwURXImOKuHHC8D8Y0ztcv4fqDvOByxnmr_w/s200/LMSS.jpg" style="cursor: pointer; float: right; height: 142px; margin: 0pt 0pt 10px 10px; width: 106px;" /></a><br />
<span style="font-style: italic;"><br /><br /><br /><br /><br /><br /><br /><br /><br />Robert Seamans, el director de la Nasa para el tiempo de las Misiones Apollo ofreció una conferencia en la cual contó anecdotas interesantes desde el punto de vista administrativo del Proyecto.</span><br />
<br />
<span style="font-style: italic;">Otros participantes y expositores de la sesión: Eldon C. Hall, Hugh Blair-Smith, Richard Katz, Frank O'Brien</span><br />
<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxGsm6O8RwATk69obCfYYozUhQRtfm038fINh18NuGLb9-9ITBKkoMa_qLma3NTFBrHpmbmHrt9NOmGnIO8ClgRYsqDKlA-7IozyxGtDWt9yyr9aSkYhbvbypjcYzstpN-qy6gwg/s1600-h/frankjosehugh.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051874248541074514" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxGsm6O8RwATk69obCfYYozUhQRtfm038fINh18NuGLb9-9ITBKkoMa_qLma3NTFBrHpmbmHrt9NOmGnIO8ClgRYsqDKlA-7IozyxGtDWt9yyr9aSkYhbvbypjcYzstpN-qy6gwg/s200/frankjosehugh.JPG" style="cursor: pointer; display: block; height: 170px; margin: 0px auto 10px; text-align: center; width: 220px;" /></a><span style="font-size: 100%; font-style: italic;">Tuve el privilegio de pasar una tarde en el Air and Space Museum junto a Frank O'Brien y a Hugh Blair-Smith. Ambos, O'Brien y Blair-Smith (al igual que Eldon Hall, Frasier y otros) fueron mi guia y mis compañeros durante los años que dediqué a estudiar el computador de Apollo. En la foto de izquierda a derecha: el Piloto/Historiador, el Historiador loco y el Diseñador del AGC (O'Brien, Portillo Lugo y Blair-Smith) frente a la capsula de comando del Apollo XI.</span></div>
<div style="text-align: center;">
<br />
<br />
Actualización 2010:<br />
Frank O'Brien (extremo izquierdo en la foto anterior) ha publicado un libro sobre el Apollo Guidance Computer. O'Brien es piloto licenciado, estudio computer science y contribuyó como asesor técnico en el Apollo Lunar Surface Journal y en el Apollo Flight Journal.<br />
<br />
Otro esfuerzo sobre el tema: Existe, desde hace ya 6 años, un sitio web creado y mantenido por Ronald Burkey quien ha creado un simulador bien completo del computador Apollo:<br />
<a href="http://www.ibiblio.org/apollo/index.html">http://www.ibiblio.org/apollo/index.html</a></div>
José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-1174929125810016082007-03-26T10:56:00.000-07:002014-11-07T12:01:12.577-08:00El viaje a la Luna y un pequeño ejemplo sobre Relatividad...<br />
<div style="text-align: right;">
<i>The state of rest and motionlessness is unknown in nature.</i></div>
<div style="text-align: right;">
<i>The whole of nature, from the smallest particles up to the most massive bodies,</i></div>
<div style="text-align: right;">
<i>is in a state of eternal creation and annihilation, in a perpetual flux, </i></div>
<div style="text-align: right;">
<i>in unceasing motion and change. </i></div>
<div style="text-align: right;">
<i>In the final analysis, every natural science studies some aspect of motion. </i></div>
<div style="text-align: right;">
<i>Mathematical analysis is that branch of mathematics that provides methods </i></div>
<div style="text-align: right;">
<i>for the quantitative investigation of various processes of change, motion, and </i></div>
<div style="text-align: right;">
<i>dependence of one magnitude on another.</i></div>
<div style="text-align: right;">
<i>M.A. Lavrent'ev, s. M. Nikol'skil - Analysis - Mathematics: its content, methods and meanin, 1964 </i></div>
<br />
Hace un año, estuve conversando con Eldon Hall (matemático, físico y líder del proyecto del computador Apollo) sobre el concepto de límite y una curiosidad suya sobre la relatividad del tiempo/espacio aplicada en el viaje a la luna del Apollo.
<br />
<br />
JP: Following our talk about relativity and the journey to the moon, How you define "Limit"?
<br />
<br />
EH: A variable v which approaches 0 as a "limit" is called an "infinitesimal". That is very similar to your statements about the edge of your bed. The distance to the edge goes to 0 in the limit as you move toward the edge. There are special theorems that apply to infinitesimals and limits. These theorems have never meant much to me. I guess that means in the limit I am not a mathematician.
<br />
<br />
On Einstein's relativity I can use an example from Apollo to explain Einstein's thinking which led to his development of the special theory of relativity. I can ask the question "what time did the LM touch down?' The AGC has a clock and could record the time the touch down signal is received. This time can be sent down to the ground on the telemetry. The touch down signal that was sent to the computer could be sent down to the ground also and the ground could record the time the signal is received using a clock on the ground. If both of these records are sent, they will be delayed by the same transmission time but the time the computer recorded will be approximately 1.5 seconds earlier than the time recorded on the ground. Of course Einstein did not have examples like this but he did recognize that there would be differences in the time of events as recorded by observers separated in space. Another example is the Apollo spacecraft on the way to the moon. If time as measured in the AGC is sent to the ground and compared with a clock on the ground, the observer on the ground will see that the AGC clock is running slower than the clock on the ground. This results from the fact that the transmission time between the spacecraft and ground will be increasing as the spacecraft moves away from the earth. Here we can use the word limit by asking what happens to the ground's measurement of the AGC time when in the limit the spacecraft approaches the speed of light. The basic results of the special theory of relativity is an equation, called time dilation equation, for computing the time dilation as a function of the velocity of the spacecraft. In the limit as the spacecraft's speed approaches the speed of light this function approaches zero. That is in the limit the AGC clock will stop.
<br />
<br />
It is this equation that perplexes me. Using that equation at the velocities of the Apollo Spacecraft, there will be no difference between the ground and AGC time at the moon. This fact is the reason for the question I had for you about the landing. I do not know how the LM AGC was initialized. How was the time to fire the descent rockets determined? With my limited knowledge of orbital dynamics it seems to me if the rockets were fired approximately 1.5 sec. late, then the touch down point would be 3 or 4 miles long. If MIT experts made that kind of error, it would be quite embarrassing. I do not know how to find out. I ask Dr Battin once some time ago whether relativity was considered in the Apollo guidance and his answer was typical. The velocity was to low. But at that point he was considering position of stars. I did not have a chance to question him further.
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ9NS0sRLrcEU6eR3TnnPlt0dSpU1c8PeQTGGciKVXa9fswNgdRmv9mIywrbUbVclGZH4IhJIyT81AVXEyXuLyWbfsrqX3BKircob883eKPgzgOg2m3DM82Pd_V9VFlfCHvXhnLg/s1600/Moon_1.png"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ9NS0sRLrcEU6eR3TnnPlt0dSpU1c8PeQTGGciKVXa9fswNgdRmv9mIywrbUbVclGZH4IhJIyT81AVXEyXuLyWbfsrqX3BKircob883eKPgzgOg2m3DM82Pd_V9VFlfCHvXhnLg/s320/Moon_1.png" id="BLOGGER_PHOTO_ID_5629703319184627794" style="cursor: hand; cursor: pointer; display: block; height: 314px; margin: 0px auto 10px; text-align: center; width: 149px;" /></a>José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0tag:blogger.com,1999:blog-29490639.post-1174927621653643292007-03-26T10:33:00.000-07:002017-03-01T04:04:30.240-08:00Conferencia NASA MAPLD 2004 - "Digital Engineering and Computer Design"<div style="text-align: right;">
<div class="separator" style="clear: both; text-align: center;">
</div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKF-0d5Bw4qAAtWC2v2dwgx-p1G4dTZk53W2KJRXPkkeTbcl3KLfKfoAW9TLwYLJo7UyGZcuhcM2jL7dtgx_aDSGaex7vfYaKkp9o5BwoH4Cttnsx8-q-sn41LoufWazRH951lQw/s1600-h/AS10-27-3873.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"></a><span style="font-size: 100%;"><span style="font-style: italic;"> </span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: 100%;"><span style="font-style: italic;"></span></span></div>
<span style="font-size: 100%;"><span style="font-style: italic;">The Guidance computer, nothing more than a complicated assembly of wrires and tiny pieces of a common element called Silicon, was sending instructions to the spacecraft's rockets...</span><br /><span style="font-style: italic;">Signals (0s and 1s) were rushing about within the computer's brain, generating information...</span><br /><br /><i>Eldon C. Hall<br />Journey to the Moon,<br />The history of the Apollo Guidance Computer<br />1996</i></span></div>
<div style="text-align: right;">
<span style="font-size: 100%;"></span><br /></div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
<span style="font-size: 100%;"></span><br /></div>
<br />
<br />
<br />
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
<i>Esta entrada esta dedicada a todos aquellos </i></div>
<div style="text-align: right;">
<i>veteranos de la computación y </i></div>
<div style="text-align: right;">
<i>los sistemas de control </i></div>
<div style="text-align: right;">
<i>en los años 1950s y 1960s </i></div>
<div style="text-align: right;">
<i>e historiadores del presente</i></div>
<div style="text-align: right;">
<i>quienes tuvieron una gran </i></div>
<div style="text-align: right;">
<i>influencia durante </i></div>
<div style="text-align: right;">
<i>los 10 años de vida que </i></div>
<div style="text-align: right;">
<i>dediqué a esta investigación:</i></div>
<div style="text-align: right;">
<i>Eldon C. Hall, Hugh Blair-Smith,</i></div>
<div style="text-align: right;">
<i>Frank O'Brien, Cline Frasier,</i><br />
<i><i>Robert Stengel,</i> </i></div>
<div style="text-align: right;">
<i>Ramón Alonso, </i><i><i>Don eyles, </i></i><br />
<i><i>Alan Green</i></i><br />
<i><i> </i>Dale Reed,</i></div>
<div style="text-align: right;">
<i>Gary Hartman, Gordon Hardy,</i><br />
<i>Ronald Burkey, </i></div>
<div style="text-align: right;">
<i>Milt Thompson, </i></div>
<div style="text-align: right;">
<i>Hal Lanning,</i></div>
<div style="text-align: right;">
<i>Richard Battin</i><br />
<br /></div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
<span style="font-size: 85%;"><br /></span>
<br />
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: 100%;">Primero una aclaratoria. Muchas personas me han preguntado si los viajes a la luna y los alunizajes fueron verdad o ficción. Es muy difícil determinar en el presente que un acontecimiento así haya ocurrido. En general no es posible determinar científicamente ningún acontecimiento en la historia. El método científico obliga a que un determinado</span></span><span style="font-size: 85%;"><span style="font-size: 100%;"> fenómeno sea reproducido en condiciones idénticas al fenómeno que se afirma, repitiendo el experimento en presencia de la persona que duda del hecho. Desde esa perspectiva no es posible entonces reproducir nada del pasado (no puedo yo reproducir el momento exacto en el cual salí hoy de mi casa, y mucho menos reproducir las condiciones climáticas y de otro tipo que se estaban dando en el momento en cuestión). Para los acontecimientos históricos se debe aplicar el método legal: basado en testimonios orales, escritos, en documentación de la época, y sobre todo siempre tener una mente abierta para colocar el acontecimiento en contexto con el estado del arte de la ciencia y la tecnología en la época.</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: 100%;">Los primeros objetos artificiales (hechos por seres humanos) en alcanzar nuestro satélite, luego de hacer todo el recorrido basado en los cálculos sobre las fuerzas magneticas ejercidas por esos potentes magnetos que son el sol, la tierra y la misma luna, fueron contruidos por la Unión Soviética. De hecho fue el talento de varios matemáticos rusos, como Lev PONTRYAGIN, BOLTYANSKII y muchos otros, y sus modelos de control Óptimo, los que usaron, durante la década de 1960, los matemáticos y científicos norte-americanos para modelar y programar los sistemas de control para los módulos lunares del proyecto Apollo, con el principio Máximo (o Mínimo) de Pontryagin como ejemplar de este flujo de conocimientos entre dos naciones en aparente conflicto. La história es compleja. El escritor León Tolstoi trata este tema en profundidad en su epílogo a la batalla de Borodino en la obra Guerra y Paz.</span></span><br />
<span style="font-size: 85%;"><span style="font-size: 100%;"><br /></span></span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-size: 85%;"><span style="font-size: 100%;">Esta conferencia trató sobre la historia de la tecnología aeroespacial de los años 1960s, y en especial sobre los sistemas computadores que servían de guía y control a los diseños norte-americanos. Por lo tanto, cualquier polémica sobre si esa aventura del ingenio humano fue o no realidad nada tiene que hacer aquí. Tal vez la única explicación que puede darse es que aquel esfuerzo fue una manifestación del estado y uso del conocimiento y la ciencia para los años 1960.</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: 100%;">En contexto puede decirse que se trató de un ejemplo de uso de todo el edificio de conocimientos sobre las fuerzas y atributos que operan y poseen los objetos en el universo. Conocimiento acumulado desde las poblaciones de la antiguedad, como la Helénica, que luego fue rescatada e interpretada, en su justo valor, durante el llamado Renacimiendo y posteriormente durante el siglo de las luces o la Ilustración (también llamado, por lo anglo-sajones, el siglo newtoniano). La reformulación (reforma, pudieramos decir) al arcano cuerpo doctrinario de la geometría de Euclides, realizado durante el siglo XIX por matemáticos como David Hilbert constituye un ejemplo de esa secuencia de descubrimientos/re-descubrimientos/re-visión/re-forma. El gobierno/complejo industrial/pueblo norteamericano, tal como lo vaticinó Julio Verne a mediados del siglo XIX, fue el que reconoció que una empresa como esta sería la que mejor representaba su espíritu competitivo y de conquista, sin olvidar la visión económica sobre la explotación de los recursos disponibles en ese "nuevo oceano" (como lo indicó el presidente Kennedy en 1961).</span></span><br />
<br />
<span style="font-size: 85%;"><span style="font-size: 100%;">Las fuerzas que, lamentablemente, mueven el mundo hoy no incluyen las condiciones necesarias para la creación de conocimiento que permite interpretar este enorme espacio que llamamos Universo. Algunos de estos elementos pudieramos nombrarlos: reflexión, contemplación, meditación y acción como último elemento en la secuencia. Las leyes que gobiernan el movimiento en el Universo, al igual que los objetos de la matemática, son creaciones del intelecto humano. Todo ha ocurrido dentro de nosotros. Tal vez es ese el origen de las teorías de conspiración que dicen que nada de estas creaciones ocurrió. Cuando un ser humano está sometido a influencias como las que imperan en el mundo actual, su mente no es capaz de imaginarse (tener la meditación, reflexión y capacidad de contemplación necesarias) la correlación intrínseca entre las leyes matemáticas, firmemente sustentadas, que han llevado a predecir la influencia magnética que los objetos ejercen entre sí en esta enorme red interconectada da la cual somos parte y manifestación al mismo tiempo.</span></span></div>
<div style="text-align: left;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><br /></span></span><u><b><span style="font-size: 85%;"><span style="font-size: 100%;">Breve Glosario:</span></span></b></u></div>
</div>
<span style="font-size: 85%;"><span style="font-size: 100%;"><br />AGC -> Apollo Guidance Computer (computador de guía/control/navegación de Apollo)</span><br />
<br />
IMU -> Inertial Measurement Unit<br />
<br />
CDU -> Couple Display Unit<br />
<span style="font-size: 100%;"><br />DAP -> Digital Autopilot (software del piloto automático digital de Apollo)<br /><br />FPGA -> Field Programmable Gate Array (circuito integrado VLSI configurable)</span><br />
</span><span style="font-size: 85%;"> </span><br />
<span style="font-size: 85%;">PNGS -> Se pronuncia "pings"; es el sistema digital para la guía y navegación en las aeronaves Apollo. Se trataba de un ente abstracto que abarcaba al AGC, al IMU (Plataforma Inercial), la circuitería que resolvía la posición de los ejes de rotación de la Plataforma IMU convirtiéndolas en pulsos digitales, a través del CDU (conversor Analógico-Digital/Digital-Analógico), los instrumentos ópticos (Telescopio y Sextante) y la interfaz con el usuario (DSKY). </span><br />
<span style="font-size: 85%;">
<br />
Es importante aclarar que PINGS no era la fuente principal de referencia en la navegación/guía, este papel lo cumplía una red enorme de Atenas y redes de telecomunicación llamada "Deep Space Network". Esta red enviaba datos actualizados sobre posición a PINGS. La posición en el espacio era relativa a una Matriz de Referencia (REFSMMAT). Existía una Matriz de Referencia (REFSMMAT), en ejes Pitch, Roll, Yaw, para cada momento de la misión lunar; por ejemplo: en la superficie lunar, la referencia era Pitch = 0, Roll = 0 y Yaw = 0; luego, cualquier desviación (diferencia) de esta referencia inercial, durante el vuelo, era calculada por PINGS y mostrada a los pilotos en un horizonte artificial en la cabina. Dicha Matriz estaba almacenada en la memoria lectura/escritura del AGC y estaba definida en el listado fuente de programa como:</span><br />
<br />
E3,1733 REFSMMAT ERASE +17D<br />
<span style="font-size: 85%;"><span style="font-size: 100%;"><br />
La programación del Software que "habitaba" dentro de PINGS (su espíritu) se hacía en dos tipos de lenguajes de programación. La programación básica operacional se hacía en un lenguaje Assembler llamado YUL (diseñado por Hugh Blair-Smith - ver referencias [1], [2]). En YUL se programaba el Software básico de Control e interfaces. La programación del Software de guía y navegación (incluido el piloto automático digital) se hacía en un lenguaje interpretado cuyas instrucciones (códigos de operación) operaban sobre datos del tipo vectorial y matricial (ver referencia [1]).</span></span><span style="font-size: 85%;"><span style="font-size: 100%;">En el siguiente enlace puede revisar una lectura sobre la Cronología de los sistemas de control Aeroespaciales. Esta presentación abre el contexto sobre el tema que publico en esta entrada y sobre lo expresado en el paper publicado conjuntamente con la presentación. El tema tratado en el paper "ATTITUDE CONTROLLER ASSEMBLY INPUT PROCESSING" requiere una lectura más detallada. Así que recomiendo la revisión de la presentación y luego la lectura del paper (más abajo se incluye un acceso directo al paper). La idea central de esta investigación es el estudio de los sistemas de control del tipo "Model Following" o de seguimiento de modelo. Existen dos (2) métodos para ejercer control sobre un mecanismo que se desplaza en un medio. El primer método instruye que la reacción del controlador debe estar dirigida por la suma algebraica entre el comando de guia y una ó varias medidas tomadas del medio externo a traves del cual se desplaza el mecanismo controlado. El segundo método instruye que el controlador debe incluir un modelo del comportamiento "ideal" del mecanismo en su desplazar a traves del medio. Para lograr esto último el modelo debe ser una representación analógica o digital de la respuesta "ideal" del mecanismo. Además, a este método de ejercer control se le denomina "Self-Adaptive" o adaptivo. El ambito aeroespacial fue, históricamente, el que motivó el desarrollo de esta teoría del control. Para el final de la década de los años 1950 el avión cohete experimental X-15 incluía un sistema del tipo "Self-Adaptive" con una red electrónica analógica implementando el modelo "ideal". Para finales de la década de 1960 las naves Apollo incluían varios de estos controles "self-Adaptive" para el calculo de la navegación, guia automática y para ejercer las acciones de control. Los controles en Apollo estaban implementados digitalmente en Software (programas almacenados y ejecutados en el Apollo Guidance Computer):</span></span><br />
<span style="font-size: 85%;"><span style="font-size: 100%;"><br /><a href="http://klabs.org/mapld04/presentations/session_p/p202_portillo_s.ppt">http://klabs.org/mapld04/presentations/session_p/p202_portillo_s.ppt</a></span></span><br />
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: left;">
</div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLl_Sh4pxT_l5NC6CEkIRBwXDhl5ZI7GaXEqzqmYcKnkrlvSjF6qvZQQNOHhtG4GQzB27ZYamWW55L8hmTbkq3clc33gf9qCPQ_yQL6xnWlyVJ8sqxGrxZmyT7_PuJrY9ctQwAfg/s1600-h/Apollo+16+DSKY.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5181689677926473106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLl_Sh4pxT_l5NC6CEkIRBwXDhl5ZI7GaXEqzqmYcKnkrlvSjF6qvZQQNOHhtG4GQzB27ZYamWW55L8hmTbkq3clc33gf9qCPQ_yQL6xnWlyVJ8sqxGrxZmyT7_PuJrY9ctQwAfg/s320/Apollo+16+DSKY.JPG" style="display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
<span style="font-size: 100%; font-style: italic;">Figura 1. Junto a Eldon Hall en el mostrador de NASA Office of Logic Design junto al Display/Keyboard del Módulo de Comando del Apollo 16</span><br />
<i>(Hall fue mi tutor en el hardware del AGC desde 1997)</i><br />
<span style="font-size: 100%;"><br /></span></div>
<div style="text-align: center;">
<br />
<br />
<br />
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/778854/G-2004-0529-0020.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/488425/G-2004-0529-0020.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><span style="font-size: 85%;"><span style="font-size: 100%;"><i><span lang="ES-VE">Figura 2. Eldon Hall mostrando la red de Interconexiones de la Microarquitectura del AGC Block II</span></i></span><i><span lang="ES-VE"><!--?xml:namespace prefix = o /--><o:p></o:p></span></i></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<i><u><span lang="ES-VE"><span style="font-size: 85%;"><br /></span></span></u></i><span lang="ES-VE">Se realizó el desensamble de un Computador de Guía y Navegación utilizados en las naves Apollo a la Luna.</span><span lang="ES-VE"><o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: center;">
</div>
<div class="MsoNormal" style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbHBXDMqH8OvdJG2xDdonWDi4AJwtYTEMRHyQEAg_fTDBmeoyYwRKqgGlBfNJXyXwPZ7329esloebNsLi0IF1E21nFcHnPpqoQtRIqFTZyfM4PtgHNLlZm64BvbAGTUFIV7xOpuw/s1600-h/foto2.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5114961094218111618" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbHBXDMqH8OvdJG2xDdonWDi4AJwtYTEMRHyQEAg_fTDBmeoyYwRKqgGlBfNJXyXwPZ7329esloebNsLi0IF1E21nFcHnPpqoQtRIqFTZyfM4PtgHNLlZm64BvbAGTUFIV7xOpuw/s320/foto2.jpg" style="cursor: pointer; display: block; height: 158px; margin: 0px auto 10px; text-align: center; width: 246px;" /></a><!--?xml:namespace prefix = v /--><v:imagedata href="http://photos1.blogger.com/x/blogger/4776/3143/200/256025/foto2.jpg" src="file:///D:%5CDOCUME%7E1%5CJOSEP%7E1.ENI%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.jpg"></v:imagedata></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 85%;"><i><o:p></o:p></i></span><br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 100%;"><i><span lang="ES-VE">Figura 3. Revizando la sección de los módulos de Memoria del AGC Block II</span></i></span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 85%;"><i><span lang="ES-VE"><br /></span></i></span></div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIpSKQPY0fimdt6CAXfS_yVLuMi9Kkm3SPcysTP4dZZeNuJI_gzxiaShVCG-HucdWwpE0MKPjw5I2Kgf0eCLnf7BA2DH5DRSoBTb5MICmeerHA-PXjAIVJmMTQd4Czr6Pgfp1Qqw/s1600-h/Philco_Ford_NOR_Gate.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5181685494628326786" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIpSKQPY0fimdt6CAXfS_yVLuMi9Kkm3SPcysTP4dZZeNuJI_gzxiaShVCG-HucdWwpE0MKPjw5I2Kgf0eCLnf7BA2DH5DRSoBTb5MICmeerHA-PXjAIVJmMTQd4Czr6Pgfp1Qqw/s320/Philco_Ford_NOR_Gate.jpg" style="cursor: pointer; display: block; height: 130px; margin: 0px auto 10px; text-align: center; width: 130px;" /></a><span style="font-size: 100%;"><span style="font-style: italic;">Figura 4. Microchip (NOR Gates) encapsulado. Fabricado por Philco-Ford</span></span><br />
<span style="font-family: "courier new";"></span><br /></div>
<div style="text-align: left;">
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>ES-VE</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
Se seleccionó el tipo de compuerta NOR, como elemento lógico
básico por su bajo consumo eléctrico y su uso general que permite construir
otros tipos de compuertas (AND, OR, NOT) usando las proposiciones de Augustus De Morgan:</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">(AV B)^c<span style="mso-spacerun: yes;"> </span>= A^c </span>Λ<span lang="EN-US" style="mso-ansi-language: EN-US;"> B^c</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US" style="mso-ansi-language: EN-US;">(A </span>Λ<span lang="EN-US" style="mso-ansi-language: EN-US;"> B)^c = A^c V B^c</span></div>
</div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span lang="ES-VE"><o:p></o:p></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAtu7xPJVrikVrQeQXHNwALqBmfThF-c_1pv2iYlJEX4u5wwj9aucY1Lh7AN3GcseOiu0DGO_7WXGGd6rUSsoWoqcbvdcbOOE7clooWZwqp-KcTplIxWU3DvzLgaWpDMcjDjAkw/s1600/AGC_Wire_Wrapped_Logic.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVAtu7xPJVrikVrQeQXHNwALqBmfThF-c_1pv2iYlJEX4u5wwj9aucY1Lh7AN3GcseOiu0DGO_7WXGGd6rUSsoWoqcbvdcbOOE7clooWZwqp-KcTplIxWU3DvzLgaWpDMcjDjAkw/s320/AGC_Wire_Wrapped_Logic.JPG" width="320" /></a></div>
<span lang="ES-VE"><o:p></o:p></span></div>
<div style="text-align: left;">
<v:imagedata href="http://photos1.blogger.com/x/blogger/4776/3143/200/8334/Block2_FlatPacks.jpg" src="file:///D:%5CDOCUME%7E1%5CJOSEP%7E1.ENI%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8NxZT9J_TnKG5Jbn8asLC5EonOmdnJmQ0pTwaMGbus5bCL418Z9yFza0gVrT81wNX549eL9GKSdFKtSsHpGl1yv0VW7vHhRzg-2pKiAgMiuWa8q_EqsAwZgPsYk4oQyS34Tdqg/s1600-h/Block2_FlatPacks.jpeg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051876292945507426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8NxZT9J_TnKG5Jbn8asLC5EonOmdnJmQ0pTwaMGbus5bCL418Z9yFza0gVrT81wNX549eL9GKSdFKtSsHpGl1yv0VW7vHhRzg-2pKiAgMiuWa8q_EqsAwZgPsYk4oQyS34Tdqg/s200/Block2_FlatPacks.jpeg" style="cursor: pointer; float: left; height: 149px; margin: 0pt 10px 10px 0pt; width: 146px;" /></a></v:imagedata><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK4vJq99wqxATa77_Y-U_wnVqOgPBAyXPDWZqDJb1y0AfJ3Ud2N-Ok5Gfr1r0i1CGs2MaFblgU-3CMLXA-Hy_L1EZPOW3zr1GagETDypavRvP2pGNjgalt_Q223q5W8tDo-Xh_CA/s1600-h/serie_NOR_transistor.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5209292182730235234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK4vJq99wqxATa77_Y-U_wnVqOgPBAyXPDWZqDJb1y0AfJ3Ud2N-Ok5Gfr1r0i1CGs2MaFblgU-3CMLXA-Hy_L1EZPOW3zr1GagETDypavRvP2pGNjgalt_Q223q5W8tDo-Xh_CA/s320/serie_NOR_transistor.jpg" style="cursor: pointer; float: right; margin: 0pt 0pt 10px 10px;" /></a><br />
<v:imagedata href="http://photos1.blogger.com/x/blogger/4776/3143/200/8334/Block2_FlatPacks.jpg" src="file:///D:%5CDOCUME%7E1%5CJOSEP%7E1.ENI%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.jpg"><br /></v:imagedata>
<br />
<div style="text-align: center;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><i><span lang="ES-VE">Figuras 5, 5.1 y 6. El computador AGC Block II fue el primero en tener toda su lógica y Microarquitectura completamente diseñada (nada de forma Canónica ni mucho menos FPGA!) en base a un Microchip Planar de compuerta lógica (NOR Gate) de doble compuerta(izquierda en el diagrama). Un ejemplo de la red de compuertas lógicas para un sumador de un bit con acarreo (derecha arriba en el diagrama) diseñada por Albert Hopkins, Hugh Blair-Smith y su equipo en el MIT/IL. La foto inserta (centro en la imagen) muestra el gabinete de interconexiones de los módulos lógicos en los cuales estaba organizada la lógica digital como la que aparece en el diagrama. Las interconexiones entre los módulos lógicos eran "tejidas" por una máquina herramienta guiada por tarjetas perforadas (Gardner-Denver machine)</span></i></span></span><br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><span lang="ES-VE"><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]--></span></span></span></div>
<div style="text-align: left;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><span lang="ES-VE"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>ES-VE</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
</span></span></span><span style="font-size: 85%;"><span style="font-size: 100%;"><span lang="ES-VE"></span></span></span></div>
<div class="MsoNormal" style="text-align: left;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><span lang="ES-VE">En la figura 3 aparece la interconexión del tray A. Existe
otro tray B conteniendo los módulos lógicos. Cada módulo lógico alberga 120
chips de doble NOR-Gate de tres entradas cada una. Toda la arquitectura del
computador, conjuntamente con la fuente de poder y el reloj oscilador está
contenida en una estructura de aluminio-magnesio bañada en color dorado (figura 6) para
aumentar la pasividad de la superficie a través de una capa de óxido que
impedía la corrosión.</span></span></span></div>
<div style="text-align: left;">
<span style="font-size: 85%;"><span style="font-size: 100%;"><i><span lang="ES-VE">
</span></i></span><i><span lang="ES-VE"><o:p></o:p></span></i></span></div>
<div style="text-align: left;">
<span style="font-size: 85%;"><i><span lang="ES-VE"><o:p></o:p></span></i></span></div>
</div>
</div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<i><span lang="ES-VE"><br /></span></i><span lang="ES-VE"><span style="font-size: 100%;">Presentes en la sesión de trabajo estuvieron:<br /><br />* Eldon C. Hall - Director del Proyecto de construcción del Computador AGC</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><span lang="ES-VE">* John Young - Astronauta de la Nasa, Misiones: Gemini III, Gemini X, Apollo X, Apollo VI, STS-1, STS-5</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><span lang="ES-VE">* Hugh Blair-Smith - Diseñador del Microprograma y de la Matríz de Decodificación que interpreta y ejecuta las instrucciones dentro del computador AGC<o:p></o:p><br /><br />* Cline Frasier - Enlace entre la oficina de la Nasa y el MIT (ideó y dio impulso inicial a la creación de un piloto automático digital o DAP en lugar de una red electrónica complicada y pesada)</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><span lang="ES-VE">* Ramón Alonso - Diseñador de la primera versión del AGC</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><span lang="ES-VE">* Profesor/Escritor James Tomayko (Fallecido en 2006) - Escritor de varios ensayos monográficos en historia de la Tecnología Aeroespacial e Ingeniería de Software</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><span lang="ES-VE">* Frank O'Brien - Historiador del Programa Apollo y Piloto Licenciado</span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<br />
<span style="font-size: 100%;">Pagina de la conferencia: <a href="http://www.klabs.org/mapld04/program_sessions/session_g.html">http://www.klabs.org/mapld04/program_sessions/session_g.HTML</a></span></div>
Video de la presentacion de Eldon C. Hall: <a href="https://www.youtube.com/watch?v=Xtsrcc0c8Mo">https://www.youtube.com/watch?v=Xtsrcc0c8Mo</a><br />
<br />
Video de la presentacion de Cline Frasier: <a href="https://www.youtube.com/watch?v=9FCii5-Etcg">https://www.youtube.com/watch?v=9FCii5-Etcg</a><br />
<br />
Video de la presentacion de Hugh Blair-Smith: <a href="https://www.youtube.com/watch?v=_sY662Op9AI">https://www.youtube.com/watch?v=_sY662Op9AI</a><br />
<br />
Video de la presentacion de Ramon Alonso: <a href="https://www.youtube.com/watch?v=h1bCCiUkIrY">https://www.youtube.com/watch?v=h1bCCiUkIrY</a><br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg68fRxlxzCeM-viYtJgLGWKSIvZnJp4ctLJ6sQHvuSTFU6OuO-pGMNMrKLkDQjZ3ZnAjSR4_Wg9YN_2NFvSmLPVHhIIXa1OUPJ-vbNvsVd3P3LwKgJO9EnqFPSWJLGUDgUAn19Jg/s1600-h/ap10-69-H-652.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" height="320" id="BLOGGER_PHOTO_ID_5217740485956171298" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg68fRxlxzCeM-viYtJgLGWKSIvZnJp4ctLJ6sQHvuSTFU6OuO-pGMNMrKLkDQjZ3ZnAjSR4_Wg9YN_2NFvSmLPVHhIIXa1OUPJ-vbNvsVd3P3LwKgJO9EnqFPSWJLGUDgUAn19Jg/s320/ap10-69-H-652.jpg" style="float: right; margin: 0pt 0pt 10px 10px;" width="251" /></a><br />
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/540171/foto4.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/356143/foto4.jpg" height="207" style="display: block; margin: 0px auto 10px; text-align: center;" width="320" /></a> <br />
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 85%;"><i><o:p></o:p></i></span><br /></div>
<div class="MsoNormal" style="margin-bottom: 12pt;">
<span style="font-size: 100%;"><i><span lang="ES-VE">Figuras 7 y 8. El Astronauta, el Diseñador (junto a John Young y Eldon Hall). Foto tomada por el historiador y computista Frank O'Brien.</span></i><br /><span style="font-style: italic;"></span></span></div>
<div class="MsoNormal" style="margin-bottom: 12pt; text-align: right;">
<span style="font-size: 100%;"><span style="font-style: italic;">Astronauta John Young ingresando comandos en la interfaz del computador Apollo llamada DSKY (Display/Keyboard) del simulador del Módulo de Comando antes de la misión Apollo 10. Young fue la primera persona en operar una computadora en el espacio (Gemini III) y además tiene la distinción de ser el primer astronauta en viajar a la luna dos veces (Apollo 10, Apollo 16 - la tripulación del Apollo 10 tiene el record guinnes como la mayor velocidad alcanzada por seres humano: 40.000Km/h). Posteriormente fue el comandante de la primera misión del transbordador espacial Columbia en 1981.</span></span></div>
<span style="text-decoration: underline;"><span style="font-style: italic;"><br /></span></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_NNYzVGKkjrDju6Z7NMFn8E49kP_4Z3aj35ueFKNQFDkg7X_jl1pK57TBEHlkFV7WoJkIEsZDGdcXLKzqA0zL8-5XT407WVT_hBcu5b1ODklO_NGMJE9N6gS-5ZvrHIhGUzZPQ/s1600-h/eldon.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5114635299473873474" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB_NNYzVGKkjrDju6Z7NMFn8E49kP_4Z3aj35ueFKNQFDkg7X_jl1pK57TBEHlkFV7WoJkIEsZDGdcXLKzqA0zL8-5XT407WVT_hBcu5b1ODklO_NGMJE9N6gS-5ZvrHIhGUzZPQ/s320/eldon.jpg" style="cursor: pointer; float: left; height: 201px; margin: 0pt 10px 10px 0pt; width: 237px;" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhotq6M505LAtlo22SRa7uOpUdBBSvFgc1AjF9ljN2rPaQegRnl_y_ngJcCYB_JrRl225h21A5ElHw4HlqY1ZF5z-FbQxWvt7Ds42WTvZLiqh4XWXuoi-9MSAN-j_2bW2-EhybvdQ/s1600-h/foto8.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5114637051820530258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhotq6M505LAtlo22SRa7uOpUdBBSvFgc1AjF9ljN2rPaQegRnl_y_ngJcCYB_JrRl225h21A5ElHw4HlqY1ZF5z-FbQxWvt7Ds42WTvZLiqh4XWXuoi-9MSAN-j_2bW2-EhybvdQ/s320/foto8.jpg" style="float: right; margin: 0pt 0pt 10px 10px;" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div style="text-align: center;">
<span style="font-size: 100%;"><i><span lang="ES-VE">Figuras 9 y 10. Eldon Hall (MIT/IL) con un AGC Block II en 1966, y un AGC Block II en 2004</span></i></span><span lang="ES-VE" style="font-size: 85%;"><o:p></o:p></span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-b4resNEnGq_2Joq64rvhD-7q_GmNY1nXb0yoxH3lVWzBvGxRsIj9QNfwkeS2dKBvclgbsMNyXMAtGgL6e32gbjG4lNcxsYtRRq8i7T-2QkZXbDLNby6msZ8cPAHJnL-__U4Avw/s1600/AGC_DSKY.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5632923095251568082" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-b4resNEnGq_2Joq64rvhD-7q_GmNY1nXb0yoxH3lVWzBvGxRsIj9QNfwkeS2dKBvclgbsMNyXMAtGgL6e32gbjG4lNcxsYtRRq8i7T-2QkZXbDLNby6msZ8cPAHJnL-__U4Avw/s320/AGC_DSKY.png" style="cursor: pointer; display: block; height: 214px; margin: 0px auto 10px; text-align: center; width: 320px;" /></a><i>Figura 11. Demostración del AGC - Ejecución del VERBO=16 + SUSTANTIVO=65 + ENTER , para ordenar al AGC mostrar su conteo de tiempo interno en Horas/Minutos/Segundos/Milésimas de segundo (imagen tomada de un video promocional del MIT/IL de 1965)</i><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCOUJDQje_7HPwrwDrM8wHjRe7Ey4bNxEi4pnMVWx28TGxABYS3cBOTgDrWgfVa7EZg2YrZsDhaeq-bmiXG2vglDdHKk_a7jjWjdFlt_B7UfdeYjk2TSe351MZuul6avNj3T8qtg/s1600/MAPLD_2004_Presentation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCOUJDQje_7HPwrwDrM8wHjRe7Ey4bNxEi4pnMVWx28TGxABYS3cBOTgDrWgfVa7EZg2YrZsDhaeq-bmiXG2vglDdHKk_a7jjWjdFlt_B7UfdeYjk2TSe351MZuul6avNj3T8qtg/s320/MAPLD_2004_Presentation.jpg" width="320" /></a></div>
<br />
<div style="text-align: center;">
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/391652/G-2004-0531-0010.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/468205/G-2004-0531-0010.jpg" height="208" style="display: block; margin: 0px auto 10px; text-align: center;" width="320" /></a></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwV-LaBtpeUXIKQbyNuWUviSPjwt2Xcn5c7vpvzRxaJ2vvpFu6ehNPVjxljfpSkrNYFN6c92GZI7pNg4_l-nqtTt74yiMpPau-hQ5ps6GP_QAyxN3Hobm-nkX0P4aBKcEyTGOTIg/s1600/MAPLD_2004_presentacion_portillo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwV-LaBtpeUXIKQbyNuWUviSPjwt2Xcn5c7vpvzRxaJ2vvpFu6ehNPVjxljfpSkrNYFN6c92GZI7pNg4_l-nqtTt74yiMpPau-hQ5ps6GP_QAyxN3Hobm-nkX0P4aBKcEyTGOTIg/s1600/MAPLD_2004_presentacion_portillo.jpg" width="320" /></a></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
<i>Figuras 12 y 13. Iniciando la presentación</i></div>
<div style="text-align: center;">
<i>(a mi izquierda el listado original del programa Luminary en Assembler YUL y del Intérprete del AGC; al frente un DSKY Block I)</i></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div align="center" class="MsoNormal" style="text-align: center;">
</div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: left;">
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/35182/ACA_Interface.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/970223/ACA_Interface.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a></div>
<div class="MsoNormal" style="text-align: center;">
<i>Figura 14. Diagrama de las rutas eléctricas tomadas por el comando manual del Piloto en el Módulo Lunar Apollo y posterior proceso por parte del Piloto Automático Digital (DAP) [3]</i><span style="font-size: 85%;"><i><span lang="ES-VE"></span></i></span></div>
<div class="MsoNormal" style="text-align: left;">
<br /></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: 85%;"><i><span lang="ES-VE"><br /></span></i></span> </div>
<div class="MsoNormal" style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw5BrkwfgWNj6U2RSvjc9HD0ULP6YFjcGZ8JUlN4WHTX4OYvKD3CmU_e5TJpJmagJwKOKSN2uzyQ3lHcOjpfiEOeYBgdmLByZ4OOvjb0sYT5b1XL9JaPSpws9kMhyGTbNXQPU1g/s1600-h/A_circuit.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5051877641565238402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRw5BrkwfgWNj6U2RSvjc9HD0ULP6YFjcGZ8JUlN4WHTX4OYvKD3CmU_e5TJpJmagJwKOKSN2uzyQ3lHcOjpfiEOeYBgdmLByZ4OOvjb0sYT5b1XL9JaPSpws9kMhyGTbNXQPU1g/s200/A_circuit.JPG" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a></div>
<div class="MsoNormal" style="text-align: center;">
<span style="font-size: 85%;"><i><span lang="ES-VE"><span style="font-size: 100%;">Módulo de Interfaz conteniendo el Circuito "A" Analógico/Digital que se muestra en el diagrama arriba</span></span></i></span></div>
<div class="MsoNormal" style="text-align: left;">
</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGW-aoi9ncQO_d6O7i5DgXcr4XGPgBxqo4-HZYMHXIIz07IysY_rH0xgBolHbXc3nMMZ2UjUkeV_KuMg9bWC77qT3QfWyPVzo9VOJe-Vs0cjJMwqarD6iebKenSlTq21S-gcc1hQ/s1600/MAPLD_2004_Blair-Smith.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGW-aoi9ncQO_d6O7i5DgXcr4XGPgBxqo4-HZYMHXIIz07IysY_rH0xgBolHbXc3nMMZ2UjUkeV_KuMg9bWC77qT3QfWyPVzo9VOJe-Vs0cjJMwqarD6iebKenSlTq21S-gcc1hQ/s1600/MAPLD_2004_Blair-Smith.jpg" width="208" /></a></div>
<br />
<div align="center">
<i>Figura 15. Hugh Blair-Smith - Diseñador del Assembler YUL y de la arquitectura del AGC, mostrando el listado del programa Luminary. </i><i><i>(Blair-Smith ha sido mi tutor en la parte de Software de Apollo)</i></i><br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvjKx4l-o1E9CSItgrY6HsaGF3D4xzIQqTQAZaSFCmz5oZmheYxM7MAsFgLKiWCiaUUs5KUBDrWW8qKiTXHvHy6mRv6E2A76E8emRwEYde4QyYXDMmaEluv7db-A_5qMdL3Ta_uw/s1600/LUMINARY_Source_P66.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvjKx4l-o1E9CSItgrY6HsaGF3D4xzIQqTQAZaSFCmz5oZmheYxM7MAsFgLKiWCiaUUs5KUBDrWW8qKiTXHvHy6mRv6E2A76E8emRwEYde4QyYXDMmaEluv7db-A_5qMdL3Ta_uw/s320/LUMINARY_Source_P66.JPG" width="240" /></a></div>
<i><i> </i>Figura 15.1. Sección del programa LUMINARY correspondiente al major mode P66 de alunizaje (foto tomada al listado de Donald Eyles en Cambridge, MA - 1999)</i></div>
<div align="center">
<br /></div>
<span style="font-size: 85%;">
<br />
<i><br />
<span lang="ES-VE"> </span></i></span><br />
<div class="MsoNormal" style="text-align: center;">
<a href="http://photos1.blogger.com/x/blogger/4776/3143/1600/66212/G-2004-0531-0012.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="http://photos1.blogger.com/x/blogger/4776/3143/200/310599/G-2004-0531-0012.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><span style="font-size: 100%;"><i><span lang="ES-VE">Figura 16. Prof. James Tomayko (Murió en 2006)<o:p></o:p></span></i></span></div>
<span style="font-size: 100%;"></span><br />
<span style="font-size: 100%;"></span><br />
<span style="font-size: 100%;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08dtqN8tABreY_blxQPNEo19o-VT4IjWX_etR-lRaHwubYAmNcXZG6cNwYI3YKRroLS9K1PfGgdpHktdu9gL0ZrEzoZKAVy1ZmU1sfoZxClOykQwcNBfa9j8yJEuwp0AEjmPEjQ/s1600/Cherry_George_Letter_2004.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08dtqN8tABreY_blxQPNEo19o-VT4IjWX_etR-lRaHwubYAmNcXZG6cNwYI3YKRroLS9K1PfGgdpHktdu9gL0ZrEzoZKAVy1ZmU1sfoZxClOykQwcNBfa9j8yJEuwp0AEjmPEjQ/s400/Cherry_George_Letter_2004.JPG" width="400" /></a></div>
<span style="font-size: 100%;"><br /></span>
<br />
<div style="text-align: center;">
Figura 16.1. <span style="font-size: 100%;"><span style="font-family: "courier new";">Un elogio a la locura. Correo enviado por George Cherry luego de leer el ensayo monográfico. Cherry fue el líder del grupo que diseñó el piloto automático digital Apollo a comienzos de los años 1960 (bajo su dirección estuvieron programadores y técnicos del MIT como Donald Eyles). También participó en el diseño de las ecuaciones de guía de aterrizaje lunar que fueron "mecanizadas" en el computador Apollo del módulo lunar, a parte de diseñar también el esquema de guia para el aterrizaje. Posteriormente (como el mismo lo dice en su email) ejerció la dirección del sistema de navegación, guia y control (PNGCS) para el módulo lunar Apollo (hay varias referencias a su trabajo en el libro de la colección Nasa History Series titulado "Chariots for Apollo" y en una página conmemorativa del Apollo 11 en la web del MIT - <a href="http://web.mit.edu/newsoffice/2009/apollo-vign-0717.html">http://web.mit.edu/newsoffice/2009/apollo-vign-0717.html</a>):</span></span></div>
<span style="font-size: 100%;"><br /><span style="font-family: "courier new";">>From: gwcherry</span> ...<br /><span style="font-family: "courier new";">>To: jportillo34@hotmail.com</span><br /><span style="font-family: "courier new";">>Subject: Lunar Module Attitude Controller</span><br /><span style="font-family: "courier new";">>Date: Sat, 07 Aug 2004 03:16:36 +0000</span><br /><span style="font-family: "courier new";">></span><br /><span style="font-family: "courier new";">>Hi Jose R. Portillo Lugo:</span><br /><span style="font-family: "courier new";">></span><br /><span style="font-family: "courier new";">>I just discovered your paper on the Apollo Lunar Module DAP. Your paper</span><br /><span style="font-family: "courier new";">>is a wonderful addition to the still-growing literature on the Apollo PNGCS.</span><br /><span style="font-family: "courier new";">></span><br /><span style="font-family: "courier new";">>My name is George W. Cherry. I originated the design of the LM DAP</span><br /><span style="font-family: "courier new";">>before I became the LM PNGCS project manager.</span><br /><span style="font-family: "courier new";">></span><br /><span style="font-family: "courier new";">>How did you come to write your masterful paper and how did you acquire</span><br /><span style="font-family: "courier new";">>so much info about the hardware and software?</span><br /><span style="font-family: "courier new";">></span><br /><span style="font-family: "courier new";">>George W. Cherry</span><br /><span style="font-family: "courier new";">>gwcherry...</span></span><br />
<br />
Cherry fue el creador de las ecuaciones de guía (pilotaje) que hacian uso del motor de potencia variable del módulo lunar Apollo durante el descenso y aluniaje. Dichas ecuaciones fueron luego mecanizadas (como flujo-gramas y codificadas en el lenguaje Interpretive y Basic de YUL), por los programadores Allan Klumpp y Donald eyles, en el programa LUMINARY del módulo lunar. [13]<br />
<br />
Kenneth Cox, el líder de la Systems Analysis Branch, Guidance and Control Division, definió al Digital Autopilot así:<br />
<br />
-"The LM DAP, with respect to design requirements and constraints, is considered to be the most complex Apollo control system in use" [14]<br />
<br />
Richard Gran, uno de los ingenieros que formó parte del equipo de Cherry en el diseño y programación del piloto automático digital de Apollo cuenta lo siguiente (tomado de MATHLAB News & Notes) - <a href="https://www.mathworks.com/company/newsletters/articles/fly-me-to-the-moon-then-and-now.html">https://www.mathworks.com/company/newsletters/articles/fly-me-to-the-moon-then-and-now.html</a>):<br />
<br />
- Cita "Fly me to the Moon - Then and Now", Richard Gran<br />
<div style="text-align: justify;">
<i>In 1962, "modern control theory" was still an academic pursuit. There were no textbooks written on optimal control and recent graduates, including me, were not yet versed in state-space methods and certainly had not been exposed to optimal bang-bang control systems. Engineers at MIT IL worked very closely with students at MIT and, as a consequence, were early adopters of state-space modeling and optimal control techniques based on Pontryagin's Maximum Principle. One of the engineers at the Instrumentation labs, George Cherry, proposed using an optimal control system for controlling the vehicle. The unique insight created by using this approach was that the almost perfect knowledge of the dynamics of the rotational motion of a spacecraft in space allowed the control to be done at a very slow sample rate.</i></div>
<br />
<div style="text-align: justify;">
<i>At the NASA meeting where members of each design team presented their approach, George Cherry invoked the image of Sir Isaac Newton standing by his side and telling the controller what to do. Needless to say, NASA selected the MIT design, and the decision to select this approach was the right one. The Grumman design required a sample time of .02 seconds or faster, whereas the MIT approach (with Newton's help) only required a sample time of 0.2 seconds (ten times slower than Grumman's design). Since MIT IL needed engineers at the time, a once-in-a-lifetime opportunity came my way to go to Massachusetts on a field assignment for Grumman. I became one quarter of the LM digital autopilot design team. (Yes, for over three years only four people worked on the autopilot.)</i></div>
<i><br /></i>
<br />
<div style="text-align: justify;">
<i>The optimal controller developed by Cherry during the design competition was one that minimized a weighted mix of time and fuel.</i></div>
<i>...</i><br />
<div style="text-align: justify;">
<i>The computer speed and storage limits imposed severe constraints. For example, most control systems engineers would implement this controller by looking at the attitude and rate at some fast sample time to decide where in the phase plane the system currently was. Based on this, the jets would be either turned on or off. In fact, this is the way the autopilot was implemented when the space shuttle was designed. However, the computer constraints on the LM meant that this strategy would not work since there was not enough processing power to allow fast sample rates. Enter Newton.</i></div>
<br />
<div style="text-align: justify;">
<i>When the MIT IL team proposed their autopilot, they proposed that the control be done by sampling the attitude and rate at a very slow rate. If these measurements were such that the jets needed to be turned on to correct the attitude error, a calculation of the time needed to reach the off-switch curve was computed, and the jets were turned on. The jets were turned off at the appropriate time using a counter in the computer to create an interrupt (hence the reason we needed two levels of interrupt) that would process the turn-off command. This was the fundamental idea that allowed the long sample times. It was accurate because of the low measurement noise and the ability to precisely predict the trajectory in the phase plane. The only uncertainties were the precise value of the acceleration due to variations in jet thrust, imprecise knowledge of the vehicle inertia, and the noise in the measurements. With this scheme, MIT IL was able to demonstrate that the autopilot needed to be sampled at 0.2 seconds (0.1 seconds during the ascent from the moon when the LM inertias were small and the acceleration was large). NASA was so impressed by this structure that they decided not only to implement this LM autopilot, but to make it the primary system and relegate the analog system as the backup.</i></div>
- Fin de cita "Fly me to the Moon" -<br />
<br />
<div style="text-align: justify;">
Otro elogio a la locura. Correo de Ronald Burkey (líder del proyecto Simulador del Apollo Guidance Computer - "Virtual AGC"):</div>
<br />
- Cita Burkey<br />
<i>"Hi José,</i><br />
<i>I attended your talk at MAPLD '04. Actually, I think we briefly corresponded (prior to your talk) about some details in your paper. Your paper is a great resource, and I think it would probably have been much more difficult to implement the simulated LM rotational hand controller in my project if you hadn't done all of the groundwork in figuring out how the hardware and software fits together. So thanks for the great work you have done! I'm sorry I didn't think to convey my appreciation earlier".</i><br />
<br />
<div style="text-align: justify;">
Burkey es un matemático de la Universidad del Estado de Ohio co PhD. en física. Ha creado varios proyectos del tipo Free Software (GNU) y es colaborador desde hace varios años en el proyecto Gutenberg. Ronald no solo es mayor en edad que quien escribe; es también diez veces más creador y trabajador en tiempo libre. A Burkey, conjuntamente con muchos otros, se debe la publicacion del codigo fuente de los programas COLOSSUS y LUMINARY (el software de las aeronaves Apollo). Ahora son de dominio publico, pero en el ano 2003, cuando yo iniciaba mi monografia, no existian estos recursos. Por un contacto me entere que un listado del LUMINARY (programado para el Apollo 13) habia sido colocado en un site. Pero, previo al 2006 era dificil encontrar estas fuentes. Hoy dia, el Virtual AGC ofrece una plataforma virtual para disenar y programar, idea similar a la virtual pipeline MMIX de Donald Knuth. Los trabajos de investigacion, previos, como el que ocupo mi tiempo aquellos años fueron la base para la programacion del Virtual AGC. De la pagina del proyecto Virtual AGC</div>
<br />
<div style="text-align: justify;">
-"<i>yaACA, yaACA2, and yaACA3 - The Attitude Controller Assembly (ACA)—also known as the rotational
hand-controller (RHC)—is used by astronaut to affect the pitch, roll,
and
yaw
of the LM. José Portillo has described the interaction
between the ACA and
AGC in great detail in a paper which is the basis of all ACA-related work in Virtual AGC.</i>"</div>
<br />
<div style="text-align: justify;">
La interfaz ACA - AGC era una de las mas complejas en las aeronaves Apollo. La medicion de las senales emanadas desde el ACA, por parte del computador AGC, aparecian en varios sub-programas (Major Modes y el Digital Autopilot) del programa LUMINARY y el procesamiento ocurria en diferentes niveles de abstraccion. Por ejemplo, la seccion de procesamiento P iniciaba, dentro del Digital Autopilot un flujo de trabajo que finalizaba con el encendido de los cohetes de control de actitud del navio. Este era el nivel mas bajo (Control). Luego venia el procesamiento de comandos seudo-manuales o semi-manuales que ocurria en la seccion del programa llamada "Lunar_Landing_Guidance_Equations", a traves de los cuales el piloto/usuario podia intervenir en el flujo de procesamiento del pilotaje automatico de alunizaje. Esto ultimo ocurria a un nivel de abstraccion mas elevado (Guidance) y con ramificaciones interesantes como el uso de una escala (tipo nomograma) dibujada en la ventana izquierda del navio en la cual el piloto/usuario podia observar, previo conocimiento de un numero de dos digitos decimales producido por las ecuaciones de pilotaje automatico, el sitio estimado de alunizaje calculado por el AGC. Usando la interfaz del ACA, el piloto/usuario podia ordenar cambiar el sitio estimado de alunizaje por otro mas conveniente a los objetivos de alto nivel de la mision (topografia del terreno a explorar, evitar obstaculos como crateres profundos y pedregosos). [3]</div>
<br />
Página principal del proyecto del Virtual AGC de Donald Burkey:<br />
<a href="http://www.ibiblio.org/apollo/index.html">http://www.ibiblio.org/apollo/index.html</a><br />
<br />
El texto "Journey to the Moon: the history of the Apollo Guidance Computer" escrito por Eldon C. Hall es el primero en su tipo [4]. Uno de los jefes de Hall fue el científico de la computación Hal Laning. Laning creo el "sistema operativo" del computador Apollo, llamado Executive/Waitlist. También fue Laning el creador del languaje algebraico George en el cual John Backus y su equipo de IBM basó su diseño del lenguaje Fortran. Así que el lenguaje de Laning puede considerarse como el verdadero abuelo de los lenguajes de programación [1].<br />
<br />
Actualización Abril, 2008:<br />
<br />
<div style="text-align: justify;">
Libro escrito por el prof. Mindell y publicado por el MIT llamado "Digital Apollo".</div>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrMcb2DzM1PhlJn1RG8gLYnQc2fuQ38d6LmBp8P8TiFe0yzZEkdaGvBcAdnOj4l_XYI0EjhyPFSi3EQ3bWl8JqDWOvhbXdaKsLzRGRBS7ouT9kktlKAIk0WNqtXNq7fBSfqeheA/s1600-h/DigitalApolloCover.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5190298701020477170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlrMcb2DzM1PhlJn1RG8gLYnQc2fuQ38d6LmBp8P8TiFe0yzZEkdaGvBcAdnOj4l_XYI0EjhyPFSi3EQ3bWl8JqDWOvhbXdaKsLzRGRBS7ouT9kktlKAIk0WNqtXNq7fBSfqeheA/s320/DigitalApolloCover.jpg" style="float: left; height: 181px; margin: 0pt 10px 10px 0pt; width: 146px;" /></a><br />
<br />
<br />
<a href="http://web.mit.edu/digitalapollo/chapter8.html">http://web.mit.edu/digitalapollo/chapter8.html</a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Actualización 2012:<br />
<br />
<div style="text-align: justify;">
Libro
escrito por Frank O'Brien titulado "Apollo Guidance Computer" [10].<br />
<br />
La comunidad de entusiastas del AGC ha crecido mucho desde los años en los cuales inicié mi estudio. Hasta el momento de escribir estas líneas, existen desarrollos y ejemplos de uso complejos. Todos los listados fuente de los programas LUMINARY, COLOSSUS y COMANCHE han sido transcritos/copiados (desde las impresiones originales) hacia la Web. El simulador de Burkey y su equipo de desarrolladores GNU (Virtual AGC) permite ensamblar y ejecutar cualquier programa escrito en YUL/Intérprete. Después de 50 años, desde la época en la cual el Dr. Laning y Battin "orbitaban" virtualmente al planeta Marte en una IBM 650, aún sigue este mundo virtual de Apollo, ejemplos de matemáticas aplicadas.<br />
<br />
<br />
<b><u>Antecedentes a la Conferencia</u></b><br />
<br />
En un período de ocho años (1995 a 2003), en paralelo a mi trabajo profesional, hice una especie de carrera en historia de la computación.<br />
<br />
Este esfuerzo por investigar en las raices de la evolución de esta técnica llevó por varias bibliotecas en el mundo y en el uso adecuado de ese enorme computador llamado Internet (una evolución en sí mismo de la red Deep Space Network que armaron para el proyecto Apollo). Se hicieron varias entrevistas, entre los años 1998 a 2003 con científicos, matemáticos, programadores e historiadores como Eldon C. Hall, Hugh Blair-Smith, Cline Frasier, Ramón Alonso, Frank O'Brien, Robert Stengel, Gary Hartman, Gordon Hardy, James Tomayko y Donald Eyles.<br />
<br />
En Enero de 1999 tuve el privilegio de pasar unas horas en el Draper Laboratory (otrora MIT/Instrumentation Lab), junto a Eldon C. Hall y a Dave Bates, viendo y palpando por vez primera una estación de navegación del Apollo que tenían allá (en el 2003 fue trasladada hacia el Museo del Cumputador). En esa misma visita se hizo una revisión bibliografía en la biblioteca del MIT.</div>
<br />
<div style="text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkoKBdE8p8kdkx7pg9Hf8MAOGaDypBNb4wOC_QqzDPZD60FNv4VSOOMGB5_YqB86EBKIR1SeF6ww4FXU5Lydi2y-6v7Y2WPLnVMjwtFJq_udnNNWY5tNPbMC2ZcWf808RgUrTPgQ/s1600/Hall_Scott_Portillo.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5643331143495875074" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkoKBdE8p8kdkx7pg9Hf8MAOGaDypBNb4wOC_QqzDPZD60FNv4VSOOMGB5_YqB86EBKIR1SeF6ww4FXU5Lydi2y-6v7Y2WPLnVMjwtFJq_udnNNWY5tNPbMC2ZcWf808RgUrTPgQ/s320/Hall_Scott_Portillo.JPG" style="cursor: pointer; display: block; height: 215px; margin: 0px auto 10px; text-align: center; width: 292px;" /></a>Figura 17. Junto a Eldon Hall y frente a los circuitos aritméticos (dígitos de los registros acumuladores) del computador Whirlwind I en el Computer Museum en Boston - Enero 1999. En la imagen derecha el Astronauta de Apollo Dave Scott (Apollo 9, Apollo 15) junto a Eldon Hall en el Draper Lab y con una estación de navegante del Apollo - 1982. Se observó de cerca esa misma estación durante la visita incógnita al Draper Lab en 1999 junto a Eldon y Dave Battes. Dave Battes trabajó junto a Eldon en el proyecto del misil Polaris y junto a Werner Von Braun en el arsenal Huntsville en la parte de electrónica de misiles. En ese entonces el MIT/Draper Lab tenían el contrato para escribir el software de la estación espacial internacional.. Otros veteranos del proyecto Apollo, presentes aquel día en 1999 fueron: Cline Frasier (Enlace entre la oficina de astronautica Nasa y el Instrumentation Lab y quien propulsó la idea de usar la capacidad computacional del AGC para implementar, en software, un piloto automático digital para ambos módulos CM y LM); Ramon Alonso (Diseñador original, junta a Halcombe Laning, del computador Apollo y de su interfaz Verb-Noun en el DSKY); Donald Eyles (programador e ingeniero de software del computador Apollo quien programó los programas o Major Modes P64 y P66); Norman Sear (Coordinador del proyecto por MIT/IL); Alan Green (programador de la interfaz DSKY del computador). Con muchos de ellos mantuve una relación histórica muy nutritiva y enriquecedora para todos. Finalmente los encontré de nuevo en 2004. <br />
<br />
Uno de los relatos más interesantes que pude recabar viene de Cline Frasier quien, durante los años que duró el proyecto de diseño de los sistemas del Apollo (primero en la historia en ser controlado enteramente por computadoras, a bordo y desde la tierra), hacia el enlace entre la oficina de la NASA en Houston y el MIT en Cambridge. Frasier fue el que encendió la chispa que motivó el uso de un sistema de piloto automático enteramente en software. Es un ejemplo de cuan bien se manejó ese proyecto y por lo cual es muy recordado. Esto fue lo que me contó Frasier<br />
<br />
-"The first summer we were in Houston, daytime temperatures were from 35-42C. When it got to 42, the humidity went down to about 60%. From April to November, most of the time the temperature was close to 35C and the humidity high.<br />
<br />
Today, we are having that kind of weather here.<br />
<br />
The following is Cline's version of the DAP adoption. (I think I have the dates about right -- at least the sequence is right.<br />
<br />
Dr. Joe Shea came to Houston to take over as Apollo Spacecraft Program Manager early in 1964. He brought in Dr. Clifford Duncan (an active duty U.S. Navy Captain who had been serving in DARPA) to head up the Guidance and Control Division.<br />
<br />
Duncan then conducted a review of the GN&C system in the spring of 1964. <br />
<br />
This review included a trip to MIT/IL, North American, Honeywell (the SCS contractor for the Command Module) and possibly Grumman. The people were Duncan, Chilton (the previous Guidance and Control Division Chief), Col. <br />
<br />
Duffy (Air Force, Minuteman Program), another AF Col., myself (as a representative of the Crew Systems Division) and one or two others (possibly Tom Chambers).<br />
<br />
During the meeting at Honeywell, it was clear that the current overall guidance, navigation and control (GN&C) system configuration was not going to work. It was too heavy and the redundancy concepts were not worked out (and complex). (At least it seemed clear to me, and I think it was to others -- but there seemed no other solution at the time.)<br />
<br />
It was on this trip that it seemed to me that a simpler, lighter and more reliable approach would be possible if a DAP would work. There also seemed to be advantages to making the ground system (the MSFN) the primary navigation source, and eliminating one of the two AGC computers in the design for the CM. Now, I was a very junior person (a first line supervisor only), did not have any GN&C experience except about 1.5 years of looking at the Gemini and Apollo systems from the point of view of the crews use. <br />
So, I kept my mouth shut during the trip.<br />
<br />
After we got back, I was in a meeting with Dr. Duncan. I suspect that the meeting was about Apollo GN&C. Sometime during the meeting (I suspect it was at a bio break), I talked to Duncan about the configuration I thought might solve most of the problems (it was the configuration actually used for Block II). Duncan's response was to offer me the job of his technical assistant to work on the ideas. The job, and the promise of a pay grade promotion, made it sound great -- I jumped at it.<br />
<br />
Then, I became the point man (or lightning rod) to push the ideas. I gave the briefings to Dr. Shea (with lots of coaching and support from Duncan), and ultimately to the President's Scientific Advisory Council -- PSAC (advisors to President Johnson). I was also the one sent to MIT/IL to tell them that they were going to do a DAP, that they no longer had the primary navigation system and that one computer was going to be eliminated.<br />
<br />
Along the way, virtually everyone was against the idea of a DAP, and some of the other concepts that went along. MIT/IL was concerned that they could not make a DAP work in the computer design they had. They did not like losing primary navigation responsibility. Eldon Hall was concerned about the losing the redundant AGC. North American did not like the diminishment of their control system responsibilities. Virtually all the NASA and contractor control system experts "knew" that a DAP would not work satisfactorily. The astronauts were totally opposed.<br />
<br />
Luckily, there were forces on the other side. The CM had a real weight and reliability problem -- and no solution from the conventional approaches. <br />
<br />
Both the Minuteman and Titan ICBMs had used DAPs. Dr. Shea had proposed a DAP for the Titan program (against the advice of the people who made the booster), and Shea then led the program that made it work -- before coming to NASA. The DAP system configuration was clean, and I did the reliability analyses that showed better probabilities of crew safety and mission success (I presented these to the PSAC as part of the justification for the unconventional design).<br />
<br />
North American bowed gracefully to the inevitable when Dr. Shea told them they were going to go with the DAP, or he would crack heads. The MIT/IL folks were really good troops. They were concerned, and there were some things they didn't like, but they dug in to make their part work.<br />
<br />
With the CM configuration more or less settled, everyone got to work to make it a reality.<br />
<br />
Obviously, we had many of the same issues with the LM. This was attacked next. The Grumman folks were a much tougher nut to crack. And, the control system of the LM was near and dear to the hearts of the astronauts. <br />
<br />
Fortunately, all was overcome by LM weight problems, some very good DAP work by George Cherry, Bill Widnall and others at MIT/IL, and the precedence of the CM system. If we had tackled Grumman and the LM first, I doubt that we would have had a DAP.<br />
<br />
At this point, my involvement in the DAP about vanished. My contribution was system configuration. It was people who really knew what they were doing that made the configuration work.<br />
<br />
My next challenge was the CSM and LM rendezvous radars. North American could not find an acceptable mounting location for the backup RCA rendezvous radar. The same radars were to be used on the CSM and the LM and there was another problem. The radar development was having trouble making things work. This was when I realized that some of the accuracy analyses done by Norm Sears at MIT/IL suggested that we could rendezvous without range, or range rate, measurements if we could measure the angles accurately enough. Since the CM sextant would measure well enough, the thought was why not just eliminate the CSM radar.<br />
<br />
The problem with this idea was that the visibility analyses indicated that you could not see the LM in the sextant at the distances required. Then, I found a mistake in the visibility analysis (an exponent had either been dropped or added -- I don't remember which). With the correct equation, it looked like we could use the sextant. So, my proposal was to eliminate the radar and rendezvous optically. To make everyone feel better, I also proposed measuring the range by modifying the voice communications radios to add ranging tones (like the scheme used by the radar). This overall scheme solved a technical problem, reduced Service Module weight by over 100 pounds and probably cut costs by around $40,000,000. It was adopted, and this is what flew. All optical rendezvous was tested on one mission and it worked as expected.<br />
<br />
The next obvious thing was to try the same approach on the LM. There we could replace the PGNCS alignment optical telescope (AOT), a passive device, with an equal weight optical tracker and eliminate the rendezvous radar. This was appealing because the radar did not work and the weight reduction would be just about what the LM needed at that time.<br />
<br />
As usual, the "experts" said that an optical tracker could not be developed to the specs needed and, if it could, it would take five years.<br />
<br />
The LM and radar programs were in enough trouble that I got the money to develop the optical system in parallel with the radar. With superb work from the crew at AC Electronics (the people who actually built the PGNCS) and Hughes, the optical tracker (LORS) was designed, built and went through a competitive qualification evaluation with the radar -- all in 12 months. <br />
<br />
By the time the competitive evaluation was complete, Grumman had found more ways to reduce the LM weight and RCA had a working radar. When the two systems were compared, they were about equal in future cost, the radar was ~75 pounds heavier and the radar was considered to have lower mission risks. So, the radar was kept.<br />
<br />
My personal opinion is that the competition from the optical tracker system made a real contribution to getting all the radar related problems solved. <br />
This is an opinion only, with no way to demonstrate what might have been without the optical development.<br />
<br />
The optical stuff was about the last significant configuration thing I did on Apollo. As soon as it was going, Dr. Duncan put me in charge of getting all the PGNCS hardware built and qualified. My role changed from overall configuration to solving gyroscope bearing, relay, and other design and manufacturing problems.<br />
<br />
Lots of fun to get it all done. After Apollo 8 went around the moon, I started to mentally disengage. I knew the design would work and knew that there might be a random component failure. After about Apollo 11, I worked on the electronics configuration for the Space Shuttle -- and set up pretty much what they are flying.<br />
<br />
This narrative is in response to your question about my involvement. I had a couple of key system configuration ideas. They would have been of no value without the support I got from Duncan and Shea, and without the expertise and hard work of the literally thousands of people who took the concepts and made them into reality. I could list a long series of names who were absolutely essential to PGNCS. I was really lucky -- the right spot at the right time, with the right support and working with a lot of wonderful people.<br />
<br />
Then, in June, 71, I went to MIT's Sloan School of Management for a year.<br />
<br />
In the summer of 1973, I left the space program -- and didn't look back until recently." [12]<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhciTGH18sgx0vhvOINj8Lh3HAsMymS1BRPJkZ4Dq4d-zBYq7DgNpMp5i06s7BX1xe7s-KedUAFdTkR2ce_FQP3hOG2LXv8KBdX94DNygUUHHnrYbvfl_6RralZjp4_P18xqsFj0Q/s1600/Cambridge_MIT_Visit_Jan_1999.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhciTGH18sgx0vhvOINj8Lh3HAsMymS1BRPJkZ4Dq4d-zBYq7DgNpMp5i06s7BX1xe7s-KedUAFdTkR2ce_FQP3hOG2LXv8KBdX94DNygUUHHnrYbvfl_6RralZjp4_P18xqsFj0Q/s1600/Cambridge_MIT_Visit_Jan_1999.jpg" width="222" /></a></div>
<div style="text-align: center;">
Figura 18. Visita al MIT/Draper Lab en Cambridge MA. De arriba hacia abajo: Donald Eyles (programador de las subrutinas del ciclo de alunizaje P64 y P66); Prof. John Deyst (creador de las ecuaciones del Two Body Problem usadas en la navegación Apollo. El texto "Astronautical Guidance" por el Prof. Richard Battin hace referencia a una solucion al problema de Lambert creado por Deyst, ver articulo "Interpretes" en este mismo Blog)</div>
<br />
Hasta finales de la decada de 1990, la documentacion sobre procedimientos, interfaces y software de las aeronaves Apollo era aun escasa. Ejemplo de ello es la siguiente nota que intercambie con Donald Eyles en 1998, en relacion a su participacion en la creacion del procedimiento de contingencia para hacer un bypass del boton ABORT que fallo durante el alunizaje del Apollo 14 en 1971<br />
<br />
-"<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;">You are quite right that
the Apollo 14 procedure was relayed by voice.</span></i><br />
<br />
<div class="MsoBodyText" style="text-align: justify;">
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;">In fact, the Apollo 14
procedure did not use instructions, as such.<span style="mso-spacerun: yes;">
</span>The keystrokes that were entered were to change the value of certain
registers, or bits within a register, directly.</span></i></div>
<div class="MsoBodyText" style="text-align: justify;">
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;"><br /></span></i></div>
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;">Certain other
contingency procedures were developed, called “erasable memory programs” or <span class="GramE">EMPs, that</span> did in fact use instructions.<span style="mso-spacerun: yes;"> </span>In these cases the instructions were to be
stored in unused areas that were available to the executive for allocation to
new tasks and jobs, but which were known not to be used during the landing
phase.</span></i><br />
<br />
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;"></span></i><i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;">I appreciate your
interest in an area that unfortunately has not received much documentation and
would be hard to learn about, even in the United States.</span></i>"<br />
<br />
<i style="mso-bidi-font-style: normal;"><span lang="EN-US" style="layout-grid-mode: line;"></span></i>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3orcfe3Sd3yUdjJznFoZc5sI_NdqtSzSRRe3ou0U1IiIcIag9YCUUrxr6kSjlcDa2AoDp6url7ZB3Ilg6tfq4TBtyH6wykFEacxbZMev-zeFEsqQvcNromUP00kFhwBx5wpuFwQ/s1600/Cambridge_MIT_Visit_Jan_1999_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3orcfe3Sd3yUdjJznFoZc5sI_NdqtSzSRRe3ou0U1IiIcIag9YCUUrxr6kSjlcDa2AoDp6url7ZB3Ilg6tfq4TBtyH6wykFEacxbZMev-zeFEsqQvcNromUP00kFhwBx5wpuFwQ/s1600/Cambridge_MIT_Visit_Jan_1999_2.jpg" width="226" /></a></div>
<div style="text-align: center;">
Figura 19. De arriba hacia abajo: Visita al Draper Lab (anterior MIT/Instrumentation Lab) junto a Eldon Hall; Alan Green (programador de las subrutinas PINBALL manejadoras de la interfaz DSKY)</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQrHEuUzgSLj8HE409y_msgwbmsCPt78dPPeXPNOvzAWXHrD5qZKuL8Bjip2MGDz4sjamV9Pcsjz8IbluVsw3EfJSwjPNAy19umuiXkbG2nVcpM6dGsbkFGAkKMTq96QCRwULqw/s1600/AGC_Gold.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYQrHEuUzgSLj8HE409y_msgwbmsCPt78dPPeXPNOvzAWXHrD5qZKuL8Bjip2MGDz4sjamV9Pcsjz8IbluVsw3EfJSwjPNAy19umuiXkbG2nVcpM6dGsbkFGAkKMTq96QCRwULqw/s320/AGC_Gold.jpg" width="320" /></a> </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: center;">
Figura 22. ¿Por qué el AGC Block II tenía color dorado? Tomado de una entrevista a Eldon C. Hall -"<span lang="EN-US" style="font-family: "times new roman"; font-size: small;">The computer was a gold color
for thermal reasons. That is the best
color to reflect radiant heat. The heat
generated by each electronic assembly was supposed to be conducted into a cold
plate which was part of the mounting structure.</span>" [12]</div>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]--><br />
<br />
<u>Referencias y bibliografía recomendada</u><br />
(algunas referencia llevan a páginas y documentos al presionar sobre sus títulos)<br />
<br />
[1] Portillo, José - "<a href="http://jportillolugo.blogspot.com/2010/04/conversaciones-con-hugh-blair-smith.html">Diseño de computadores en 1950s, interpretes y el arte de diseñar lógica digital... 1ra parte</a>" - 2010<br />
[2] Portillo, José - "<a href="http://jportillolugo.blogspot.com/search?updated-min=2007-01-01T00:00:00-08:00&updated-max=2008-01-01T00:00:00-08:00&max-results=4">Conferencia NASA MAPLD 2006</a>" - 2007<br />
[3] Portillo, José - "<a href="http://web.mit.edu/digitalapollo/Documents/Chapter8/portillo.pdf">Attitude Controller Assembly Input Processing</a>" - 2004<br />
[4] Hall, Eldon C. - "Journey to the Moon" - 1996<br />
[5] Battin, Richard; Martin, Frederick - "<a href="http://web.mit.edu/digitalapollo/Documents/Chapter6/martinbattin.pdf">Computer-Controlled Steering of the Apollo spacecraft</a>" - Journal of Spacecraft - 1968<br />
[6] Gran, Richard - "<a href="http://www.mathworks.com/company/newsletters/articles/fly-me-to-the-moon-then-and-now.html">Fly me to the Moon - Then and Now</a>" - 1999<br />
[7] Stengel, Robert - "<a href="http://www.princeton.edu/~stengel/LM.pdf">Manual Attitude Control of the Lunar Module</a>" - 1969<br />
[8] Scott, David - "<a href="http://klabs.org/history/history_docs/ech/agc_scott.pdf">The Apollo Guidance Computer - A Users View</a>" - 1982<br />
[9] Mindell, David - "<a href="http://web.mit.edu/digitalapollo/chapter8.html">Digital Apollo</a>"<br />
[10] O'Brien, Frank - "The Apollo Guidance Computer"<br />
[11] Hall, Eldon C. - "<a href="http://www.ibiblio.org/apollo/hrst/archive/1045.pdf">From the farm to pioneering with digital computers: An autobiography</a>" - 2000<br />
[12] Entrevistas a Eldon C. Hall, Cline Frasier, Ramón Alonso, Hugh Blair-Smith, Frank O'Brien, Robert Stengel, Donald Eyles, Gary Hartman - 1997-2003<br />
[13] Klumpp, Alan - "A Manually Retargeted Automatic Landing System for the Lunar Module (LM)" - Journal of Spacecraft and Rockets - Febrero, 1968<br />
[14] Cox, Kenneth J. - "A Case Study of the Apollo Lunar Module Digital Autopilot" - 1969José Portillo Lugohttp://www.blogger.com/profile/15591299498022963497noreply@blogger.com0