PDF de programación - 5. Tipos de datos estructurados

Imágen de pdf 5. Tipos de datos estructurados

5. Tipos de datos estructuradosgráfica de visualizaciones

Actualizado el 14 de Enero del 2019 (Publicado el 17 de Diciembre del 2018)
2.357 visualizaciones desde el 17 de Diciembre del 2018
4,4 MB
51 paginas
Creado hace 10a (21/01/2014)
Fundamentos de la programación

5555

I
I

Grados en Ingeniería Informática, Ingeniería
Grados en Ingeniería Informática, Ingeniería
dlSf
dlSf
d
d
i
i
í d C
í d C
del Software e Ingeniería de Computadores
del Software e Ingeniería de Computadores
Ana Gil
Ana Gil Luezas
Luezas
(adaptadas del original de Luis Hernández Yáñez)
(adaptadas del original de Luis Hernández Yáñez)
FacultaddeInformática
FacultaddeInformática
Facultad de Informática
Facultad de Informática
Universidad Complutense
Universidad Complutense

Tipos de datos
Tipos de datos
Estructuras
Estructuras

Estructuras dentro de estructuras
Estructuras dentro de estructuras
Arrays de estructuras
Arrays
de estructuras
Arrays dentro de estructuras
Arrays
Arrays
Arrays dentro de estructuras
dentro de estructuras
dentro de estructuras

Listas de longitud variable
Listas de longitud variable

Insertar
Insertar
Eliminar
Eliminar
Eliminar
Eliminar
Buscar
Buscar

Cadenas de caracteres de tipo string
string
Cadenas de caracteres de tipo
Entrada/salida con string
string
ii
Entrada/salida con
Operaciones con string
string
Operaciones con
Un ejemplo completo
Un ejemplo completo

d /
d /

l d
l d

22
55
1111
1212
1313
1313
1414
1616
1818
1818
2020
2323
2626
2828
3232

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 22

Clasificación de tipos
Clasificación de tipos

Simples
Simples
 Primitivos:
 Primitivos:
Primitivos: intint,, float
Primitivos: intint, , float
float,, double
float, , double
double,, charchar,, boolbool
double, , charchar, , boolbool
Conjunto de valores predeterminado
Conjunto de valores predeterminado
Definidosporelusuario: enumerados
 Definidosporelusuario:
 Definidos por el usuario:
Definidos por el usuario: enumerados
Conjunto de valores definido por el programador
Conjunto de valores definido por el programador
d
Estructurados
E
E
Estructurados
d
 Colecciones homogéneas:
Colecciones homogéneas: arrays
Td
Td
Todos los elementos del mismo tipo
Todos los elementos del mismo tipo
l
l
i
i
dl
dl
l
l
i
i
 Colecciones heterogéneas:
Colecciones heterogéneas: estructuras
d
t
L
L
l
l
t
d
d ti
d ti
ditit
ditit
Los elementos pueden ser de tipos distintos
Los elementos pueden ser de tipos distintos

enumerados
enumerados

arrays

estructuras









Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 33

Colecciones o tipos aglomerados
Colecciones o tipos aglomerados

tabla
tabla
registro

Agrupaciones de datos:
Agrupaciones de datos:
Todos
Todosdeldelmismomismotipotipo:: array
Todos
Todosdeldelmismomismotipotipo:: array
arrayoo tabla
arrayoo tabla
estructuraoo registro
DeDetipos
tiposdistintos
distintos:: estructura
)
Arrays (tablas)
A
A
Arrays (tablas)
( bl
( bl
)
Elementos organizados por posición: 0, 1, 2, 3, ...
Elementos organizados por posición: 0, 1, 2, 3, ...
Acceso por índice: 0, 1, 2, 3, ...
Acceso por índice: 0, 1, 2, 3, ...
Una o varias dimensiones
Una o varias dimensiones
Estructuras (registros)
Estructuras (registros)
Elementos(campos)sinordenestablecido
Elementos(campos)sinordenestablecido
Elementos (campos) sin orden establecido
Elementos (campos) sin orden establecido
Acceso por nombre
Acceso por nombre

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 44

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 55

Colecciones heterogéneas (registros)
Colecciones heterogéneas (registros)

campos

Elementos de (posiblemente) distintos tipos:
Elementos de (posiblemente) distintos tipos: campos
Camposidentificadosporsunombre
Camposidentificadosporsunombre
Campos identificados por su nombre
Campos identificados por su nombre
Accesoacadaelementoporsunombredecampo(operador
Accesoacadaelementoporsunombredecampo(operador))
Acceso a cada elemento por su nombre de campo (operador
Acceso a cada elemento por su nombre de campo (operador..))

Información relacionada que se puede manejar como una unidad
Información relacionada que se puede manejar como una unidad

struct { {
typedef
typedef struct
nombre_de_campo1;;
tipo1
tipo1 nombre_de_campo1
nombre_de_campo2;;
tipo2
tipo2 nombre_de_campo2
......
// nombre de tipo al final
pp ;; //
//
} } tTipo
tTipo; ; // nombre de tipo al final
}}

p
p

struct
struct

{{

Campo
Campo

}}

Identificador
Identificador

;;

Campo
Campo
Campo
Campo
pppp

TipoTipo
pp

Identificador
Identificador

;;
;;

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 66

typedef
typedef struct
struct {{
nombre_de_campo1;;
tipo1 nombre_de_campo1
tipo1
nombre_de_campo2;;
tipo2
tipo2 nombre_de_campo2
// declaraciones de campos (como variables)
...
// declaraciones de campos (como variables)
... // declaraciones de campos (como variables)
// declaraciones de campos (como variables)
tTipo; ; // nombre de tipo al final
} } tTipo
// nombre de tipo al final

struct {{
typedef
typedef struct
string
string nombre;
nombre;
string
string apellidos;
apellidos;
intint edad;
edad;
string
string nifnif;;
string
string nifnif;;
} } tPersona
tPersona;;

Campos:
Campos:
Campos:
Campos:
Tipos estándar o previamente declarado
Tipos estándar o previamente declarado

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 77

tPersonacontienen cuatro datos (campos):
contienen cuatro datos (campos):

edad
edad
edad
edad

nifnif
nifnif

(
(

tPersona persona;
tPersona
tPersona
tPersona persona;
persona;
persona;

nombre
nombre
nombre
nombre

apellidos
apellidos
apellidos
apellidos

Usamos el tipo para declarar variables:
Usamos el tipo para declarar variables:
Las variables de tipo
Las variables de tipo tPersona
Acceso a los campos con el operador punto (
Acceso a los campos con el operador punto (..):):
Podemos copiar dos estructuras directamente:
Podemos copiar dos estructuras directamente:
pp
Se copian como bloque o campo a campo?
Se copian como
bloque o campo a campo?

persona.nombre // una cadena (string)
// una cadena (string)
persona.nombre
pp
g)
g)
//
//
persona.apellidos
persona.apellidos // una cadena (string)
// una cadena (string)
// un entero (int)
// un entero (int)
persona.edad
persona.edad
persona.nif // una cadena (string)
persona.nif
// una cadena (string)

tPersona persona1, persona2;
tPersona
persona1, persona2;
......
persona2 = persona1;
persona2 = persona1;

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 88

struct {{
typedef
typedef struct
string
string nombre;
nombre;
gg
;;
string
string apellidos;
apellidos;
intint edad;
edad;
string
string nif;
string
string nif;
nif;
nif;
} } tPersona
tPersona;;
tPersona persona;
tPersona
persona;

persona
persona
persona
persona

nombre
Luis Antonio
nombre Luis Antonio
Luis Antonio
Luis Antonio
nombre
nombre
nombre
nombre

apellidos
Hernández Yáñez
apellidos Hernández Yáñez
Hernández Yáñez
Hernández Yáñez
Hernández Yáñez
Hernández Yáñez
apellidos Hernández Yáñez
Hernández Yáñez
apellidos
apellidos
apellidos
apellidos
apellidos
apellidos
apellidos
apellidos
apellidos

edadedad
edadedadedadedad

2222
2222

nifnif 00223344F
00223344F
00223344F
00223344F
nifnifnifnif

Memoria
Memoria

Luis
Luis
Antonio
Antonio

persona.nombre
persona.nombre

persona.apellidos
persona.apellidos
p
p

p
p

Hernández
Hernández
YáñeYáñe
Yáñez
Yáñez

persona.edad
persona.edad
pp

2222

persona.nif
persona.nif

00223344F
00223344F

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 99

struct {{
typedef
typedef struct
string
string
string nombre;
nombre;
string nombre;
nombre;
string
string apellidos;
apellidos;
intint edad;
edad;
string nif;
string
nif;
} } tPersona
tPersona;;
tPersona persona;
tPersona
tPersona
tPersona persona;
persona;
persona;

Acceso directo por nombre de campo (operador ..))
Accesodirectopornombredecampo(operador
Accesodirectopornombredecampo(operador ))
Acceso directo por nombre de campo (operador
Con cada campo se puede hacer lo que permita su tipo
Con cada campo se puede hacer lo que permita su tipo
Lasestructurassepasanalossubprogramas
Lasestructurassepasanalossubprogramas
Lasestructurassepasanalossubprogramas
Lasestructurassepasanalossubprogramas
Las estructuras se pasan a los subprogramas
Las estructuras se pasan a los subprogramas
Las estructuras se pasan a los subprogramas
Las estructuras se pasan a los subprogramas
por valor (sin &) o por referencia (con &)
por valor (sin &) o por referencia (con &)
por valor (sin &) o por referencia (con &)
por valor (sin &) o por referencia (con &)

Fundamentos de la programación: Tipos de datos estructurados
Fundamentos de la programación: Tipos de datos estructurados

Página
Página 1010

typedef
typedef struct

struct {{

intint dnidni;;
intint dnidni;;
char
char letra;
letra;
}} tNif
tNif;;

typedef
typedef struct

struct { {

......
tNif
tNif nif;
nif;
} } tPersona
tPersona;;

tPersona persona;
tPersona
persona;

Acceso al NIF :
Acceso al NIF :
Acceso a la letra del NIF:
Acceso a la letra del NIF:
AccesoalDNI:
AccesoalDNI:
Acceso al DNI:
Acceso al DNI:

persona.nif.letra
persona.nif.letra

persona nif // Otra estructura
persona nif
persona.nif
persona.nif // Otra estructura
// Otra estructura
// Otra estructura

tPersona
tPersona
tPersona
tPersona
tPersona
tPersona

nombre
nombre
nombre
nombre
nombre
nombre
apellidos
apellidos
apellidos
apellidos
apellidos
apellidos
e
  • Links de descarga
http://lwp-l.com/pdf14567

Comentarios de: 5. 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