Академический Документы
Профессиональный Документы
Культура Документы
PASCAL: Es un lenguaje de Alto Nivel y propsito general desarrollado por el prof. suizo Niklaus WIRTH en 1968. Caractersticas Excelente herramienta para aprender programacn Es un lenguaje de propsito general Lenguaje procedural (imperativo, orientado a rdenes) Lenguaje estructurado (soporta while, for y repeat. No necesita goto) Lenguaje recursivo Gran riqueza de tipos de datos predefinidos y definidos por el usuario Cdigos ejecutables rpidos y eficientes
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
TURBO PASCAL: Lanzado en 1983 por BORLAND International. Caractersticas adicionales: Entorno integrado de desarrollo Editor de texto Grficos Gestin de archivos Compilacin independiente Gestin de proyectos Enteros de gran presicin Programacin orientada a objetos Bilioteca de objetos
Nota: Las declaraciones de constantes, tipos y variables tambin se pueden poner en los procedimientos y/o funciones. Todo objeto referenciado en un programa debe haber sido previamente definido.
Identificadores
Para poder manipular datos (I-O), necesitamos tener acceso a las localidades de memoria donde se encuentran almacenados; esto se logra por medio de los nombres de los datos o IDENTIFICADORES. Los identificadores tambin se utilizan para los nombres de los programas, los nombres de los procedimientos y los nombres de las funciones, as como para las etiquetas, constantes y variables. Las reglas para formar los identificadores en Pascal son las siguientes : 1. Pueden estar compuestos de caracteres alfabticos, numricos y el carcter de subrayado ( _ ). 2. Deben comenzar con un carcter alfabtico o el carcter de subrayado. 3. Puede ser de cualquier longitud (slo los 63 primeros caracteres son significativos). 4. No se hace distincin entre maysculas y minsculas. 5. No se permite el uso de los IDENTIFICADORES RESERVADOS en los nombres de variables, constantes, programas o sub-programas.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Identificadores
Identificadores vlidos Nombre Cadena Edad_Maxima X_Y_Z Etiqueta2 Identificadores no vlidos Num&Dias carcter & no vlido X nombre Contiene un blanco begin es una palabra reservada eje@s carcter @ no vlido
La eleccin de identificadores permite una mejor lectura y comprensin de un programa. No es aconsejable utilizar identificadores que no sugieran ningn significado.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Declaracin de etiquetas
Si necesitara utilizar la instruccin Goto, deber marcarse con una etiqueta la lnea a donde desea enviarse el control de flujo del programa. La declaracin deber encabezarse con el identificador reservado: Label, seguido por la lista de etiquetas separadas por comas y terminada por un punto y coma. Pascal estndar slo permite etiquetas formadas por nmeros de 1 a 4 dgitos. Turbo-Pascal permite la utilizacin de nmeros y/o cualquier identificador, excepto los identificadores reservados. Su uso no est recomendado
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Definicin de constantes En la definicin de constantes se introducen identificadores que sirven como sinnimos de valores fijos. El identificador reservado Const debe encabezar la instruccin, seguido por una lista de asignaciones de constantes. Cada asignacin de constante debe consistir de un identificador seguido por un signo de igual y un valor constante, como se muestra a continuacin:
Definicin de constantes Un valor constante puede consistir de un nmero ( entero o real ), o de una constante de caracteres. La constante de caracteres consiste de una secuencia de caracteres encerrada entre apstrofes ( ' ), y, en Turbo-Pascal, tambin puede formarse concatenndola con caracteres de control ( sin separadores ), por ejemplo :
Las constantes de caracteres pueden estar formadas por un solo carcter de control, p.ej. :
Definicin de constantes Existen dos notaciones para los caracteres de control en Turbo Pascal, a saber : 1. El smbolo # seguido de un nmero entero entre 0 y 255 representa el carcter al que corresponde dicho valor decimal en el codigo ASCII. 2. El smbolo ^ seguido por una letra, representa el correspondiente carcter de control. Ejemplos : #12 decimal 12 ( hoja_nueva o alimentacin de forma) #$1B valor hexadecimal 1B ( escape ). ^G carcter del timbre o campana. ^M carcter de retorno de carro.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
CONSTANTES PREDEFINIDAS
Adems de las constantes literales para los tipos integer y real con representacin decimal y hexadecimal, y las constantes literales para el conjunto de caracteres ASCII, ms los caracteres especiales ( no incluidos en el conjunto estndar del ASCII )
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Definicin de tipos
El Tipo indica el espacio de memoria en que se almacenarn y que al mismo tiempo evita el error de tratar de guardar un dato en un espacio insuficiente de memoria . Un tipo de dato en Pascal puede ser cualquiera de los tipos predefinidos ( integer, real, byte, boolean, char ), o algn otro definido por el programador. Los tipos definidos por el programador deben basarse en los tipos estndar predefinidos, para lo cual, debe iniciar con el identificador reservado Type , seguido de una o ms asignaciones de tipo separadas por punto y coma. Cada asignacin de tipo debe consistir de un identificador de tipo, seguido por un signo de igual y un identificador de tipo previamente definido. La asignacin de tipos a los datos tiene dos objetivos principales: Detectar errores de operaciones en programas. Determinar cmo ejecutar las operaciones.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Definicin de tipos
Los tipos definidos por el programador pueden utilizarse para definir nuevos tipos, por ejemplo :
Definicin de tipos
Los nmeros reales estn siempre disponibles en Turbo Pascal, pero si su sistema incluye un coprocesador matemtico, se dispone adems de otros tipos de nmeros reales:
real (real) single (real corto) comp (entero ampliado) double (real de doble precisin) extended (real ampliado)
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Operadores
Los operadores sirven para combinar los trminos de las expresiones. En Pascal, se manejan tres grupos de operadores: 1. ARITMTICOS 2. RELACIONALES 3. LGICOS
Operadores aritmticos
Sirven para operar trminos numricos. a. UNARIOS b. BINARIOS UNARIOS: trabajan con UN OPERANDO. Pascal permite el manejo de un operador unario llamado : MENOS UNARIO Este operador denota la negacin del operando, y se representa por medio del signo menos ( - ) colocado antes del operando. Ej: x = 100; -x dar como resultado -100. BINARIOS: combinan DOS OPERANDOS , dando como resultado un valor numrico cuyo tipo ser igual al mayor de los tipos que tengan los operandos.
Operadores aritmticos
Observe: 1. Cuando los dos operandos sean del tipo integer, el resultado ser de tipo integer. 2. Cuando cualquiera de los dos operandos, o ambos, sean del tipo real, el resultado ser de tipo real. 3. Cuando, en la operacin div, OPERANDO-1 y OPERANDO-2 tienen el mismo signo, se obtiene un resultado con signo positivo; si los operandos difieren en signo, el resultado es negativo y el truncamiento tiene lugar hacia el cero. 4. La operacin MODULO est definida solamente para OPERANDO-2 positivo. El resultado se dar como el entero no negativo ms pequeo que puede ser restado de OPERANDO-1 para obtener un mltiplo de OPERANDO-2 Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Operadores relacionales
Una RELACIN consiste de dos operandos separados por un operador relacional. Si la relacin es satisfecha, el resultado tendr un valor booleano true ; si la relacin no se satisface, el resultado tendr un valor false. Los operadores deben ser del mismo tipo, aunque los valores de tipo real, integer y byte pueden combinarse como operandos en las relaciones.
Ejemplos
Operadores lgicos
Expresiones
Las expresiones son secuencias de constantes y/o variables separadas por operadores vlidos. Se puede construir una expresin vlida por medio de : 1. Una sola constante o variable, la cual puede estar precedida por un signo + - . 2. Una secuencia de trminos (constantes, variables, funciones) separados por operadores. Adems debe considerarse que: Toda variable utilizada en una expresin debe tener un valor almacenado para que la expresin, al ser evaluada, d como resultado un valor. Cualquier constante o variable puede ser reemplazada por una llamada a una funcin. Como en las expresiones matemticas, una expresin en Pascal se evala de acuerdo a la precedencia de operadores. La siguiente tabla muestra la precedencia de los operadores en Turbo Pascal:
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Expresiones
Las reglas de evaluacin son: 1. Si todos los operadores en una expresin tienen la misma precedencia, la evaluacin de las operaciones se realiza de izquierda a derecha. 2. Cuando los operadores sean de diferentes precedencias, se evalan primero las operaciones de ms alta precedencia (en una base de izquierda a derecha ), luego se evalan las de precedencia siguiente, y as sucesivamente. 3. Las reglas 1) y 2) pueden ser anuladas por la inclusin de parntesis en una expresin.
Instrucciones
Aunque un programa en Pascal puede contar con una sola instruccin (tambin llamada enunciado, sentencia o estatuto), normalmente incluye una cantidad considerable de ellas. Uno de los tipos de instrucciones ms importantes lo forman las instrucciones de asignacin; las cuales asignan a una variable (por medio del smbolo := ) , el resultado de la evaluacin de una expresin.
Bloques de instrucciones
Es posible utilizar una instruccin compuesta o bloque de instrucciones, el cual se forma agrupando varias instrucciones simples por medio de los identificadores begin y end. No es necesario escribir el punto y coma antes de end ya que el punto y coma se usa para separar instrucciones, no para terminarlas. begin y end son delimitadores de bloque.
Read Write
ReadLn WriteLn
Donde : lista_de_variables : es una lista de identificadores de variables separados por comas, los datos que se pueden leer son : enteros, caracteres, o cadenas. No se puede leer un boolean o un elemento de tipo enumerado.
Es aconsejable que cada cadena de caracteres se lea en una instruccin Read o ReadLn por separado, para evitar el tener que ir contando hasta completar la cantidad exacta de caracteres que forman la cadena ( o de lo contrario se tendrn resultados sorpresivos y frustrantes al verificar los datos ledos ).
Donde: lista_de_salida es una lista de variables, expresiones y/o constantes, cuyos valores van a ser desplegados en la pantalla. El procedimiento Write permite que la siguiente instruccin se realice en la misma lnea , mientras que WriteLn alimenta una nueva lnea, antes de finalizar. Ej::
Patrones Lgicos
Secuencia
En este caso, las instrucciones se ejecutan una despus de la otra sin omitir ninguna de ellas.
End.
Seleccin
La seleccin de alternativas en Pascal se realiza con alguna de las dos siguientes formas :
Se evala condicin y si el resultado arroja un valor verdadero, se ejecuta instruccin_1 ; en caso contrario se ejecuta instruccin_2..
Usando el ELSE
Iteracin
Las formas de iteracin sirven para ejecutar ciclos repetidamente, dependiendo de que se cumplan ciertas condiciones. Una estructura de control que permite la repeticin de una serie determinada de sentencias se denomina bucle1 (lazo o ciclo). El cuerpo del bucle contiene las sentencias que se repiten. Pascal proporciona tres estructuras o sentencias de control para especificar la repeticin: 1. While 2. Repeat 3. For
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Iteracin. WHILE-DO
La estructura repetitiva while(mientras) es aquella en la que el nmero de iteraciones no se conoce por anticipado y el cuerpo del bucle se ejecuta repetidamente mientras que una condicin sea verdadera
Iteracin. WHILE-DO
Reglas de funcionamiento: La condicin se evala antes y despus de cada ejecucin del bucle. Si la condicin es verdadera, se ejecuta el bucle, y si es falsa, el control pasa a la sentencia siguiente al bucle. Si la condicin se evala a falso cuando se ejecuta el bucle por primera vez, el cuerpo del bucle no se ejecutar nunca. Mientras la condicin sea verdadera el bucle se ejecutar. Esto significa que el bucle se ejecutar indefinidamente a menos que "algo" en el interior del bucle modifique la condicin haciendo que su valor pase a falso. Si la expresin nunca cambia de valor, entonces el bucle no termina nunca y se denomina bucle infinito lo cual no es deseable.
Iteracin. WHILE-DO
REPEAT-UNTIL La accin de repeat-until es repetir una serie de instrucciones hasta que se cumpla una determinada condicin .
Reglas de funcionamiento: 1. La condicin se evala al final del bucle, despus de ejecutarse todas las sentencias. 2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas sus instrucciones. 3. Si la condicin es falsa, se sale del bucle y se ejecuta la siguiente instruccin a until. 4. La sintaxis no requiere begin y end.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
REPEAT-UNTIL
FOR-TO-DO
Cuando se sabe de antemano el nmero de veces que deber ejecutarse un ciclo determinado, sta es la forma ms conveniente.
Al ejecutarse la sentencia for la primera vez, a contador se le asigna un valor inicial (expresion.1), y a continuacin se ejecutan las intrucciones del interior del bucle, enseguida se verifica si el valor final (expresin.2) es mayor que el valor inicial (expresin.1); en caso de no ser as se incrementa contador en uno y se vuelven a ejecutar las instrucciones, hasta que el contador sea mayor que el valor final, en cuyo momento se termina el bucle. Aqu, contador no puede ser de tipo real. El contador se puede decrementar sustituyendo la palabra to por la palabra downto.
FOR-TO-DO
Tipos de datos Pascal requiere que todos los tipos de datos sean formalmente definidos antes de ser utilizados, ya que tal definicin ser usada por el compilador para determinar cuanto espacio de memoria se reservar para las variables de cada tipo, as como para establecer los lmites de los valores que pueden asignarse a cada variable. Se establecen las siguientes reglas: Cada variable debe tener un solo tipo en el bloque donde fue declarada. El tipo de cada variable debe ser declarado antes de que la variable sea utilizada en una instruccin ejecutable. A cada tipo de dato se le pueden aplicar ciertos operadores especficos.
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
TIPO SUBRANGO:
Cadenas
TIPO CADENAS (strings) : Turbo Pascal proporciona el tipo string para el procesamiento de cadenas (secuencias de caracteres ). La definicin de un tipo string debe especificar el nmero mximo de caracteres que puede contener, esto es, la mxima longitud para las cadenas de ese tipo. La longitud se especifca por una constante entera en el rango de 1 a 255.
Una Vez declaradas las variables se pueden realizar asignaciones u operaciones de lectura/escritura.
Cadenas. concatenacin
Otra operacin bsica es la concatenacin. La concatenacin es un proceso de combinar dos o ms cadenas en una sola cadena. El signo + se puede usar para concatenar cadenas ( al igual que la funcin concat ), debiendo cuidarse que la longitud del resultado no sea mayor que 255. Ejemplos : 'INSTITUTO '+'TECNOLOGICO'='INSTITUTO TECNOLOGICO 'CONTAB'+'.'+'PAS = 'CONTAB.PAS' Se puede asignar el valor de una expresin de cadena a una variable cadena, por ejemplo : fecha := 'lunes'; y utilizar la variable fecha en: frase:='El prximo '+fecha+' inician las clases'; Si la longitud mxima de una cadena es excedida, se pierden los caracteres sobrantes a la derecha.
Procedimientos. DELETE
Procedimientos. INSERT
Procedimientos. STR
PROCEDEMINTO VAL
Arreglos (array)
Un arreglo est formado por un nmero fijo de elementos contguos de un mismo tipo. Al tipo se le llama tipo base del arreglo. Los datos individuales se llaman elementos del arreglo. Para definir un tipo estructurado arreglo, se debe especificar el tipo base y el nmero de elementos. Un array se caracterza por: Almacenar los elementos del array en posiciones de memoria contnua Tener un nico nombre de variable que representa a todos los elementos, y stos a su vez se diferencan por un ndice o subndice. Acceso directo o aleatorio a los elementos individuales del array. Los arrays se clasifican en : Unidimensionales (vectores o listas) Multidimensionales ( tablas o matrices)
Magter. Oscar Adolfo Vallejos FaCENA - UNNE
Arreglos (array)
Arrays unidimensionales
Un array de una dimensin (vector o lista) es un tipo de datos estructurado compuesto de un nmero de elementos finitos, tamao fijo y elementos homogneos. Supongamos que desea conservar las edades de 10 personas. Para almacenar estas edades se necesita reservar 10 posiciones de memoria, darle un nombre al array, y a cada persona asignarle su edad correspondiente.
Arrays unidimensionales
Arrays paralelos
Dos o ms arrays que utilizan el mismo subndice para referirse a trminos homlogos se llaman arrays paralelos. Basados en el programa anterior se tienen las edades de 'x' personas, para saber a que persona se refiere dicha edad se puede usar otro arreglo en forma paralela y asociarle los nombres de manera simultnea con las edades.
Arrays multidimensionales
Turbo Pascal no limita el nmero de dimensiones de un array, pero s que debe estar declarado el tipo de cada subndice.
Despus continuamos