1 5.1. Concepto de tupla Las tuplas son estructuras de datos que constan de varios campos que pueden contener datos de tipos distintos. El acceso al contenido.

Slides:



Advertisements
Presentaciones similares
Introducción a C++ Sistemas Operativos
Advertisements

Abstracción de Datos Arrays.
Ejemplo de Programa C++
Listas enlazadas c++ Prof. Franklin Cedeño.
Programacion de Computadora Prof. Obadiah Oghoerore.
Programación I Teoría IV
INFORMATICA I Funciones CLASE 13.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Algoritmos y Estructuras de Datos
ESTRUCTURAS DE SECUENCIA
SOBRECARGA DE FUNCIONES
Unidad 3 Punteros.
Tablas y Cadenas CONTENIDO Tablas
Acciones y funciones Concepto
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
Tema 9 Estructuras.
Introducción a la Computación
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Sección 5-2 Estructuras de Control de Decisión Expresiones Lógicas.
ÁRBOLES BINARIOS DE BÚSQUEDA
3.1 Declaración de tablas en C
Archivos.
Estructuras.
1 3Tablas o matrices 3.1. Concepto Las tablas corresponden al concepto matemático de matriz. Todos sus elementos deben ser del mismo tipo y se accede a.
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Descomposición Modular. Funciones
Unidad VI Registros (estructuras, uniones y enumeraciones)
Tipo de Datos Básicos.
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
INTRODUCCION. LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación herramientas que nos permiten crear programas y software. EL LENGUAJE DE MAQUINA.
FIEE VARIABLES Ing. José Antonio Poma G.. FIEE Variables Una variable es un identificador (nombre de la variable) que hace referencia a.
Programación Orientada a Objetos
Introducción a los punteros Prof. Domingo Hernández.
Prof. Gonzalo Pastor struct. struct Un struct permite dividir cada posición del vector en varias partes Una estructura (struct) es un tipo de datos compuesto.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
Laboratorio Análisis y Diseño de Algoritmos 2 Biblioteca estándar de templates de C++ Standard Template Library (STL)‏ Motivación Ejemplo: Lista + Iterador.
Programación en C para electrónicos
Punteros.
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
Funciones Definidas por el Programador
APUNTADORES.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Tema ‧ Comando - while Repeticiones. Comando while ‧ Un ciclo es cualquier construcción de programa que repite una sentencia ó secuencia de sentencias.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
Registros Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes.
Registros Departamento de Computación
Fundamentos de Programación
INTRODUCCIÓN AL LENGUAJE C++. Instrucciones Temas.
INTRODUCCION A LA PROGRAMACION
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
Algoritmo.
Corporación Universitaria del Caribe CECAR Fundamentos de programación II.
Arreglos Ejemplo paso a paso. Planteamiento Como estudiante de ingeniería, quieres usar tus habilidades de programador para llevar un registro de tus.
ARREGLOS. La sintaxis para declarar e inicializar un array será: Tipo_de_variable[ ] Nombre_del_array = new Tipo_de_variable[dimensión]; También podemos.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
1 Estructuras de Datos Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Estructuras Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 25.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Registros tipo struct PROGRAMACIÓN MODULAR.
Transcripción de la presentación:

Concepto de tupla Las tuplas son estructuras de datos que constan de varios campos que pueden contener datos de tipos distintos. El acceso al contenido de los campos en las tuplas se hace utilizando el nombre de los campos en lugar de su posición. El siguiente ejemplo muestra la definición del tipo de tupla “coche” que posee cuatro campos: propietario, modelo, matrícula y año de matriculación typedef struct { char propietario[25]; char modelo[25]; char matrícula[25]; int año; } coche; coche mi_coche; Una vez definido el tipo de tupla “coche”, podemos declarar variables de tipo “coche” como de cualquier otro tipo.

Acceso y modificación #define LongPalabra 25 typedef char palabra[LongPalabra]; typedef struct { palabra propietario, modelo, matricula; ints año; } coche; int main(void) { coche mi_coche; … Una vez definida la variable “mi_coche” como una variable de tipo “coche” se puede acceder a cada uno de sus campos de la siguiente manera: mi_coche.propietario = “Jose”; mi_coche.modelo = “PV212”; cout << mi_coche.propietario << “ “ << mi_coche.modelo;

3 Las tuplas se pueden asignar y comparar globalmente siempre que no haya tablas dentro de la tupla. c1 = c2; c1== c3; Cuando hay tablas dentro de una tupla, las operaciones de asignación y comparación se hacen campo a campo. typedef char palabra[25]; typedef struct {palabra nombre; int edad; float peso; char profesion;} persona; persona p1, p2; strcpy(p1.nombre,”Pepe”); p1.edad = 25; strcpy(p2.nombre,p1.nombre); p2.edad = p1.edad;

4 Ejemplo 1: puntos del plano Para representar los puntos del plano se puede definir un tipo de tupla denominado punto con dos campos correspondientes a las coordenadas x e y. Una vez definido el tipo punto se pueden declarar variables de tipo punto, acceder a los valores de sus campos y modificarlos de la manera siguiente: typedef struct { double x, y; } punto int main(void) { punto punto1, punto2; double distancia; punto1.x = 5; punto1.y = 6; punto2.x = 1; punto2.y = 3; distancia = sqrt( pow((punto1.x - punto2.x), 2.) + pow((punto1.y - punto2.y),2) ); cout << distancia; }

5 Ejemplo 2: fecha y hora (tupla de tuplas). En este ejemplo definimos el tipo de tupla fecha que contiene cuatro campos: día, mes, año y hora. El tipo de los valores del campo “hora” es “tiempo”, que es a su vez otro tipo de tupla con tres campos: horas, minutos y segundos. typedef struct { int horas, minutos, segundos; } tiempo; typedef struct { int año, mes, día; tiempo hora; } fecha; int main(void) { fecha fecha_actual; fecha_actual.año = 2003; fecha_actual.mes = 3; fecha_actual.dia = 18; fecha_actual.hora.horas = 18; fecha_actual.hora.minutos = 30; fecha_actual.hora.segundos = 15 }

6 Ejemplo 3 Suma de los elementos de una secuencia de nú- meros complejos acabada en 0+0i. Un número complejo se representa como una tupla con dos campos: parte real y parte imaginaria. #include using namespace std; typedef struct {double re, im;} complejo; void lee_complejo(complejo& c); bool es_cero(complejo c); void escribe_complejo(complejo c); complejo suma_complejos(complejo c1, complejo c2);

7 int main (void) { complejo c, resultado; resultado.re = 0.0; resultado.im = 0.0; lee_complejo(c); while (!es_cero(c)) { resultado=suma_complejos(resultado,c); lee_complejo(c); } cout << "La suma de los complejos leidos es "; escribe_complejo(resultado); cout << endl; system("Pause"); }

8 void lee_complejo(complejo& c) { cout << "Introduzca un complejo (parte real y " << "parte imaginaria). Para terminar : " << endl; cin >> c.re; cin >>c.im; } bool es_cero(complejo c) { return c.re==0 && c.im==0; }

9 void escribe_complejo(complejo c) { cout << c.re; if (c.im>0) {cout << "+" << c.im << "i"; } else if (c.im<0) {cout << c.im << "i"; } } complejo suma_complejos(complejo c1, complejo c2) { complejo suma; suma.re=c1.re+c2.re; suma.im=c1.im+c2.im; return suma; }

Tablas de tuplas Las tuplas se pueden usar como cualquier otro tipo para definir las componentes de un vector. Por ejemplo, podemos definir una variable “coches_tienda” de tipo tabla [1..100] de coche (i.e., una tabla de tuplas) para referirnos a un grupo de coches. coche coches_tienda[100]; El acceso y la modificación de los campos de cada coche se hace del modo siguiente: coches_tienda[1].propietario = “José”; coches_tienda[1].modelo = “PV212”; coches_tienda[2].propietario = “Josefina”; coches_tienda[2].modelo = “OC111”; …