Sunteți pe pagina 1din 8

Pascal (lenguaje de programación)

Ir a la navegaciónIr a la búsqueda

Pascal

Desarrollador(es)

Niklaus Wirth

Información general

Extensiones comunes .pas .pp

Paradigma Imperativo (Procedural), Estructurado

Apareció en 1970

Diseñado por Niklaus Wirth

Sistema de tipos Fuerte, Estático

Implementaciones Múltiples

Dialectos Object Pascal, Oxygene

Influido por ALGOL

Ha influido a C, Java, C++, Modula, Oberon

Sistema operativo Multiplataforma

[editar datos en Wikidata]

Pascal es un lenguaje de programación creado por el profesor suizo Niklaus


Wirth entre los años 1968 y 1969, y publicado en 1970. Su objetivo era crear un
lenguaje que facilitara el aprendizaje de programación a sus alumnos,
utilizando la programación estructurada y estructuración de datos. 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 tipado. Esto implica que:

1. El código está 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.

Índice

 1Historia
 2Características únicas
 3Implementaciones
 4Ejemplos
o 4.1Hola, mundo
o 4.2Suma
o 4.3Raíz cuadrada
o 4.4Bucles
o 4.5Vectores
 5Librerías
 6Compiladores
 7IDE
 8Actualidad
 9Véase también
 10Referencias
 11Enlaces externos

Historia[editar]
Antes de su trabajo en Pascal, Niklaus Wirth había desarrollado Euler y ALGOL
W, y más tarde pasó a desarrollar los lenguajes Modula-2 y Oberon, al estilo de
Pascal.

Inicialmente, Pascal estaba en gran parte, pero no exclusivamente, destinado a


enseñar a los estudiantes la programación estructurada.1 Una generación de
estudiantes usa Pascal como lenguaje de introducción de cursos de
graduación. Las variantes de Pascal también se han usado para todo, desde
proyectos de investigación a juegos de PC y sistemas embebidos. Existen
nuevos compiladores de Pascal que son ampliamente utilizados. 2
Pascal fue el lenguaje primario de alto nivel utilizado para el desarrollo en
el Apple Lisa, y en los primeros años del Macintosh. Algunas partes del sistema
operativo original del Macintosh se traducen a mano al lenguaje
ensamblador del Motorola 68000 de sus fuentes Pascal.3 El sistema
de composición tipográfica TeX de Donald E. Knuth fue escrito en WEB, el
sistema de programación literaria original, basado en DEC PDP-10 Pascal,
mientras que aplicaciones como Total Commander, Skype y Macromedia
Captivate fueron escritos en Delphi (Object Pascal).
Object Pascal (Embarcadero Delphi) todavía se utiliza para el desarrollo de
aplicaciones Windows, pero también tiene la capacidad de compilación cruzada
del mismo código para Mac, iOS y Android. Otra versión multiplataforma
llamada Free Pascal, con el IDE Lazarus, es popular entre los usuarios de
Linux, ya que también ofrece desarrollo escribe una vez, compila para
todos (write once, compile anywhere). CodeTyphon es una distribución de
Lazarus con más paquetes preinstalados y compiladores cruzados.

Características únicas[editar]
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á
permitida (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[editar]
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 el Nascom-2. Más tarde fue a trabajar para Borland y reescribió su
compilador, que se convirtió en Turbo Pascal para el IBM PC. Este nuevo
compilador se vendió por 49 dólares, 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 utilizarlo 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 sólo 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 corre.
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 del estándar Object Pascal,
propuesto por Apple Inc. 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.

Ejemplos[editar]
Hola, mundo[editar]
Un sencillo ejemplo del programa Hola, mundo:

PROGRAM HolaMundo (OUTPUT);


BEGIN
WriteLn('¡Hola, mundo!');
{ Como la siguiente instrucción no es ejecutable, no se
requiere la instrucción "END.", aunque puede ponerse
según las preferencias del programador. }
END.

Suma[editar]
PROGRAM Suma (INPUT, OUTPUT);

VAR
Sumando1, Sumando2,Suma:INTEGER;

BEGIN
Write('ingrese un número: ');
ReadLn(Sumando1);
Write('ingrese otro número: ');
ReadLn(Sumando2);
Suma:=Sumando1 + Sumando2;
WriteLn ('La suma es: ',Suma);
WriteLn ('Pulse [Intro] para finalizar...');
readln
END.

Raíz cuadrada[editar]
PROGRAM Raiz (INPUT, OUTPUT);
(* Obtener la raíz cuadrada de un número real x cualquiera.*)

VAR
Valor, Resultado: REAL;
BEGIN
WriteLn ('** Calcular la raíz cuadrada **');
Write ('Introduzca el valor: '); ReadLn (Valor);
(* Raíz cuadrada del valor absoluto de x para evitar raíces
imaginarias *)
Resultado := sqrt (abs (Valor));
IF Valor > 0 THEN (* Si es positivo, existe el resultado en los
reales *)
WriteLn ('La raíz cuadrada de ', Valor, ' es ',Resultado)
ELSE (* Si es negativo, el resultado es imaginario *)
WriteLn ('No existe la raíz cuadrada de ',Valor,' en los
reales.');
Write ('Pulse [Intro] para finalizar...');
END.

Bucles[editar]
Un ejemplo de bucle:

PROGRAM MultiplosDe3 (INPUT, OUTPUT);

VAR
Numero, Cnt: INTEGER;

BEGIN
Cnt := 0;
Writeln ('Entra el primer número de la serie: '); ReadLn (Numero);
WHILE Numero <> 0 DO
BEGIN
IF (Numero MOD 3) = 0 THEN
INC (Cnt);
Write ('Dame otro número (0 para terminar): '); ReadLn (Numero);
END;
WriteLn ('La cantidad de múltiplos de 3 ingresados es ', Cnt);
Write ('Pulse [Intro] para finalizar...')
END.

Un ejemplo de bucle:

program tabla;
uses crt;
var
i,n:integer;
begin
clrscr;
write(´ingrese la tabla de multiplicar que desee ver: ´);
readln(n);
for i:=1 to 10 do
begin
writeln( i,´ x´,n,´ =´,i*n)
end;
readln
end.
PROGRAM CalcularFactorial (INPUT, OUTPUT);

(* Función que calcula el factorial de n (n!) de forma recursiva. *)


FUNCTION Factorial (CONST N: INTEGER): INTEGER;
BEGIN
IF N > 1 THEN
Factorial := N * (Factorial (N - 1))
ELSE
Factorial := 1
END;

VAR
Base: INTEGER;
BEGIN
Write ('Valor de N: '); ReadLn (Base);
WriteLn ('N! = ', Factorial (Base));
Write ('Pulse [Intro] para finalizar...')
END.

Vectores[editar]
PROGRAM NotasDeAlumnos;
uses crt;
Type
vecalumnos = array [1..40] of string;
var
Nombre, Apellido: vecalumnos;
Nota: array [1..40] of real;
Begin
clrscr; /*Limpia pantalla*/
For i:= 1 to 40 do
begin
write(´Ingrese Nombre: ´);
readln(Nombre[i]);
write(´Ingrese Apellido: ´);
readln(Apellido[i]);
write(´Ingrese Nota: ´);
readln(Nota[i]);
end;
For i:= 1 to 40 do
begin
write(Nombre[i], ´ ´,Apellido[i]);
if (Nota[i] >=7) then
writeln(´ aprobó´)
else
writeln(´ no aprobó´);
end;
writeln(´´);
Write ('Pulse [Intro] para finalizar...');
Readln
until
while
Repeat
end.

Librerías[editar]
Las librerías contienen procedimientos y funciones. El objetivo es agrupar
funciones asociadas a algún contexto o funcionalidad. Por ejemplo, una librería
puede contener todas las funciones trascendentes. Otra más la aritmética de
números complejos.
Cuando se planee usar librerías, se ha de remitir a la sección USES del
programa.
Por ejemplo para usar el procedimiento clrscr, que se encarga de borrar la
pantalla de la terminal donde aparece la salida del programa en modo texto, y
la función readkey, induce al programa a detenerse y a no continuar hasta que
el usuario presione una tecla, se debe usar la librería CRT. program Ejemplo;
uses CRT;

var
nombre: string[10];

begin
clrscr;
nombre:= 'Manuel';
writeln(nombre);
readkey
end.

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

1. Delphi es un producto tipo RAD (Rapid Application Development)


inicialmente desarrollado por Borland y actualmente por Embarcadero.
Utiliza el lenguaje de programación Delphi, descendiente de Pascal,
para crear aplicaciones para la plataforma Windows. Las últimas
versiones también generan ejecutables para MacOS X, Linux y .NET.
2. 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.
3. Compilador GNU Pascal (GPC), escrito en C, basado en GNU Compiler
Collection (GCC). Se distribuye bajo licencia GPL.
4. Turbo Pascal fue el compilador Pascal dominante para PC 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).
5. Oxygene es un compilador de Object Pascal para las
plataformas .NET y Mono. Creado por RemObjects Software. Incluye
características modernas en la sintaxis, con influencias de C#, Eiffel,
Java, F# y otros lengaujes.
Modern Pascal es un intérprete y compilador a p-code, multiplataformaescrito
en Free Pascal. Está pensado como una solución alternativa a PHP y node.js,
usando el dialecto de Pascal ISO o un dialecto híbrido con operadores de
JavaScript/C.

1. Kylix fue una versión de Delphi para el sistema operativo Linux


promovida por la antigua Borland reiterando la rama de Pascal de sus
productos. Como descendiente de Delphi cuenta con una librería de
objetos mejorada llamada CLX, que es la versión para Linux de la VCL.
Sin embargo el proyecto ya se había descontinuado mucho antes de
que Borland vendiera todos sus productos de desarrollo a Embarcadero
Technologies, actual dueño de Delphi.
2. MidletPascal para la plataforma J2ME.
3. Turbo51 es un compilador Pascal libre para la familia de
microcontroladores 8051 family, que maneja la sintaxis de Turbo Pascal.
4. PIC Micro Pascal, para microcontroladores PIC.
5. PicPas, compilador multiplataforma y de código abierto,
para microcontroladores PIC, de gama media. Incluye una IDE y un
simulador/depurador en la misma aplicación.
6. Smart Mobile Studio traduce un programa en dialecto Object Pascal a
JavaScript, especialmente diseñado para ser utilizado en dispositivos
móviles.
7. TMT. Pascal.

IDE[editar]
 Delphi incluye una IDE moderna y bastante completa, además del
compilador que se incluye en como parte de su producto comercial.
 Lazarus es un clon de Delphi, basado en Free Pascal es software libre.
 Dev-Pascal es una IDE para desarrollar en Object Pascal que soporta a
los compialdores Free Pascal and GNU Pascal.
 MSEide es una IDE multiplataforma para desarrollar sobre Free Pascal.
Incluye su propia librería de clases.
 CodeTyphon es una IDE multiplataforma para desarrollar sobre Free
Pascal, muy similar a Lazarus, pero incluye una cantidad mucho mayor de
componentes visuales.

Actualidad[editar]
Actualmente sigue utilizándose este lenguaje en el desarrollo de aplicaciones,
gracias a la aparición de herramientas de desarrollo para nuevas plataformas
como Oxygene o Smart Mobile Studio y la modernización de compiladores y
entornos más antiguos como Delphi, Free Pascal y Lazarus. Hoy en día se usa
el compilador Free Pascal y similares para enseñar programación en las
escuelas.4 También se usan compiladores más antiguos como el Turbo
Pascal.5

S-ar putea să vă placă și