módulo 4 profesor: siracusa emiliano martÍn página web: algoritmos y estructura de datos 1

29
Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web: www.esiracusa.jimdo.com ALGORITMOS Y ESTRUCTURA DE DATOS 1

Upload: maricela-balan

Post on 02-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

Módulo 4

PROFESOR: SIRACUSA EMILIANO MARTÍN

Página Web: www.esiracusa.jimdo.com

ALGORITMOS Y ESTRUCTURA DE DATOS

1

Page 2: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  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

Page 3: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 4: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 5: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

5

Page 6: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

6

Page 7: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

7

Page 8: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 9: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 10: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 11: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

Diagrama sintáctico

Programa

Encabezamiento

Identificador

Encabezamiento

Declaraciones

Bloque .

Program Identificador ;

Letra

Dígito

_

Letra

11

Page 12: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 13: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 14: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 15: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 16: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 17: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 18: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 19: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 20: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 21: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 22: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 23: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 24: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

Sección de declaraciones24

Page 25: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 26: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 27: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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

Page 28: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

28

Page 29: Módulo 4 PROFESOR: SIRACUSA EMILIANO MARTÍN Página Web:  ALGORITMOS Y ESTRUCTURA DE DATOS 1

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