Diferencia entre revisiones de «Pascal»

(Página creada con 'thumb|[[Antoine Lavoisier, considerado el padre de la química moderna.]] thumb|Doble hélice de la [[molécula de ADN.…')
 
Línea 1: Línea 1:
[[Archivo:Antoine lavoisier.jpg|thumb|[[Antoine Lavoisier]], considerado el padre de la química moderna.]]
+
{{Ficha de lenguaje de programación
[[Archivo:ADN.jpg|thumb|Doble hélice de la [[molécula]] de [[ADN]].]]
+
|imagen = [[Imagen:Turbo pascal.JPG]]
[[Archivo:Atom.svg|thumb|Átomo de helio.]]
+
|nombre = Pascal
 +
|paradigma = [[Programación imperativa|imperativo]] ([[Programación estructurada|estructurado]])
 +
|año = 1970
 +
|diseñador = [[Niklaus Wirth]]
 +
|implementaciones = Múltiples
 +
|dialectos =  [[UCSD]], [[Borland]], [[Turbo Pascal|Turbo]]
 +
|influido_por = [[ALGOL|Algol]]
 +
|ha_influido =  [[Modula-2]], [[Ada]], [[Delphi]], [[Lazarus]], [[Chrome]]
 +
}}
 +
'''Pascal''' es un [[lenguaje de programación]] desarrollado por el profesor [[Suiza|suizo]] [[Niklaus Wirth]] a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la [[programación]] a sus alumnos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.
  
Se denomina '''química''' (del [[Lenguas egipcias|egipcio]] kēme (kem), que significa "tierra") a la ciencia que estudia la composición, [[estructura]] y propiedades de la [[materia]], como los cambios que ésta experimenta durante las [[reacción química|reacciones químicas]] y su relación con la energía. Históricamente la química moderna es la [[evolución]] de la [[alquimia]] tras la [[Revolución Química]] ([[1733]]).
+
Pascal se caracteriza por ser un [[Programación estructurada|lenguaje de programación estructurado]] fuertemente tipificado. Esto implica que:
  
Las disciplinas de la química han sido agrupadas por la clase de materia bajo estudio o el tipo de estudio realizado. Entre éstas se tienen la [[química inorgánica]], que estudia la [[materia inorgánica]]; la [[química orgánica]], que trata con la [[materia orgánica]]; la [[bioquímica]], el estudio de substancias en organismos biológicos; la físico-química, comprende los aspectos energéticos de sistemas químicos a escalas [[Nivel macroscópico|macroscópicas]], [[Molécula|moleculares]] y [[Átomo|atómicas]]; la [[química analítica]], que analiza muestras de materia tratando de entender su composición y estructura. Otras ramas de la química han emergido en tiempos recientes, por ejemplo, la [[neuroquímica]] que estudia los aspectos químicos del [[cerebro]].
+
#El código esta dividido en porciones fácilmente legibles llamadas ''funciones o procedimientos''. De esta forma ''Pascal'' facilita la utilización de la ''programación estructurada'' en oposición al antiguo estilo de ''programación monolítica''.
 +
#El ''tipo de dato'' de todas las variables debe ser declarado previamente para que su uso quede habilitado.
  
== Introducción ==
+
El nombre de Pascal fue escogido en honor al matemático [[Blaise Pascal]].  
La ubicuidad de la química en las ciencias naturales hace que sea considerada como una de las [[ciencias básicas]]. La química es de gran importancia en muchos campos del conocimiento, como la [[ciencia de materiales]], la [[biología]], la [[farmacia]], la [[medicina]], la [[geología]], la [[ingeniería]] y la [[astronomía]], entre otros.
 
  
Los procesos naturales estudiados por la química involucran partículas fundamentales (electrones, protones y neutrones), partículas compuestas (núcleos atómicos, átomos y moléculas) o estructuras microscópicas como cristales y superficies.  
+
== Características únicas ==
 +
A diferencia de lenguajes de programación descendientes de [[Lenguaje de programación C|C]], Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o ''bugs'' difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.
  
Desde el punto de vista microscópico, las partículas involucradas en una reacción química pueden considerarse como un sistema cerrado que intercambia energía con su entorno. En procesos exotérmicos, el sistema libera energía a su entorno, mientras que un proceso endotérmico solamente puede ocurrir cuando el entorno aporta energía al sistema que reacciona. En la gran mayoría de las reacciones químicas hay flujo de energía entre el sistema y su campo de influencia, por lo cual podemos extender la definición de reacción química e involucrar la energía cinética (calor) como un reactivo o producto.
+
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.  
  
Aunque hay una gran variedad de ramas de la química, las principales divisiones son:
+
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (en C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido; y también evita la necesidad de [[notación húngara]], que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.
  
* [[Química Orgánica]]
+
== Implementaciones ==
* [[Química Inorgánica]]
 
* [[Fisicoquímica]]
 
* [[Química analítica]]
 
* [[Bioquímica]]
 
  
Es común que entre las comunidades académicas de químicos la [[química analítica]] no sea considerada entre las subdisciplinas principales de la química y sea vista más como parte de la [[tecnología química]]. Otro aspecto notable en esta clasificación es que la química inorgánica sea definida como "química no orgánica". Es de interés también que la Química Física es diferente de la [[Física Química]]. La diferencia es clara en inglés: "chemical physics" y "physical chemistry"; en español, ya que el adjetivo va al final, la equivalencia sería:
+
Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue [[UCSD Pascal]], traducían el lenguaje en código para una [[máquina virtual]] llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas.
  
* Química física <math>\Longleftrightarrow \;</math> Physical Chemistry
+
En los [[años 1980]], [[Anders Hejlsberg]] escribió el compilador [[Blue Label Pascal]] para la [[Nascom-2]]. Más tarde fue a trabajar para [[Borland]] y reescribió su compilador que se convirtió en [[Turbo Pascal]] para la [[IBM]] [[Ordenador personal|PC]]. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva.
* Física química <math>\Longleftrightarrow \;</math> Chemical physics
 
  
Usualmente los químicos son educados en términos de físico-química (Química Física) y los físicos trabajan problemas de la física química.
+
El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que comenzó a utilizar principalmente en el IBM PC. En busca de un lenguaje estructurado muchos aficionados al PC reemplazaron el [[BASIC]] por este producto. Dado que [[Turbo Pascal]], solo estaba disponible para una arquitectura, traducía directamente hacia el código máquina del Intel 8088, logrando construir programas que se ejecutaban mucho más rápidamente que los producidos en los esquemas interpretados.
  
La gran importancia de los sistemas biológicos hace que en nuestros días gran parte del trabajo en química sea de naturaleza bioquímica. Entre los problemas más interesantes se encuentran, por ejemplo, el estudio del desdoblamiento de las proteínas y la relación entre secuencia, estructura y función de proteínas.
+
Durante los [[años 1990]], estuvo disponible la tecnología para construir compiladores que pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los compiladores de Pascal tradujeran directamente al código de la arquitectura en que corrieran.
  
Si hay una [[Partícula subatómica|partícula]] importante y representativa en la química es el [[electrón]]. Uno de los mayores logros de la química es haber llegado al entendimiento de la relación entre reactividad química y distribución electrónica de átomos, moléculas o sólidos. Los químicos han tomado los principios de la [[mecánica cuántica]] y sus soluciones fundamentales para sistemas de pocos electrones y han hecho aproximaciones matemáticas para sistemas más complejos. La idea de orbital atómico y molecular es una forma sistemática en la cual la formación de enlaces es entendible y es la sofisticación de los modelos iniciales de puntos de Lewis. La naturaleza cuántica del electrón hace que la formación de enlaces sea entendible físicamente y no se recurra a creencias como las que los químicos utilizaron antes de la aparición de la mecánica cuántica. Aun así, se obtuvo gran entendimiento a partir de la idea de puntos de Lewis.
+
Con Turbo Pascal versión 5.5, Borland, agregó [[programación orientada a objetos]] a Pascal.
  
== Historia ==
+
Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su producto [[Delphi]], diseñado a partir de ''estándar Object Pascal'' propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a lenguaje de programación Delphi en sus últimas versiones.
{{AP|Historia de la química}}
 
  
Las primeras experiencias del hombre como químico se dieron con la utilización del fuego en la transformación de la materia, la obtención de hierro a partir del mineral y de [[vidrio]] a partir de arena son claros ejemplos. Poco a poco el hombre se dio cuenta de que otras sustancias también tienen este ''poder'' de transformación. Se dedicó un gran empeño en buscar una sustancia que transformara un metal en [[oro]], lo que llevó a la creación de la [[alquimia]]. La acumulación de experiencias alquímicas jugó un papel vital en el futuro establecimiento de la química.
+
Ejemplo de código usando la estructura lineal:
 +
<source lang="Pascal">
 +
program raiz(input, output);
 +
uses crt;
 +
(*
 +
  Obtener la raíz cuadrada de un número real x cualquiera.
 +
*)
 +
 +
var x, y: real;
 +
respuesta: string;
 +
 +
begin
 +
  writeln('** Calcular la raíz cuadrada de x **');
 +
  writeln('Entrar x (> 0): ');
 +
  readln(x);
 +
  y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
 +
  writeln;
 +
  if (x<0) then (* Si x es negativo, el resultado se notifica como imaginario *)
 +
      writeln('La raíz cuadrada de ', x, ' es el número imaginario ', y,'i');
 +
      writeln('La raíz cuadrada de ', x, ' es ', y);
 +
  writeln;
 +
  writeln('** Fin **');
 +
  readln; (* Espera a que el usuario pulse enter para salir del programa *)
 +
end.
 +
</source>
  
La química es una ciencia empírica, ya que estudia las cosas por medio del método científico, es decir, por medio de la observación, la cuantificación y, sobre todo, la experimentación. En su sentido más amplio, la química estudia las diversas sustancias que existen en nuestro planeta así como las reacciones que las transforman en otras sustancias. Por otra parte, la química estudia la estructura de las sustancias a su nivel molecular. Y por último, pero no menos importante, sus propiedades.
+
Otro Ejemplo:
 +
<source lang="Pascal">
 +
program suma; uses crt;                                                       
 +
var x,s:integer;                                                             
 +
begin                                                                       
 +
    clrscr;                                                                 
 +
    x:=1;                                                                   
 +
    s:=0;                                                                   
 +
    repeat                                                                 
 +
          s:=s+x;                                                           
 +
          x:=x+1;                                                           
 +
    until x=50;                                                             
 +
    writeln('la suma es ',s);                                             
 +
    readln;
 +
end.                                                                                          
 +
</source>
  
== Subdisciplinas de la química ==
 
La química cubre un campo de estudios bastante amplio, por lo que en la práctica se estudia de cada tema de manera particular. Las seis principales y más estudiadas ramas de la química son:{{cita requerida}}
 
* [[Química inorgánica]]: Síntesis y estudio de las propiedades eléctricas, magnéticas y ópticas de los compuestos formados por átomos que no sean de [[carbono]] (aunque con algunas excepciones). Trata especialmente los nuevos compuestos con metales de transición, los ácidos y las bases, entre otros compuestos.
 
* [[Química orgánica]]: Síntesis y estudio de los compuestos que se basan en cadenas de carbono.
 
* [[Bioquímica]]: estudia las reacciones químicas en los seres vivos, estudia el organismo y los seres vivos.
 
* [[Química física]]: estudia los fundamentos y bases físicas de los sistemas y procesos químicos. En particular, son de interés para el químico físico los aspectos energéticos y dinámicos de tales sistemas y procesos. Entre sus áreas de estudio más importantes se incluyen la [[termodinámica química]], la [[cinética química]], la [[electroquímica]], la [[mecánica estadística]] y la [[espectroscopía]]. Usualmente se la asocia también con la [[química cuántica]] y la [[química teórica]].
 
* [[Química industrial]]: Estudia los métodos de producción de reactivos químicos en cantidades elevadas, de la manera económicamente más beneficiosa. En la actualidad también intenta aunar sus intereses iniciales, con un bajo daño al [[medio ambiente]].
 
* [[Química analítica]]: estudia los métodos de detección (''identificación'') y cuantificación (''determinación'') de una sustancia en una muestra. Se subdivide en Cuantitativa y Cualitativa.
 
  
Además existen múltiples subdisciplinas, que por ser demasiado específicas, o multidisciplinares, se estudian individualmente:{{Añadir referencias}}
+
<source lang="Pascal">
* [[Química organometálica]]
+
program multi;
* [[Fotoquímica]]
 
* [[Química cuántica]]
 
* [[Química medioambiental]]: estudia la influencia de todos los componentes químicos que hay en la tierra, tanto en su forma natural como antropogénica.
 
* [[Química teórica]]
 
* [[Química computacional]]
 
* [[Electroquímica]]
 
* [[Química nuclear]]
 
* [[Petroquímica]]
 
* [[Geoquímica]]: estudia todas las transformaciones de los minerales existentes en la tierra.
 
* [[Química macromolecular]]: estudia la preparación, caracterización, propiedades y aplicaciones de las macromoléculas o polímeros.
 
* [[Magnetoquímica]]
 
* [[Química supramolecular]]
 
* [[Nanoquímica]]
 
* [[Astroquímica]]
 
  
== Los aportes de célebres autores ==
+
{$APPTYPE CONSOLE}
Hace aproximadamente cuatrocientos cincuenta y cinco años, sólo se conocían doce elementos. A medida que fueron descubriendo más elementos, los científicos se dieron cuenta de que todos guardaban un orden preciso. Cuando los colocaron en una tabla ordenados en filas y columnas, vieron que los elementos de una misma columna tenían propiedades similares. Pero también aparecían espacios vacíos en la tabla para los elementos aún desconocidos. Estos espacios huecos llevaron al científico ruso [[Dimitri Mendeleyev]] a pronosticar la existencia del [[germanio]], de número atómico 32, así como su color, peso, densidad y punto de fusión. Su “predicción sobre otros elementos como - el [[galio]] y el [[escandio]] - también resultó muy atinada”, señala la obra Chemistry, libro de texto de química editado en 1995.
 
  
== Campo de trabajo: el átomo ==
+
uses
 +
  SysUtils;
  
El origen de la [[teoría atómica]] se remonta a la escuela [[filosofía|filosófica]] de los [[atomista]]s, en la [[Grecia antigua]]. Los fundamentos empíricos de la teoría atómica, de acuerdo con el [[método científico]], se debe a un conjunto de trabajos hechos por [[Antoine Lavoisier]], [[Louis Proust]], [[Jeremias Benjamin Richter]], [[John Dalton]], [[Gay-Lussac]] y [[Amadeo Avogadro]] entre muchos otros, hacia principios del siglo XIX.
+
var  n,x:integer;
  
Los [[átomo]]s son la fracción más pequeña de materia  estudiados por la química, están constituidos por diferentes partículas, cargadas eléctricamente, los [[electrón|electrones]], de carga negativa; los [[protón|protones]], de carga positiva; los [[neutrón|neutrones]], que, como su nombre indica, son neutros (sin carga); todos ellos aportan [[masa]] para contribuir al peso.
+
begin
 +
  x:=0;
 +
  writeln('Entra un numero de la serie');
 +
  readln(n);
 +
  while n<>0 do
 +
    if (n mod 3)=0 then
 +
    begin
 +
      x:=x+1;
 +
      writeln('Dame otro numero');
 +
      readln(n);
 +
    end
 +
    else
 +
    begin
 +
      writeln ('Dame otro numero');
 +
      readln(n);
 +
    end;
 +
  writeln ('El numero de multiples de 3 es',x);
 +
  readln;
 +
end.
 +
</source>
  
== Conceptos fundamentales ==
+
== Compiladores disponibles públicamente ==
=== Partículas ===
+
Varios compiladores de Pascal están disponibles para el uso del público en general:
Los [[átomo]]s son las partes más pequeñas de un [[elemento]] (como el [[carbono]], el [[hierro]] o el [[oxígeno]]). Todos los átomos de un mismo elemento tienen la misma estructura electrónica (responsable esta de la gran mayoría de las características químicas), pudiendo diferir en la cantidad de neutrones ([[isótopo]]s). Las [[molécula]]s son las partes más pequeñas de una [[sustancia]] (como el [[azúcar]]), y se componen de átomos enlazados entre sí. Si tienen [[carga eléctrica]], tanto átomos como moléculas se llaman [[ion]]es: [[catión|cationes]] si son positivos, [[anión|aniones]] si son negativos.
+
* Epox
 +
* Compilador [[GNU Pascal]] (GPC), escrito en C, basado en [[GNU Compiler Collection]] (GCC). Se distribuye bajo licencia [[Licencia pública general de GNU|GPL]].
 +
* [[Free Pascal]] está escrito en Pascal (el compilador está creado usando Free Pascal), es un compilador estable y potente. También distribuido libremente bajo la licencia GPL. Este sistema permite mezclar código Turbo Pascal con código Delphi, y soporta muchas plataformas y sistemas operativos.
 +
* [[Turbo Pascal]] fue el compilador Pascal dominante para PCs durante los [[años 1980]] y hasta principios de los [[años 1990]], muy popular debido a sus magníficas extensiones y tiempos de compilación sumamente cortos. Actualmente, versiones viejas de Turbo Pascal (hasta la 7.0) están disponibles para descargarlo gratuito desde el sitio de Borland (es necesario registrarse).
 +
* [[Delphi]] es un producto tipo RAD (Rapid Application Development) de Borland. Utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma [[Windows]]. Las últimas versiones soportan compilación en la plataforma .NET.
 +
* [[Kylix]] es la versión más nueva de Borland reiterando la rama de Pascal de sus productos. Es descendiente de Delphi, con soporte para el sistema operativo Linux y una librería de objetos mejorada (CLX). El compilador y el IDE están disponibles para uso no comercial. Actualmente este proyecto está descontinuado.
 +
* [[Lazarus]] es un clon de [[Delphi]], basado en [[Free Pascal]] es [[software libre]].
  
El [[mol]] se usa como contador de unidades, como la docena (12) o el millar (1000), y equivale a <math>6,022045\cdot10^{23}</math>. Se dice que 12 gramos de carbono o un gramo de hidrógeno o 56 gramos de hierro contienen aproximadamente un mol de átomos (la masa molar de un elemento está basada en la masa de un mol de dicho elemento). Se dice entonces que el mol es una unidad de cambio. El mol tiene relación directa con el número de Avogadro. El número de Avogadro fue estimado para el átomo de carbono por el Químico y Físico italiano [[Amedeo Avogadro|Carlo Amedeo Avogadro]] Conde de Quarequa e di Cerreto. Este valor, expuesto anteriormente, equivale al número de partículas presentes en 1 mol de dicha sustancia. Veamos:
+
== Crítica ==
 +
A pesar de ser muy extendido el uso de este lenguaje de programación, sobre todo en los [[años 1980]] y principios de [[años 1990|los 90]], las primeras versiones de Pascal fueron muy criticadas por no producir código de características industriales. [[Brian Wilson Kernighan]], co-autor del libro "''El lenguaje de programación C''", en [[1981]], en el documento "''Why Pascal Is Not My Favorite Programming Language''" [http://www.lysator.liu.se/c/bwk-on-pascal.html] ("Por qué Pascal no es mi lenguaje de programación preferido") hace una crítica sobre el lenguaje Pascal.
  
'''1 mol de glucosa''' equivale a <math>6,022045\cdot10^{23}</math> '''moléculas de glucosa'''
+
== Enlaces externos ==
 
+
{{Wikiversidad|Programación en Pascal}}
'''1 mol de Uranio''' equivale a <math>6,022045\cdot10^{23}</math> '''átomos de Uranio'''
+
* [http://www.gruposyahoo.com/group/DesarrolloPascal Desarrollo de Software en Pascal] Comunidad virtual para el intercambio de información en castellano sobre desarrollo de software en Pascal para profesionales practicantes, docentes y estudiantes.
 
+
* [http://bdn.borland.com/museum/ Museo de Borland, permite la descarga gratuita de software antiguo]
Dentro de los átomos, podemos encontrar un [[núcleo atómico]] y uno o más [[electrón|electrones]]. Los electrones son muy importantes para las propiedades y las reacciones químicas. Dentro del núcleo se encuentran los neutrones y los protones. Los electrones se encuentran alrededor del núcleo.
+
* [http://www.marcocantu.com/epascal/Spanish/ch01hist.htm Essential Pascal]
También se dice que es la unidad básica de la materia con características propias. Está formado por un núcleo donde se encuentran protones.
+
* [http://www.turbo-pascal.com Turbo-Pascal.com]
 
+
* [http://www.carlospes.com/curso_de_pascal/ Curso de Turbo Pascal de Carlos Pes]
=== De los átomos a las moléculas ===
+
* [http://aprendepascal.wikidot.com/ Curso de Pascal enfocado a Free Pascal y Lazarus]. Incluye Object Pascal, temas avanzados y foro con dudas.
Los [[enlace químico|enlaces]] son las uniones entre átomos para formar moléculas. Siempre que existe una molécula es porque ésta es más estable que los átomos que la forman por separado. A la [[diferencia]] de [[energía]] entre estos dos estados se le denomina [[energía de enlace]].
+
* [http://www.conoce3000.com/html/espaniol/Libros/PascalConFreePascal/Indice.html Pascal con Free Pascal]
 
 
Generalmente, los átomos se combinan en proporciones fijas para dar moléculas. Por ejemplo, dos átomos de [[hidrógeno]] se combinan con uno de oxígeno para dar una molécula de agua. Esta proporción fija se conoce como [[estequiometría]].
 
 
 
=== Orbitales ===
 
[[Archivo:D orbitals.svg|thumb|400px|Diagrama espacial mostrando los [[orbital atómico|orbitales atómicos hidrogenoides]] de [[momento angular]] del tipo d (l=2).]]
 
 
 
{{AP|Orbital atómico|AP2=orbital molecular}}
 
 
 
Para una descripción y comprensión detalladas de las reacciones químicas y de las propiedades físicas de las diferentes sustancias, es muy útil su descripción a través de [[orbital atómico|orbitales]], con ayuda de la [[química cuántica]].
 
 
 
Un [[orbital atómico]] es una [[función matemática]] que describe la disposición de uno o dos electrones en un átomo. Un [[orbital molecular]] es análogo, pero para moléculas.
 
 
 
En la teoría del orbital molecular la formación del enlace covalente se debe a una combinación matemática de orbitales atómicos (funciones de onda) que forman orbitales moleculares, llamados así por que pertenecen a toda la molécula y no a un átomo individual. Así como un orbital atómico (sea híbrido o no) describe una región del espacio que rodea a un átomo donde es probable que se encuentre un electrón, un orbital molecular describe una región del espacio en una molécula donde es más factible que se hallen los electrones.
 
 
 
Al igual que un orbital atómico, un orbital molecular tiene un tamaño, una forma y una energía específicos. Por ejemplo, en la molécula de hidrógeno molecular se combinan dos orbitales atómicos uno s ocupados cada uno por un electrón. Hay dos formas en que puede presentarse la combinación de orbitales: aditiva y subtractiva. La combinación aditiva produce la formación de un orbital molecular que tiene menor energía y que tiene, aproximadamente, forma ovalada, mientras que la combinación subtractiva conduce a la formación de un orbital molecular con mayor energía y que genera un nodo entre los núcleos.
 
 
 
=== De los orbitales a las sustancias ===
 
 
 
Los orbitales son funciones matemáticas para describir procesos físicos: un orbital solo existe en el sentido matemático, como pueden existir una [[suma]], una [[parábola (matemática)|parábola]] o una [[raíz cuadrada]]. Los átomos y las moléculas son también idealizaciones y simplificaciones: un átomo sólo existe en vacío, una molécula sólo existe en [[Vacío (física)|vacío]], y, en sentido estricto, una molécula sólo se descompone en átomos si se rompen todos sus enlaces.  
 
 
 
En el "mundo real" sólo existen los [[material]]es y las [[sustancia]]s. Si se confunden los objetos reales con los modelos teóricos que se usan para describirlos, es fácil caer en [[falacia]]s [[lógica]]s.
 
 
 
=== Disoluciones ===
 
 
 
{{AP|Disolución}}
 
 
 
En [[agua]], y en otros [[disolvente]]s (como la [[acetona]] o el [[alcohol]]), es posible [[disolución|disolver]] sustancias, de forma que quedan disgregadas en las moléculas o iones que las componen (las disoluciones son [[transparente]]s). Cuando se supera cierto límite, llamado [[solubilidad]], la sustancia ya no se disuelve, y queda, bien como [[precipitado]] en el fondo del recipiente, bien como [[Suspensión (química)|suspensión]], flotando en pequeñas partículas (las suspensiones son opacas o traslúcidas).
 
 
 
Se denomina [[concentración]] a la medida de la cantidad de [[soluto]] por unidad de cantidad de [[disolvente]].
 
 
 
=== Medida de la concentración ===
 
 
 
{{AP|Concentración}}
 
 
 
La concentración de una disolución se puede expresar de diferentes formas, en función de la unidad empleada para determinar las cantidades de soluto y disolvente. Las más usuales son:
 
 
 
* [[gramos por litro|g/l (Gramos por litro)]] razón soluto/disolvente o soluto/disolución, dependiendo de la convención
 
* [[concentración porcentual en peso|% p/p (Concentración porcentual en peso)]] razón soluto/disolución
 
* [[concentración porcentual en volumen|% V/V (Concentración porcentual en volumen)]] razón soluto/disolución
 
* [[Molaridad#Molaridad|M (Molaridad)]] razón soluto/disolución
 
* [[normalidad|N (Normalidad)]] razón soluto/disolución
 
* [[molalidad|m (molalidad)]] razón soluto/disolvente
 
* [[fracción molar|x (fracción molar)]]  
 
* [[Partes por millón|ppm (Partes por millón)]] razón soluto/disolución
 
 
 
=== Acidez ===
 
 
 
{{AP|pH}}
 
 
 
El [[pH]] es una escala [[logaritmo|logarítmica]] para describir la [[acidez]] de una [[disolución acuosa]]. Los [[ácido]]s, como el zumo de [[Citrus × limon|limón]] y el [[vinagre]], tienen un pH bajo (inferior a 7). Las  [[base (química)|bases]], como la [[sosa]] o el [[bicarbonato de sodio]], tienen un pH alto (superior a 7).
 
 
 
El pH se calcula mediante la siguiente ecuación:
 
:<math>pH= -\log a_{H^+} \approx -\log [H^+]\,</math>
 
 
 
donde <math>a_{H^+}\,</math> es la actividad de [[ion]]es [[hidrógeno]] en la solución, la que en soluciones diluidas es numéricamente igual a la molaridad de [[ion]]es [[Hidrógeno]] <math>[H^+]\,</math> que cede el ácido a la solución.
 
 
 
* una solución neutral ([[agua]] ultra pura) tiene un pH de 7, lo que implica una concentración de iones hidrógeno de 10<sup>-7</sup> M
 
* una solución ácida (por ejemplo, de [[ácido sulfúrico]])tiene un pH < 7, es decir que la concentración de iones hidrógeno es mayor que 10<sup>-7</sup> M
 
* una solución básica (por ejemplo, de [[hidróxido de potasio]]) tiene un pH > 7, o sea que la concentración de iones hidrógeno es menor que 10<sup>-7</sup> M
 
  
=== Formulación y nomenclatura ===
+
[[Categoría:Lenguajes compilados|Pascal]]
La [[IUPAC]], un organismo internacional, mantiene unas reglas para la [[formulación química|formulación]] y [[nomenclatura química]]. De esta forma, es posible referirse a los compuestos químicos de forma sistemática y sin equívocos.
+
[[Categoría:Lenguaje de programación Pascal| ]]
 
 
Mediante el uso de [[fórmula química|fórmulas químicas]] es posible también expresar de forma sistemática las reacciones químicas, en forma de [[ecuación química]].
 
Por ejemplo:
 
 
 
:<math>MgSO_{4} + Ca(OH)_{2} \rightleftharpoons CaSO_{4} + Mg(OH)_{2}</math>
 
<!--
 
 
 
Otros conceptos fundamentales para seguir haciendo secciones como estas:
 
 
 
* [[complejo activado]] -- [[energía de activación]]
 
* [[estereoquímica]]
 
* [[hidrólisis]]
 
* [[metal]]
 
* [[oxidación]]
 
* [[sal]]
 
* [[peso atómico|pesos atómicos]]
 
* [[reacción química]] -- [[orden de reacción]] -- [[molecularidad]]
 
* [[redox]] -- [[reducción]] -- [[oxidación]] -- [[serie de potencial|series de potenciales]] -- [[potencial de electrodo]]
 
 
 
-->
 
 
 
== Véase también ==
 
{{Portal|Química}}
 
* [[Absorción (química)|Absorción]]
 
* [[Biología]]
 
* [[Catalizador]]
 
* [[Dinámica molecular]]
 
* [[Farmaceútico|Farmacia]]
 
* [[Filosofía de la química]]
 
* [[Física]]
 
* [[IUPAC]]
 
* [[Lista de compuestos]]
 
* [[Matemáticas]]
 
* [[Propiedades periódicas]]
 
* [[Química (etimología)]]
 
* [[Sustancia química]]
 
* [[Tabla periódica de los elementos]]'''''
 
 
 
== Enlaces externos ==
 
{{commonscat|Chemistry}}
 
{{wikilibros|Química}}
 
{{wikinews|Categoría:Química}}
 
{{Wikiversidad|Departamento de Química}}
 
* [http://www.superciencia.com Experimentos Caseros de Química]
 
* [http://www.fortunecity.com/campus/dawson/196 Sitio de Química] Lecciones, ejercicios, experimentos, y normas de seguridad en el laboratorio.
 
* [http://www.iciq.es Instituto Catalán de Investigación Química (ICIQ)].
 
* [http://www.fnquimica.com Fórum Nacional de Química]
 
  
[[Categoría:Química| ]]
+
algunos programas de hoy en dia usan programas como turbo pascal para enseñar en escuelas de computacion

Revisión del 23:16 11 mar 2010

Plantilla:Ficha de lenguaje de programación Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth a finales de los años 60. Su objetivo era crear un lenguaje que facilitara el aprendizaje de la programación a sus alumnos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:

  1. El código esta dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.

Características únicas

A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.

Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.

Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (en C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido; y también evita la necesidad de notación húngara, que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.

Implementaciones

Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas.

En los años 1980, Anders Hejlsberg escribió el compilador Blue Label Pascal para la Nascom-2. Más tarde fue a trabajar para Borland y reescribió su compilador que se convirtió en Turbo Pascal para la IBM PC. Este nuevo compilador se vendió por $49, un precio orientado a la distribución masiva.

El económico compilador de Borland tuvo una larga influencia en la comunidad de Pascal que comenzó a utilizar principalmente en el IBM PC. En busca de un lenguaje estructurado muchos aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo Pascal, solo estaba disponible para una arquitectura, traducía directamente hacia el código máquina del Intel 8088, logrando construir programas que se ejecutaban mucho más rápidamente que los producidos en los esquemas interpretados.

Durante los años 1990, estuvo disponible la tecnología para construir compiladores que pudieran producir código para diferentes arquitecturas de hardware. Esto permitió que los compiladores de Pascal tradujeran directamente al código de la arquitectura en que corrieran.

Con Turbo Pascal versión 5.5, Borland, agregó programación orientada a objetos a Pascal.

Sin embargo, Borland después decidió mejorar esa extensión del lenguaje introduciendo su producto Delphi, diseñado a partir de estándar Object Pascal propuesto por Apple como base. Borland también lo llamó Object Pascal en las primeras versiones, pero cambió el nombre a lenguaje de programación Delphi en sus últimas versiones.

Ejemplo de código usando la estructura lineal:

 program raiz(input, output);
 uses crt;
 (*
   Obtener la raíz cuadrada de un número real x cualquiera.
 *)
 
 var x, y: real;
 respuesta: string;
 
 begin
   writeln('** Calcular la raíz cuadrada de x **');
   writeln('Entrar x (> 0): '); 
   readln(x);
   y := sqrt(abs(x)); (* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
   writeln;
   if (x<0) then (* Si x es negativo, el resultado se notifica como imaginario *)
      writeln('La raíz cuadrada de ', x, ' es el número imaginario ', y,'i');
      writeln('La raíz cuadrada de ', x, ' es ', y);
   writeln; 
   writeln('** Fin **');
   readln; (* Espera a que el usuario pulse enter para salir del programa *)
 end.

Otro Ejemplo:

 
 program suma; uses crt;                                                         
 var x,s:integer;                                                              
 begin                                                                         
     clrscr;                                                                  
     x:=1;                                                                    
     s:=0;                                                                    
     repeat                                                                   
           s:=s+x;                                                            
           x:=x+1;                                                            
     until x=50;                                                              
     writeln('la suma es  ',s);                                               
     readln;
end.


 program multi;

 {$APPTYPE CONSOLE}

 uses
   SysUtils;

 var  n,x:integer;

 begin
   x:=0;
   writeln('Entra un numero de la serie');
   readln(n);
   while n<>0 do
    if (n mod 3)=0 then
     begin
      x:=x+1;
      writeln('Dame otro numero');
      readln(n);
     end
    else
     begin
      writeln ('Dame otro numero');
      readln(n);
     end;
   writeln ('El numero de multiples de 3 es',x);
   readln;
 end.

Compiladores disponibles públicamente

Varios compiladores de Pascal están disponibles para el uso del público en general:

  • Epox
  • Compilador GNU Pascal (GPC), escrito en C, basado en GNU Compiler Collection (GCC). Se distribuye bajo licencia GPL.
  • Free Pascal está escrito en Pascal (el compilador está creado usando Free Pascal), es un compilador estable y potente. También distribuido libremente bajo la licencia GPL. Este sistema permite mezclar código Turbo Pascal con código Delphi, y soporta muchas plataformas y sistemas operativos.
  • Turbo Pascal fue el compilador Pascal dominante para PCs durante los años 1980 y hasta principios de los años 1990, muy popular debido a sus magníficas extensiones y tiempos de compilación sumamente cortos. Actualmente, versiones viejas de Turbo Pascal (hasta la 7.0) están disponibles para descargarlo gratuito desde el sitio de Borland (es necesario registrarse).
  • Delphi es un producto tipo RAD (Rapid Application Development) de Borland. Utiliza el lenguaje de programación Delphi, descendiente de Pascal, para crear aplicaciones para la plataforma Windows. Las últimas versiones soportan compilación en la plataforma .NET.
  • Kylix es la versión más nueva de Borland reiterando la rama de Pascal de sus productos. Es descendiente de Delphi, con soporte para el sistema operativo Linux y una librería de objetos mejorada (CLX). El compilador y el IDE están disponibles para uso no comercial. Actualmente este proyecto está descontinuado.
  • Lazarus es un clon de Delphi, basado en Free Pascal es software libre.

Crítica

A pesar de ser muy extendido el uso de este lenguaje de programación, sobre todo en los años 1980 y principios de los 90, las primeras versiones de Pascal fueron muy criticadas por no producir código de características industriales. Brian Wilson Kernighan, co-autor del libro "El lenguaje de programación C", en 1981, en el documento "Why Pascal Is Not My Favorite Programming Language" [1] ("Por qué Pascal no es mi lenguaje de programación preferido") hace una crítica sobre el lenguaje Pascal.

Enlaces externos

Plantilla:Wikiversidad

algunos programas de hoy en dia usan programas como turbo pascal para enseñar en escuelas de computacion