ELO3201 Vectores (Vector) Agustín J. González ELO320.

Slides:



Advertisements
Presentaciones similares
Introducción al lenguaje C
Advertisements

Punteros Universidad Nacional Mayor de San Marcos
INFORMATICA I Arreglos 2 CLASE 18.
Informática II Prof. Dr. Gustavo Patiño MJ
INFORMATICA I Funciones CLASE 13.
Algoritmos y Estructuras de Datos
SOBRECARGA DE FUNCIONES
Estructuras de Datos Punteros y algo más.
Unidad 3 Punteros.
Vectores en java.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Introducción a clases Programación Orientada a Objetos.
Programación orientada a objetos
Manejo de Excepciones Agustín J. González ELO329.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Introducción a los punteros
Plantillas (Templates)‏ Agustín J. González ELO-329.
Arreglos.
Programación III Clase 06 Funciones.
Vectors (Vectores) Agustin J. González ELO329. Contenidos Qué es un vector? Declaración de Objetos Vectores Inserción y eliminación de items Uso de sub-índices.
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.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
ESTRUCTURA DE DATOS EN JAVA
Computación II Unidad IV Funciones y Módulos. Objetivos: –Comprender como construir programas en forma modular partiendo de pequeñas partes conocidas.
El lenguaje de programación C - Vectores y matrices -
Programación Orientada a Objetos
1 6. PARAMETRIZACIÓN. 2 Parametrización La parametrización permite realizar una abstracción de la identidad de varios ejemplos de los datos Los valores.
1 Polimorfismo y Métodos Virtuales Agustín J. González ELO329.
1 Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 329.
1 Polimorfismo y Funciones Virtuales Agustín J. González ELO329.
ELO3201 C++ Biblioteca Estándar de Templates Standar Template Library Agustín J. González ELO320.
Manejo de Punteros y objetos en memoria dinámica en C++
Dinamismo y Contenedores Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires (C++ Avanzado) Depto. de Computación Algoritmos y Estructuras.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
1 Algunas ideas básicas de C++ Agustín J. González ELO-320.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González ELO329.
ELO3291 Manejo de Excepciones Lectura sugerida de texto en linea: Eckel, Bruce. Thinking About C++, 2nd Edition, Prentice-Hall, Gratis en
1 Definición y Conversión de datos Agustín J. González ELO-329.
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO326: Seminario II 2do. Sem
1 Polimorfismo y Funciones Virtuales Agustín J. González Versión original de Kip Irvine ELO329.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend) Agustín J. González Versión Original de Kip Irvine ELO329.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
1 Funciones Agustín J. González Versión Original de Kip Irvine ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Modularización (Funciones) Prof. Miguel Vélez Rubio.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
Polimorfismo y Métodos Virtuales Agustín J. González ELO329.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
ELO3291 Manejo de Excepciones Agustín J. González ELO329.
LENGUAJE “C” Programación.
1 Funciones en C++: Nota: Este material es de estudio personal, en clases sólo revisaremos las láminas con. Usted revise todo. Agustín J. González ELO329.
1 Miembros Estáticos (Static) de Clases y Funciones Amigas (Friend)‏ Agustín J. González ELO329.
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
C Por Isaí Landa. C C es un lenguaje de programación ¿Quién es C? ¿Cuál es el mundo de C? El mundo de C es un conjunto de cajas. Las cajas guardarán números.
ARRAYS Y COLECCIONES DE DATOS. ARRAYS Arrays – Matriz – Vector Elemento del lenguaje que nos permite agrupar un conjunto de valores del mismo tipo, y.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Algunas Características de C++ no presentes en C Agustín J. González ELO-329.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computació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.
Manejo de Excepciones Agustín J. González ELO329 ELO329.
Vectores (Vector) Agustín J. González ELO320 ELO320.
Manejo de Excepciones Agustín J. González ELO329 ELO329.
Transcripción de la presentación:

ELO3201 Vectores (Vector) Agustín J. González ELO320

2 Plantillas (Templates) Como podemos definir una colección de datos sin comprometer el tipo de datos siendo agrupados? La idea de una template es poder parametrizar el tipo de datos que una clase puede contener Se puede pensar un template como una función con parámetro, en donde el parámetro es un tipo de dato.

ELO3203 Ejemplos: Plantillas (Templates) Ejemplo de Template de una función template T max(T a, T b) // return the maximum of a and b { if (a < b) return b; return a; } template void swap (T & a, T & b) // swap the values held by a and b { T temp = a; a = b; b = temp; }

ELO3204 Declaración de tipos basados en templates Para declarar un valor (variable, o mejor objeto) con un tipo template (plantilla), el tipo se indica en paréntesis. vector a(10); vector b(30); vector c(15);

ELO3205 Operaciones sobre vectores

ELO3206 Tamaño de un vector El vector mantiene un buffer interno. El tamaño de este buffer permite almacenar al menos tantos elementos como los contenidos en el vector. Los dos tamaños pueden ser accedidos y cambiados a través de llamados a funciones.

ELO3207 Ejemplo: generador de sentencias Cada sentencia puede ser vista como la combinación de un sujeto un verbo y un complemento. Asignaremos tres vectores inicialmente vacíos para cada uno de estas categorías de datos. vector sujeto, verbo, complemento. Luego ponemos valores. Los vectores se adecuan al tamaño automáticamente. sujeto.push_back(“Paula”); sujeto.push_back(“Gato”); sujeto.push_back(“gente”); sujeto.push_back(“Profe”); verbo.push_back(“come”); verbo.push_back(“pinta”); verbo.push_back(“ayuda”);

ELO3208 Ejemplo: generador de sentencias complemento.push_back(“ratón”); complemento.push_back(“estudiantes”); complemento.push_back(“cuadros”); Luego podemos formar sentencias con for (int i=0; i < 10; i++) cout << sujeto[rand()%sujeto.size()] << “ “ verbo[rand()%verbo.size()] << “ “ complemento[rand()%complemento.size()]; Una posible salida es: Gato come ratón Paula pinta cuadros Gente come cuadros...

ELO3209 Algoritmos genéricos útiles con vectores

ELO32010 Algoritmos genéricos útiles con vectores (cont)

ELO32011 Ejemplo: Cuenta de elementos vector ::iterator start = aVec.begin(); vector ::iterator stop = aVec.end(); if (find(start, stop, 17) != stop)...// element has been found int counter = 0; count (start, stop, 17, counter); if (counter != 0)...// element is in collection

ELO32012 La historia sigue.. Por ejemplo listas

ELO32013 Tipos para organizar colecciones (Contenedores)