Pascal

Pascal

Pascal (lenguaje de programación)

Pascal es un lenguaje 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:

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.

El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

Características únicas

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 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 de 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

Hola Mundo

Un sencillo ejemplo del programa Hola Mundo:

PROGRAM Hola Mundo? (OUTPUT);

BEGIN

Write Ln?(‘¡Hola Mundo!’)

{ como la siguiente instrucción no es ejecutable “end.”

no se requiere ; aunque puede ponerse según las

preferencias del programador }

END.

Suma

PROGRAM Suma (INPUT, OUTPUT);

VAR

Sumando1, Sumando2,Suma:INTEGER;

BEGIN

Write(‘ingrese un numero: ‘);

Read Ln?(Sumando1);

Write(‘ingrese otro numero: ‘);

Read Ln(Sumando2);

Suma:=Sumando1 + Sumando2;

Write Ln (‘La suma es: ‘,Suma);

Write Ln (‘Pulse [Intro] para finalizar…’);

readln

END.

Raíz cuadrada

PROGRAM Raiz (INPUT, OUTPUT);

(* Obtener la raíz cuadrada de un número real x cualquiera.*)

VAR

Valor, Resultado: REAL;

BEGIN

Write Ln (‘** Calcular la raíz cuadrada **’);

Write (‘Introduzca el valor: ‘); Read Ln (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 *)

Write Ln (‘La raíz cuadrada de ‘, Valor, ‘ es ‘,Resultado)

ELSE (* Si es negativo, el resultado es imaginario *)

Write Ln (‘No existe la raíz cuadrada de ‘,Valor,’ en los reales.’);

Write (‘Pulse [Intro] para finalizar…’);

END.

Bucles

Un ejemplo de bucle:

PROGRAM Multiplos De 3? (INPUT, OUTPUT);

VAR

Numero, Cnt: INTEGER;

BEGIN

Cnt := 0;

Write (‘Entra el primer número de la serie: ‘); Read Ln (Numero);

WHILE Numero <> 0 DO

BEGIN

IF (Numero MOD 3) = 0 THEN

INC (Cnt);

Write (‘Dame otro numero (0 para terminar): ‘); Read Ln (Numero);

END;

Write Ln (‘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;

for i:=1 to 10 do

begin

write(´ingrese la tabla de mutliplicar que desea ver: ´);

readln(n);

writeln( i,´ x´,n,´ =´,i*n)

end;

readln

end.

PROGRAM Calcular Factorial? (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 := N

END;

VAR

Base: INTEGER;

BEGIN

Write (‘Valor de N: ‘); Read Ln (Base);

Write Ln (‘N! = ‘, Factorial (Base));

Write (‘Pulse [Intro] para finalizar…’)

END.

Vectores

PROGRAM Notas De Alumnos?;

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;

end.

Librerías

Las librerías contienen procedimientos y funciones. El objetivo es poner esas funciones a disposición de ser usadas.

Cuando planeemos usar librerías, nos hemos de remitir a la sección USES de nuestro programa.

Por ejemplo para usar el procedimiento clrscr, que se encarga de borrar la pantalla de la terminal donde aparece la salida de nuestro programa en modo texto,y la función readkey, que obliga al programa a detenerse y a no continuar hasta que el usuario presione una tecla se debe usar la libreria CRT. program Mi Programa?;

uses CRT;

var

nombre: string[10];

begin

clrscr;

nombre:= ‘Manuel’;

writeln(nombre);

readkey

end.

Obtenido de «https://es.wikipedia.org/w/index.php?title=Pascal_(lenguaje_de_programación)&oldid=99822386»


Mis sitios nuevos:
Emprendedores
Politica de Privacidad