Librerías estándar en C++ STL: Standard Template Library. Álvaro Sánchez Miralles José Porras (Fidel Fernández)
|
|
- Francisco Javier Cáceres Sevilla
- hace 8 años
- Vistas:
Transcripción
1 Librerías estándar en C++ STL: Standard Template Library Álvaro Sánchez Miralles José Porras (Fidel Fernández)
2 Cadenas de caracteres Es una clase que se encuentra en librería estandar <string> Consta, entre otros, de: todo tipo de constructores string substr(unsigned int pos_ini = 0, unsigned int n = npos); Devuelve una subcadena de la cadena que lo invoca formada por los caracteres que ocupan las posiciones entre pos_ini y pos_ini+n. unsigned int find(const char *s, unsigned int pos_ini = 0); Devuelve la posición de la subcadena s dentro de la cadena que lo invoca, buscando a partir de la posición inicial pos_ini. const char *c_str(); Usada para conseguir un char* cuando se tiene una cadena de tipo string. unsigned int length(); Devuelve la longitud de la cadena de caracteres que lo invoca. Programación de Robots Móviles - Librería estándar - 2
3 Cadenas de caracteres char& operator[](unsigned int pos); Usado para acceder a cada uno de los caracteres de una cadena. El uso es el mismo que el de un vector. string& operator+=(const string& s); string& operator+=(const char *sz); Usadas para concatenar cadenas de caracteres. string& erase(unsigned int pos_ini = 0, unsigned int n = npos); Borra los caracteres entre la pos_ini y pos_ini+n de la cadena que lo invoca. bool empty(); Indica si una cadena está o no vacía. Programación de Robots Móviles - Librería estándar - 3
4 Cadenas de caracteres #include <iostream> #include <string> using namespace std; int main(int argc, char* argv[]) { // inicializaciones string scadena; string scadena2("hola2"); scadena = "hola"; cout << "1: " << scadena << " " << scadena2 << endl; // paso de char* a string y viceversa char szcadena[10]="adios"; scadena = szcadena; cout << "2: " << scadena << endl; scadena = "hola"; strcpy(szcadena,scadena.c_str()); cout << "2b: " << szcadena << endl; 1: hola hola2 2: adios 2b: hola 3: [3] a 4: hol // operaciones de acceso cout << "3: " << "[3] " << scadena[3] << endl; cout << "4: " << scadena.substr(0,3) << endl; Programación de Robots Móviles - Librería estándar - 4
5 Cadenas de caracteres } // operaciones de busqueda cout << "5: " << scadena.find("la",0) << endl; // operaciones de modificacion cout << "6: " << scadena.erase(0,2) << endl; // operación de concatenación cout << "7: " << scadena + scadena2 << endl; // operación de comparación cout << "8: " << (scadena == scadena) << endl; // otras operaciones cout << "9: " << scadena.length() << endl; return 0 5: 2 6: la 7: lahola2 8: 1 9: 2 Programación de Robots Móviles - Librería estándar - 5
6 Contenedores Contenedor: es un objeto capaz de contener otros objetos vectores (vector): acceso a objetos rápido, pero lento en inserciones y borrados. listas (list): acceso a objetos lento, pero rápido en inserciones y borrados. El manejo de una lista y de un vector es muy similar esto hace que tengan muy parecidas funciones miembro. Regla general: Si se quiere un contenedor con tamaño poco variable, usar un vector, sino usar una lista. Programación de Robots Móviles - Librería estándar - 6
7 Plantillas Las plantillas permiten programar un clase o una función de forma genérica: es decir que valga para diferentes tipos de datos. Por ejemplo int main(int argc, char* argv[]) { list<string> l_s; // lista de cadenas de caracteres vector<double> v_d; // vector de double vector<int> v_i; // vector de int... Cuando se programa: Como no se sabe el tipo de datos que va a usar se usa un tipo de datos genérico (en este caso es T) void push_back(const T& x); Esto es una función que usa como parámetro una variable x de tipo T Sólo se sabe qué es T cuando se hace una instancia de la clase; es decir, un objeto. Programación de Robots Móviles - Librería estándar - 7
8 Listas Es una clase que se encuentra en <list> Operaciones de inserción void push_back(const T& x); Inserta al final de la lista que lo invoca void push_front(const T& x); Inserta al inicio de la lista que lo invoca void insert(iterator it, unsigned int ncopias, const T& x); Inserta antes del iterador. No es más que una abstracción de un puntero a un nodo de la lista. Ver siguientes diapositivas Programación de Robots Móviles - Librería estándar - 8
9 Listas Operaciones de borrado void pop_back(); Elimina del final de la lista que lo invoca void pop_front() Elimina el primer elemento de la lista que lo invoca void clear(); Elimina todos los elementos iterator erase(iterator it); Elimina el elemento que indica el iterador. Programación de Robots Móviles - Librería estándar - 9
10 Listas Para recorrer una lista, ver Iteradores más adelante Conseguir un iterador con iterator begin(); Devuelve un iterador al principio de la lista T& front(); Devuelve el primer elemento de la lista T& back(); Devuelve el último elemento de la lista Otras operaciones unsigned int size(); bool empty(); Programación de Robots Móviles - Librería estándar - 10
11 Iteradores Definición: Un iterador es un objeto que hace las funciones de cursor puntero con el objetivo de poder acceder a los elementos de una secuencia. Es una abstración de la noción de un puntero a un elemento de una secuencia de datos (vector, lista,...) Por ejemplo: int* es un iterador de int[ ] list<int>::iterator es un iterador de la clase list. Dado un contenedor begin() end() elem[0] elem[1]... elem[n] Programación de Robots Móviles - Librería estándar - 11
12 Iteradores de una lista Iteradores de una lista iterator begin(); iterator end(); reverse_iterator rbegin(); (es bidireccional) reverse_iterator rend(); (es bidireccional) Operaciones de los iteradores Similares a los punteros void operator++() Mueve el iterador al siguiente elemento T& operator*() Devuelve el contenido apuntado por el iterador Programación de Robots Móviles - Librería estándar - 12
13 Listas ejemplo #include <iostream> #include <string> #include <list> using namespace std ; int main(int argc, char* argv[]) { list<string> List; list<string>::iterator ilist; list<string>::reverse_iterator rilist; char sznum[3]; // inserciones en la lista List.push_back("A1"); List.push_back("B2"); List.push_back("C3"); List.push_back("D4"); List.push_back("E5"); List.push_back("F6"); List.push_back("G7"); Programación de Robots Móviles - Librería estándar - 13
14 Listas ejemplo // recorrer la lista, mostrar por pantalla e insertar nodos ilist=list.begin(); cout << "La lista es: "; int itamano = List.size(); for (int i = 0; i < itamano ; i++, ilist++) { cout << *ilist << " "; List.insert(iList,1,itoa(i,szNum,10)); } // recorrer la lista en sentido inverso rilist=list.rbegin(); cout << "\nla lista 2 es: "; for (i = 0; i < List.size() ; i++, rilist++) cout << *rilist << " "; La lista es: A1 B2 C3 D4 E5 F6 G7 La lista 2 es: G7 6 F6 5 E5 4 D4 3 C3 2 B2 1 A1 0 Programación de Robots Móviles - Librería estándar - 14
15 Listas ejemplo // borrado de nodos y mostrar lista por pantalla List.pop_back(); List.pop_front(); ilist=list.begin(); cout << "\nla lista 3 es: "; for (i = 0; i < List.size() ; i++, ilist++) cout << *ilist << " "; } // funciones de vaciado de lista cout << "\nvacia? " << List.empty(); List.clear(); cout << "\nvacia de nuevo? " << List.empty(); return 0; La lista 3 es: A1 1 B2 2 C3 3 D4 4 E5 5 F6 6 Vacia? 0 Vacia de nuevo? 1 Programación de Robots Móviles - Librería estándar - 15
16 Vectores Es una clase que se encuentra en <vector> Operaciones de inserción void push_back(const T& x); void insert(iterator it, unsigned int ncopias, const T& x); Operaciones de borrado void pop_back(); void clear(); iterator erase(iterator it); Para recorrer un vector, ver Iteradores conseguir un iterador con iterator begin(); T& front(); T& back(); T& operator[](unsigned int pos); Programación de Robots Móviles - Librería estándar - 16
17 Vector ejemplo #include <iostream> #include <string> #include <vector> using namespace std ; int main(int argc, char* argv[]) { vector<string> Vector(1); vector<string>::iterator ivector; vector<string>::reverse_iterator rivector; // inserciones en el vector Vector[0] = "A1"; Vector.push_back("B2"); Vector.push_back("C3"); Vector.push_back("D4"); Vector.push_back("E5"); Vector.push_back("F6"); Vector.push_back("G7"); Programación de Robots Móviles - Librería estándar - 17
18 Vector ejemplo // recorrer el vector, mostrar por pantalla cout << "\nel vector es: "; ivector=vector.begin(); cout << Vector[0] << " "; ivector++; for (i = 1; i < Vector.size() ; i++, ivector++) cout << *ivector << " "; // inseción de nodos de otra manera Vector.resize(8); Vector[7] = "8"; ivector=vector.end(); Vector.insert(iVector,2,"9"); // recorrer la lista en sentido inverso rivector=vector.rbegin(); cout << "\nel vector 2 es: "; for (i = 0; i < Vector.size() ; i++, rivector++) cout << *rivector << " "; El vector es: A1 B2 C3 D4 E5 F6 G7 El vector 2 es: G7 F6 E5 D4 C3 B2 A1 Programación de Robots Móviles - Librería estándar - 18
19 Vector ejemplo // borrado de nodos y mostrar vector por pantalla Vector.pop_back(); ivector=vector.begin(); cout << "\nel vector 3 es: "; for (i = 0; i < Vector.size() ; i++, ivector++) cout << *ivector << " "; } // funciones de vaciado de vector cout << "\nvacio? " << Vector.empty(); Vector.clear(); cout << "\nvacio de nuevo? " << Vector.empty(); return 0; El vector 3 es: A1 B2 C3 D4 E5 F6 G7 8 9 Vacio? 0 Vacio de nuevo? 1 Programación de Robots Móviles - Librería estándar - 19
20 Ejercicio Modificar la clase CPoligono y CEntorno, para que en vez de usar un vector [] de C, use un contenedor de la librería estándar de C++ Se usará una lista o un vector? Programación de Robots Móviles - Librería estándar - 20
21 Nuestras limitaciones La programación con plantillas o templates no es objetivo de este curso, es complicada y truculenta. Diseñar plantillas es todo un arte y permite dar mucha flexibilidad a los programas Existen alternativas para no usar plantillas, pero que requieren conocimientos muy avanzados de C++ para conseguir lo mismo que con ellas En este curso sólo hace falta saber utilizarlas para poder usar la librería estándar de C++, que está toda construida con plantillas, de ahí su nombre. (STL: standard template library) La librería estándar define muchos más conceptos Más contenedores: map, multimap, set, etc. Más iteradores Más conceptos: secuencias, algoritmos, alocadores, gestión de errores, etc. Programación de Robots Móviles - Librería estándar - 21
STL: Standard Template Library
STL: Standard Template Library Estructuras de Datos Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Consideraciones de diseño Programas = Algoritmos + Datos (ecuación
Más detallesSTL: Standard Template Library
SEMINARIO C++ STL: Standard Template Library v. 20100915 Programación orientada a objetos Curso 10-11 ÍNDICE 1. Objetivo 2. El contenedor vector 3. Iteradores 4. Operaciones 5. Operadores 2 OBJETIVO La
Más detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesTema 7. Colas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine,
Tema 7. Colas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información Universitat Jaume
Más detallesEl lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Más detallesIntroducción al tipo de dato ARRAY
CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción
Más detallesTema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.
: Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en
Más detallesCapítulo 6. Introducción a la POO
Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesMPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.
Programación paralela en MPI MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Introducción a MPI MPI fue creado en 1993 como
Más detallesCONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida
INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación
Más detallesPROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE
L11 CONSTRUCTORES DEL LENGUAJE CLASES class { } PLANTILLAS template { } ESPACIOS DE NOMBRES namespace { } EXCEPCIONES try catch.. SOBRECARGA DE OPERADORES operator (parametros) BIBLIOTECA
Más detallesPráctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);
Práctica de gsoap Para desarrollar programas que utilicen gsoap para llevar a cabo las comunicaciones, debemos bajar el paquete gsoap linux 2.7.tgz disponible en: http://atc.ugr.es/pedro/docencia/irhc/irhc.html
Más detallesPunteros. Definición Un puntero es un dato que contiene una dirección de memoria.
Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea
Más detallesEsquema de un programa en C: bloques básicos
Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,
Más detallesArrays y Cadenas en C
Arrays y Cadenas en C Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria. Las cadenas de caracteres son declaradas en C como arrays de caracteres y
Más detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detallesÁrboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores
Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,
Más detallesInformática Industrial I
Informática Industrial I Grado en Ingeniería en Electrónica Industrial y Automática Álvaro Castro González Nicolas Burus Mohamed Abderrahim José Carlos Castillo Montoya Práctica 6 Plantillas A lo largo
Más detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Más detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final
Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón
Más detallesESTRUCTURA DE DATOS: ARREGLOS
ESTRUCTURA DE DATOS: ARREGLOS 1. Introduccion 2. Arreglos - Concepto - Caracteristicas 3. Arreglos Unidimensionales 4. Arreglos Bidimensionales 5. Ventajas del uso de arreglos 6. Ejemplo 1. Introducción
Más detallesObjective C (Desarrollo con Apple)
1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesIntroducción al laboratorio de Programación I
Introducción al laboratorio de Programación I Manuel Montenegro montenegro@fdi.ucm.es es Despacho B12 Compilación Es el proceso de transformación de un programa escrito en un lenguaje de alto nivel (en
Más detallesExamen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesTEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8
TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN
Más detallesPlantillas: un mecanismo de polimorfismo
Plantillas: un mecanismo de polimorfismo UPCO ICAI Departamento de Electrónica y Automática 1 Polimorfismo a través de programación genérica Las plantillas permiten programar un clase o una función de
Más detallesFunciones mas importantes para el manejo de Caracteres
Caracteres Un carácter es un símbolo que la computadora puede representar. Cuando se asigna una constante de carácter a una variable tipo char, esta debe estar entre apostrofes. char letra= a ; Funciones
Más detallesTema: Clases y Objetos en C++.
1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica
Más detallesINTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS
CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO
Más detalles1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)
1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los
Más detallesUNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO. Introducción FACULTAD DE INGENIERÍA. Ordenación
Introducción Uno de los procedimientos más comunes y útiles en el procesamiento de datos, es la clasificación u ordenación de los mismos. Se considera ordenar al proceso de reorganizar un conjunto dado
Más detallesInformática FACULTAD DE FÍSICAS
EJERCICIOS RESUELTOS EN CLASE DE TEORÍA 1. Realizar un programa que pida 10 números enteros y calcule la media de dichos valores. Realizar una función/procedimiento para rellenar los valores en un vector
Más detallesTema 2. El lenguaje de programación Java. Arrays y cadenas
Programación en Java Tema 2. El lenguaje de programación Java. Arrays y cadenas Luis Rodríguez Baena Facultad de Informática Arrays y colecciones Hay dos formas de guardar varias referencias a objetos:
Más detallesTema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos
Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo
Más detallesVectors (Vectores) Agustín J. González ELO329
Vectors (Vectores) Agustín J. González ELO329 Contenidos Qué es un vector? Declaración de Objetos Vectores Inserción y eliminación de itemes Uso de sub-índices Obtención y modificación del tamaño Pre-asignación
Más detallesPROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07
PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada
Más detallesARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES
ARBOLES ARBOLES BINARIOS ORDENADOS. REPRESENTACIÓN Y OPERACIONES Introducción al tema a. Formar grupos de 4 personas b. Tomar una hoja en blanco y una lapicera o lápiz c. En la hoja en blanco diseña un
Más detallesTrabajo Práctico N 4: Diseño por Contratos
1. Defina los contratos de las siguientes clases: Trabajo Práctico N 4: Diseño por Contratos a. La clase Fecha representa una fecha en el formato dia, mes y año. Especificar los contratos para asegurar
Más detallesUn elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista:
Tipos Abstractos de Datos: TAD Lista en educación Profesional 1.- Introducción Los tipos abstractos de datos son fundamentales para la informática puesto que de ellos se sirven todos los programas para
Más detallesTIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS
ESTRUCTURAS CONTENIDOS 1. Concepto de estructura 2. Definición del tipo de dato estructura 3. Declaración de variables de tipo estructura 4. Inicialización de variables de tipo estructura 5. Acceso a los
Más detallesTema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz
Tema 8. Listas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz}@icc.uji.es Estructuras de datos y de la información Universitat
Más detallesTipos Abstractos de Datos
Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal
Más detallesClases y Objetos. Informática II Ingeniería Electrónica
Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),
Más detallesSEGUNDO PARCIAL INFORMATICA II
SEGUNDO PARCIAL INFORMATICA II Tema 1 Hacer un programa en C++ que realice lo siguiente: a. Generar los primeros 100 números enteros comenzando en 1 y guardar los impares en una pila y los pares en una
Más detallesTema: Patrones de Diseño.
Programación II. Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Patrones de Diseño. Objetivos Específicos Implementar la aplicación de patrones de diseño como herramientas
Más detallesImpresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return
Más detallesMódulo II - PowerPoint
Módulo II - PowerPoint Índice Copiando diapositivas Menú Edición... 2 Copiando diapositivas utilizando la barra de herramientas... 3 Copiando diapositivas utilizando el menú contextual... 3 Copiando diapositivas
Más detallesOrganización de Computadoras
Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal
Más detalles11. Algunas clases estándar de Java (II)
122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación
Más detallesFundamentos de Programción (I)
Fundamentos de Programción (I) Algoritmos Entrada y Salida en C++ Fundamentos de programación Objetivo: Traducir nuestras ideas a un nuevo lenguaje de programación para resolver un problema. Problema Método
Más detallesProgramación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas
Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : Aprender qué es un diseño modular de un programa Aprender a diseñar
Más detallesESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO Contenido Introducción... 1 Concepto de la Herencia... 2 Relación de
Más detallesPráctica 2: Simón dice
Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia
Más detallesVectores. 27/05/05 Programación Digital I 1
Vectores Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación
Más detallesGrados Ing. Inf. y Mat. Inf. Julio 2014 Algoritmos y Estructura de Datos Página 1 de 6
Grados Ing. Inf. y Mat. Inf. Julio 201 Algoritmos y Estructura de Datos Página 1 de 6 Algoritmos y Estructura de Datos: Examen Julio (Solución) Grados Ing. Inf. y Mat. Inf. Julio 201 Departamento de Lenguajes,
Más detallesProgramación Orientada Objetos. Problemas, soluciones y Programas
Programación Orientada Objetos Problemas, soluciones y Programas Objetivos pedagógicos Explicar el proceso global de solución de un problema usando un programa de computador. Esto incluye las etapas que
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detalles10. Algunas clases estándar de Java (I)
Programación orientada a objetos con Java 113 10. Algunas clases estándar de Java (I) Objetivos: a) Presentar algunas de las clases predefinidas en Java b) Interpretar el código fuente de una aplicación
Más detallesQue es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.
Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos. Qué es PHP? PHP (Hypertext Preprocessor). Es un lenguaje de programación: De código
Más detallesProblema - Votación. Entrada. Salida. Primera Olimpiada de Informática 1
Primera Olimpiada de Informática 1 Problema - Votación La familia Perez ha organizado una parrillada un sábado por la mañana. Para cada uno de los invitados hay exactamente una chuleta. Pero como siempre,
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 6 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 6 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase
Más detallesContenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones
Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.
Más detallesModulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Más detallesInstituto de Computación - Facultad de Ingeniería - Universidad de la República
Parcial de Programación 2 Julio de 2011 Generalidades: La prueba es individual y sin material. Duración: 3hs. Sólo se contestan dudas acerca de la letra de los ejercicios. Escriba las hojas de un sólo
Más detallesEstructuras de Datos y Algoritmos. Curso 2009/2010. Tema 5: Algoritmos voraces
Estructuras de Datos y Algoritmos Facultad de Informática Universidad Politécnica de Valencia Curso 2009/2010 Tema 5: Algoritmos voraces FI UPV: Curso 2009/2010 TEMA 5. Algoritmos voraces Objetivos Estudio
Más detallesProgramación en C++/Funciones
Programación en C++/Funciones 1 Programación en C++/Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede
Más detalles9. Objetos y clases. 9.1. Clases
Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java
Más detallesTema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código
Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación
Más detallesINSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++
5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un
Más detallesTema: Plantillas en C++.
Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de
Más detallesEntrada y salida de datos en C y C++
Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida
Más detallesCurso 0 de Informática
Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,
Más detallesContenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
Más detallesTema 4: Estructuras de Control Estructura y Contenidos
Tema 4: Estructuras de Control Estructura y Contenidos 4.1. ESTRUCTURA SECUENCIAL. 4.2. ESTRUCTURAS DE SELECCIÓN. 4.2.1. Selección simple ( if ). 4.2.2. Selección binaria ( if... ). 4.2.3. Selección múltiple
Más detallesRESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
Más detallesPART II: Moviendo al jugador
UNITY PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica
Más detallesTIPOS DE RESTRICCIONES
RESTRICCIONES: Las restricciones son reglas que determinan la posición relativa de las distintas geometrías existentes en el archivo de trabajo. Para poder aplicarlas con rigor es preciso entender el grado
Más detallesTema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas
Tema 1. Programación modular Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas 1.1. Objetivos Repasar brevemente mediante ejemplos los elementos principales del lenguaje
Más detallesPráctica 2 Gráficos Vectoriales con SVG (versión 29.09.14)
Práctica 2 Gráficos Vectoriales con SVG (versión 29.09.14) Programación 3 Curso 2011-2012 Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante 1. Introducción En esta segunda práctica
Más detallesPaso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1.
Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Anjuta es un entorno de desarrollo de C que podemos encontrar en cualquier distribución de GNU/Linux. Si nuestra distribución no dispone de ella,
Más detallesAplicaciones seguras con ClaseSeguridad
Aplicaciones seguras con ClaseSeguridad Índice de contenido Por que ClaseSeguridad?...1 Referenciar ClaseSeguridad...1 Declaración y creación...1 Evitar inyección de SQL...1 Eliminar etiquetas...3 Evitar
Más detallesPowerPoint 2010 Modificar el diseño de las diapositivas
PowerPoint 2010 Modificar el diseño de las diapositivas Contenido CONTENIDO... 1 MODIFICAR EL DISEÑO DE LAS DIAPOSITIVAS... 2 DISEÑO DE DIAPOSITIVAS EN POWERPOINT WEB APP... 13 1 Modificar el diseño de
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesProgramación Orientada a Objetos con Java
Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la
Más detallesPráctica 4: Tipos de Datos Jerárquicos Servidor de Nombres de Dominio
Práctica 4: Tipos de Datos Jerárquicos Servidor de Nombres de Dominio Estructuras de Datos 2009-2010 1. Objetivo El objetivo de la práctica es que el alumno se familiarice con el uso de los TDA jerárquicos
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesSea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:
Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): 1 /* c0p1 origen destino 2 * Copia "origen" sobre "destino" byte a byte, 3 * haciendo
Más detallesUna variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.
Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden
Más detallesLenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo
Más detallesProgramación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Más detallesTema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.
Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas
Más detallesde plantillas (STL) La librería estándar Contenedores Juan Hernando Vieites
La librería estándar Librería estándar de plantillas (STL) Juan Hernando Vieites La librería estándar de plantillas de C++ (Standard Template Library, STL) es un conjunto de clases y funciones genéricas.
Más detallesEstructuras de Datos y Algoritmos Práctica I - Curso 2012/13
Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso
Más detalles