La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.

Presentaciones similares


Presentación del tema: "Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas."— Transcripción de la presentación:

1 Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas de Información Departamento de Ciencias Básicas

2 Agosto 2010Programación I - Tipo de Datos2 Tipo de Datos El universo de valores con los que un programa trabaja, está dividido en colecciones organizadas llamadas tipos.

3 Agosto 2010Programación I - Tipo de Datos3 Los tipos de datos se caracterizan por: Un rango de valores posibles (dominio). Un conjunto de operaciones realizables sobre ese tipo. Su representación interna.

4 Agosto 2010Programación I - Tipo de Datos4 La declaración de tipos de datos presenta las siguientes ventajas: Mejores posibilidades de abstracción. Límites preestablecidos sobre el dominio de cada variable asociada a un elemento del mundo real. Detectar errores de operaciones. Determinar cómo ejecutar las operaciones.

5 Tipo de Datos Datos EstáticosDatos Dinámicos Tipos Puntero Tipos SimplesTipos Cadena (arrays) Tipos Estructurados Tipos Procedimiento (procesos) Ordinales Integer Boolean Char Enumerado Subrango No Ordinales Reales Array Registro Conjunto Archivo Agosto 20105Programación I - Tipo de Datos

6 Los tipos simples definen conjuntos de valores ordenados. Tipo Ordinal Predefinidos Definidos por el Usuario integer char boolean enumerados subrango Tipo Simple Tipo Ordinal Tipo Real Agosto 20106

7 Tipo Ordinal Predefinidos integer char boolean Tipo Simple Tipo Ordinal Se dice ordenado discretamente si para todos los elementos que son parte del tipo, salvo el primero y el ultimo, existe un elemento anterior y otro posterior. Agosto 20107

8 Tipo Ordinal Predefinidos Numéricos integer Tipo Simple Tipo Ordinal Agosto 20108

9 Programación I - Tipo de Datos9 Tipo Numérico Entero TipoRangoFormato byte integer longint shortint word 0.. 255 -32768.. 32767 -247483648.. 2147483647 -128.. 127 0.. 65535 8 bits sin signo 16 bits con signo 32 bits con signo 8 bits con signo 16 bits sin signo

10 Tipo Ordinal Predefinidos integer char boolean Tipo Simple Tipo Ordinal Agosto 201010

11 Tipo Ordinal Predefinidos Lógicos boolean Tipo Simple Tipo Ordinal Agosto 201011

12 Agosto 2010Programación I - Tipo de Datos12 Tipo Lógico o booleano Es un dato cuyo dominio está formado por dos valores posibles: Verdadero (true) Falso (false)

13 Tipo Ordinal Predefinidos integer char boolean Tipo Simple Tipo Ordinal Agosto 201013

14 Tipo Ordinal Predefinidos Caracter char Tipo Simple Tipo Ordinal Agosto 201014

15 Agosto 2010Programación I - Tipo de Datos15 Tipo Carácter (char) Es un dato cuyo dominio está formado por el conjunto de valores comprendido en el código ASCII, el cual permite establecer un orden de precedencia entre los mismos. Letras minúsculas: ‘a’, ‘b’,..., ‘z’ Letras mayúsculas: ‘A’, ‘B’,..., ‘Z’ Dígitos: ‘0’, ‘1’,..., ‘9’ Caracteres especiales: ‘!’, ‘@’,...

16 Agosto 2010Programación I - Tipo de Datos16 Tipo Carácter (char) Funciones sobre el tipo de dato carácter FunciónDescripciónArgumentoResultado Chr(x) Retorna el caracter ASCII que se corresponde con el valor de x. IntegerChar Ord(x) Retorna el valor ASCII del carácter que se indica en x. CharInteger

17 Agosto 2010Programación I - Tipo de Datos17 Tipo Ordenados Discretamente Funciones FunciónDescripciónArgumentoResultado Pred(x)Predecesor del elemento x. int, char o boolean Succ(x)Sucesor del elemento x. int, char o boolean Ord(x) Posición del elemento x dentro de los elementos del tipo int, char o booleanint

18 Agosto 2010Programación I - Tipo de Datos18 Tipo Ordenados Discretamente Ejemplos: Pred(‘H’)=‘G’ Succ(2)= 3 Succ(false)=true Pred(110)=109 Succ(’Z’)= ‘a’

19 Agosto 2010Programación I - Tipo de Datos19 Tipo Ordenados Discretamente Para los enteros: Succ(x) es x + 1 Pred(x) es x - 1 Ord(x) es x Para los booleanos: Ord(false) es 0 Ord(true) es 1

20 Tipo Simple Tipo Real Agosto 201020Programación I - Tipo de Datos

21 Agosto 2010Programación I - Tipo de Datos21 Tipo Numérico Real TipoRangoCifrasTamaño real single double extended comp 2.910 -39.. 1.710 38 1.510 -45.. 3.410 38 5.010 -324.. 1.710 308 1.910 -4932.. 1.110 4932 -2 63 + 1.. 2 63 – 1 11 – 12 7 – 8 15 – 16 19 – 20 6 bytes 4 bytes 8 bytes 10 bytes 8 bytes

22 Agosto 2010Programación I - Tipo de Datos22 Notación científica o de coma flotante Sea el número 0.0000000000356798 su representación utilizando notación científica es: 3.56798 x 10 -11 y su representación en una computadora: 0.356798-10 mantisaexponente

23 Agosto 2010Programación I - Tipo de Datos23 Notación científica o de coma flotante Sea el número 89412950000000000 su representación en una calculadora es: 8.941295 x 10 16 y su representación en una computadora:.894129517 mantisaexponente

24 Agosto 2010Programación I - Tipo de Datos24 Operaciones básicas OperaciónOperandosResultado (+) sumaEnteros y realesEntero o real (-) restaEnteros y realesEntero o real (*) multiplicaciónEnteros y realesEntero o real (/) divisiónRealesReal (div) división entera EnterosEntero (mod) móduloEnterosEntero

25 Agosto 2010Programación I - Tipo de Datos25 Tipo de Datos Definidos por el Usuario

26 Tipo Ordinal Definidos por el Usuario enumerados subrango Tipo Simple Tipo Ordinal Agosto 201026

27 Tipo Ordinal Definidos por el Usuario enumerados Tipo Simple Tipo Ordinal Agosto 201027

28 Agosto 2010Programación I - Tipo de Datos28 Tipo Enumerado Formato: type nombre_tipo_enum = (valor_1, valor_2,..., valor_n) Ejemplos: type colores = (rojo, azul, verde, blanco, negro); dias_semana = (domingo, lunes, martes, míercoles, jueves, sabado, domingo); varcolor: colores; dia: dias_semana;

29 Agosto 2010Programación I - Tipo de Datos29 Tipo Enumerado Ejemplos no válidos: type ciudad_1 = (LaPlata, Cordoba, Rosario) ciudad_2 = (Salta, Cordoba, Jujuy) letras = (‘a’, ‘b’, ‘c’); Los identificadores que detallan los valores posibles del tipo son constantes simbólicas. Estos identificadores deben ser distintos de los que están detallados en la misma sección. Por esta razón no pueden ser, por ejemplo, caracteres.

30 Agosto 2010Programación I - Tipo de Datos30 Tipo Enumerado Operaciones sobre datos enumerativos type colores = (azul, blanco, negro, verde); var color : colores Son válidas las sgtes. operaciones: color := azul; If (color = blanco) or (color = negro) then... For color := azul to verde do... No son válidas operaciones tales como: read(color); write(color);

31 Agosto 2010Programación I - Tipo de Datos31 Tipo Enumerado Las funciones predefinidas sobre datos enumerativos son las mismas que se describen para los datos de tipo ordinal.

32 Tipo Ordinal Definidos por el Usuario enumerados subrango Tipo Simple Tipo Ordinal Agosto 201032

33 Tipo Ordinal Definidos por el Usuario subrango Tipo Simple Tipo Ordinal Agosto 201033

34 Agosto 2010Programación I - Tipo de Datos34 Tipo Subrango type nombre = (límite inferior.. límite superior) Ejemplos: type IntervaloEnteros = -100..100; LetrasMin = ‘a’..’z’; varReducido : IntervaloEnteros; Letras : LetrasMin;

35 Agosto 2010Programación I - Tipo de Datos35 Tipo Subrango Un tipo de dato subrango es un tipo ordinal que consiste en una secuencia sucesiva contigua de valores de algún tipo ordinal (llamado tipo base del subrango). Las operaciones y las funciones predefinidas que se pueden realizar sobre un tipo de dato subrango son las mismas que las de su tipo base.

36 Tipo de Datos Datos EstáticosDatos Dinámicos Tipos Puntero Tipos SimplesTipos Cadena (arrays) Tipos Estructurados Tipos Procedimiento (procesos) Ordinales Integer Boolean Char Enumerado Subrango No Ordinales Reales Array Registro Conjunto Archivo Agosto 201036Programación I - Tipo de Datos

37 Tipo de Datos Datos Estáticos Tipos SimplesTipo Cadena Ordinales Integer Boolean Char Enumerado Subrango No Ordinales Reales Agosto 201037Programación I - Tipo de Datos

38 Agosto 2010Programación I - Tipo de Datos38 Tipo String (cadena) Una cadena de caracteres (string) es una serie de caracteres cuya longitud puede variar de 0 a 255 caracteres. El tipo de dato string permite almacenar información de texto. Ejemplo: var Mensaje : string;

39 Agosto 2010Programación I - Tipo de Datos39 Tipo String Operaciones entre cadenas: Asignación Comparación Concatenación

40 Agosto 2010Programación I - Tipo de Datos40 Tipo String Algunas funciones aplicables a cadenas: Concat (S1, S2,..., Sn) {retorna un string} Length (S) {retorna un integer} Copy (S, Posición, Cantidad) {retorna un string}

41 Tipo de Datos Datos EstáticosDatos Dinámicos Tipos Puntero Tipos SimplesTipos Cadena (arrays) Tipos Estructurados Tipos Procedimiento (procesos) Ordinales Integer Boolean Char Enumerado Subrango No Ordinales Reales Array Registro Conjunto Archivo Agosto 201041Programación I - Tipo de Datos

42 Tipo de Datos Datos Estáticos Tipos SimplesTipos Cadena (arrays) Tipos Estructurados Ordinales Integer Boolean Char Enumerado Subrango No Ordinales Reales Array Registro Conjunto Archivo Agosto 201042Programación I - Tipo de Datos

43 Agosto 2010Programación I - Tipo de Datos43 Tipo Conjunto Colección homogénea de elementos, sin repetición, sin relación de orden entre ellos e ilimitada. Desde el punto de vista informático, es una colección de datos simples, todos del mismo tipo. (En Pascal, el número máximo de elementos está acotado a 255)

44 Agosto 2010Programación I - Tipo de Datos44 Tipo Conjunto Un conjunto se declara de la forma: type conjunto = set of tipo_ordinal donde tipo ordinal es el tipo al cual pertenecen los elementos del conjunto y al que se lo denomina tipo base.

45 Agosto 2010Programación I - Tipo de Datos45 Tipo Conjunto Una vez definido el tipo conjunto, podemos definir una variable conjunto: var nombre_variable : conjunto También es posible declarar directamente una variable como un conjunto sin una declaración previa de tipo: var nombre_variable : set of tipo_ordinal

46 Agosto 2010Programación I - Tipo de Datos46 Tipo Conjunto Ejemplos: type dias = (domingo, lunes, martes, miercoles, jueves, viernes, sabado); Uno_al_100 = 1..100; Letras = set of char; Algunos_dias = set of dias; Algunos_numeros = set of uno_al_100;

47 Agosto 2010Programación I - Tipo de Datos47 Tipo Conjunto Construcción de un conjunto Program define_conjuntos; var letras : set of char; begin letras := [‘a’, ‘b’, ‘c’, ‘x’, ‘z’];... end.

48 Agosto 2010Programación I - Tipo de Datos48 Tipo Conjunto Operaciones sobre datos tipo conjunto OperaciónOperadorTipo de resultado Unión+Conjunto Intersección*Conjunto Diferencia-Conjunto PerteneciaInLógico

49 Agosto 2010Programación I - Tipo de Datos49 Tipo Conjunto Ejemplos type conjunto = set of char; var conj_1, conj_2, conj_3 : conjunto; conj_1 := [];{conjunto vacío} conj_2 := [‘a’]; conj_1 := [‘a’, ‘c’, ‘f’]; conj_3 := conj_1 * conj_2

50 Agosto 2010Programación I - Tipo de Datos50 Tipo Conjunto Operadores relacionales válidos: <> = = Si A y B son variables del mismo tipo conjunto: A<>B retorna true si los conjuntos son distintos A<=B retorna true si A está incluido en B A>=B retorna true si B está incluido en A A = B retorna true si A y B son iguales.


Descargar ppt "Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas."

Presentaciones similares


Anuncios Google