Вы находитесь на странице: 1из 9

5

Solamente hemos de ocuparnos de aquellos objetos para cuyo conocimiento cierto e indudable parecen ser suficientes nuestras mentes. Ren Descartes Reglas para la direccin de la mente Regla II - 1628. Al igual que los lenguajes ordinarios, los lenguajes de programacin estn compuestos de smbolos para formar palabras siguiendo un conjunto de reglas de sintaxis y de reglas semnticas lo que se denomina gramtica. Las reglas de sintaxis indican la forma de colocar esos smbolos para formar palabras y frases y las reglas semnticas dictan el modo de combinar esas palabras para formar oraciones coherentes y que expresen ideas. Lamentablemente, cada lenguaje de programacin posee su propia simbologa y su propia gramtica, por lo que se podra pensar que dominar varios de ellos puede ser extremadamente dificultoso pero, afortunadamente, estos conjuntos de reglas tienen muchas similitudes, tal como puede testimoniar cualquier programador profesional. Ello induce entonces a pensar que aprender varios lenguajes de programacin no es una idea despiadada sino ms bien, un modo de abarcar un mayor campo en el espectro de posibilidades que ofrece la computacin. El presente captulo muestra la materia prima para la confeccin de programas en Pascal usando para ello la versin de este lenguaje que compone la aplicacin Delphi, versiones 4, 5, 6 y 7 de la firma Borland Software Corporation. Esta versin es denominada Object Pascal y, aunque no es la versin estndar del lenguaje Pascal en el mundo, es sin duda la ms utilizada, razn por la cual muchos la consideran como la estndar. En esta obra ser denominada simplemente como Pascal. Gran parte del material de este captulo est referido en los archivos de ayuda de Delphi, especficamente bajo la denominacin Object Pascal Reference. En el captulo Object Pascal Grammar de dicho archivo, se muestra un resumen de todos los elementos que forman la gramtica del lenguaje Object Pascal.

5.1 Smbolos
El alfabeto de Pascal est formado por los siguientes grupos: - Las letras maysculas A, B, ..., Z, sin contar la . - Las letras minsculas a, b, ..., z, sin contar la . - Los dgitos 0... 9. - Los siguientes smbolos: # $ & ' ( ) * + , _. / : ; < = > @ [ ] ^ { } - Los siguientes pares de smbolos, los cuales tienen significados especiales: (* (. *) .) .. // := <= >= < > Los pares de smbolos (* y *) son equivalentes a las llaves { y } respectivamente. Los pares de smbolos (. y .) son equivalentes a los corchetes [ y ] respectivamente. Observe que los smbolos ! ? " \ | y ~ as como las letras acentuadas no forman parte de este vocabulario.
En la construccin de palabras en Pascal, las letras maysculas y minsculas se consideran indistinguibles.

5.2 Identificadores
Son construcciones simblicas hablando en trminos lingsticos con la que se denotan los elementos de un programa susceptibles de ser distinguidos por el programador, tales como variables, constantes, campos, funciones, procedimientos, etc. Un identificador se forma con las siguientes reglas: - El primer smbolo debe ser una letra. - Se puede incluir cualquier letra, dgito y el caracter de subrayado _. - Puede tener cualquier longitud pero slo los primeros 255 smbolos son significativos. - No se pueden usar palabras reservadas como identificadores. As, los siguientes identificadores se consideran vlidos: i j Valor1 Valor_1 Mi_primer_programa A V123_A Programa_2 ABC Xxx

A PROPSITO

Pag. 5-2

Cap.5: Elementos Bsicos de Pascal

y los siguientes se consideran no validos por las razones que se indican: 1er_programa El primer carcter debe ser una letra. Primer programa No se permiten espacios en blanco Programa_n_1 No se permite el caracter Igualmente, en la construccin de identificadores, las letras maysculas y minsculas se consideran indistinguibles. As, los siguientes identificadores son considerados idnticos: IDENT_1 Ident_1 ident_1

$45G

No se permite la letra G

Los nmeros de punto flotante llamados tambin reales admiten el uso del punto decimal y del exponente E, por lo que estos nmeros pueden ser escritos en forma decimal o en notacin cientfica. El uso del carcter E significa potencia de diez; as por ejemplo, el nmero 3.4102 se escribe 3.4E2 y el nmero 0.5810-2 se escribe -0.58E-2. Al contrario que con los enteros, el Pascal no admite nmeros hexadecimales en punto flotante. Un nmero real puede ser escrito entonces de varias maneras; por ejemplo, el nmero 34.85 puede ser escrito de cualquiera de las siguientes formas: 34.85 34.85E0 3.485e1 0.3485E2 0.3485e+2 348.5E-1 3485e-2 Observe en este ejemplo tres reglas importantes: los exponentes son slo nmeros enteros, no estn permitidos espacios en blanco, el punto decimal es un punto y no una coma, la e del exponente puede ser mayscula o minscula. Al igual que los enteros, no est permitido el uso de un punto como separador de miles.

5.3 Palabras reservadas


Son palabras que no pueden ser usadas para otro propsito que aquel para el que estn definidas, no pudiendo entonces redefinirse ni utilizarse como identificadores, y son las siguientes: and begin constructor do except finally if initialization label not out property resourcestring string try uses array case destructor downto exports for asm const dispinterface div else end file finalization function goto implementation in inherited inline interface is library mod nil object of or packed procedure program raise record repeat set shl shr then threadvar to type unit until var while with as class

5.5 Cadenas alfanumricas


Una cadena alfanumrica character string o simplemente cadena, consta de un nmero de cualesquiera caracteres de los cdigos ASCII, ANSI o Unicode, encerrados entre comillas simples. El nmero de caracteres est limitado a 255. Pascal admite tambin el uso de cadenas alfanumricas donde cada caracter se forma con el smbolo # seguido del cdigo ASCII del caracter, eliminando as el uso de las comillas. De esta manera, la cadena Nombre puede ser escrita como #78#111#109#98#114#101. Ejemplos de cadenas vlidas son: 'Esta es una prueba' 'Cadena con ees' 'Cadena con letras acentuadas: ' '123.456' '456,789' #72#111#108#97

5.4 Nmeros
En Pascal, los nmeros se dividen principalmente en dos grupos, atendiendo a los modos de almacenamiento interno de nmeros de los CPU segn la norma IEEE 754: enteros y de punto flotante. Los nmeros enteros se escriben con los dgitos del 0 al 9, pueden ir precedidos de los signos + o y no llevan punto decimal ni exponente. Pascal incluye adems la posibilidad de escribir nmeros enteros expresados en el sistema hexadecimal si el nmero es precedido del signo $, pudiendo entonces utilizar las letras A, B, C, D, E y F y sus minsculas. As, los siguientes son nmeros enteros vlidos: 12 -12 0 123450000 78900 $12F $34 -$3A56D Igualmente, los siguientes no son vlidos por las razones que se indican: 45.6 No es un nmero entero 1.234.500 No se permite el punto como separador de miles
Programacin con Delphi

5.6 Etiquetas
Una etiqueta o label es una marca que se coloca en distintos puntos del bloque de instrucciones de un programa con el propsito de alterar el flujo de ejecucin de instrucciones mediante instrucciones de transferencia incondicional. Se forma mediante cualquier identificador o mediante un nmero entero entre 0 y 9999. Ms adelante se ver la forma de declararlas y usarlas.

5.7 Tipos de Datos


Pascal, al contrario de otros lenguajes de programacin, ofrece una gran cantidad de tipos de datos, algunos predefinidos o con las herramientas para definir tipos
Ing. Jos Ricardo Vargas

Cap.5: Elementos Bsicos de Pascal

Pag. 5-3

convenientes para el programador. Una primera clasificacin divide los tipos de datos en simples, cadenas, estructurados, puntero, procedimiento y variantes. En esta obra slo se vern en detalle los tipos simples, cadenas y estructurados. Cuando se habla de dato simple, se hace referencia a un valor que representa un solo atributo de un objeto o un fenmeno. Una variable que almacene un dato simple, almacenar un solo valor en un instante de tiempo. En tal caso el tipo determina el conjunto de valores al que pertenece el dato as como el conjunto de operaciones que se pueden aplicar sobre l. Cuando se habla de dato estructurado, se hace referencia a un valor que representa varios atributos de un objeto o un fenmeno. Una variable que almacene un dato estructurado, podr almacenar varios atributos en un instante de tiempo. En este caso, el tipo determina adems la estructura que permite interpretar varios atributos como un solo valor. Las cadenas tienen caractersticas de dato simple y de dato estructurado, por lo que no permiten incluirlas en ninguno de estos tipos. El siguiente es un resumen de los tipos de datos que ofrece actualmente Pascal: 1. TIPOS SIMPLES 1.1. Ordinales conjuntos ordenados - Nmeros Enteros - Byte - Shortint - Smallint - Word - Integer , Longint - Cardinal, Longword - Int64 - Char o caracteres - Char, Ansichar - Widechar - Booleanos o Lgicos - Boolean, Bytebool - Wordbool - Longbool - Enumerados valores abstractos - Subrango subconjunto de cualquiera de los anteriores 1.2. Reales nmeros en punto flotante - Real48 - Single - Real, Double - Extended - Currency - Comp

2.

TIPOS CADENA: Cadenas de caracteres.


CAP. MEMORIA VALOR

NOMBRE SHORTSTRING STRING, ANSISTRING WIDESTRING

Cualquier caracter de la tabla ANSI Cualquier 31 2 Hasta 2 GB caracter de la caracteres tabla ANSI Cualquier 30 2 Hasta 2 GB caracter de la caracteres tabla UNICODE 255 Hasta 256 caracteres bytes

3.

TIPOS ESTRUCTURADOS Registros: Permiten agrupar en una variable, un conjunto de datos de distinto tipo. Se accede a cada uno de esos datos mediante la notacin de punto. Arreglos: Permiten agrupar en una variable, un conjunto de datos del mismo tipo. Se accede a cada uno de esos datos mediante un ndice. Archivos: Permiten agrupar en una variable, un conjunto de datos del mismo tipo. Se accede a cada uno de esos datos mediante un apuntador de archivo y operaciones de lectura y escritura. Se utiliza para acceder a sistemas de almacenamiento secundario o permanente. Conjuntos: Permiten agrupar en una variable, una lista de valores ordinales y no repetidos. Se accede a cada uno de ellos mediante operaciones de conjuntos. Objetos: Permiten agrupar en una variable, tanto un conjunto de datos de distinto tipo como los procedimientos y funciones para su manipulacin. Se accede a cada uno de esos datos, procedimientos y funciones mediante la notacin de punto. Metaobjetos: Permiten almacenar objetos de cualquier clase o aquellos cuya composicin no es conocida en el momento de compilar el programa. Interfaces: Proveen de un conjunto de procedimientos y funciones para ser utilizados por Objetos.

3.1. RECORD

3.2. ARRAY

3.3. FILE

3.4. SET

3.5. CLASS

3.6.

CLASS REFERENCE

3.7.

INTERFACE

4. 5. 6.

TIPOS PUNTERO (POINTER) TIPO PROCEDIMIENTO (PROCEDURAL) TIPO VARIANT

Programacin con Delphi

Ing. Jos Ricardo Vargas

Pag. 5-4

Cap.5: Elementos Bsicos de Pascal Var X, Y, Z: Real; A, B, C: Integer; R1, R2: Real;
DECLARACIONES

5.8 Declaraciones Regla de Oro de

Pascal
La regla de sintaxis ms importante del lenguaje Pascal es la siguiente: Todo elemento al cual el programador le asigna un identificador con excepcin del programa mismo debe ser declarado antes de su uso. La declaracin es una forma de instruir al compilador para que determine el uso de la memoria reservando espacio en la misma para estos elementos mientras se ejecuta el programa. En Pascal se declaran las siguientes entidades: tipos, variables, constantes, unidades, etiquetas, procedimientos y funciones. Cada una de ellas se declara de una manera particular que se ver a medida que se traten ms adelante.
Var

..... OTRAS

.....

Ch1, Ch2: Char; Listo: Boolean;

5.10 Constantes
El concepto de constante en Pascal es similar al concepto de variable: una localidad de memoria con un nombre especfico y que almacena un dato de cierto tipo. Difiere por supuesto en que el dato almacenado no cambia durante la ejecucin del programa pero puede ser invocado a travs del identificador de la constante. La declaracin bsica de constante es como sigue: CONST NOMBRE DE CONSTANTE = VALOR; En esta declaracin, NOMBRE DE CONSTANTE es un identificador dado por el programador y VALOR es el dato asignado al identificador. El tipo asociado al identificador viene determinado por el tipo del dato asignado. De nuevo, observe la presencia del caracter ; al final de la declaracin. As, la siguiente declaracin:
Const C = 123.456;

5.9 Variables
Ya se ha mencionado que toda variable lleva asociado un nombre y un tipo. Pues bien, precisamente en la declaracin de una variable se instruye al compilador a que reserve memoria para usar cierta variable y a que le asigne un nombre y un tipo, siendo este el que determina la cantidad de memoria que usar dicha variable. La declaracin de variable tiene la siguiente sintaxis: VAR NOMBRE DE VARIABLE : TIPO; En esta declaracin, NOMBRE DE VARIABLE es un identificador dado por el programador y TIPO es un tipo de dato existente. Observe la presencia del caracter ; al final de la declaracin. As, la siguiente declaracin:
Var X : Integer;

indica la intencin de utilizar la constante C en lugar del nmero real 123.456. Al contrario que con las variables, varias constantes no pueden ser declaradas consecutivamente en la misma lnea pero si en lneas consecutivas sin la necesidad de la palabra Const:
Const C = 123.456; MENSAJE = 'Esta es una prueba'; Listo = True;

indica la intencin del programador de utilizar en su programa una variable de nombre X para almacenar datos del tipo predefinido Integer. Si se desea declarar un grupo de variables de mismo tipo, se pueden escribir consecutivas y separadas por comas:
Var X, Y, Z: Real;

Igualmente, si estn separadas por otras declaraciones, deben llevar de nuevo la palabra Const:
Const C = 123.456; MENSAJE = 'Esta es una prueba'; Listo = True;

..... OTRAS

DECLARACIONES

.....

Declaraciones consecutivas de distinto tipo no necesitan llevar ms de una palabra Var:


Var X, Y, Z: Real; A, B, C: Integer; B1, B2: Boolean;

Const ENTRADA = 'Buenos dias'; neperiano = 2.7182818284; Raiz_de_dos = 1.4142135623;

5.11 Funciones
En programacin, una funcin trabaja igual que en matemticas: un nombre de funcin con una lista opcional de argumentos y que representa un valor dependiente tanto de los argumentos como de la naturaleza de la funcin. Las funciones slo pueden ser invocadas en expresiones y, al igual que las variables y las constantes, llevan asociado un tipo en el valor que devuelven. Ejemplos de funciones aritmticas son las siguientes:
Ing. Jos Ricardo Vargas

Las declaraciones de variables de un mismo tipo no necesitan estar todas en la misma lnea:
Var X, Y, Z: Real; A, B, C: Integer; R1, R2: Real;

Incluso, no necesitan estar todas consecutivas. Empero, si estn separadas por otras declaraciones, entonces deben llevar de nuevo la palabra Var:
Programacin con Delphi

Cap.5: Elementos Bsicos de Pascal abs(x) sin(y) exp(z) ln(t) Pos(Ch, S)

Pag. 5-5

Ejemplos de funciones alfanumricas son:


Length(S) Uppercase(Ch)

Todas estas instrucciones sern tratadas en este curso en diferentes captulos. A medida que se presenten, ser aclarada su sintaxis, su alcance y sus limitaciones.

El Pascal ofrece adems la posibilidad de que el programador defina sus propias funciones. Estas sern vistas en el captulo de subprogramas.

5.14 Subprogramas
Cuando se habl del mtodo algortmico, se mencion la conveniencia de dividir un algoritmo en mdulos de solucin ms sencilla para resolver luego cada uno de estos y as, al terminar con todos los mdulos, quedar prcticamente listo el algoritmo. Casi todos los lenguajes de programacin permiten implementar estos mdulos mediante subprogramas o subrutinas que, como lo indica su nombre, dan la idea de la divisin de un programa en trozos. En pascal los subprogramas se dividen en procedimientos del ingls procedure y funciones, y tienen las siguientes aplicaciones: - permiten, por supuesto, dividir un programa en mdulos, - permiten que un mismo subprograma pueda ser utilizado por otros programas, evitando as, el tener que rescribir los mismos. Pascal tambin permite la creacin de funciones definidas por el programador, las cuales son consideradas como subprogramas. Tambin ofrece, al igual que funciones, una cantidad de procedimientos predefinidos. Un procedimiento es invocado a travs de su nombre utilizado como una instruccin no como las funciones que slo son invocadas en expresiones. As como un programa puede requerir informacin de entrada y puede producir informacin de salida, un subprograma tambin puede. El intercambio de informacin con un subprograma lo hace el programa principal o puede hacerlo otro subprograma. En Pascal, esta comunicacin se hace a travs de argumentos, los cuales son valores de un tipo definido, representados por constantes, variables o expresiones, escritos entre parntesis a continuacin del nombre del subprograma. El orden, el tipo y la expresin de los argumentos depende de cada subprograma. La invocacin de un procedimiento se hace entonces segn la siguiente sintaxis: NOMBRE DE PROCEDIMIENTO (ARGUMENTOS); La palabra ARGUMENTOS se refiere a uno, varios o ningn argumento. Cuando existen varios argumentos, estos se separan con comas. As por ejemplo, el siguiente procedimiento:
Writeln(A,B,C);

5.12 Expresiones
Una expresin es una agrupacin de operadores y operandos que, una vez evaluada, representa un valor de tipo simple. Los operandos pueden ser valores, constantes, variables y funciones. Pascal clasifica las expresiones segn la naturaleza de los operandos, estableciendo para cada grupo un conjunto especfico de operadores; esta clasificacin divide las expresiones en: - aritmticas - de cadenas - lgicas - de conjuntos - de punteros En el prximo captulo se vern en detalle los tres primeros grupos, dejando el de conjuntos para ms adelante. Las de punteros no sern vistas en este curso.

5.13 Instrucciones
Pascal clasifica las instrucciones segn el nmero de tareas que puede instruir cada una y segn su funcin algortmica. As, las instrucciones quedan clasificadas de la manera siguiente: - SIMPLES Asignacin Invocacin de Procedimiento Transferencia Incondicional (GOTO) - ESTRUCTURADAS Compuesta (BEGIN..END) Seleccin - Simple (IF..THEN) - Doble (IF..THEN..ELSE) - Mltiple (CASE) Repeticin
- WHILE..DO - REPEAT..UNTIL - FOR..TO..DO - FOR..DOWNTO..DO

Tratamiento de excepciones y errores


- RAISE - TRY..EXCEPT - TRY..FINALLY

hace que se imprima en pantalla el contenido de las variables A, B y C. Igualmente, el siguiente procedimiento:
Readln(X1);

Abreviatura de la notacin de punto: (WITH)

hace que se lea del teclado un valor y que se almacene en la variable X1.

Programacin con Delphi

Ing. Jos Ricardo Vargas

Pag. 5-6

Cap.5: Elementos Bsicos de Pascal

5.15 Unidades
Una Unidad o unit en Pascal es una coleccin de declaraciones, procedimientos y funciones, agrupada en una entidad independiente de todo programa pero que puede ser vinculada a cualquiera para que ste disponga de todo su contenido. Este concepto se suma a la idea de modularizacin de programas ya que permite la reutilizacin de material escrito con anterioridad. Pascal permite que un programa haga uso de todas las unidades que necesite y, ms an, cada unidad puede hacer uso de otras unidades. De hecho, Pascal ofrece una buena cantidad de unidades predefinidas. Entonces, un programa en Pascal se puede construir segn el siguiente esquema:
UNIDAD 1

Programa. Luego una zona de declaraciones donde se declaran: - Unidades: es decir, se notifica al compilador de las unidades que deben ser vinculadas al programa mediante la clusula USES - Etiquetas con la palabra LABEL - Tipos con la palabra TYPE - Constantes con la palabra CONST - Variables con la palabra VAR - Funciones con la palabra FUNCTION - Procedimientos con la palabra PROCEDURE Luego, entre las palabras Begin y End, las instrucciones del programa. Observe que la palabra End va seguida de un punto que indica el final del programa. Todo lo que se escriba despus de l, ser ignorado por el compilador. Las funciones y los procedimientos declarados corresponden a aquellos definidos por el programador y no aquellos predefinidos. Igualmente, toda unidad tiene la misma estructura bsica como la que se muestra a continuacin:
Unit Identificador de unidad; Interface

PROGRAMA

UNIDAD 2

UNIDAD N

De hecho, cuando se trabaja con aplicaciones para Windows como ser la mayora de las veces es necesario y conveniente trabajar con programas que contengan pocas lneas de declaraciones e instrucciones y que coloquen la mayor parte de estas en unidades.
En otros lenguajes, a estas colecciones de recursos se las denomina libreras. El sistema Windows incluso, hace amplio uso de estas y las pone a disposicin de cualquier programa a travs de las Libreras de Vinculacin Dinmica o Dinamic Linking Libraries. Estas se almacenan en archivos con la extensin DLL. Delphi permite la construccin de estas libreras, las cuales pueden ser luego utilizadas por otras aplicaciones, an cuando estn construidas en otros lenguajes.

Declaraciones Implementation Desarrollo de subprogramas Initialization Desarrollo de subprogramas Finalization Desarrollo de subprogramas End. Opcional

A PROPSITO

5.16 Estructura de programas


Todo programa en Pascal tiene la misma estructura bsica como la que se muestra a continuacin:
Program Identificador de programa; Declaraciones Begin Instrucciones End.

Esto es, la palabra reservada Program seguida de un identificador de programa, terminando la lnea con un punto y coma. Esta lnea se denomina Cabecera de
Programacin con Delphi

Esto es, una cabecera de unidad que comienza con la palabra reservada Unit seguida de un identificador de unidad, terminando con un punto y coma. Luego una zona de declaraciones similar a la del programa, en la que se declaran otras unidades, etiquetas, tipos, variables, etc. A continuacin, la palabra Implementation seguida de una zona en la que se escriben instrucciones, estando estas slo en subprogramas procedimientos y funciones definidas por el programador. Opcionalmente se incluyen en una unidad dos zonas especiales en las que se escriben subprogramas que deben ejecutarse obligatoriamente al comenzar o al finalizar un programa. Al igual que en un programa, se finaliza con la palabra END, seguido de un punto. Cuando se elaboran programas con Delphi, ste automticamente coloca las palabras que en los dos
Ing. Jos Ricardo Vargas

Cap.5: Elementos Bsicos de Pascal

Pag. 5-7

ejemplos anteriores se escribieron en negritas PROGRAM, Interface, Begin, End, etc..

la variable como la expresin deben ser de tipos compatibles. La sintaxis es la siguiente: NOMBRE DE VARIABLE := EXPRESIN; En Pascal, el smbolo de asignacin es el smbolo :=. El funcionamiento de la instruccin es tambin igual que en diagramas de flujo: primero se evala la expresin y luego, el valor resultante se almacena en la variable. Ejemplos de asignaciones son:
V1:=-6784; R1:=0.3141592E1; Cadena:='Esta es una prueba'; V_Present:=(R1*45.5)+12.98; Otra_Cadena:='Esta es'+' otra prueba'; Listo:=not TRUE;

5.17 Directivas de compilacin


Son instrucciones especiales que instruyen al compilador a que lleve a cabo tareas adicionales o a que modifique parmetros de compilacin ordinaria al momento de compilar el programa. Algunos de estos parmetros pueden ser modificados tambin a travs de los mens de Delphi. Una directiva de compilacin tiene la siguiente sintaxis: {$DIRECTIVA} es decir, una llave izquierda seguida del smbolo monetario $ y seguido de la directiva para finalizar con una llave derecha. Observe la ausencia del punto y coma al final de la lnea. Ejemplos de directivas de compilacin son: {$WARNINGS OFF} Instruye al compilador para que no genere mensajes de advertencia. {$APPTYPE CONSOLE} Instruye al compilador para que genere un programa tipo texto. La mayora de las directivas se escriben al principio del programa, es decir, inmediatamente despus de la cabecera del programa o de la unidad. En la ayuda de Delphi aparece una lista de todas las directivas de compilacin disponibles. En este curso slo se tratarn algunos de ellos.

Observe la presencia del carcter punto y coma al final de cada asignacin. Observe tambin que la expresin puede quedar reducida a una constante o a una variable

5.20 Ejemplo de Programacin


A modo de ejemplo y para mostrar cmo se ensambla el material visto, se presenta un programa sencillo pero completo. El mismo corresponde al siguiente enunciado: Dados dos puntos en el plano por sus coordenadas (x1, y1) y (x2, y2), disee un programa para calcular la ordenada y correspondiente a una abscisa x situada entre x1 y x2 usando interpolacin lineal. Un anlisis del problema indica que existe una sola incgnita y y cinco datos x1, y1, x2, y2 y x. La ecuacin para hallar la incgnita aparece en el diagrama de flujo anexo. Observe tambin que se necesita una variable adicional m para calcular la pendiente del segmento.
INICIO

5.18 Comentarios
Son lneas de texto escritas en programas o unidades y que no son tomadas en cuenta por el compilador. Se utilizan para que un programa sea legible por el mismo programador o por otras personas que intenten leer el programa, ya que permiten identificar grupos de instrucciones o aclarar el propsito de las mismas. Los comentarios pueden ser escritos de la siguiente manera: { Comentario } Cualquier texto encerrado entre llaves, con la excepcin de las directivas de compilacin. Dicho texto puede ocupar varias lneas. (* Comentario *) Igual que el anterior dado que los smbolos (* y *) son equivalentes a las llaves. // Comentario Todo texto a continuacin de un doble slash // hasta el fin de la lnea.

x1, y1, x2, y2, x m y

(y2 y1) (x2 x1)


m(x-x1)+y1 y
FIN

Entonces, el programa es como sigue:


Program Interpolacion; {$APPTYPE CONSOLE} // Programa de clculo de interpolacin Var X1,X2,Y1,Y2,X,Y,M: Extended; Ing. Jos Ricardo Vargas

5.19 La Instruccin de Asignacin


En Pascal, la instruccin de asignacin tiene exactamente el mismo significado que el ya mencionado en los diagramas de flujo: un nombre de variable seguido de un smbolo de asignacin y seguido de una expresin. Tanto
Programacin con Delphi

Pag. 5-8 Begin Readln(X1,Y1,X2,Y2); Readln(X); M:=(Y2-Y1)/(X2-X1); Y:=M*(X-X1)+Y1; Writeln(Y); End.

Cap.5: Elementos Bsicos de Pascal

identificados. Por ello, el correspondiente segmento de programa habra quedado mejor as:
Writeln('Ordenada = ',Y);

Observe los elementos que forman este programa: - La cabecera del programa, el cual se ha llamado Interpolacion. - Una directiva de compilacin para que el compilador genere un programa tipo texto esto ser explicado ms adelante. - Un comentario - Una declaracin de variables Var en la que se declaran 7 variables de un tipo real. - El comienzo del programa Begin Dos invocaciones al procedimiento Readln, el cual, como se mencion anteriormente, introduce valores en variables desde el teclado. Dos instrucciones de asignacin. Una para el clculo de la variable M y otro para la variable Y. Una invocacin al procedimiento Writeln con el propsito de imprimir en pantalla el contenido de la variable Y.

En este caso, el procedimiento imprime en pantalla la cadena alfanumrica 'Ordenada = ' seguido del valor de la variable Y. - Recuerde que un comentario puede ser escrito en cualquier lnea del programa, incluso despus del final del mismo. - Observe que las instrucciones estn escritas dos caracteres a la derecha de las palabras Begin y End; a esto se le llama Indentacin y es una prctica comn que contribuye a la legibilidad de los programas. - Observe tambin la existencia de lneas en blanco. Estas son permitidas en cualquier nmero pues son ignoradas por el compilador. - Cada instruccin est escrita en una lnea. Esta es una prctica que tambin contribuye a la legibilidad de los programas pero no es obligatoria, es decir, una lnea puede contener mltiples instrucciones. El separador de cada una de ellas es el punto y coma. Por supuesto, no todos los programas son tan sencillos como este pero la intencin es mostrar cmo se usan los elementos vistos en este captulo para confeccionar programas en Pascal.

Preguntas de repaso
1. En qu consiste el abecedario de Pascal? Cules smbolos no forman parte de ste? Qu sucede con los caracteres cuyo cdigo ASCII es mayor que 127? 2. Son consideradas iguales o no las letras minsculas y maysculas en Pascal? 3. Qu es un identificador? Para qu se usa? Resuma las reglas de construccin de identificadores. 4. Puede escribirse un identificador con una mezcla de letras maysculas y minsculas? 5. Qu es una palabra reservada? Puede usarse una palabra reservada como nombre de variable? Y como nombre de programa? 6. Cmo se escriben nmeros en Pascal? Cree usted que se pueden escribir entre comillas? Cules caracteres se pueden utilizar en la escritura de nmeros? 7. Puede escribirse un nmero entero de varias maneras? Y un nmero real? 8. A qu cree usted que se debe la diferenciacin entre nmeros enteros y nmeros reales en Pascal? 9. Dado que un nmero real puede ser escrito de varias formas debido a la presencia del exponente E cmo cree usted que puede llamarse este exponente?

- El final del programa End.. Este programa, tal como est escrito, puede ser introducido en Delphi como una aplicacin y funciona perfectamente. Pero antes, es conveniente atender las siguientes observaciones: - La lectura de datos pudo haber sido realizada con una sola instruccin Readln. Se escribi de esta manera por claridad. - Igualmente, el clculo de la variable Y pudo haberse hecho con una sola expresin, quedando as: ((Y2Y1)/(X2-X1))*(X-X1)+Y1; se dividi en dos tambin por claridad. - No se acostumbra escribir programas que soliciten datos por el teclado sin antes imprimir un mensaje que le comunique al usuario lo que espera que escriba. Por ejemplo, el correspondiente segmento de programa habra quedado ms elegante as:
Writeln('Ingrese las coordenadas X,Y de los puntos'); Readln(X1,Y1,X2,Y2); Writeln('Ingrese la abscisa del punto a calcular'); Readln(X);

Igualmente, no se acostumbra que los programas impriman resultados en pantalla que no estn

Programacin con Delphi

Ing. Jos Ricardo Vargas

Cap.5: Elementos Bsicos de Pascal

Pag. 5-9

10. Puede considerarse el conjunto de nmeros enteros como un subconjunto de los nmeros reales? 11. Cmo se escriben nmeros hexadecimales usando el exponente E? 12. Qu es una cadena alfanumrica? De cules caracteres puede estar compuesta? Qu longitud mxima puede tener? 13. Cmo cree usted que puede escribirse una cadena que incluya comillas simples? 14. Cul es el propsito del smbolo #? Puede ste aparecer en una cadena entre comillas? 15. Qu es una etiqueta? Con qu propsito se usa? Cmo puede formarse una etiqueta? 16. Por qu hay distintos tipos de datos? Cules son los seis grupos principales de tipos de datos en Pascal? 17. Qu representa un dato simple? Qu representa un dato estructurado? Qu representa un dato de tipo ordinal? Y uno de tipo real? Qu cree usted que representa un dato de tipo Booleano? 18. Por qu las cadenas alfanumricas no pueden ser clasificadas como de tipo simple? Y por qu no pueden ser clasificadas como datos de tipo estructurado? 19. Por qu a los datos de tipo lgico se les llama Booleanos? 20. Qu es un dato tipo array, y un record, y un file, y un set? 21. Qu es, en Pascal, una declaracin? Es absolutamente necesario declarar variables o constantes? 22. Qu cosas deben declararse en Pascal? Se declaran todas las cosas de igual manera? 23. Cmo se declaran variables en Pascal? Describa la sintaxis de una declaracin de variable. 24. Es necesario colocar la palabra VAR en todas las declaraciones de variables? Explique. 25. Cmo se declaran constantes en Pascal? Describa la sintaxis de una declaracin de constante. 26. En qu se diferencia una variable de una constante en Pascal? 27. Pueden declararse varias consecutivamente, como las variables? constantes

30. Cmo se clasifican las instrucciones en Pascal? Cuntas instrucciones hay? Corresponden todas a estructuras conocidas? 31. Qu es un subprograma? Qu es un procedimiento? 32. Cmo se invoca un procedimiento? Cuntos argumentos debe tener? 33. Qu hacen los procedimientos READLN y WRITELN? 34. Qu es una unidad? Cmo contribuye a la modularizacin de programas? 35. De qu est compuesta una unidad? Puede una unidad hacer uso de otras unidades? 36. Cmo contribuye Windows a la modularizacin de programas? Puede un programa en Pascal hacer uso de unidades elaboradas en otros lenguajes? Y viceversa? 37. Qu se recomienda hacer con el programa principal a la hora de usar unidades? 38. Explique la estructura de un programa. Cmo se llama la primera lnea del mismo? 39. Mencione las palabras reservadas para hacer declaraciones en Pascal. 40. Cmo se indica el fin de un programa? Qu sucede con lo que se escribe despus de l? 41. Explique la estructura de una unidad. Cules son las zonas de una unidad? Es esta estructura igual a la de un programa? 42. Mencione semejanzas y diferencias entre un programa y una unidad. Cules son y para qu sirven las zonas opcionales de una unidad? 43. Cmo se indica el fin de una unidad? 44. Qu es una directiva de compilacin? Describa su sintaxis. 45. Qu es un comentario? Describa su sintaxis. Cuntas formas de comentarios hay? 46. Qu hace una instruccin de asignacin? Cul es el mecanismo de funcionamiento de una asignacin? 47. Qu se coloca a la derecha del smbolo de asignacin? Puede ser una variable o una constante? 48. Qu es la indentacin? Es obligatorio su uso en programacin? Explique. 49. Por qu se pueden escribir varias instrucciones en una misma lnea? Cmo se distingue la separacin entre ellas?

28. Qu es, en Pascal, una funcin? En qu parte de un programa se invoca? De qu tipos hay? 29. Qu es una expresin? De qu est compuesta? Cuntos valores representa? Son todas las funciones del mismo tipo?
Programacin con Delphi

Ing. Jos Ricardo Vargas

Вам также может понравиться