Sie sind auf Seite 1von 15

INTRODUCCIN AL PASCAL

PROGRAMACIN
Los pasos necesarios para la creacin de un programa son: 1. Anlisis 2. Diseo del algoritmo 3. Construccin del programa (en un lenguaje de programacin) 4. Ejecucin 5. Validacin 6. Mantenimiento

ALGORITMO
Es una secuencia ordenada de pasos - sin ambigedades -, repetible, que es solucin de un determinado problema. Las caractersticas fundamentales que debe cumplir todo algoritmo son: a) Debe ser preciso e indicar el orden de realizacin de cada paso b) Debe estar definido (si se repite n veces los pasos se debe obtener siempre el mismo resultado) c) Debe ser finito (debe tener un nmero finito de pasos) d) Es independiente del lenguaje de programacin que se utilice La definicin de un algoritmo debe describir tres parte Entrada, Proceso, Salida.

PASCAL
Es un lenguaje de alto nivel, fuertemente tipeado (se debe definir el tipo de todos los datos), de propsito general, compilable, estructurado y procedimental. Un lenguaje compilable significa que todo programa ser deber pasar por los siguientes pasos: a) Ser escrito en un editor de texto (en un formato ASCII) b) Luego lo toma el Compilador comprueba que todas las instrucciones del programa estan escritas siguiendo la sintaxis de PASCAL. Si todo es correcto lo traduce a Lenguaje de Mquina (Assembler). c) Pasa posteriormente al Linkeador (o montador), une los distintos mdulos que pueden componer un programa, unifica los cdigos de los distintos subprogramas, y de los datos. Pasndolo por ltimo a cdigo de mquina.

TIPOS DE DATOS
Los diferentes objetos de informacin con los que un programa Pascal trabaja se conocen colectivamente como datos. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carcter, tal como 's', un valor entero tal como 35 o un nmero real tal como 1415,92. Una operacin de suma no tiene sentido con caracteres, slo con nmeros. Por consiguiente, si el compilador detecta una operacin de suma de dos caracteres, normalmente producir un error. Incluso entre tipos numricos, la operacin de suma se almacena de modo distinto. Esto se debe a que nmeros enteros y reales se almacenan de modos diferentes. A menos que el programa conozca el tipo de datos, si es un valor entero a real, no Puede ejecutar correctamente la operacin de suma La asignacin de tipos a los datos tiene dos objetivos principales. 1. Detectar errores de operaciones en programas 2. Determinar cmo ejecutar las operaciones Pascal se conoce como lenguaje "fuertemente tipeado" (strongly.typed) o de tipos fuertes. Esto significa que todos los datos utilizados deben tener sus tipos declarados explcitamente y el lenguaje limita la mezcla de tipos en las expresiones. Pascal detecta muchos errores de programacin antes que el programa se ejecute. La ventaja de los lenguajes de tipos fuertes (ricos en tipos de datos) es que se gasta menos esfuerzo en la depuracin de programa, ya que el compilador detecta muchos de esos errores
Pgina 1 de 15

El tipo de un dato determina la naturaleza del conjunto de valores que puede tomar una variable. Otro concepto importante a tener en cuenta es la representacin interna de los nmeros, o al menos el espacio de memoria ocupado por una variable de un tipo dado. La unidad de medida de la capacidad de memoria, como ya hemos visto es el byte (octeto). Un byte se compone de ocho cifras binarias (bits) que Pueden tomar cada una el valor 0 1. Integer Boolean Char Enumerado Subrango Reales

Ordinales Tipos Simple

No Ordinales

Datos Estticos

Tipos Cadena

String Array Registro

Tipos de Datos
Tipos Estructurado

Conjunto Archivo Tipos procedimientos Procesos

Datos Dinmicos
Tipos Enteros

Tipos Punteros

Tipo
byte integer longint shortint word

Rango
0 .. 255 -32768 .. 32767 -247483648 .. 24748367 -128 .. 127 0 .. 65535

Formato
1 2 4 1 2 Byte Bytes Bytes Byte Bytes

El tipo integer se almacena en memoria como 2 (dos) bytes, el bit de mayor peso de los dos bytes es el bit de signo. Se puede separar un entero en sus dos bytes utilizando las funciones internas Hi y Lo Hi devuelve el byte de mayor peso de los dos bytes de memoria Lo devuelve el byte de menor peso Nmeros Reales Tipo real single double extended comp Tipos carcter (Char) El tipo char es un tipo de datos que puede contener un solo carcter. Cada uno de estos caracteres puede ser expresado gracias al cdigo ASCII ampliado. Ejemplo
Pgina 2 de 15

Rango 2.9x10-39 .. 1.7x1038 1.5x10-45 .. 3.4x1038 5.0x10-324 .. 1.7x10308 1.9x10-4932 .. 1.1x104932 -(263 +1) .. 263 +1

Cifras 11-12 7-8 15-16 19-20 19-20

bytes 6 4 8 10 8

A a b * 5 Se le puede asignar a una constante un carcter por medio de su cdigo #65 equivale a chr(65) equivale A #26 o ^Z cierre del archivo #27 tecla ESC #13 tecla ENTER Tipos lgicos (boolean) El tipo lgico (boolean) es, al igual que el carcter, parte de ISO Pascal estndar. Los valores de tipa lgico pueden tomar slo das valores posibles: true (verdadero) y false (falso). Al igual que el tipo char, el tipo boolean es un tipo ordinal, que significa que tiene un nmero fijo de posibles valores que existen en un orden definido. Una variable lgica ocupa slo un byte en memoria. Los valores lgicas son de tipo ordinal, y sus relaciones son: false < true Tipos de datos definidos por el usuario Todos los tipos de datos estudiados hasta ahora son de tipo simple, predefinidos por Turbo y listos para utilizar. Sin embargo, uno de los aspectos ms potentes de Turbo Pascal es su capacidad para crear estructuras de datos a partir de estos datos simples. Los datos estructurados aumentan la legibilidad de los programas y simplifican su mantenimiento. Los tipos de datos definidas por el usuario se clasifican en: Escalares definidos por el usuario (enumemdo y subrango) Registros Arrays Conjunto (set). Archivo (file). Puntero Procedimiento Estos tipos de datos se vern en sucesivas clases. Tipo cadena (string) Un tipo string (cadena) es una secuencia de caracteres de cero o ms caracteres correspondientes al cdigo ASCII, escrito en una lnea sobre el programa y encerrada entre apstrofos. El tratamiento de cadenas es una caracterstica muy potente de Turbo Pascal que no contiene ISO Pascal estndar, aunque tiene mucha similitud con el tipo packed array. Ejemplos 'Turbo' Notas 'Ests de acuerdo' #13#10 ,

Una cadena sin nada entre las apstrofos se llama cadena nula o cadena vaca La longitud de una cadena es el nmero de caracteres encerrados entre los apstrofos. CONSTANTES Una constante es un valor que no puede cambiar durante la ejecucin del programa, recibe un valor en el momento de la compilacin del programa y este valor no puede ser modificado. Las constantes pueden ser constantes literales constantes con nombres o declaradas constantes expresin (slo en la versin 5.0) constantes de tipos (tipeadas) Las constantes deben ser declaradas antes de su utilizacin y pueden ser enteros o reales, caracteres o cadenas de caracteres, conjuntos o arrays, e inclusive de tipo enumerado
Pgina 3 de 15

Constantes literales Una constante literal es un valor de cualquier tipo que se utiliza como tal. VolumenEsfera := 4/3 * Pi * Radio * Radio * Radio, 4 y 3 son constantes literales de valores 4 y 3. Constantes con nombres Son constantes que se identifican por un nombre y el valor asignado. Formato const identificador = valor, Ejemplos const Pi = 3.141592; DosPi = 2 * Pi; Direccion = $06; caracter = 'B'; cuenta = 625; Epsilon = 1E-4; Esc = #27; CRLF = ^M^J; {lee un valor real} { representa valor hexadecimal } { es un carcter } { lee un entero } { lee un real } { carcter de control } { secuencia CR/LF. retorno de carro/avance de lineal }

En Pascal estndar, la declaracin de constantes se sita inmediatamente despus de la cabecera Program. En Turbo Pascal no es obligatoria la situacin anterior, pero si recomendable. VARIABLES Las variables son objetos cuyo valor puede cambiar durante la ejecucin del programa. El cambio se produce mediante sentencia ejecutables. Todas las variables de un programa Pascal deben ser declaradas antes de ser usadas Declaraciones var variable1 : tipo1; variable2 : tipo2; ......................... ......................... variableN : tipoN; Ejemplos NumeroEmpleado : Integer; Horas : real; Tasas : real; Edad : Integer; Apellidos : string [30]; Letra1, Letra2, Letra3 : char; Num1, Num2 : integer; { nmero de empleado } { horas trabajadas } { tasa horaria } { edad del empleado } { apellidos del empleado }

Pgina 4 de 15

Notas Es buena prctica de programacin utilizar nombres de variables significativas que sugieren lo que ellas representan, ya que esto hace al programa ms legible y fcil de comprender, tambin es buena prctica incluir breves comentarios que indiquen cmo se utiliza la variable. Un comentario es cualquier frase encerrada entre llaves { } o bien entre signos (*, *) SENTENCIAS Las sentencias describen las acciones algortmicas que pueden ser ejecutadas En general las sentencias se clasifican en, ejecutables (especifican operaciones de clculos aritmticos y entradas/salidas de datos) y no ejecutables (no realizan acciones concretas, ayudan a la legibilidad del programa, pero no afectan en la ejecucin del Programa). Las sentencias ejecutables aparecen en el cuerpo del programa a continuacin de la palabra reservada Begin LA SENTENCIA DE ASIGNACION La sentencia de asignacin se utiliza para asignar (almacenar) valores o variables. La asignacin es una operacin que sita un valor determinada en una posicin de memoria. la operacin de asignacin se demuestra en pseudocdigo con el smbolo '', para denotar que el valor situado a su derecha se almacena en la variable situada a la izquierda Formato Variable expresin variable identificador vlido declarado anteriormente expresin variable, constante o una expresin o frmula a evaluar En Pascal el operador '-' se sustituye por el smbolo := , que se denomina operador de asignacin Variable := expresin El valor de expresin se asigna a la variable. Precaucin El tipo de expresin debe ser del mismo tipo que el de la variable. Ejemplos A :=16 ; 16 se asigna a la variable A Inicial := 'LJ; se asigna LJ a la variable Inicial Interruptor :=true; se asigna el valor true. (verdadero) a Interruptor N1 := N2; 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 a la variable Car el carcter 70 del cdigo ASCII, es decir F

Operaciones especiales de asignacin Contador Un contador es una variable que se incrementa, cuando se ejecuta, en una unidad o en una cantidad constante. Contador .= 25 Contador := Contador + 1; N = 15 N :=N + 1; Al ejecutar Las sentencias de asignacin, los nuevos valores de Contador y N son 25+1=26 y 50+1 =51. Acumulador Es una variable que se incrementa en una cantidad variable.
Pgina 5 de 15

x: = 5 x := x + 1;

Suma := Suma + x;

x es una variable

Si x vale 7 y Suma 40, el nuevo valor de Suma ser 47 Las operaciones contador y acumulador son de gran utilidad en programacin. EXPRESIONES Y OPERACIONES ARITMETICAS Las variables y constantes estudiadas anteriormente se pueden procesar utilizando operaciones y funciones adecuadas a sus tipos En este punto se examinarn las expresiones y operaciones que se utilizan con datos numricos. Operadores aritmticos: +, -, *, / Los operadores aritmticos (+,-, *) pueden ser utilizados con tipos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. 2+3 = 5 2+3.0 = 5.0 Operadores aritmticos div y mod Solo se pueden utilizar con enteros, la salida es otro entero. Div devuelve el valor de la divisin entera y Mod da el resto de la divisin entera. 17 DIV 5 3 17 MOD 5 2 Reglas de expresiones (prioridad) Se respeta las mismas prioridades del lgebra. OPERACIONES DE ENTRADA/SALIDA Los datos se pueden almacenar en memoria de tres formas diferentes: asociados con constantes, asignados a una variable con una sentencia de asignacin o una sentencia de lectura. Ya se han examinado las dos primeras. El tercer mtodo, la sentencia de lectura, es cl ms indicado si se desea manipular diferentes datos cada vez que se ejecuta cl problema. Adems. la lectura de datos permite asignar valores desde dispositivos hasta archivos externos (por ejemplo, un teclado o una unidad de disco) en memoria se denomina operacin de entrada o lectura A medida que se realizan clculos en un programa, se necesitan visualizar los resultados Esta operacin se conoce como operacin de salida o de escritura En los algoritmos las instrucciones de entrada/salida escritas en pseudocdigo son: leer (listas de variables entrada) leer (v. z, x) escribir (listas de variables salida) escribir (a, b, c)

En Pascal todas las operaciones de entrada/salida se realizan ejecutando unidades de programa especiales denominadas procedimientos de entrada/salida que forman parte del compilador Pascal y sus nombres son identificadores estndar: Procedimientos de entrada Read ReadLn procedimientos de salida Write WriteLn La escritura de resultados (salida) Los programas para ser tiles deben proporcionar informacin de salida (resultados) Esta salida toma informacin de la memoria y la sita (almacena) en: la pantalla, en un dispositivo de almacenamiento (disco duro o flexible), o en un puerto de E/S (puertos serie para comunicaciones o impresoras, normalmente paralelos) Procedimiento WriteLn El propsito de WriteLn es escribir (visualizar) informacin en la pantalla Formato WriteLn (tem, tem..): 1 tem el objeto que desea visualizar: un valor literal (entero, real, un carcter una cadena, o un valor lgicotrue o false). una constante con nombre, una variable, o una llamada a funcin
Pgina 6 de 15

Cuando se ejecuta el procedimiento WriteLn, se visualizan todos los elementos en el orden dado y en la misma lnea. Al terminar de visualizar toda la lnea, el cursor avanza (salta) al comienzo de la siguiente lnea. Procedimiento Write Como se ha dicho, despus de ejecutar el procedimiento WriteLn, el cursor avanza (salta) al comienzo de la siguiente lnea. Si se desea que el cursor quede en ;a misma lnea se debe utilizar el procedimiento Write. Formatos de salida Turbo Pascal permiten controlar en cierta medida las instrucciones de salida que presentan resultados. Es posible especificar el nmero de posiciones del campo de escritura. Para los nmeros reales es posible precisar el nmero de decimales deseado. Se pueden utilizar especificadores de formato de campo para definir dicha anchura. x := 265.7892 WriteLn(x :10 :4); WriteLn(x :10 :2); WriteLn(x :6 :4); X := 14; WriteLn(x :4); X := AB WriteLn(x :4);

265.7892 265.79 ********* 14 AB

Lo anteriormente expresado es vlido para el proceso WRITE Impresin de resultados (salidas a impresora) Las salidas a pantalla se obtienen mediante los procedimientos Write y WriteLn. Si se desea enviar resultados a otro dispositivo, es preciso especificar el nombre del archivo como primer argumento de las instrucciones Write y WriteLn. Para poder realizar la operacin de enviar salidas a la impresora, en lugar de a la pantalla, se necesita la unidad Printer. Printer define un archivo llamado lst y asocia este archivo al puerto de comunicaciones LPTI (impresora) del DOS. Se pueden enviar datos a la impresora, incluyendo lst en las instrucciones Write y WriteLn. Es preciso, sin embargo, definir previamente en la seccin uses la unidad printer. Ejemplo uses Printer var ......................... begin ......................... Write (Lst, 'el .......................... ) WriteLn (Lst, 'pl............ ) ......................... end. Este programa imprime en la impresora: Regla Siempre que desee escribir en impresora, deber incluir en su programa la lnea uses printer y luego aadir en cada sentencia Write/WriteLn la palabra lst La entrada de datos (lectura) Los datos que se pueden leer son: enteros, reales, caracteres o cadenas. No se puede leer un boolean o un elemento de tipo enumerado.
Pgina 7 de 15

Los datos estructurados, arrays, registros o conjuntos, no se pueden leer globalmente y se suele recurrir a disear procedimientos especficos. Los procedimientos de lectura son Read y ReadLn. Formato Read (var1, var2, ...); ReadLn (var1, var2, ...); van igual que WRITE La entrada de datos desde el teclado se hace un valor cada vez. Las instrucciones ReadLn y Read esperan hasta que se pulsa la tecla INTRO (RETURN o ENTER) antes de asignar un valor a la variable. Ejemplo ReadLn (Nombre); ReadLn (Horas); Read (Tasas) El usuario debe introducir los datos de entrada en el orden en que aparecen las instrucciones read, Diferencias entre Read y ReadLn En Read, despus de pulsar la tecla INTRO, el cursor permanece inmediatamente despus del ltimo carcter introducido. En ReadLn, el cursor se enva al principio de la siguiente lnea, tras pulsar la tecla INTRO. No es aconsejable ingresar ms de un dato por instruccin. OPERACIONES BASICAS DE UTILIDAD En este punto se describen dos utilidades: Clrscr GotoXY limpieza o borrado de la pantalla movimiento del cursor

El borrado (limpieza) de la pantalla: Clrscr Las rdenes o procedimientos que podr utilizar a partir de ahora: Clrscr y GotoXY, aunque posteriormente se volvern a mencionar. Ambos procedimientos pertenecen a la unidad Crt. La orden (procedimiento) Clrscr borra (limpia) la pantalla (ventana actual) y sita el cursor en la esquina superior izquierda. Turbo Pascal considera las coordenadas de la esquina superior izquierda :1,1. Para poder utilizar Clrscr, deber declarar en la clusula uses la unidad Crt. Regla Es una buena costumbre utilizar en todos los programas la unidad Crt, mediante la clusula uses; ello permite el uso de Clrscr y GotoXY, entre otras rutinas de utilidad. Movimiento del cursor La orden (procedimiento) GotoXY mueve el cursor a la posicin x, y, donde x es la columna (contando de izquierda a derecha) e y es la fila (contando de arriba-abajo). GotoXY (x, y) La esquina superior izquierda es 1.1. GotoXY requiere el uso de la unidad Crt. EL ESTILO DE PROGRAMACIN El buen estilo de programacin es, sin lugar a duda, una de las caractersticas ms notables que debe tener un programador. Un programa con buen estilo es ms fcil de leer, de corregir -si contiene un error- y de mantener. Aunque la experiencia proporciona el estilo, existen una serie de reglas que se recomiendan seguir desde el principio del aprendizaje en programacin.
Pgina 8 de 15

Sangrado (indentacin) Aunque los programas escritos en Pascal no exigen reglas estrictas en su escritura, es prctica habitual realizar sangrado en los bloques y unidades de programas fundamentales Comentarios La legibilidad de los programas aumenta considerablemente utilizando comentarios. Un comentario es un texto explicativo ms o menos largo, situado en el programa e ignorado por el compilador. Los comentarios no se consideran (son invisibles) en la fase de compilacin y ejecucin, pero de importancia primordial en las fases de anlisis, puesta a punto y mantenimiento. Los comentarios son una parte importante de la documentacin de un programa, ya que ayudan al programador y a otras personas a la comprensin del programa. No es raro encontrar programas en los cuales los comentarios ocupan ms sitio, incluso, que las propias instrucciones. Formato {comentario} (* comentario *) Cualquiera de los dos formatos puede ser utilizado indistintamente. Los comentarios pueden aparecer en una sola lnea de programa, al final de una lnea despus de una sentencia, o embebido en una sentencia. En general se debe incluir en las diferentes partes de un programa, pero con la condicin de que sean significativos. Se deben evitar comentarios superfluos o redundantes, como A := B-C (el valor de B-C se asigna a A) cuyo significado es evidente. Es conveniente situar comentarios en la cabeza que al menos especifiquen: . el nombre del programador, . la fecha de la versin actual, . una breve descripcin de lo que hace el programa El siguiente programa ilustra modos de especificar comentarios. program Prueba; {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} {programa escrito por : Juan Perez } {Fecha : } {Version : } {Nombre del archivo : } {Este programa permite listar direcciones postales} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} const Es posible anidar comentarios con delimitadores de tipo diferentes, pero no es posible con delimitadores del mismo tipo. El programador puede tener libertad para los comentarios. { un comentario puede extenderse en varias lneas o paginas de programas} {comentarios anidados (* como este caso *)} Lneas en blanco Otro medio de hacer un programa ms legible es dejar lneas en blanco entre partes importantes o que estn lgicamente separados. Es muy frecuente dejar lneas en blanco entre la cabecera y la seccin de declaraciones, entre sus diferentes partes, as como entre los procedimientos y funciones, entre s y con el programa principal, etc. Eleccin de nombres de identificadores significativos Las variables, constantes e incluso nombres de subprogramas y programas deben ser significativos para orientar al usuario sobre lo que representan: x, As, JJ no son identificadores significativos.
Pgina 9 de 15

Salario := Horas * SalarioHoras; Nomina_Mayor >= 10000; Nombre_Apellidos = 'Mortimer'; Los nombres es conveniente que comiencen con una letra mayscula, y si son largos es preferible utilizar palabras compuestas o con subrayado. Evitar puntos y comas superfluos Antes de las palabras end y until se puede suprimir el separador punto y coma. Los puntos y comas espurios pueden afectar al mal funcionamiento de un programa. Lneas de programa mayores de 80 caracteres El editor Turbo permite escribir lneas de hasta 126 caracteres de longitud, aunque en la pantalla slo se ven 80 columnas a la vez. Utilizando las teclas HOME (Inicio), END (Fin) y de movimiento de cursor se puede desplazar el texto a izquierda y derecha. Alinear operaciones (o separadores) en lneas consecutivas Cuando diferentes lneas consecutivas contienen el mismo operador (o separador), es buena prctica alinear estos smbolos 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; Blancos no significativos Poner un espacio en cada lado de un operador if A = B then Encontrado := true; representa un blanco

Incluir un espacio despus de los signos de puntuacin: coma, punto y coma, dos puntos. Otras reglas de escritura Poner cada sentencia en una lnea distinta. Las palabras reservadas program, const, var, procedure, function, uses, begin, end deben ir en lneas distintas. Si una sentencia contina en otra lnea, se deben sangrar la(s) linea(s) siguientes. Insertar lneas en blanco antes de la seccin const, var, uses, procedure, function y el begin del programa principal; y en cualquier segmento o bloques de sentencias significativas. Utilizar espacios entre los elementos de una sentencia para hacerla ms legible. PUESTA A PUNTO DE PROGRAMAS En esta seccin se incluirn: Tcnicas de resolucin de problemas y de programacin (diseo de programas), errores tpicos de programacin y estilo de programacin. Tcnicas de programacin (diseo de programas) 1. Los programas no pueden considerarse correctos hasta que han sido validados utilizando un rango amplio de datos de test. 2. Los programas deben ser legibles y comprensibles. 3. Utilizar comentarios significativos que describan el propsito de un programa o segmentos de programas, as como elementos importantes de programas, variables, funciones, etc. 4. Etiquetar todas las salidas producidas por un programa
Pgina 10 de 15

5. Los programas deben ser eficientes. Por ejemplo, clculos innecesarios: Se deben evitar calcular dos veces cualquier variable. 6. Programas generales y flexibles. Deben ser relativamente fciles de modificar para solucionar un problema similar sin necesidad de cambiar mucho el programa. El uso de las constantes limita la flexibilidad. 7. Antes de utilizar variables, asegurarse de que son inicializadas por el programa. 8. En programacin interactiva, incluya siempre una lnea con un mensaje de aviso al usuario cuando desee introducir datos. 9. Los programas deben hacer -en general- siempre "eco" de la entrada. Antes de escribir un programa en Pascal se deben seguir los pasos: Anlisis del programa (entrada, salida, datos auxiliares y proceso). Diseo del algoritmo (con preferencia pseudocdigo), siguiendo -esencialmente- el mtodo descendente. Errores tpicos de programacin 1. Las constantes reales deben tener al menos un dgito antes y al menos un dgito despus del punto decimal. 2. Las constantes de cadena deben estar encerradas entre apstrofos (simples comillas). Un apstrofo se representa con un par de apstrofos 'Kant"s'. 3. Los parntesis dentro de expresiones deben concordar. Tantos parntesis a izquierda como a derecha. 4. La divisin entera se representa por div y la real por /. 5. Las multiplicaciones deben ser indicadas por *. 6. Puntos y comas (ausencia, exceso, superfluos). 7. Debe haber un punto detrs del end final de cada programa. 8. Todos los identificadores deben ser declarados. 9. Todas las variables estn inicialmente indefinidas (Turbo Pascal no sigue esta regla inicializa a cero o cadena vaca-, pero es conveniente la inicializacin). 10. Un signo igual (=) se utiliza en declaraciones de constantes o como signo igual. El operador := se utiliza en sentencias de asignacin. No confundir = con := (ojo, programadores de BASIC). 11. Los problemas que implican nmeros de tipo real no pueden utilizar test/comparaciones para comprobar exactitud de igualdad o desigualdad (= o < > ). Como los nmeros estn aproximados en la computadora, no tiene sentido la igualdad/desigualdad. 12. Es buena idea verificar errores tales como divisin por cero y races cuadradas de nmeros negativos dentro de un programa. Estilo de programacin Un programa Turbo Pascal se prepara con el editor. Despus de teclear el programa completo se sale al men principal y se compila el programa. Si hay errores, se vuelve al editor; en caso contrario, se guarda y ejecuta. Los errores de un programa pueden ser: sintaxis, en tiempo de ejecucin y lgicos. La planificacin de un programa comienza con el anlisis del problema [especificaciones de entrada y salida (E/S), el proceso necesario para producir la salida desde la entrada] y sigue con el algoritmo (pseudocdigo). Especialmente en programas grandes, seguir el diseo descendente y refinamiento sucesivo. A continuacin debe realizarse la documentacin externa, la escritura del programa con toda la documentacin interna (comentarios) necesaria. Ejemplo: Se ingresan dos nmeros enteros, obtener su suma. ANLISIS Qu ingresa? Dos nmeros enteros Qu sale?
Pgina 11 de 15

Otro nmero entero Qu vincula la entrada con la salida? La operacin suma Pseudocdigo Inicio Leo A (entero) Leo B (entero) Obtengo C como suma de A y B Imprimo C Fin Diagrama NS Inicio Leo A Leo B CA+B Imprimo C Fin Cdigo Pascal program Sumas; {* Este es el primer programa en PASCAL *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *****} {* programa escrito por : Fernando Javier LAGE *} {* Fecha : 7 de abril de 1998 *} {* Version : 01 *} {* Nombre del archivo : progra01 *} {* Este programa permite sumar dos nmeros enteros *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-***} uses crt,dos; {* declaraciones de librerias *} const Enter = #13; {* declaraciones de constantes *} {* type *} {* en este programa no hay declaraciones de tipos *} var {* definicin de las variables *} A, B, C : Integer;

begin {* Comienzo del programa *} ClrScr; {* Ingreso de datos *} Write ('Ingrese el primer valor '); ReadLn(A); Write ('Ingrese el segundo valor '); ReadLn(B); {* Clculo de los resultados *} C := A + B; {* Salida de la informacin *} WriteLn ('El resultado es = ', C:6); {* Esta estructura se ver en prximas clases *} Repeat Until Readkey = Enter
Pgina 12 de 15

end. Nota

{* Fin del programa *}

En el ejemplo tenemos una tpica estructura secuencial sin condiciones, ni ciclos repetitivos, como se vern en el prximo ejemplo Las estructuras secuenciales son aquellas donde todas las instrucciones se ejecutan una despus de la otra. En ellas no hay repeticin ni ejecucin de un grupo seleccionado. Un problema tpico de este tipo de estructura es el siguiente. Ejemplo: Un comerciante requiere un programa que realice las siguientes tareas: Se ingrese el costo de un producto, a dicho costo le cargue un 30% y al valor as obtenido le incremente un 20% por IVA. El programa deber sacar por pantalla el costo del producto, el precio final, y el valor del impuesto. Pseudocdigo Inicio Definir constantes Leer el costo Calcular el costo ms el 30% Calcular el valor del impuesto Calcular el Precio Imprimir Costo Imprimir Impuesto Imprimir Precio Fin Cdigo Pascal program Primer_Ejemplo; {* Este es el primer programa en PASCAL *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *****} {* programa escrito por : Fernando Javier LAGE *} {* Fecha : 7 de abril de 1998 *} {* Version : 01 *} {* Nombre del archivo : progra01 *} {* Este programa permite sumar dos nmeros enteros *} {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *-***} uses crt,dos; {* declaraciones de librerias *} const gan = 30.0; iva = 20.0; {* declaraciones de las constantes *} var {* definicin de las variables *} costo : real; costo1, impuesto, precio : real; Diagrama N-S gan 30.0 iva 20.0 Leer el costo Costo1 costo * (1+gan/100) Impuesto costo1 * iva /100 Precio Costo1 + Impuesto Imprimir Costo Imprimir Impuesto Imprimir Precio

begin {* Comienzo del programa *} clrscr; {* Limpieza de pantalla *} write ('Ingrese el costo: '); {* Salida de mensaje *} readln (costo); {* Ingreso del dato *} costo1 := costo * (1 + gan/100); {* Clculo de la ganancia *} impuesto := costo1 * (iva /100); {* Clculo del impuesto *} precio := costo1 + impuesto; {* Clculo del precio final *}
Pgina 13 de 15

writeln ('Costo : ', costo); {* Salida de mensaje y variable *} writeln ('Impuesto : ', impuesto); {* Idem anterior *} writeln ('Precio : ', precio); {* Idem anterior *} end. {* Fin del programa *}

Documentacin de un programa La documentacin de un programa, es el conjunto de todos los pasos, documentos necesarios para la creacin y mantenimiento de un programa. El primer documento que tiene que existir en un programa es la solicitud del mismo, quien, porqu y para que lo solicita. El segundo es el contrato, sin un contrato no existe ningn proyecto de nada. En el queda especificado, el quien solicita el proyecto, el quien se hace responsable de su ejecucin, el porque solicita el proyecto, el cuanto va a costar ($), el cuando va a estar listo, el como se pagar, que lo que se va a entregar. La documentacin se clasifica en documentacin interna y externa a) Documentacin Interna: esta compuesta por los comentarios que le colocamos en el interior del programa fuente. Como dicho programa nunca se entrega (a menos que por contrato se especifique lo contrario), esta documentacin es privada. b) Documentacin Externa: Como se dice comienza con la solicitud y continua con el contrato. Se subdivide esta documentacin en pblica y privada. 1. Privada: esta compuesta por todos aquellos documentos que solo esta en el dominio de la empresa que crea el programa. Esta compuesta por algoritmos matemticos en que se basa el programas, diagramas de bloques, diagramas de estructuras, mdulos, manuales internos. 2. Pblica: esta compuesta por los manuales del usuario. Ejercicios 1. Escribir un programa que lea 2 valores y que los muestre por pantalla 2. Al problema anterior agrguele el ttulo en pantalla "LECTURA" 3. Modifique el problema anterior para que obtenga la suma de los dos valores, cambie el ttulo por "SUMA" el cual debe aparecer subrayado, y antes del resultado debe aparecer el mensaje "El valor de la suma es XXX" (XXX es el resultado de la operacin) 4. Escriba un programa en donde por pantalla se pida que ingrese su nombre, y como salida tenga el siguiente mensaje "Su nombre es HHHHHH" (HHHHH es el nombre ingresado). 5. Modifique el programa anterior de manera que se solicite el nombre a dos personas y aparezca un cartel que diga "Buenos das XXXXX y YYYYY .... Comenzamos a trabajar? 6. Escribir un programa al cual ingrese la velocidad de un mvil expresada en metros por segundo e imprima en pantalla la velocidad en kilmetros por hora. 7. Modifique el programa anterior de manera tal que por pantalla aparezca el siguiente cartel. "Los XXX m/s equivalen a YYY K/H" (Donde XXX es el valor ingresado e YYY es el resultado) 8. Un constructor sabe que necesita 0,5 metros cbicos de arena por metro cuadrado de revoque a realizar. Hacer un programa donde ingrese las medidas de una pared (largo y alto) expresada en metros y obtenga la cantidad de arena necesaria para revocarla. 9. Desarrollar un programa que dado el largo y el ancho de un campo, permita determinar cuantos metros de alambre sern necesarios para colocar le al permetro 5 hilos de alambrado. Y que cantidad de Soja se espera obtener, si el rendimiento de la misma es 145 quintales por hectrea. 10. Escriba un programa que pida el ingreso del valor de cada una de las races de una ecuacin cuadrtica. En funcin de ellos reconstruya la ecuacin y la muestre por pantalla. 11. Escriba un programa donde se ingrese el tiempo necesario para un cierto proceso en horas, minutos y segundos. Se calcule el costo total del proceso sabiendo que el costo por segundo es 0,25$.
Pgina 14 de 15

(Debe salir por pantalla el tiempo expresado en horas, minutos y segundos, el costo por segundo y el costo total) 12. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado calcule el descuento y el precio final. Sacando por pantalla la siguiente imagen: Precio de producto XXX.XX Descuento YY.YY -----------Valor a pagar RRR.RR 13. La misma farmacia para la obra social OSZOPAPA, realiza el siguiente descuento: 70% por la obra social, y sobre ese resultado le aplica el 40% por cuenta de la propia farmacia (lo que ellos denominan el 70% + 40%). Cree un programa que calcule el precio final que pagar un afiliado a esa obra social por un remedio, y disee una salida equivalente a la del problema anterior. 14. Se necesita un programa que permita conocer el resultado del diseo de un tanque en forma de cilindro. Los datos que debe pedir el programa es el radio de la base y la altura. En funcin del mismo se calcular. Volumen que puede almacenar. Cantidad de chapa necesaria, cantidad que se debe pedir (ya que chapa circular no viene, viene en chapas rectangulares o cuadradas y el costo de la chapa es 2,25$ el metro cuadrado. Deber salir por pantalla la siguiente informacin: Radio XXX m Altura YYY m Volumen ZZZ m cbicos Chapa base y techo RRR * UUU m Chapa lateral LLL * JJJ m Sup. Total de la chapa SSS.SS m cuadrados Costo CCCC.CC $ 15. Los propietarios de la pizzera "El Morn Binario" desean que se les haga un programa interactivo que solicite al usuario el dimetro de la pizza en centmetros y la cantidad de ingredientes extras que se quiere agregar. Como resultado de esto el programa deber mostrar por pantalla el precio ce venta de la misma. Dicho precio se calcula de la siguiente manera. a) El precio de venta de la pizza se obtiene recargando un 150% en costo total b) El costo bsico (pizza sin ingredientes extras) es de 0,016 $/cm
2 2

c) El costo de cada ingrediente agregado a la pizza base es de 0,003 $/cm

Se hace notar que como es un programa de tipo comercial la pantalla deber tener el nombre de la pizzera en la parte superior de la pantalla y un saludo genrico para el cliente como "Buenos das seor" (puede reemplazarse por uno que sea personalizado, solicitndole el nombre al cliente y luego usndolo), y se le deber solicitar cada dato "el usuario no es adivino" y mostrar el costo final.

Pgina 15 de 15

Das könnte Ihnen auch gefallen