lunes, 5 de mayo de 2008


pascal y turbopascal

el lenguaje de programacion pascal fue diseñado en 1968 por el profesor niklaus wirth , del instituto tecnologico de zurich , experto en el diseño de lenguajes de programacion de tipo avanzado , y cuya ultima aportacion la constituye el lenguaje modula -2

el lenguaje de programacion pascal es un lenguaje de alto nivel y proposito general desarrollado por el profesor wirth como un lenguaje para enseñar la programacion de un modo sistemateco .

desde 1971 en que aparecio el primer compilador , han surgido diferentes vrsiones , algunas de ellas icompatibles , hasta que se establecen dos estandar del lenguaje pascal : el ISO-internatinal standards organization- en 1982 y otra por un comite con junto del ANSI - ameracan national standards instiute- y el IEE -institute of electrical and electronics enginners .- estas dos versiones se conocen como ISO pascal y ANSI/IEE pascal , y difieren en algunos aspectos no significativos . sin embargo , dos vsrsiones no estandar se han popularizado considerablemente : UCSD - construida por regentes of the university of california - y turbo pascal (marca registrada de borland internacional , inc) . de ellas , turbo pascal es sin duda la version reina y ha sido la que ha contribuido a la popularizacion del lenguaje pascal .

la razon fundamental del exito de turbo pascal es su entorno de programacion (editor/compilador) y numerosas utilidades inexistentes en otras versiones de pascal , tuvo una vida muy corta ; despues aparecieron las versiones 2.0 y3.0 , la ultima de las cuales alcanzo notable fama .

en 1987 Brland lanzo la version 4.0 la cual conservaba todas las peculiaridades de 3.0 con la que era compatible , pero ofrecia un entorno de programacion mas potente y mejoraba las version anterior . sin embargo , Borland continua perfeccionando su compilador y asi , en 1988 , lanzo la version 5.0 en 1989 lanzo al mercado la version 5.5 , que sigue las nuevas filosofias del campo de la programacion (programacionorientada a objetos) y a finales de 1990 lanzo la version 6.0 que perfecciona la vercion 5.5 con la herramienta turbo vision y un nuevo entorno de desarrollo IDE . el entorno de desarrollo IDE se basa en un editor de multiple ficheros que se presentan como ventanas independientes con soporte de teclado y raton . la herramienta turbo vision es una arquitectura para construir programas basada en tecnicas orientadas a objetos . se trata de un conjunto de funciones para implementar en los programas del usuario entornos basados en ventnas y cajas de dialogo al estilo de nuevo entorno IDE de turbopascal 6.0

en este sitio se inicia al lector en la programacion pascal estandar y de forma paulatina al turbopascal .
1
los lenguajes de programacion
los lenguajes utilizados para escribir programas de ordenadores que puedan ser entendidos por ellos se denominan lenguajes de programacion.
los lenguajes de programacion se clasifican en tres grandes categorias : maquina , bajo nivel o ensamblador y alto nivel .
lenguajes maquina
el lenguaje maquina es aquel cuyas instrucciones son directamente entendibles por el ordenador y no necesitan traduccion posterior para que la CPU pueda comprender y ejectuar el programa . las instrucciones en lenguaje maquina se expresan en 0 y 1 , es decir , en una secuencia de bits que especifican la operacion a realizar y las posiciones de la memoria dond es preciso recuperar o depositar la informacion o datos y el resultado de la operacion . un conjunto de instrucciones en lenguaje maquina son
1001 1000 0101 1010
1000 0011 0001 0000
como se puede observar , estas instrucciones seran faciles de leer por el ordenador y dificles por un programador . esta razon hace dificil escribir programas en codigo o lenguaje maquina y requiere buscar otros lenguaje para comunicarse con el ordenador , pero que sea mas facil de escribir y leer por el programador . para evitar la dificultad de escribir programas en lenguaje maquina se han diseñado otros lenguajes de programacion que facilitan la escritura y posterior ejecucion de los programas . estos lenguajes son los de bajo y alto nivel .
lenguajes de bajo nivel o ensambladores
la programacion en lenguaje maquina es dificil , por ello se necesitan lenguajes que permitan simplificar este proceso . los lenguajes de bajo nivel han sido diseñados para este fin .
un lenguaje tipico de bajo nivel es el lenguaje ensamblador . en este lenguaje las instrucciones se escriben en codigos alfabeticos conocidos como nemotecnicos (abrsviaturs de palabras inglesas)
las palabras nemotecnicas son muchi mas faciles de recordar que las secuencias de digitos 0 y 1 . asi por ejemplo , nemotecnicos tipicos son :
ADD (suma) LDA (cargar acumulador)
MPY (multiplicar) STO (almacenar)
DIV (dividir) SUB (resta)
despues que un programa ha sido ecrito en lenguaje ensemblador se neesita un programa llamado ensamblador que lo traduzca a codigo maquina .
lenguajes de alto nivel
los lenguajes de programacion de alto nivel son aquellos en los que las instrucciones o sentencias dadas al ordenador son escritas con palabras similares a las utilizdas en el lenguajes humano . el lenguaje utilizado es el ingles . los lenguajes de alto nivel mas utilizados son : pascal , basic , cobol , fortran , ada , c, modula-2 , lisp y logo .
los lenguajes de programacion son en general transportables . estos significa que un programa escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificacion en diferentes tipos de ordenadores . otra propiedad de estos lenguajes es que son independientes de la maquina , esto es , las sentencias del pograma no dependen del hardware del ordenador .
los programas escritos en lenguaje de alto nivel no son entndibles directamente por la CPU del ordenador . necesitan ser traducidos a instrucciones en lenuaje maquina que entiendan los ordenadores . los programas que realizan esta treduccion se llaman compiladores , y los programas escritos en un lenguaje de alto nivel se llaman programas fuente . el compilador traduce el programa fuente en un programa llamado programa objeto . este programa objeto se utiliza en la fas de ejecucion del programa . el proceso de traduccion de un programa fuente se denomina compilacion y tras la fase de enlece se obtiene un programa ejecutable .
2
diseño de programas
(programacion)
El proceso de resolucion de un problema con un ordenedor conduce a la escritura de un programa y a su ejecucion en el mismo . aunque el proceso de diseñar programs es creativo , se puede considerar una serie de fases o pasos comunes que se deben seguir .
las fases a seguir son : analisis del problema , diseño del algoritmo , codification , compilacion , ejecucion , verificacion , depuracion y documentacion .
La primera fase requiere una clara definicion , donde se contemple exactamente lo que debe hacer el programa y el resultado o solucion deseada .
El proceso que convierte los resultados del analisis del problema en un diseño modular que permita una posterior traduccion a un lenguaje se denmina diseño del algoritmo . un programa esta estructurado con diseño modular cuando costa de un porgrama principal (el modulo de nivel mas alto) que llama a subprogramas (modolus de nivel mas bajo) que a su vez pueden llamar a otros subprogramas .
La codificacion es la escritura en un lenguaje d programacion de la representacion del algoritmo deserrollada en las etapas precedentes . una vez que el algoritmo se ha convertido en un programa fuente , es preciso introducirlo en memoria mediante el teclado y almacenarlo posteriormente en un disco .
El programa fuente debe ser traducido a lenguaje maquina . este proceso se realiza con l compilador y el sistma operativo que se encarga practicamente de la compilacion . si tras la compilacion se presentan erores de compilacion en el programa fuente , es preciso volver a editar el programa , corregir los errores y compilar de nuevo . este proceso se repite hasta que no se producen errores , obteniendos el programa objeto que todavia no es ejcutable directamente . una vez corregidos los errores , se debe instruir al sistema operativo para que realice l fase de montaje o enlace (link) , carga , del programa objeto con las librerias del programa del compilador . el proceso de montaje produce un programa ejecutable
Laverificacion de un programa es el proceso de ejecucion del programa con una amplia variedad de datos de entrada . llamados detos de test o prueba , que determinaran si el programa tiene errores (buges).
La depuracion de un programa es el proceso de encontrar los errores del programa y corregir o eliminar dichos errores .
Cuando se ejecuta un programa . se pueden producir tres tipos de errores :
_ Errores de compilacion . se producen normalmente por un uso incorrecto de las reglas del lenguaje de programacion y sueln ser errores de sintaxis .
_ Errores de ejecucion . estos errores se producen por instrucciones que el ordenador de numeos negativos y division por cero .
_ Errores logicos . se producen en la logica del programa y la fuente del error suele ser el diseño del algoritmo . son errores dificiles de detectar debido a que solo se puede advertir el error por la obtencion de resultados incorrectos .
La documentacion de un programa consta de las descripciones de los pasos a dar en el proceso de resolucion de un problema . esta puede ser interna y externa . la documentacion nterna es la contenida en lineas de comentarios . la documentacion externa incluye analisis , diagramas de flujo , pseudocodigos , manuales de usuario con instrucciones para ejecutar el programa y para interpretar los resultados .
programacion modular
La programacion mudular consiste en dividir el programa en modulos , cada uno de los cuales ejecuta una actividad o tarea y se codifican independientemente de otros modilos . cada uno de estos modulos se analizan , codifican y ponen a punto por separado .
cada programa contiene un modulo denominado programa principal que controla todo lo que sucede ; se transfiere el control a submodulos (subprogramas) de modo que ellos puedan ejecutar sus funciones ; cada submodulos devuelve el control al modulo principal cuando se haya completado su tarea . si la tarea asignada a cada submodulo es demasiado compleja , este debera romperse en otros modulos mas pequeños .
La programacion modular reduce el tiempo del diseño del programa al permitir a diferentes programadores trabajar simultaneamente en diferentes partes del programa . ademas , un modulo se puede modificar sin afectar a otros modulos y diseñar los modulos de forma independiente .
programacion estructurada
La programacion estructurada significa escribir un programa de acuerdo con las siguientes reglas :
__ El programa tiene un diseño modular : en pascal los modulos se llaman procedimientos o funciones .
__ Cada modulo se codifica utilizando las tres estructuras de control basicas : secuencial , seleccion y repeticion . en mayo de 1966 , bohm y jacopini demostraron que un programa puede ser escrito utilizando solamente las estructuras de control basicas .
__ Los modulos se diseñan con metodogia descendente . el diseño descendente es un proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos .

No hay comentarios: