1. Módulo 4ALGORITMOS Y ESTRUCTURA DE DATOS PROFESOR:SIRACUSA EMILIANO MARTÍN Página Web: www.esiracusa.jimdo.com
2. Lenguaje de Programación PASCAL Creado por NiklausWirth, en Zurich, alrededor de los años 70. derivado del lenguaje Algol 60, pero es más potente y fácil de usar. Es el primer lenguaje que incorporó en una forma coherente los concentos de programación estructurada. Es un lenguaje procedural, es decir que todo proceso debe ser especificado. Es un lenguaje adecuado para la enseñanza de programación. Si bien no presenta elementos que soportan programación modular, permite un acercamiento interesante a la misma. Evita fomentar malos hábitos de programación
3. Programa: secuencia de instrucciones. Su escritura requiere cuidado y precisión. Las instrucciones son ejecutadas secuencialmente. A menos que se indique explícitamente lo contrario, se comienza la ejecución en la primera instrucción y se ejecuta cada instrucción de acuerdo a su turno hasta la última. Este patrón general es quebrado por ciertas instrucciones. El proceso tiene un efecto que generalmente consiste en la exhibición o impresión de símbolos. El programa opera sobre ciertos objetos llamados datos.
4. Generalmente las instrucciones están precedidas por una declaración de los objetos sobre los cuales opera. El programador debe declarar los atributos de los datos antes de escribir las instrucciones. Algunas de las instrucciones requieren que el procesador tome alguna decisión. El programador debe establecer los criterios que el procesador puede usar para tomar la decisión. Puede ser necesario ejecutar una instrucción o un grupo de instrucciones más de una vez. El programa en sí mismo es una unidad estática, pero el proceso de llevar a cabo las instrucciones es dinámico.
5.
6.
7.
8. Símbolos: los símbolos usados en Pascal son las letras, los dígitos y caracteres o pares de ellos tal como + - := () ; : Palabras reservadas: tienen un significado especial para Pascal y no puede ser modificado. begin, end, if, then, repeat, etc. Identificadores definidos por el lenguaje Pascal:integer, real, write, sqrt. Tiene un significado pero puede ser modificado. Identificadores definidos por el programador: Son los nombres de datos, procesos que tienen un significado para el programador. Existen reglas para su escritura. Todo identificador comienza con una letra que puede estar seguida por una letra o dígito. En Turbo Pascal se permite agregarle guión. La longitud máxima es de 256 caracteres. Ejemplos: X-32, base, verdad, potencia
9. Se debe tener cuidado con la longitud de los identificadores. La primera ocurrencia de un identificador en un programa es siempre en su declaración, allí el identificador se define. La elección de un identificador es importante en programación. Facilita la elaboración del programa, es más fácil de leer y comprender, reduce el número de errores involuntarios en la escritura, en la corrección y en el tipiado. Una letra puede ser usada como un identificador de una sección corta de un programa, pero no es conveniente usarla cuando es referenciado frecuentemente en un programa largo. Su nombre debe estar relacionado con el dato que representa.
10. Estructura de un programa Program Prueba; Encabezamiento var a , b: integer; Declaraciones de identificadores c: integer: beginBloque del programa read ( a, b); c := a + b; write(c); end.
11. Diagrama sintáctico Programa . Encabezamiento Bloque Declaraciones Encabezamiento Program ; Identificador Identificador Letra Letra Dígito _
12. Sección de declaraciones Datos en un programa: Cada objeto al que se hace referencia en un programa es un dato. Cada dato en un programa debe ser declarado previamente a su uso. Cada dato tiene asociado un tipo. El tipo de dato determina tanto los valores que ese dato puede asumir como las operaciones que pueden realizarse con él. Pascal tiene cuatro tipos de datos elementales: integer que representa un subconjunto de los números enteros. real que es un subconjunto de los números reales. boolean con los valores false y true. charque representa al conjunto de caracteres imprimibles. Cada uno de estos tipos tiene definidas operaciones particulares.
13. Sección de declaraciones Integer: números negativos y positivos sin punto decimal. 0, -25, 963 son números enteros. Sólo se representa un subconjunto finito de los números enteros matemáticos. En cada computadora hay un entero máximo indicado por la constante maxint y un entero mínimo indicado por -maxint. Todo dato entero asume valores entre -maxint y maxint. Intentar evaluar un dato fuera de este rango dará un error de corrida.
14. Operaciones del tipo de dato integer Aritméticas: + - * div mod(operadores binarios) + - ( operadores unarios) jerarquía de los operadores: + - (unarios) * div + - (binarios) expresiones aritméticas: Se evalúan de izquierda a derecha, de acuerdo a la jerarquía de los operadores que sólo puede ser modificada per la presencia de paréntesis. 3* 5 +12 dará como resultado 27 (3* 5) + 12 dará como resultado 27 3* (5 + 12) dará como resultado 51
15. De comparación: comparan dos valores enteros y devuelve un valor booleano. Operadores de relación: <, <=, >. >=, =,<> (binarios) donde cada vi es un valor entero. Funciones predefinidas por el lenguaje Pascal son aquellas que tienen un significado para el lenguaje y que aplicadas a un argumento dan por resultado un valor. Identificador de función ( argumento) Con argumento entero y resultado entero: pred(predecesor) devuelve el número anterior del argumento.
16. pred(5) devuelve 4 pred ( -3) devuelve – 4 succ (sucesor) : devuelve el número siguiente al argumento succ( 5) devuelve 6 succ( -3) devuelve -2 abs( valor absoluto): devuelve el valor absoluto del argumento abs( 5) devuelve 5 abs(-5) devuelve 5 sqr(cuadrado) devuelve el cuadrado del argumento sqr (5) devuelve 25 sqr(-2) devuelve 4
17. real: es un subconjunto de los números reales matemáticos. No se pueden representar los números irracionales, los racionales periódicos, los número muy próximos a cero y los excesivamente grandes, es decir aquellos números cuya representación en binario supere la representación dispuesta por el sistema. Un número de tipo real se puede escribir con punto decimal o en notación exponencial. 0.000000234 se puede escribir también en la forma 2.34E-7. Un número real tiene como características el rango y la precisión. El rango es de 10 elevado a un número que depende de la capacidad de la máquina y la precisión corresponde a la cantidad de números decimales a representar.
18. Operaciones del tipo real Aritméticas: + - * div (operadores binarios) + - ( operadores unarios) jerarquía de los operadores: + - (unarios) * div + - (binarios) las expresiones aritméticas se evalúan de izquierda a derecha y la jerarquía de los operadores puede alterarse con el uso de paréntesis. 4.67 + 12.032 * 45.1/ 7 0 (-4.67 + 12.032) * 45.1/ 7.0 De comparación: <, <=, >. >=, =,<> : 3.5 >6.58-2.3
19. Funciones Funciones con argumento real que devuelven un valor real. abs (x)= |x| sqr(x)= x al cuadrado sin (x)= seno de x cos(x)= coseno de x arctan(x)= arco tangente de x In (x)= logaritmo neperiano de x exp(x)= e elevado a la x sqrt(x)= raíz cuadrada de x
20. Funciones con argumento real que devuelven un valor entero. trunc(x) = parte entera de x (trunca) trunc(3.4) = 3 trunc(-2.6) = -2 round(x) ~ entero más próximo a x. (redondea) round ( 3.6) = 4 round(3.2) = 3 round(-4.8) = -5 Funciones con argumento entero que devuelven un valor real sin, cos, arctan, In, exp, sqrt
21. Boolean:sólo tiene los valores true v false. Operaciones Lógicas La jerarquía de operadores se interrumpe con paréntesis De comparación: <, <=, >. >=, =,<> : (3+4*4<7) and (43<1) , F o V Funciones de argumento booleano y resultado booleano pred(true)=falce succ(falce)true
22. Char: no hay un conjunto de caracteres definidos por Pascal. Este usa el conjunto de caracteres de la computadora sobre la que está corriendo. Pero requiere que el conjunto de caracteres tenga las siguientes propiedades: cada carácter debe tener un número ordinal asociado. Los valores ordinales de los dígitos de 0 a 9 debe ser ordenado y consecutivo. Los valores ordinales de las letras debe ser ordenado pero no necesariamente consecutivo. clase 11 Prof. Moroni Las PC en su mayoría usa el conjunto de caracteres ASCII (American Standard CadeforInformationIaterchange) que tiene las propiedades requeridas.
23. Operaciones De comparación: <, <=, >. >=, =,<> : ' a'<'b ' Funcionesde caracteres en caracteres pred('z') = 'y' succ('x') = 'y' función de caracteres en enteros ord(x) = al valor correspondiente de x en el código ASCII (ordinal) chr(x) = al carácter correspondiente en el código para el valor del argumento (carácter)
24. Sección de declaraciones Constantes: algunos datos en los programas pueden tener valores que no cambian nunca o que si cambian, lo hacen para el programa completo. Estos valores conocidos antes de la ejecución del programa se denominan constantes Mencionaremos dos tipos de constantes: literales y constantes simbólicas. Literales: valores conocidos de antemano que se indican textualmente en el programa. Si consideramos que el valor de 𝜋 es 3,14159. Si determinados cálculos se deben repetir 100 veces. Si la longitud de una página es de 60 líneas. Una letra es 'a'. 3,14159, 100, 60 y 'a'. Son valores constantes que no se modifican durante la ejecución del programa.
25. Sección de declaraciones Constantes simbólicas: Un literal puede estar asociado a un identificador. y es necesario declararlo en la sección de constantes del programa. La sección de declaraciones de constantes en un programa va precedida de la palabra const Const pi = 3.14139; veces = 100; líneas = 60; letras= a , renglones = líneas Forma general Const identificador = literal identificador = identificador de constante previamente declarada
26. Sección de declaraciones El uso de constantes simbólicas para representar valores constantes simplifica los programas y su mantenimiento. Para que un cambio se refleje en todo el programa se necesita cambiar solamente el valor de la constante. Ubicación de la declaración de constantes en un programa: Program Prueba; const pi = 3.14159; veces = 100; líneas 60; letra = 'a'; renglones = líneas;
27. Sección de declaraciones Variables: datos cuyos valores pueden cambiar durante ia ejecución del programa. Tanto los literales como las constantes tienen su tioo asociado de acuerdo a su valor. En cambio las variables no tienen un tipo asociado. Pascal exige la indicación del tipo en la sección de declaraciones de variables. var contador, Índice: integer; carácter: char, sueldo, capacidad: real; Var id1, id2,…,idn: tipo de dato
28.
29.
30. Snyder, Ilana –compiladora (2004): Alfabetismos digitales. Comunicación,innovación y educación en la era electrónica. Málaga: Aljibe Stallman, Richard M. (2004) Software libre para una sociedad libre. Introducción de Lawrence Lessig.
31. Curso Nivelación 2011 - Universidad Nacional de Chilecito Lic. en Sistemas - Ing. En Sistemas – Tecnicatura Univ. Desarrollo Aplic. WEB.