sábado, 16 de septiembre de 2017

"Todo Acerca De Free Pascal"



¿Que Es Pascal?



Resultado de imagen para pascal informatica logo
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 paraconvertirse 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.



Historia y Origen 


Resultado de imagen para pascal lenguaje de programacion
 Es llamado así en honor del matemático y filósofo francés Blaise Pascal, fue desarrollado por Jose Manuel Linguot.

Antes de su trabajo en Pascal, 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 era 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 Tipopuesta 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).

Resultado de imagen para pascal lenguaje de programacion
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 llamado 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.




Evolución!


Resultado de imagen para turbo pascal
Fue Borland la que, hasta el Turbo Pascal 7, se encargó de la mayor parte de la evolución de este lenguaje. A mediados de los 90, con el boom de Windows y el renacimiento de los sistemas Unix (entre ellos Linux) como ordenadores servidores primero y luego como estaciones de trabajo, motivó que Pascal pasara a un segundo plano en sustitución de C.

En ese momento, prácticamente solo Delphi (Object Pascal para Windows) consiguió mantenerse en la brecha, pero conformándose con una pequeña parte del mercado solamente.
Resultado de imagen para delphi pascal logo
Casi todo el mundo intentó pasarse a C++ pero este no consiguió calar del todo por su extrema complejidad. Su sistema de objetos, los macros, los crípticos nombres de funciones, los namespaces tan difíciles de manejar, los templates, la STL y otra serie de cosas, hicieron que rápidamente mucha gente pasara de querer usar esa herramienta que todo el mundo proclamaba que era tan potente, a buscar alternativas que fueran más simples y prácticas. Sun, la compañía del Java, se gastó una millonada en promocionar su lenguaje, y tuvo un gran éxito, sin duda debido no solo al dinero en publicidad, sino a la gente que escapaba escaldada del C++. En realidad, Java no es un lenguaje fácil de aprender (obliga a pensar en objetos desde el principio, algo que los novatos no llevan bien), pero comparado con C++, se podía considerar como algo sencillo.



Características y Estructura


Resultado de imagen para caracteristicas de pascal lenguaje de programacion
Turbo Pascal es un sistema de desarrollo de software que incluye un compilador y un entorno de desarrollo integrado (IDE) para el lenguaje de programación Pascal, desarrollado por Borland y liderado por Philippe Kahn. Saliö a la venta en 1983 para MS-DOS, CP/M, CP/M-86 y, posteriormente, para Microsoft Windows. También hubo una versión de corta vida para Apple Macintosh.

El compilador de Pascal de Borland, famoso en todo el mundo, fue presentado en 1985. El compilador Turbo Pascal ha sido una de las series de compiladores que mejor se han vendido de todos los tiempos, e hizo de Pascal un lenguaje especialmente importante en la plataforma PC, gracias a su equilibrio entre simplicidad y potencia. Turbo Pascal introdujo un entorno integrado de programación (IDE) en que se podía editar el código (en un editor compatible con WordStar), ejecutar el compilador, ver los errores, y volver directamente a las líneas que contenían los errores. Ahora suena trivial, pero antes de eso había que salir del editor, volver a MS-DOS, ejecutar el compilador de línea de comandos, anotar las líneas erróneas, abrir de nuevo el editor y buscarlas.
Además, Borland puso a la venta Turbo Pascal por 49 dólares (USA), mientras que el compilador de Pascal de Microsoft estaba a unos cuantos cientos de dólares. Los muchos años de éxito de Turbo Pascal contribuyeron a que Microsoft finalmente retirase su compilador del mercado.
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. 


Compilador 


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

Dev-Pascal
Epox
Compilador GNU Pascal (GPC), escrito en C, basado en GNU Compiler Collection (GCC). Se distribuye bajo licencia GPL.
Resultado de imagen para compilado de pascal informatica
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 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).

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.

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.
Lazarus es un clon de Delphi, basado en Free Pascal es software libre.
MidletPascal para la plataforma J2ME.
TMT. Pascal.
PIC Micro Pascal, para microcontroladores PIC.
Smart Mobile Studio traduce un programa en dialecto Object Pascal a JavaScript, especialmente diseñado para ser utilizado en dispositivos móviles.
Oxygene es un compilador que genera archivos jar.
Actualidad[editar]



Borland Pascal



Resultado de imagen para borland pascal


El nombre de Borland Pascal fue generalmente reservado para los paquetes de gama alta para Microsoft Windows (con más bibliotecas y la biblioteca estándar de código fuente), mientras que la original, más barato y ampliamente conocida versión fue vendido como Turbo Pasca


Versiones

Resultado de imagen para Turbo Pascal 1.0,
Turbo Pascal 1.0, 1983. Compila directamente en código máquina. Requiere 32 kilobytes de RAMTiene un compilador integrado / editor, de alta velocidad de compilación.
Turbo Pascal 2.0, 1984. Se aumentó el tamaño del programa generado – permite hasta 64 kilobytes de código, pila y datos. Versión para DOS soporta coprocesador matemático y decimales aritmética binaria (con código binario decimal.
Turbo Pascal 3.0, 1985. Apoyo a la estructura de recubrimiento. Apoyo a los modos gráficos. Especial sub-imagen para el PC compatible ordenadores de IBM, incluye



Algunos Ejemplos: 


Un sencillo ejemplo del programa Hola Mundo:


PROGRAM HolaMundo (OUTPUT);
BEGIN
WriteLn('¡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: ');
ReadLn(Sumando1);
Write('ingrese otro numero: ');
ReadLn(Sumando2);
Suma:=Sumando1 + Sumando2;
WriteLn ('La suma es: ',Suma);
WriteLn ('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
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

Un ejemplo de bucle:
PROGRAM MultiplosDe3 (INPUT, OUTPUT);
VAR
Numero, Cnt: INTEGER;
BEGIN
Cnt := 0;
Write ('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 numero (0 para terminar): '); ReadLn (Numero);
END;
WriteLn ('La cantidad de múltiplos de 3 ingresados es ', Cnt);
Write ('Pulse [Intro] para finalizar...')
END.

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 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 := N
END;
VAR
Base: INTEGER;
BEGIN
Write ('Valor de N: '); ReadLn (Base);
WriteLn ('N! = ', Factorial (Base));
Write ('Pulse [Intro] para finalizar...')
END.

Vectores

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...');
Readl


A Continuación le dejare un link para mas información acerca de pascal 


https://www.youtube.com/watch?v=8Bl4d6tF34c