Mi nueva pagina

Curso de Turbo Pascal

Objetivo

La meta de esto, es hacer un lugar en donde los lectores puedan encontrar la información que buscan acerca de este tema. Se añadirá información diariamente, de manera que la información irá siendo cada vez más extensa. La información es recopilada de los mejores libros de programación en Turbo Pascal y de mi propia experiencia. Nada de lo que yo añada será borrado para que esto llegue a ser más que un simple tutorial. Con el tiempo, será una guía completa de Turbo Pascal.

Lo más interesante de esto, es la característica que propongo de dar un tipo de soporte en el que los lectores puedan escribir sus comentarios o hacer sus preguntas para darles respuesta. Esto es con el fin de que el usuario no tenga que recurrir a otros medios porque no hemos llegado aun al tema en el cual tiene su duda.

He considerado seriamente la forma en que los lectores van a asimilar este material. Pretendo ser claro y conciso, reduciendo las discusiones a lo esencial, ya que demasiada explicación puede ser tan inconveniente como muy poca. Por supuesto incluiré muchos programas de ejemplo; guárdalos como referencia.

Acerca de Turbo Pascal
Te preguntarás ¿Es Turbo Pascal un lenguaje obsoleto?

No. Aunque si hablamos como programadores modernos, podríamos decir que Pascal ya es obsoleto. Pero déjame decirte que la última versión para MS-DOS es de 1993 y sigue siendo muy válido incluso a nivel internacional. En algunos países del primer mundo se enseña a los jóvenes a programar primero en Pascal que en otro lenguaje.

Aprender a programar en pascal es como aprender desde el principio. Casi desde cero.

Un lenguaje de programación de bajo nivel es aquel que proporciona poca o ninguna abstracción del microprocesador de una computadora, en consecuencia es fácilmente trasladado a lenguaje de máquina. La palabra “bajo” no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware.

¿Qué podemos hacer con Turbo Pascal?

Podemos hacer desde programas sencillos como por ejemplo uno que te pide varios números y te dice cuál es el mayor, hasta videojuegos. Turbo Pascal y C son lenguajes muy básicos en la programación de videojuegos.

¿Es necesario aprender Turbo Pascal?

Si sigues alguna carrera relacionada con las ingenierías, Turbo Pascal podría ser una poderosa herramienta para tu desarrollo profesional. Pascal es un buen comienzo para aquellos que sueñen con ser programadores profesionales de software.

ACERCA DE LAS COMPUTADORAS Y LA RESOLUCION DE PROBLEMAS
Breve historia

Las computadoras son ahora omnipotentes pero es fácil olvidar lo reciente que ha sido su desarrollo. La primera computadora digital completamente electrónica y de uso general, llamada ENIAC, se construyó en 1946. La ENIAC era un dispositivo complicado y de inmensas dimensiones. Contenía 18,000 válvulas de vació (Antecesores de los transistores y circuitos integrados o “chips”), ocupaba una superficie de 15 x 9 metros y pesaba 30 toneladas. Fue construida para el ejército de Estados Unidos destinada para efectuar cálculos para pronósticos del tiempo y para tablas de balística. UNIVAC I, la primer computadora comercial, apareció en 1951.

Lenguaje de máquina

Para que una computadora pueda resolver un problema o procesar información, debe dársele una lista precisa de instrucciones. Tal lista de instrucciones se llama programa. El programa debe escribirse en forma apropiada para la computadora; es decir en lenguaje de máquina. Este es el idioma que la computadora entiende. Las instrucciones en lenguaje de máquina consisten en sucesiones de dígitos binarios, 1 y 0. Por ejemplo una instrucción típica en lenguaje de máquina podría ser:

0100 1010 1010 0011

En los primeros días, todos los programas se escribían en lenguaje de máquina. Ahora se puede realizar programación en lenguajes de alto nivel cosa que es mucho más fácil de hacer. Por ejemplo, una instrucción típica en Turbo Pascal podría ser:

Sueldo := Horas * Sueldo

 

Compilador

Te preguntarás ¿Cómo es que una computadora puede entender un programa escrito en el lenguaje Pascal, si sólo es capaz de entender su propio lenguaje de máquina? La respuesta es que se complemente con un programa de traducción, llamado compilador, que transcribe el programa en Turbo Pascal (Llamado código fuente) a una lista de instrucciones en lenguaje de máquina (Llamada código objeto).

RESOLUCION DE PROBLEMAS POR MEDIO DE LA COMPUTADORA

Las computadoras no tienen inteligencia propia. Solo pueden hacer lo que se les diga explícitamente. Poreso, no pueden adivinar lo que quería un programador cuando éste comete un ligero error al comunicarse con ellas. Por ejemplo, si el usuario escribe el comando write como wrrite, la computadora no tendrá ni la menor idea de la intención del programador y no será capaz de ejecutar el comando.
Para que una computadora pueda resolver un problema concreto, el programador (No la computadora) deberá diseñar un método adecuado para la solución. La computadora simplemente llevará a cabo paso a paso la lista de las instrucciones formuladas en el programa de la persona. Los cuatro pasos para la resolución de problemas los doy a continuación:

1. Entender el problema. No tendría sentido tratar de realizar el programa sin entender bien el problema.

2. Encontrar un método de solución. El programador debe idear un algoritmo. Un algoritmo no es más que una lista paso a paso de las instrucciones que se han de ejecutar en un orden específico que conducirá a una solución del problema.

3. Escribir el programa. Cuando se ha concretado un método paso a paso para resolver un problema, generalmente es sencillo traducir los pasos a código de computadora, es decir a un lenguaje como Turbo Pascal.

4. Probar y depurar. Córrase el programa. Si no corre, se deben encontrar y corregir los errores que contenga. Este proceso se llama depuración. Después de que el programa haya corrido por primera vez, debe volverse a correr para una amplia variedad de entradas a fin de comprobar de manera más completa la lógica del programa. El programador también debe comprobar que el programa produce la salida deseada.

UN PRIMER PROGRAMA

Ejemplo:

Program AlturaEnPulgadas;
var pies, pulgadas: integer;
{convierte 6 pies a pulgadas}
begin
  pies := 6;
  pulgadas := pies * 12;
  writeLn ('La altura en pulgadas es ',pulgadas);
end.

Cuando este programa es ejecutado, en la pantalla se visualiza:

La altura en pulgadas es 72

La primera línea del encabezado y su finalidad es la de proporcionar un nombre al mismo (Esto no es indispensable, el programa puede funcionar sin esta línea). En la segunda línea se
declaran dos variables, pies y pulgadas; ambas contendrán valores enteros (Ya que fueron declaradas del tipo integer). El cuerpo del programa (Esto es la parte del programa que contiene las acciones a realizar por el programa) se inicia con la palabra reservada begin.

El primer enunciado en el cuerpo asigna el valor de 6 a la variable pies. El siguiente enunciado calcula el valor en pies y lo asigna a la variable pulgadas. El enunciado writeln produce la salida en la pantalla.

Variables. Cuando se procesa información o datos, un programa para computadora generalmente mantiene valores para varias cantidades, a estas cantidades se les puede hacer referencia por nombres, conocidos como variables.

El nombre de una variable en Turbo Pascal debe comenzar con una letra y puede contener únicamente letras, dígitos numéricos y el signo de subrayado (_). Si el nombre de una variable tiene una longitud mayor a 63 caracteres, únicamente los primeros 63 son significativos para el compilador. Algunos nombres para variables o identificadores válidos son:

pies suma Impuesto1988 FINAL promedio_calificaciones

Algunos identificadores no válidos son:

1993Impuesto No inicia con una letra

promedio.calificaciones El punto no está permitido

promedio calificaciones No se permiten espacios en blanco

Palabras reservadas. Ciertas palabras tienen significados predeterminados en Turbo Pascal y se les conoce como palabras reservadas. Una restricción más para los identificadores de variables es que no pueden ser palabras reservadas.

Declaración de variables. Cada variable que aparece en el cuerpo de un programa debe tener declarado el tipo de datos que le corresponde. Esto se realiza listando dentro de la sección var del programa todos los identificadores de variables y dando a cada uno de ellos el tipo de datos correspondiente. En el programa anterior, el enunciado

var pies, pulgadas: integer;

declara las variables pies y pulgadas como variables del tipo integer. Aquellas variables que se declaren con este tipo de datos, únicamente pueden tomar valores de números enteros como 7, 45, 0 ó 36. Además la gama de valores posibles cae entre -32 768 y 32 767. En este capítulo consideramos solamente variables del tipo integer. En otros capítulos se cubrirán otros tipos de datos.

Enunciados de asignación

Un enunciado de asignación, como su nombre lo indica, asigna un valor a una variable. Por ejemplo, es un enunciado de asignación que le da el valor 6 a la variable pies. Los primeros dos enunciados del cuerpo del programa AlturaEnPulgadas son enunciados de asignación. La forma general de un enunciado de asignación es:

variable := expresión;

Enunciados writeLn

Un enunciado writeLn sirve para enviar información a la pantalla, impresora o un archivo. Por el momento discutiremos la salida a la pantalla.
Se puede hacer uso de la palabra reservada writeLn para “desplegar” un mensaje. Para ello es necesario desplegarlo entre apóstrofos.

El apóstrofo se utiliza para abrir y cerrar las definiciones de los mensajes.

WriteLn (‘Hola’)    La pantalla muestra:  Hola

Es posible también utilizar un enunciado writeLn para desplegar el valor de una variable o expresión.

x := 7;
writeLn (x);               La pantalla muestra: 7
x := 7;
writeLn(x + 9);          La pantalla muestra: 16

Un enunciado writeLn también puede combinar mensajes, variables y expresiones en cualquier orden. Únicamente es necesario utilizar una coma para separar cada una de las partes; por ejemplo, en el primer programa, el enunciado

writeLn ('La altura en pulgadas es', pulgadas);

Visualiza el mensaje que se encuentra entre apóstrofos seguido del valor de la variable pulgadas, apareciendo por lo tanto en la pantalla:

La altura en pulgadas es 72

Es necesario tener precaución y considerar que las diferentes partes de un enunciado writeLn serán desplegadas una después de la otra sin espacios entre ellas. Una forma de insertar espacios para separar, es incluir un espacio en blanco al final del mensaje y como parte integrante de éste, es decir colocándolo justo antes del apóstrofo de cierre.

EJEMPLO Suponga que la variable area (o sea, área) tiene asignado actualmente el valor 20.

Los enunciados

WriteLn ('El área del rectángulo es ',area);
WriteLn ('El área del rectángulo es',area);

Producirán las salidas:

El área del rectángulo es 20
El área del rectángulo es20

Write vs. writeLn

La diferencia entre write y writeLn es mínima. WriteLn provoca que la computadora despliegue lo que se encuentra entre paréntesis y se posicione al inicio de la siguiente línea en la pantalla.

Por el contrario, write despliega lo que se encuentra entre paréntesis y se detiene una vez realizado esto.

Enunciados writeLn vacíos

El enunciado writeLn se puede usar solo, es decir, sin una lista de salida, si el programador desea enviar únicamente un retorno de carro a la pantalla (lleva el cursor a la primera columna de la siguiente línea). Si el cursor se encuentra de antemano al inicio de una línea, un enunciado writeLn vacío provocará que la computadora salte una línea.

Puntuación y estilo

La puntuación correcta es indispensable para corregir un programa. En cambio, el espaciado, sangrado o indentado dentro de un programa puede no afectarlo cuando es compilado, aunque sí se afecta la facilidad que puede tener cualquier persona par leer y entender el programa.

Punto y coma. Se utiliza un punto y coma para separar dos enunciados consecutivos en un programa en Pascal. Note que en el programa que se ha descrito, no todas las líneas terminan con punto y coma. Por ahora, la regla para el uso del punto y coma es colocarlo en todas las líneas, con excepción de los siguientes casos:

1. begin

2. El último end del programa (este es seguido de un punto)

3. Los comentarios (discutidos al final de esta sección)

4. La línea anterior a cualquier end (en este caso es opcional)

Esta regla se basa en el hecho de que las palabras reservadas begin y end no son enunciados. Por ejemplo, no es necesario colocar un punto y coma entre el begin y el enunciado que le sigue.

Comas. Las comas se utilizan para separar elementos de una lista, como las variables de un tipo en un enunciado de declaración o varios elementos de impresión en un enunciado writeLn.

Espacios en blanco e indentación

Generalmente, el programador puede utilizar espacios en blanco dentro del programa a su discreción. En lo que respecta al compilador, las únicas reglas que se deben seguir son: 1) Al menos un espacio debe separar dos identificadores en el programa y 2) No se deben colocar espacios dentro de los identificadores o en medio de símbolos compuestos como := (Escribirlo como : = provoca un error durante la compilación).
Se deben usar espacios adicionales, especialmente en forma de sangrías para hacer más fácil la lectura de un programa, tanto al mismo programador como a cualquier otra persona que se vea obligada a leerlo. Es importante utilizar un método consistente en el sangrado. Hasta ahora, lo único que ha sido sangrado es el bloque de enunciados enmarcados por las palabras reservadas begin y end. En los siguientes capítulos se verán otros usos del sangrado o indentado.

Por último, debe destacarse que la claridad del esquema de escritura es únicamente para el ojo humano. Los signos de punto y coma le indican al compilador dónde termina una instrucción y empieza la siguiente, de tal forma que el programa YdsAPies, correría perfectamente aún si fuera escrito de la siguiente forma:

Program YdsAPies; var pies, yardas:
Integer; begin yardas := 8; pies :=
Yardas * 3; writeln (pies) end.

Comentarios

Otro método importante para facilitar la comprensión de un programa es la inclusión de comentarios. Estos son mensajes a cualquier persona que lea el programa. Pueden explicar el objetivo del mismo y aclarar los pasos individuales. El compilador los ignora por completo.

Para colocar un comentario en el programa, simplemente delimite el mensaje con un par de llaves {}. Debido a que un comentario no es considerado por el compilador como un enunciado, no es necesario colocar un punto y coma al finalizarlo. Es una buena práctica poner un comentario siempre colocado después del encabezado del programa para explicar el objetivo del mismo. El siguiente es el primer programa con comentario de esta sección.

program AlturaEnPulgadas;
var pies, pulgadas: integer;
{convierte 6 pies a pulgadas}
begin
  pies := 6;
  pulgadas := pies * 12;
  writeLn ('La altura en pulgadas es ',pulgadas);
end.

 

Nombres de variables e identificadores

Cualquier nombre que se utilice dentro de un programa elaborado en Turbo Pascal es denominado identificador. El nombre del programa mismo es también un identificador. En capítulos posteriores veremos la necesidad de otros tipos de identificadores creados por el usuario.

Al definir un nombre para una variable o algún otro tipo de identificador, es necesario intentar utilizar un nombre significativo (esto es, el nombre debe indicar a qué nos estamos refiriendo). Por lo tanto, para almacenar la cantidad de pulgadas dentro de un programa, pulgadas es mejor nombre de variable que p.

La regla para definir identificadores válidos para el compilador es la misma que fue mencionada para los nombres de variables (esto es, debe comenzar con una letra y puede ser seguida de más letras, números y/o caracteres de subrayado, siendo además distinta a cualquier palabra reservada).

Identificadores y el uso de mayúsculas y minúsculas

El compilador de Turbo Pascal no distingue entre mayúsculas y minúsculas en los identificadores. Por lo tanto, es indistinto si la palabra reservada end se teclea end, End, END o cualquier otra combinación. Por cuestión de estilo de programación podemos escribir siempre de la misma manera nuestros identificadores.

Al declarar nombres de variables, conviene mezclar minúsculas y mayúsculas para dar mayor legibilidad en el caso de palabras compuestas. Por ejemplo, es posible declarar una variable con el nombre PromedioClase. Observa que PromedioClase es más fácil de leer que Promedioclase. El compilador no pone objeción alguna cundo se encuentra con PromedioClase o Promedioclase en distintas partes del programa, refiriéndose siempre a la misma variable. Escribir los identificadores de distinta manera a lo largo de un programa es considerado como un pésimo estilo de programación.
Programas interactivos

Obviamente, el programa AlturaEnPulgadas expuesto anteriormente no es de mucha utilidad. Cada vez que es ejecutado realiza el mismo cálculo y produce por ello la misma salida. Un programa más útil debe permitir al usuario (Esto es, la persona que ejecuta el programa) dar un valor de su elección para los pies y así proceder a realizar la conversión. Un programa con estas características es conocido como un programa interactivo.

Enunciados readLn

Un enunciado readLn permite al usuario introducir valores desde una fuente externa al programa. Un tipo de enunciado readLn permitirá al usuario teclear los valores desde el teclado mientras que el programa se ejecuta.

Cuando durante la ejecución de un programa, la computadora llega al enunciado readLn, se detendrá hasta que el usuario teclee el valor (o valores) y oprima Enter.

Ejemplo:

program PiesAPulgadas;
{convierte un numero dado de pies a pulgadas}
var pies, pulgadas: integer;
begin
  write('Indique la cantidad de pies ');
  readLn(pies);
  pulgadas := pies * 12;
  writeLn(pulgadas, ' pulgadas');
end.

Cuando se ejecuta este programa, la computadora despliega en la pantalla el mensaje:

Indique la cantidad de pies

y se detendrá colocando el cursor a la derecha del mensaje. La computadora se encuentra en esos momentos esperando que el usuario introduzca el valor correspondiente a los pies a convertir. Después se oprime la tecla Enter, lo que continúa la ejecución del programa, la computadora asignará a la variable pies dicho valor y reasumirá la ejecución del programa. Por ejemplo, si se teclea 5 y se oprime Enter, el resultado será el mismo que si utiliza el enunciado pies := 5. Después de que se completa la ejecución, la pantalla de salida puede recuperarse mediante la combinación ALT + F5 para verificar que el desplegado indica:

Indique la cantidad de pies 5
60 pulgadas

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s