PDF de programación - Tema 3: Tipos de Datos Estructurados

Imágen de pdf Tema 3: Tipos de Datos Estructurados

Tema 3: Tipos de Datos Estructuradosgráfica de visualizaciones

Publicado el 12 de Enero del 2019
1.086 visualizaciones desde el 12 de Enero del 2019
1,3 MB
83 paginas
Creado hace 8a (28/10/2015)
1

TEMA 3:


Tipos de Datos Estructurados



2

ÍNDICE

3. Introducción(3)

3.1. Tipo enumerado (4-9)



3.1.1. Tipo Enumerado en Python

3.1.2. Tipo Enumerado Características

3.2. Subrangos(10-13)



3.2.1. Tipo subrango en Python

3.2.2. Ejemplo tipo subrango en Python

3.3. Vectores y matrices(14-43)



3.3.1. Tipo vector en Python (14-30)



3.3.1.1 Lectura y escritura datos vector Python

3.3.1.2. Lectura datos vector preguntando usuario Python

3.3.1.3.Búsqueda del máximo y mínimo elemento de un vector en Python

3.3.1.4. Otras operaciones con vectores en Python

3.3.2. Vectores multidimensionales.(31-34)



Tema3: Fundamentos de Programación

3

Final de estos

apartados:



EJEMPLOS

ILUSTRATIVOS

TRABAJO
PERSONAL



3.3.3. Matrices Python (35-43)



3.3.3.1 Lectura matrices en Python

3.3.3.2. Escritura de matrices en Python

3.3.3.3 Suma de matrices

3.3.3.4. Búsqueda de un elemento en una matriz

3.3.3.5. Búsqueda booleana de un elemento en una matriz

3.3.3.6. Búsqueda posicional de un elemento en una matriz



3.4. Cadenas (44-59)



3.4.1. Cadena de caracteres Python

3.4.2. Operaciones con cadena de caracteres Python

3.4.3. Ejemplos con cadena de caracteres Python

3.4.4. Programa para enviar textos por correo Python

3.5. Registros (60-83)



3.5.1. Registros en Python



3.5.1.1 Lectura y escritura de registros en Python

3.5.1.2. Lectura de registros de registros en Python

3.5.1.3. Escritura de registros de registros en Python

3.5.1.4. Vector de registros en Python

3.5.1.5. Vector de registros con fechas en Python

3.5.2. Registros variantes



3.5.2.1 Simulación registros variantes en Python

3.5.3. Ejercicio



4
Introducción: Tipos de datos estructurados

Además de los tipos de datos básicos ya definidos, habitualmente los lenguajes de

programación permiten a los programadores definir sus propios tipos.

 En lenguajes estructurados hay que definirlos, mediante su declaración. La declaración

comienza con la palabra reservada TIPO.

 Declarar tipos es indicar al compilador el conjunto de valores y las posibles operaciones a

realizar sobre este tipo de dato y, por tanto, sobre la información que representa.

 Los tipos de datos que veremos son:

 3.1. Tipos enumerados

 3.2. Subrangos

 3.3. Vectores y matrices

 3.4. Cadenas de caracteres

 3.5. Registros Copiar módulo record



Instalar modulo numpy:
http://www.cdlibre.org/consultar/catalogo/Python_Bibliotecas.html

3.1. Tipo Enumerado

5

Tipo Enumerado

 En muchos programas necesitamos referirnos y utilizar objetos distintos de los

tipos básicos, por ejemplo: colores, planetas, días de la semana....

 Algunos lenguajes permiten definir un tipo de datos denominado enumerado
utilizando una lista de identificadores que serán sus valores. La forma de
definirlo será:



identTipo = (valores) {los valores se separan por comas}

Ejemplos:



Tipo

tcolores = (rojo, verde, azul)

tdias = (lunes, martes, miercoles, jueves, viernes, sabado, domingo)

3.1. Tipo Enumerado

6



 Son ordinales , es decir tienen relación de orden dada por la disposición de los valores en la

definición y escalares.

 Operaciones que se pueden utilizar sobre estos tipos en lenguajes estructurados :

 ord (valor) retorna un entero que representa la posición que ocupa el valor en la definición

(*).

 pred (valor) retorna el valor anterior (da error si se trata del primero).

 succ(valor) retorna el siguiente valor (da error si se trata del último).

 Operaciones relacionales (actúan en función del orden de declaración).

 Asignación

 En el caso del valor máximo de un tipo enumerado, succ no está definido, y, para su valor

mínimo, no está definido pred.

 (*) El número de orden de cada elemento comienza en 0 para el primer elemento.

 Las variables de tipo enumerado sólo pueden tomar los valores especificados en su

definición.

3.1. Tipo Enumerado

7

Tipo Enumerado. Ejemplo

Algoritmo Dias_Semana

{El siguiente programa muestra los días de la semana por medio de tipos enumerados}

TIPO

Dia_Semana = (Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo)

Variable

dias :Dia_Semana

i : entero



Inicio
dias:=lunes;

desde i 1 hasta 7 hacer



fin_desde

Según dias hacer



fin_segun
dias:=succ(dias)



Fin.

Lunes : Escribir('Lunes ')
Martes : Escribir ('Martes ‘)
Miercoles : Escribir ('Miércoles‘)
Jueves : Escribir ('Jueves ‘)
Viernes : Escribir ('Viernes ')
Sabado : Escribir ('Sabado ')
Domingo :Escribir ('Domingo ')

3.1.1. Tipo Enumerado PYTHON

8



 A partir de Python 3.4 el lenguaje implementa enumeraciones de forma nativa, por

defecto, vía módulo enum: https://www.python.org/dev/peps/pep-0435/ #Información

from enum import Enum

DiasSemana = Enum ('DiasSemana','Lunes
Martes Miercoles Jueves Viernes Sabado
Domingo')

for dia in DiasSemana:
print (dia) #Muestra toda la variable

for dia in DiasSemana:
print (dia.name) #Muestra nombres

for dia in DiasSemana:
print (dia.value) #Muestra valores que toma



DiasSemana.Lunes
DiasSemana.Martes
DiasSemana.Miercoles
DiasSemana.Jueves
DiasSemana.Viernes
DiasSemana.Sabado
DiasSemana.Domingo
Lunes
Martes
Miercoles
Jueves
Viernes
Sabado
Domingo
1
2
3
4
5
6
7

3.1.2. Tipo Enumerado características

9



 Un valor de un tipo enumerado no puede

leerse ni escribirse

directamente, por lo que habrá que estudiar las ventajas (claridad y

relación de orden) e inconvenientes de su declaración.

 Suelen utilizarse en lenguajes estructurados, como variables de control en

bucles desde, como índices de vectores y como opciones en sentencias

según..sea.

 Se utilizan principalmente para aportar claridad al código del programa

 En Python puede compararse, pero no existen muchas de

las

operaciones definidas en pseudocódigo



3.2. Tipo Subrango



10

 El tipo subrango en lenguajes estructurados es un intervalo dentro de un cierto tipo

de datos ordinal.

 Los subrangos solo se utilizarán cuando se conozcan los límites de los valores que

tomarán las futuras variables con seguridad.

 Se suelen utilizar para el control de errores, por ejemplo: si un número está

comprendido entre 1..10.

 Aportan claridad a los programas. Se suelen utilizar sobre vectores.

 Sintaxis :



identSubrang = literal1..literal2

por ejemplo: 0..10 (subrango de enteros).



 Donde literal1 y literal2 deben ser del mismo tipo, y siempre literal1<= literal2.

3.2.1. Tipo Subrango en Python

11

 Como se estudió en el tema 1, El tipo range(), se emplea como contador del
bucle for. Internamente en Python, crea una lista inmutable de números enteros
en sucesión aritmética.

 El tipo range() puede tener uno, dos o tres argumentos numéricos enteros.

Nota: En Python 2, range() se consideraba una función, pero en Python 3 no se considera una función, sino como un tipo de datos
(concretamente, una lista de enteros inmutable), aunque se utiliza como si fuera una función.

 Recordemos:

range(n) = range(0, n) = [0, 1, ... , n-1].

Nota: Para ver los valores de la lista creada con range(), es necesario convertirla a lista mediante el tipo list().

>>> range(5)

range(0, 5)

>>> list(range(5)) [0, 1, 2, 3, 4]



3.2.1. Tipo Subrango Python

12

 range(m, n) = [m, m+1, ... , n-1]

>>>

range(5, 10) [5, 6, 7, 8, 9] >>> list(range(-5, 1)) [-5, -4, -3, -2, -1, 0]

Si n es menor o igual que m, se crea una lista vacía.

>>> list(range(5, 1)) [] >>> list(range(3, 3)) []

 range(m, n, p) y crea una lista que empieza en m y acaba antes de llegar a n,

avanzando de p en p

>>> list(range(5, 21, 3)) [5, 8, 11, 14, 17, 20] >>> list(range(10, 0, -2)) [10, 8, 6, 4, 2]

Resumen:

m: el valor inicial



n: el valor final (que no se alcanza nunca)

p: el paso (la cantidad que se avanza cada vez).

Si se escriben sólo dos argumentos, Python le asigna a p el valor 1.



range(m, n) es lo mismo que range(m, n, 1)

Si se escribe sólo un argumento, Python, le asigna a m el valor 0 y a p el valor 1.



range(n) es lo mismo que range(0, n, 1)

3.2.2. Ejemplo Tipo Subrango Python

13

Ejemplo
 Mostrar un mensaje indicando el tipo de carácter introducido por teclado.

def subrango(car):

'''car<- retorna mensaje'''

car = input('introduzca un caracter: ')

n=ord(car)

if n in range(ord('A'),ord('Z')+1):

print('El carácter introducido es una letra mayúscula')

elif n in range(ord('a'),ord('z')+1):

print('El carácter introducido es una letra minúscula')

elif n in range(ord('0'),ord('9')+1):

print('El carácter introducido es un número')

else:

print('El carácter introducido es un carácter especial') #Modificar código para Ñ ó ñ

3.3. Tipo vector



14

 Un vector es una agrupación ordenada, limitada y homogénea de datos del

mismo tipo. En memoria se almacenan los datos en posiciones consecutivas.



Por ejemplo: una lista de enteros podría tener los valores:

2, 3 ,4 ,5; que es distinto del vector 5, 4 ,3 ,2



 Sintaxis:

identVector = vector [subrango] de tipo



 En un vector intervien
  • Links de descarga
http://lwp-l.com/pdf14838

Comentarios de: Tema 3: Tipos de Datos Estructurados (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad