Post on 02-Apr-2015
Módulo 4
PROFESOR: SIRACUSA EMILIANO MARTÍN
Página Web: www.esiracusa.jimdo.com
ALGORITMOS Y ESTRUCTURA DE DATOS
1
Lenguaje de Programación PASCAL
Creado por Niklaus Wirth, 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
2
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.
3
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 nidada estática, pero el proceso de llevar a cabo las instrucciones es dinámico
4
5
6
7
Símbolos: Símbolos: los símbolos usados en Pascal son las letras, los dígitos y caracteres o pares de ellos tal como + - := () ; :
Palabras reservadas: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:Identificadores definidos por el lenguaje Pascal: integer. real, write, sqrt. Tiene un significado pero puede ser modificado.
Identificadores definidos por el programador: 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. X-32, base, verdad, potencia
8
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.
9
Estructura de un programa
Program Prueba: Encabezamiento
var a , b: integer; Declaraciones de identificadoresc: integer:
begin Bloque del programaread ( a, b);c := a + b;write(c)end.
10
Diagrama sintáctico
Programa
Encabezamiento
Identificador
Encabezamiento
Declaraciones
Bloque .
Program Identificador ;
Letra
Dígito
_
Letra
11
Sección de declaraciones
Datos en un programaDatos en un programa: Cada objeto a! 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: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.char que representa al conjunto de caracteres imprimibles. Cada uno de estos tipos tiene definidas operaciones particulares.
12
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.
13
Operaciones del tipo de dato integer
Aritméticas: 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 273* (5 + 12) dará como resultado 51
14
De comparación: De comparación: comparan dos valores enteros y devuelve un valor booleanoOperadores 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
expresión aritmética
operador expresión aritmética
v1 + v2 div v3 >= (v4 + v5) * v6
15
pred(5) devuelve 4 pred ( -3) devuelve – 4
succ (sucesor) devuelve el número siguiente al argumentosucc( 5) devuelve 6 succ( -3) devuelve -2
abs ( valor absoluto) devuelve el valor absoluto del argumentoabs( 5) devuelve 5 abs(-5) devuelve 5
sqr (cuadrado) devuelve e! cuadrado del argumentosqr (5) devuelve 25 sqr(-2) devuelve 4
16
realreal, 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.
17
Operaciones del tipo real
Aritméticas: Aritméticas: + - * div mod (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: De comparación: <, <=, >. >=, =,<> :3.5 >6.58-2.3
18
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
19
Funciones con argumento real que devuelven un valor entero.
trunc (x) = parte entera de x (trunca) trunc (3.4) = 3 trunc (-2.6) = -2round(x) ~ entero más próximo a x. (redondea)
round ( 3.6) = 4 round(3.2) = 3 round(-4.8) = -5Funciones con argumento entero que devuelven
un valor real sin, cos, arctan, In, exp, sqrt
20
Boolean: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: De comparación: <, <=, >. >=, =,<> :(3+4*4<7) and (43<1) , F o VFunciones de argumento booleano y resultado booleanopred(true)=falcesucc(falce)true
not Unitaria
andor
Binaria
21
Char: 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 11Prof. MoroniLas PC en su mayoría usa el conjunto de caracteres ASCII (American Standard Cade for Information Iaterchange) que tiene las propiedades requeridas.
22
OperacionesDe comparación: <, <=, >. >=, =,<> :' a'<'b '
Funciones de 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)
23
Sección de declaraciones24
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
Constpi = 3.14139;veces = 100;líneas = 60;letras= a ,renglones = líneas
Forma generalConstidentificador = literalidentificador = identificador de constante previamente declarada
25
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;
constpi = 3.14159; veces = 100; líneas 60; letra = 'a';renglones = líneas;
Sección de declaraciones26
Variables: datos cuyos valores pueden cambiar durante ia ejecución del programa.
Tanto los literales como las constantes tienen su tipo 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.
varcontador, Índice: integer; carácter: char,sueldo, capacidad: real;
Var
id1, id2,…,idn: tipo de dato
Sección de declaraciones27
28
López García, Guillermo (ed.) (2005). El ecosistema digital: Modelos de comunicación, nuevos medios y público en Internet. Valencia: Servei de Publicacions de la Universitat de València. Disp.
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.
Curso Nivelación 2011 - Universidad Nacional de Chilecito Lic. en Sistemas - Ing. En Sistemas – Tecnicatura Univ. Desarrollo Aplic. WEB.
Agustin Fonseca- Juegos de mente – Memoria, Cálculo, Memoria, Agilidad Mental.
Martín Sierra, Abel Martín Álvarez, Ángel Aguirre Pérez- Aula Matemática digital 2.
Ing. Gábor loerines, ing. Francisco Chaves-Micro computación Tomo 2- Nahel Ediciones.
Adrián Paenza- Matemática... ¿Estás Ahí? Adrián Paenza- Matemática... ¿Estás Ahí? Episodio 2 Adrián Paenza- Matemática... ¿Estás Ahí? Episodio 3,14. Moroni Norma-Apunte de R.P.A (2003) –U.N.S.
Bibliografía29