You are on page 1of 80

Universidad de Buenos Aires Introducción al Pascal Facultad de Ingeniería

Departamento de Computación

3

3 Computación 75.01
Dra. Zulma Cataldi 05 Pablo Méndez, Juan Rendón Tesis de grado en Ingeniería en Informática – Tada, Analía modelado del tutor 06 Guido Costa, Matías diSistemas Inteligentes para elHojman Fernando Alberto Salgueiro - 76990
Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal

3

Los pasos necesarios para la creación de un software de calidad son: 1. Análisis del problema 2. Diseño del algoritmo 3. Codificación del programa (en un lenguaje de programación) 4. Prueba 5. Mantenimiento 6. Desinstalación
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal

3

1.Análisis del problema Requisitos del sistema y del software. Se debe documentar. 2. Diseño del algoritmo Se traducen los requisitos en una representación del software: la arquitectura del software, el detalle procedimental y la interface. El diseño se debe documentar. 3.Codificación del programa (en un lenguaje de programación) Se traduce el diseño para la máquina. Si el diseño se es detallado, la codificación se puede realizar en forma de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Tesis automática.
Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal

3

4.Prueba/s Se deben diseñar y ejecutar los conjuntos de pruebas que aseguren resultado/s requerido/s. 5.Mantenimiento El software sufre modificaciones en el tiempo. Se detectan errores que no se descubrieron en la etapa de prueba, o el cliente solicita nuevas funciones, o se realiza un cambio de tecnología. 6.Desinstalación No hay que dejar “basura” en el sistema, que afecte a otros programas.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal Algoritmo: 3 Secuencia ordenada de pasos (sin ambigüedades). 3. 2. que es solución de un determinado problema. 2009. Debe ser preciso e indicar el orden de realización de cada paso. . Facultad de Ingeniería. repetible. UBA. Debe estar definido (obtener siempre el mismo resultado). Características: 1. E independiente del lenguaje de programación que se utilice.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Debe ser finito (debe tener un número finito de pasos) 4. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

76990 Laboratorio de Informática Educativa y Medios Audiovisuales. . Tesis de grado en estructurado y procedimental.Introducción al Pascal 3 La definición de un algoritmo debe tener tres partes: — Precondiciones o Entrada. UBA. http://info. compilable. Facultad de Ingeniería. Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. — Proceso. fuertemente tipeado (definir el tipo de cada dato) de propósito general. — Postcondiciones o Salida.borland.com/pascal/tp7fact.html Lenguaje Pascal De alto nivel.

2. 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal Lenguaje compilable: se deben seguir los pasos siguientes: Se lo escribe en un editor de textos: 3 1. Pasa Linkeador (o montador). unifica los códigos de subprogramas y datos y lo pasa a código de máquina. se chequea la sintaxis de Pascal y si está correcto lo traduce a lenguaje assembler. Lo toma el Compilador. Facultad de Ingeniería. UBA. . que une los módulos que pueden componer un programa. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

Un dato puede ser un carácter: 's'. 2009. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA.Introducción al Pascal Tipos de datos 3 Son los diferentes objetos de información con los que trabaja un programa Pascal.92. Los datos tienen un tipo asociado a ellos. un valor entero: 35 ó un número real: tal como 1415. Facultad de Ingeniería.

. Pascal se conoce como lenguaje "fuertemente tipeado" (strongly typed) ó de tipos fuertes. Todos los datos deben tener sus tipos declarados explícitamente ya que el lenguaje limita la mezcla de tipos en las expresiones.Introducción al Pascal 3 La asignación de tipos a los datos tiene dos objetivos principales: 1. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. Detectar errores de operaciones en programas.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA. Determinar cómo ejecutar las operaciones. 2009. 2.

Introducción al Pascal 3 El tipo de un dato determina la naturaleza del conjunto de valores que puede tomar una variable.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. ó al menos el espacio de memoria ocupado por una variable de un tipo dado. . Facultad de Ingeniería. Un concepto importante es la representación interna de los números. UBA.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal Integer Boolean 3 Char Enumerado Subrango Ordinales Tipos Simples No Ordinales DATOS ESTÁTICOS Tipos Cadena String Array Registro Tipos Estructurado Conjunto Archivo Reales Tienen antecesor y predecesor Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Tipos Procedimientos Procesos Fernando Alberto Salgueiro . Facultad de Ingeniería. . 2009. UBA.

. 255 -32768 .... 127 0 .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 65535 FORMATO 1 Byte 2 Bytes 4 Bytes 1 Byte 2 Bytes 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal Tipos enteros TIPO byte integer longint shortint word RANGO 0 .. 24748367 -128 . UBA. 2009. . Facultad de Ingeniería. 32767 -247483648 .

7x1038 1. 1.5x10-45 . 263 +1 CIFRAS 11-12 7-8 15-16 19-20 19-20 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. 1.0x10-324 .. Facultad de Ingeniería. UBA.9x10-4932 .. . 3..Introducción al Pascal Tipos Reales TIPO real single double extended comp 3 BYTES 6 4 8 10 8 RANGO 2.1x104932 -(263 +1) .9x10-39 . 1.4x1038 5.7x10308 1.76990 Laboratorio de Informática Educativa y Medios Audiovisuales...

76990 ENTER Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. . Ejemplo: A’ ‘a’ ‘b’ ‘*’ ‘5’ ‘ ‘ 3 Se puede asignar un carácter a una constante por medio de su código: #65 equivale a chr(65) equivale A #26 ó ^Z cierre del archivo #27 tecla ESC Tesis #13 de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor tecla Fernando Alberto Salgueiro . Se expresa mediante código ASCII ampliado. Facultad de Ingeniería. UBA.Introducción al Pascal Tipos carácter (Char) Puede contener un sólo carácter.

. Facultad de Ingeniería. y sus relaciones son: false < true Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Los valores lógicos son de tipo ordinal. UBA. 2009. Al igual que el tipo char. lo que significa que tiene un núméro fijo de valores posibles que existen en un orden definido. Una variable lógica ocupa sólo un byte en memoria.Introducción al Pascal Tipos lógicos (boolean) 3 El tipo lógico (boolean) puede tomar sólo dos valores posibles: true (verdadero) y false (falso).76990 Laboratorio de Informática Educativa y Medios Audiovisuales. el tipo boolean es un tipo ordinal.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . están predefinidos en Pascal y listos para utilizar. Los datos estructurados aumentan la legibilidad de los programas y simplifican su mantenimiento.Introducción al Pascal Tipos de datos definidos por el usuario 3 Los tipos de datos vistos hasta ahora son simples. 2009. . Facultad de Ingeniería. Pascal permite crear estructuras de datos a partir de los datos simples. UBA.

Introducción al Pascal Los tipos de datos definidos por el usuario se clasifican en: 1. 3 6. Procedimientos Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Escalares definidos por el usuario (enumerados y subrangos) 2. Arreglos (arrays) 4. 5. Registros 3. UBA. Conjuntos (set). Facultad de Ingeniería. . Archivos (file). 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Punteros 7.

2009. . Ejemplos: 'Turbo' 'Estás de acuerdo' #13#10 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal Tipo cadena (string) 3 Un tipo string (cadena) es una secuencia de caracteres (ser cero ó más) correspondientes al código ASCII. escritos en una línea de programa y encerrado entre apóstrofes.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA.

Facultad de Ingeniería. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Una cadena sin nada entre los apóstrofes se llama cadena nula ó cadena vacía.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2.Introducción al Pascal 3 1. 2009. . La longitud de una cadena es el número de caracteres encerrados entre los apóstrofes. UBA.

2009. UBA. .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. recibe un valor en el momento de la compilación del programa y este valor no puede ser modificado. constantes literales 2. constantes con nombres ó declaradas Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería.Introducción al Pascal 3 Constantes Es un valor que no se puede cambiar durante la ejecución del programa. Las constantes pueden ser: 1.

2009. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería.Introducción al Pascal Constantes con nombres 3 Se identifican por un nombre y el valor asignado. UBA. Palabra reservada Formato const identificador = valor.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. .

{ representa valor hexadecimal } caracter = 'B'. {CR/LF Sistemas Inteligentes para el modelado del tutor Tesis Fernando Alberto Salgueiro .141592. Facultad de Ingeniería. . UBA. { lee un entero} Epsilon = 1E-4. 2009.Introducción al Pascal Ejemplos: Palabra reservada 3 Const Pi = 3. {lee un valor real} DosPi = 2 * Pi.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. { lee un real} Esc = #27. {es un caracter} cuenta = 625. {carácter de control} CRLFde grado en Ingeniería en Informática – retorno de carro} = ^M^J. Direccion = $06.

Introducción al Pascal 3 Program Sumas Program Celius Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . . Facultad de Ingeniería. 2009. UBA.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

Introducción al Pascal Variables 3 Son objetos cuyo valor puede cambiar durante la ejecución del programa.Laboratorio de Informática Educativa Fernando Alberto Salgueiro . El cambio se produce mediante sentencias ejecutables. Facultad I Ingeniería. Todas las variables de un programa Pascal deben estar declaradas antes de ser usadas Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor LIE . 2009. UBA.76990 Algoritmos y Programación de Laboratorio de Informática Educativa y Medios Audiovisuales. .

... variableN: tipoN.. UBA..............76990 Algoritmos y Programación de Laboratorio de Informática Educativa y Medios Audiovisuales.....Laboratorio de Informática Educativa Fernando Alberto Salgueiro ............. Facultad I Ingeniería............Introducción al Pascal Declaraciones: Palabra reservada var variable1: tipo1. .. . variable2: tipo2. . 2009.. 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor LIE ...

Num1. Letra2. {horas trabajadas} Tasas : real.Introducción al Pascal Ejemplos: 3 NumeroEmpleado : Integer. {número de empleado} Horas : real. Letra3 : char.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. Facultad de Ingeniería. . {edad del empleado} Apellidos : string [30]. {tasa horaria} Edad : Integer. UBA.{ apellidos del empleado} Letra1. Num2 : integer. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

2009. *) Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 1.Introducción al Pascal 3 Utilizar nombres de variables significativos que sugieren lo que ellas representan. Incluir breves comentarios que indiquen cómo se utiliza la variable. Facultad de Ingeniería. . Un comentario es una frase encerrada entre llaves { } ó bien entre signos (*. UBA.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

Se clasifican en: Ejecutables: especifican operaciones de cálculos aritméticos y entradas/salidas de datos. UBA. . No ejecutables: no realizan acciones concretas. Las sentencias ejecutables aparecen en el cuerpo del programa a continuación de la palabra reservada Begin. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. pero ayudan a la legibilidad del programa y no afectan a la ejecución del mismo.Introducción al Pascal Sentencia 3 Las sentencias describen las acciones algorítmicas que deben ser ejecutadas. 2009.

La asignación es una operación que sitúa un valor determinado en una posición de la memoria. . 2009. UBA.Introducción al Pascal 3 La sentencia de asignación La sentencia de asignación se utiliza para asignar (almacenar) valores ó variables. Facultad de Ingeniería.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

constante ó una expresión ó fórmula a evaluar Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . .Introducción al Pascal 3 La operación de asignación en pseudocódigo con el símbolo '←'. Expresión: variable. UBA.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. Facultad de Ingeniería. para ← denotar que el valor situado a su derecha se almacena en la variable situada a la izquierda. Formato: Variable ← expresión Variable:identificador válido declarado anteriormente.

. Facultad de Ingeniería. UBA. 2009.Introducción al Pascal En Pascal el operador 3 '←' ← se sustituye por el símbolo := . que se denomina operador de asignación Variable := expresión El valor de expresión se asigna a la variable: Precaución!!! El tipo de expresión debe ser del mismo tipo que el de la variable.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

es decir ‘F’ Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA. 16 se asigna a la variable A Inicial := 'LJ’. . se asigna a la variable Car el carácter 70 del código ASCII. se asigna el valor true. (verdadero) N1 := N2. Facultad de Ingeniería. el valor de la variable N1 se cambia por el valor de la variable N2 N1 := N1 + 5. el valor de la variable N1 se incrementa en 5 Car := #70. se asigna LJ a la variable Inicial Interruptor :=true.Introducción al Pascal Ejemplos: 3 A :=16 .

2009.Introducción al Pascal Operaciones especiales de asignación 3 Contador: es una variable que incrementa en una unidad ó en una cantidad constante cuando se ejecuta. Al ejecutar las sentencias de asignación. Facultad de Ingeniería. UBA. . los nuevos valores de Contador y N son 25+1=26 y 15+1 =16 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Contador := 25 Contador := Contador + 1. N = 15 N :=N + 1.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . el nuevo valor de Suma será 47 Las operaciones contador y acumulador son de gran utilidad en programación. .x es una variable 3 se Si x vale 7 y Suma 40.Introducción al Pascal Acumulador: es una variable que incrementa en una cantidad variable. UBA. Facultad de Ingeniería. . 2009. Suma := Suma + x.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

-. *.0 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2+3 = 5 2+3. 2009. Si ambos son enteros. . / 3 Los operadores aritméticos (+.0 = 5. -. /) pueden ser utilizados con tipos enteros ó reales. Facultad de Ingeniería.Introducción al Pascal Expresiones y operaciones aritméticas Operadores aritméticos: +.*.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA. el resultado es entero. el resultado es real. pero si alguno de ellos es real.

siendo la salida otro entero. Facultad de Ingeniería. UBA. 2009. Div devuelve el valor de la división entera y Mod da el resto de la división entera. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . .76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal Operadores aritméticos div y mod 3 Sólo se pueden utilizar con enteros. 17 DIV 5 ⇒ 3 17 MOD 5 ⇒ 2 Las reglas de las prioridades son las mismas que en álgebra.

2009. Facultad de Ingeniería. o mediante una sentencia de lectura. UBA. asociados con constantes.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Procedimientos de entrada Read ReadLn Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal Operaciones de E/S 3 Los datos se pueden almacenar en la memoria de tres formas diferentes: 1. . asignados a una variable con una sentencia de asignación 3. 2.

).76990 Laboratorio de Informática Educativa y Medios Audiovisuales. ítem es el objeto que desea visualizar. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . UBA. ítem.Introducción al Pascal Procedimiento WriteLn 3 El propósito de WriteLn es escribir (visualizar) información en la pantalla Formato WriteLn (ítem.. 2009. Facultad de Ingeniería. .

UBA. Al terminar de visualizar toda la línea.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . se visualizan todos los elementos en el orden dado y en la misma línea. 2009. . el cursor avanza (salta) al comienzo de la línea siguiente.Introducción al Pascal 3 Cuando se ejecuta el procedimiento WriteLn.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. UBA. . 2009.Introducción al Pascal 3 Procedimiento Write Si se desea que el cursor quede en la se debe utilizar el misma línea procedimiento Write.

. caracteres ó cadenas. arrays. Los datos estructurados.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. 2009. no se pueden leer globalmente y hay que diseñar procedimientos específicos. No se puede leer un boolean ó un elemento de tipo enumerado. Los procedimientos ReadLn. de lectura son Read y Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal La entrada de datos (lectura) 3 Los datos que se pueden leer son: enteros. reales. UBA. registros ó conjuntos.

.Introducción al Pascal Formato Read (var1.). 3 La entrada de datos desde el teclado se hace de a un valor por vez y las instrucciones ReadLn y Read esperan hasta que se pulse la tecla ENTER. ReadLn (var2. . UBA. var2.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. var2.. 2009. antes de asignar un valor a la variable.. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . var es igual que para Write..).. Facultad de Ingeniería. .

Read (Tasas). 2009.Introducción al Pascal Ejemplo: ReadLn (Nombre). UBA. .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 3 El usuario debe introducir los datos de entrada en el orden en que aparecen en las instrucciones Read. Facultad de Ingeniería. ReadLn (Horas). Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

. En ReadLn. el cursor se envía al principio de la siguiente línea. UBA.Introducción al Pascal Diferencias entre Read y ReadLn 3 En Read. No es aconsejable ingresar más de un dato por instrucción. después de pulsar la tecla ENTER. 2009. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. el cursor permanece inmediatamente después del último carácter introducido. tras pulsar la tecla ENTER.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

. Facultad de Ingeniería. 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . entre otras rutinas de utilidad. mediante la cláusula uses.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA. Ello permite el uso de Clrscr y GotoXY. 2009.Introducción al Pascal Se recomienda utilizar la unidad Crt.

sin lugar a dudas. pero Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal El estilo de programación 3 El buen estilo de programación es. Facultad de Ingeniería. La experiencia proporciona el existen reglas de programación. de corregir y de mantener. Un programa con un buen estilo es más fácil de leer. una de las habilidades más notables de un programador. . estilo.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. UBA.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal 3 1. UBA. Facultad de Ingeniería. 2009. . Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Sangrado (indentación) Es habitual realizar sangrado en los bloques y unidades de programa.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. Son una parte importante de la documentación de un programa. Facultad de Ingeniería. .Introducción al Pascal 2.Comentarios 3 La legibilidad de los programas aumenta utilizando comentarios que son ignorados por el compilador. Formato: {comentario} (* comentario *) Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . UBA. ayudan al programador y a otras personas a la comprensión del mismo.

Facultad de Ingeniería. Y. la fecha de la versión actual. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . UBA. 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. . una breve descripción de lo que hace el programa.Introducción al Pascal 3 Es conveniente poner comentarios en la cabecera del programa: el nombre del programador.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. {* * * * * * * * * * * * * * * * * * * * * * * *} {programa escrito por : Juan Pérez } {Fecha : 22/3/2007 } {Version : 1.0 } {Nombre del archivo : } {Este programa permite listar direcciones postales} {* * * * * * * * *** * * * * * * * * * * * * * *} const 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . . Facultad de Ingeniería.Introducción al Pascal program Prueba. UBA.

Introducción al Pascal 3 {un comentario se puede extender en varias líneas ó páginas de programas} {comentarios anidados (* como este caso *)} Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. . Facultad de Ingeniería.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA.

Introducción al Pascal
4- Líneas en blanco
Dejar líneas en blanco importantes del mismo. entre las

3

partes

Dejar líneas en blanco entre la cabecera y la sección de las declaraciones, entre sus diferentes partes, entre los procedimientos y las funciones, entre sí y respecto del programa principal, etc.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal
5- Elección de nombres de identificadores significativos
Ejemplos: Salario := Horas * SalarioHoras; Nomina_Mayor >= 10000; Nombre_Apellidos = 'Mortimer';

3

Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal
6- Evitar puntos y comas superfluos

3

Antes de las palabras end y until se puede suprimir el separador punto y coma. 7- Líneas de programa mayores de 80 caracteres El editor permite escribir líneas de hasta 126 caracteres de longitud, aunque en la pantalla sólo se ven 80 columnas a la vez. Se puede desplazar el texto a izquierda y derecha, utilizando las teclas HOME (Inicio), END (Fin) y de movimiento de cursor.
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Introducción al Pascal
8- Alinear operaciones (o separadores) en líneas consecutivas

3

Cuando varias líneas consecutivas contienen el mismo operador (o separador), es buena práctica alinear estos símbolos utilizando blancos si es necesario. for j := 1 to 10 do (operador =) begin Prueba := Random; Total := Total + Prueba; Valor [j]:= Prueba; WriteLn ('Estrella errante') end;
Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro - 76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. UBA. 2009.

Facultad de Ingeniería. dos puntos. punto y coma. 2009. UBA. También se puede incluir un espacio después de los signos de puntuación: coma.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .Introducción al Pascal 9. .Blancos no significativos 3 Es recomendable poner un espacio a cada lado de un operador if A = B then representa un blanco Encontrado := true.

2009. Poner cada sentencia en una línea distinta. const. . var. Si una sentencia continúa en otra línea. uses. function.Introducción al Pascal 3 Otras reglas de escritura 1. 3. Las palabras reservadas program. end deben ir en líneas distintas. procedure. se deben sangrar la(s) linea(s) siguientes.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. 2. begin. UBA.

Introducción al Pascal 3 1. var. . function y el begin del programa principal. Facultad de Ingeniería. Insertar líneas en blanco antes de la sección const. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Utilizar espacios entre los elementos de una sentencia para hacerla más legible. uses. y en cualquier segmento ó bloques de sentencias significativas. 2. procedure.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. UBA.

2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. .Introducción al Pascal Puesta a punto de programas Se verán: 3 • Algunas técnicas para la resolución de problemas y de programación para el diseño de programas y. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . • Algunos errores típicos de programación. UBA. • Se remarcará el estilo de programación.

UBA.Introducción al Pascal 3 Técnicas de programación (diseño de programas).76990 Laboratorio de Informática Educativa y Medios Audiovisuales. . Facultad de Ingeniería. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009.

variables. Los programas no pueden considerarse correctos hasta que hayan sido validados utilizando un rango amplio de datos de prueba. 3. Facultad de Ingeniería. . Se deben utilizar comentarios significativos que describan el propósito de un programa ó segmentos de programas. Los programas deben ser legibles y comprensibles. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . así como elementos importantes de programas. 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal 3 1. UBA. funciones. etc. 2.

UBA. El uso de las constantes limita la flexibilidad. Los programas deben ser eficientes. Hay que evitar los cálculos innecesarios: por ejemplo calcular dos veces cualquier variable. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. 5.Introducción al Pascal 3 4. . Hay que etiquetar todas las salidas producidas por un programa. 6. 2009.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Los programas deben ser relativamente fáciles de modificar (flexibles) para solucionar un problema similar sin necesidad de cambiar mucho el programa.

hay que asegurarse de que hayan sido inicializadas por el programa. 2009. UBA. En programación interactiva. se deberá incluir siempre una línea con un mensaje de aviso al usuario cuando se desee introducir datos.Introducción al Pascal 3 7. Antes de utilizar variables. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Facultad de Ingeniería. 8. 9. Los programas deben hacer (en general) siempre "eco" de la entrada.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. .

Introducción al Pascal 3 Antes de escribir un programa en Pascal se deben seguir los pasos: Realizar (entrada. siguiendo (esencialmente) el método descendente. . 2009. datos auxiliares y Realizar el diseño del algoritmo (con preferencia pseudocódigo). UBA. proceso). un análisis del programa salida. Facultad de Ingeniería.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

Introducción al Pascal 3 Errores típicos de programación Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. . UBA.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería.

3. Las constantes reales deben tener al menos un dígito antes y al menos un dígito después del punto decimal. UBA. Las constantes de cadena deben estar encerradas entre apóstrofes (simples comillas). Los paréntesis dentro de expresiones deben concordar. 2.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. .Introducción al Pascal 3 1. (Tantos paréntesis a la izquierda como a la derecha). Facultad de Ingeniería. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Un apóstrofe se representa con un par de apóstrofes ‘jorge'.

Las multiplicaciones deben ser indicadas por *. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . . 9.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 5. Todos los identificadores deben ser declarados. 7. Debe haber un punto detrás del end final de cada programa. 8.Introducción al Pascal 3 4. 2009. Turbo Pascal inicializa a cero ó cadena vacía. La división entera se representa por div y la real por /. pero es conveniente la inicialización. 6. Facultad de Ingeniería. Puntos y comas: hay que ver las ausencias. UBA. los excesos y los superfluos.

Es una buena idea verificar errores tales como división por cero y raices cuadradas de números negativos en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor dentro de un programa.El signo igual (=) se utiliza en declaraciones de constantes ó como signo igual. . Facultad de Ingeniería. UBA. Como los números están aproximados en la computadora.Los problemas que usen números de tipo real no pueden utilizar test/comparaciones para comprobar exactitud de igualdad ó desigualdad (= ó < > ). Tesis de grado Fernando Alberto Salgueiro .Introducción al Pascal 3 10. 12. esto no tiene sentido.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. El operador := se utiliza en sentencias de asignación. No confundir = con := (ojo!. programadores de BASIC). 11.

se vuelve al editor. Después de escribir el programa completo se debe compilar el programa y si hubiera errores.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. UBA. se lo guarda y ejecuta. En caso contrario.Introducción al Pascal El estilo de la programación 3 Un programa Pascal se prepara con el editor. Facultad de Ingeniería. . Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

A continuación se debe confeccionar la documentación externa. Facultad de Ingeniería. En programas grandes. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . en tiempo de ejecución y lógicos. 2009. La planificación de un programa comienza con el análisis del problema y sigue con el algoritmo (pseudocódigo). .76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal 3 Los errores de un programa pueden ser: de sintaxis. se recomienda seguir el diseño descendente y el refinamiento sucesivo. la escritura del programa con toda la documentación interna (los comentarios) necesaria para su buen entendimiento. UBA.

Facultad de Ingeniería. 2009. .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Análisis ¿Qué ingresa? Dos números enteros ¿Qué sale? Otro número entero ¿Qué vincula la entrada con la salida? La operación suma Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . UBA.Introducción al Pascal 3 Ejemplo: Se pide un programa que realice la suma de dos números enteros.

Facultad de Ingeniería. UBA. 2009.Introducción al Pascal Pseudocódigo Inicio Leo A (entero) Leo B (entero) Obtengo C como suma de A y B Imprimo C Fin 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . .76990 Laboratorio de Informática Educativa y Medios Audiovisuales.

Introducción al Pascal Diagrama NS  Inicio Leo A Leo B C←A+B Imprimo C Fin 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. UBA. Facultad de Ingeniería. 2009.

Facultad de Ingeniería. UBA.Introducción al Pascal Código en Pascal 3 Program Sumas En el ejemplo se tiene una estructura secuencial típica. .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. 2009. sin condiciones. ni ciclos repetitivos. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .

UBA. Facultad de Ingeniería.Fahrenh:0:2).Introducción al Pascal {*Programa Principal*} Begin clrscr. 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . Readkey. End. . {*Limpia pantalla*} Write ('Ingrese los Grados Celsius:' ). {*Imprimo ingreso de datos*} Read (Grados_C).76990 Laboratorio de Informática Educativa y Medios Audiovisuales. {*Pasa de celsius a fahrenh*} Fahrenh := (9/5) * Grados_C + valor. 2009. Writeln ('El resultado en Fahrenheit es: '.

Fernando Alberto Salgueiro . UBA. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fahrenh : real. .dos.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. {*Variables*} 3 Var Grados_C : real. {*Este program permite pasar de Grados Celsius A Fahrenheit Fecha 3/5/10 Nombre: Apellido: Padron: Catedra: Version: *} {*unidades*} uses crt. {*constantes*} const valor = 32. Facultad de Ingeniería.Introducción al Pascal Program CtoFahrenheit. 2009.

2009. y el valor del impuesto.76990 Laboratorio de Informática Educativa y Medios Audiovisuales. El programa deberá sacar por pantalla el costo del producto.Introducción al Pascal Ejercicio: 3 Un comerciante requiere un programa que realice las siguientes tareas: que se ingrese el costo de un producto. . Facultad de Ingeniería. UBA. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . el precio final. que a dicho costo le cargue un 30% y al valor así obtenido se le incremente un 20% por IVA.

porqué y para qué lo solicita. UBA.Introducción al Pascal Documentación de un programa Es el conjunto de todos los pasos para la creación y mantenimiento de un programa. 3 Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro .76990 Laboratorio de Informática Educativa y Medios Audiovisuales. Facultad de Ingeniería. El primer documento que tiene que existir en un programa es la solicitud del mismo. . 2009. donde consta quién.

quién solicita el proyecto. cómo se pagará. porqué solicita el proyecto.76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal 3 El segundo es el contrato. 2009. Facultad de Ingeniería. ya que sin un contrato no existe ningún proyecto de nada. que es lo qué se va a entregar y en qué fecha. . cuánto va a costar ($). UBA. cuándo va a estar listo. Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . quién se hace responsable de su ejecución. En él queda especificado.

76990 Laboratorio de Informática Educativa y Medios Audiovisuales.Introducción al Pascal 3 FIN Tesis de grado en Ingeniería en Informática – Sistemas Inteligentes para el modelado del tutor Fernando Alberto Salgueiro . 2009. UBA. Facultad de Ingeniería. .