Programación 1 Desarrollo de proyectos de programación. Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras
|
|
- Francisco José Camacho Sosa
- hace 6 años
- Vistas:
Transcripción
1 Programación 1 Desarrollo de proyectos de programación Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras
2 Objetivo del proyecto Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras del alfabeto inglés: Nombre del módulo: conjunto Definición del tipo de datos Conjunto Un dato de tipo Conjunto tendrá como valor un conjunto de letras del alfabeto inglés: A, B, C,, X, Y, Z Colección de operaciones (funciones C++) que faciliten el trabajo con conjuntos de letras del alfabeto, es decir, con datos de tipo Conjunto
3 Análisis Qué es un conjunto? Una colección de elementos distintos Qué es un conjunto de letras del alfabeto inglés? Una colección de letras distintas del alfabeto inglés
4 Análisis. Conjuntos y elementos Conjunto vacío de letras { Conjuntos con un solo elemento { A { K Conjunto con dos elementos { X, H Conjunto con tres elementos { A, Z, G Conjunto de las letras vocales { A, E, I, O, U Conjunto de las letras de la J a la P { J, K, L, M, N, O, P Conjunto de todas las letras (Conjunto universal) { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z
5 Análisis. Pertenencia Ningún elemento (letra del alfabeto) pertenece al conjunto vacío { A { B { C { Sólo la letra A pertenece al conjunto { A A { A B { A C { A Solo las cinco letras vocales pertenecen al conjunto { A, E, I, O, U A { A, E, I, O, U E { A, E, I, O, U I { A, E, I, O, U O { A, E, I, O, U U { A, E, I, O, U B { A, E, I, O, U C { A, E, I, O, U Y { A, E, I, O, U Z { A, E, I, O, U
6 Análisis. Cardinal El cardinal de un conjunto es el número de elementos que pertenecen a él. El cardinal de { es 0 El cardinal de { A es 1 El cardinal de { A, E, I, O, U es 5 El cardinal de { J, K, L, M, N, O, P es 7 El cardinal de { A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z es 26
7 Análisis. Unión La unión de dos conjuntos A y B es un conjunto A B tal que pertenecen a A B exclusivamente los elementos que pertenecen a A o que pertenecen a B. { { A, E, I, O, U = { A, E, I, O, U { A, B, C, E { A, E, I, O, U = { A, B, C, E, I, O, U { A, B, H { Z, Y, H, B = { A, B, H, Y, Z
8 Análisis. Intersección La intersección de dos conjuntos A y B es un conjunto A B tal que pertenecen a A B exclusivamente los elementos que pertenecen a A y también a B. { { A, E, I, O, U = { { A, B, C, E { A, E, I, O, U = { A, E { A, B, H, Z, E { Z, Y, H, B = { B, H, Z
9 Análisis. Diferencia La diferencia de dos conjuntos A y B es un conjunto A\B tal que pertenecen a A\B exclusivamente los elementos que pertenecen a A y no pertenecen a B. { \ { A, E, I, O, U = { { A, E, I, O, U \ { = { A, E, I, O, U { A, B, C, E \ { A, E, I, O, U = { B, C { A, E, I, O, U \ { A, B, C, E = { I, O, U { A, B, H \ { Z, Y, H, B = { A { Z, Y, H, B \ { A, B, H = { Z, Y
10 Diseño. Representación Definición de los datos de tipo Conjunto que representan un conjunto de letras del alfabeto inglés: Para ello se definirá un registro con uno o más campos: struct Conjunto {... ; La definición del tipo Conjunto deberá facilitar el diseño algorítmico de las operaciones asociadas al tipo y velar por la eficiencia de estas.
11 Diseño. Operaciones Funciones C++ para facilitar el trabajo con datos de tipo Conjunto. Definición de conjuntos con Álgebra de conjuntos valores bien definidos Unión Conjunto vacío Intersección Inclusión de una letra Diferencia Exclusión de una letra Consulta Pertenencia de un elemento Cardinal Persistencia en ficheros binarios Escritura de una tabla de conjuntos Lectura de una tabla de conjuntos Presentar en la pantalla
12 Representación 1. Tabla de booleanos const int MAX_ELEMENTOS = 'Z' - 'A' + 1; * Representación de un conjunto de letras del alfabeto inglés: * elemento[0] <=> la letra A pertenece al conjunto * elemento[1] <=> la letra B pertenece al conjunto *... * elemento[max_elementos - 2] <=> Y pertenece al conjunto * elemento[max_elementos - 1] <=> Z pertenece al conjunto struct Conjunto { bool elementos[max_elementos]; ;
13 Representación 2. Tabla de booleanos con cardinal explícito const int MAX_ELEMENTOS = 'Z' - 'A' + 1; * Representación de un conjunto de letras del alfabeto inglés: * elemento[0] <=> la letra A pertenece al conjunto * elemento[1] <=> la letra B pertenece al conjunto *... * elemento[max_elementos - 2] <=> Y pertenece al conjunto * elemento[max_elementos - 1] <=> Z pertenece al conjunto struct Conjunto { bool elementos[max_elementos]; int cardinal; ;
14 Representación 3. Lista de caracteres const int MAX_ELEMENTOS = 'Z' - 'A' + 1; * Representación de un conjunto de letras del alfabeto inglés: * las cardinal primeras componentes de elementos contienen las letras del * alfabeto inglés que pertenecen al conjunto. struct Conjunto { char elementos[max_elementos]; int cardinal; ;
15 Operaciones. Versión funcional * Pre: --- * Post: Ha devuelto un conjunto * vacío de letras del * alfabeto. Conjunto vacio();
16 Operaciones. Versión procedural * Pre: --- * Post: Ha vaciado el conjunto «A», * haciendo que represente el * conjunto vacío de letras * del alfabeto. void vaciar(conjunto& A);
17 Operaciones. Versión funcional * Pre: «elemento» es una letra del * alfabeto inglés. * Post: Ha devuelto el conjunto * «A» {«elemento». Conjunto incluir(const Conjunto A, const char elemento);
18 Operaciones. Versión procedural * Pre: «elemento» es una letra del * alfabeto inglés. «A» = A 0 * Post: Ha añadido al conjunto «A» la * letra «elemento», haciendo que * represente el conjunto * A 0 U {«elemento». void incluir(conjunto& A, const char elemento);
19 Operaciones. Versión funcional * Pre: --- * Post: Ha devuelto la unión de los * conjuntos «A» y «B». Conjunto unir(const Conjunto A, const Conjunto B);
20 Operaciones. Versión procedural * Pre: «A» = A 0. * Post: «A» = A 0 U «B». void unir(conjunto& A, const Conjunto B);
21 Una solución Representación 1: tabla de booleanos Versión funcional
22 Definición del tipo Conjunto const int MAX_ELEMENTOS = 'Z' - 'A' + 1; * Representación de un conjunto de letras del alfabeto * inglés: * elemento[0] <=> la letra A pertenece al conjunto * elemento[1] <=> la letra B pertenece al conjunto *... struct Conjunto { bool elementos[max_elementos]; ;
23 Conjunto vacío * Pre: --- * Post: Ha devuelto un conjunto * vacío de letras del * alfabeto. Conjunto vacio();
24 Conjunto vacío * Pre: --- * Post: Ha devuelto un conjunto vacío de letras del * alfabeto. Conjunto vacio() { Conjunto resultado; for (int i = 0; i < MAX_ELEMENTOS; i++) { resultado.elementos[i] = false; return resultado;
25 Inclusión y exclusión de elementos * Pre: «elemento» es una letra del alfabeto inglés. * Post: Ha devuelto el conjunto «A» U {«elemento». Conjunto incluir(const Conjunto A, const char elemento); * Pre: «elemento» es una letra del alfabeto inglés. * Post: Ha devuelto el conjunto «A» \ {«elemento». Conjunto excluir(const Conjunto A, const char elemento);
26 Inclusión y exclusión de elementos * Pre: «elemento» es una letra del alfabeto inglés. * Post: Si «incluir» es true, ha devuelto el conjunto «A» U * {«elemento». En caso contrario, ha devuelto el * conjunto «A» \ {«elemento». Conjunto modificar(const Conjunto A, const char elemento, const bool incluir) { Conjunto resultado = A; char letra = toupper(elemento); bool esta = A.elementos[letra - 'A']; resultado.elementos[letra - 'A'] = incluir; return resultado;
27 Inclusión y exclusión de elementos * Pre: «elemento» es una letra del alfabeto inglés. * Post: Ha devuelto el conjunto «A» U {«elemento». Conjunto incluir(const Conjunto A, const char elemento) { return modificar(a, elemento, true); * Pre: «elemento» es una letra del alfabeto inglés. * Post: Ha devuelto el conjunto «A» \ {«elemento». Conjunto excluir(const Conjunto A, const char elemento) { return modificar(a, elemento, false);
28 Función toupper Biblioteca <cctype> int toupper ( int c ); Convert lowercase letter to uppercase Converts c to its uppercase equivalent if c is a lowercase letter and has an uppercase equivalent. If no such conversion is possible, the value returned is c unchanged. [ ] Parameters c: Character to be converted, casted to an int, or EOF. Return Value The uppercase equivalent to c, if such value exists, or c (unchanged) otherwise. The value is returned as an int value that can be implicitly casted to char. See also tolower Convert uppercase letter to lowercase (function ) islower Check if character is lowercase letter (function ) isupper Check if character is uppercase letter (function ) isalpha Check if character is alphabetic (function ) Fuente:
29 Pertenencia * Pre: «elemento» es una letra del * alfabeto inglés. * Post: Ha devuelto true si y solo si * «elemento» pertenece al * conjunto A. bool pertenece(const Conjunto A, const char elemento);
30 Pertenencia * Pre: «elemento» es una letra del * alfabeto inglés. * Post: Ha devuelto true si y solo si * «elemento» pertenece al conjunto A. bool pertenece(const Conjunto A, const char elemento) { char letra = toupper(elemento); return A.elementos[letra - 'A'];
31 Cardinalidad * Pre: --- * Post: Ha devuelto el número de * elementos del conjunto «A». int cardinal(const Conjunto A);
32 Cardinalidad * Pre: --- * Post: Ha devuelto el número de elementos del * conjunto «A». int cardinal(const Conjunto A) { int resultado = 0; for (int i = 0; i < MAX_ELEMENTOS; i++) { if (A.elementos[i]) { resultado++; return resultado;
33 Álgebra de conjuntos * Pre: --- * Post: Ha devuelto la unión de los conjuntos «A» y «B». Conjunto unir(const Conjunto A, const Conjunto B); * Pre: --- * Post: Ha devuelto la intersección de los conjuntos «A» y «B». Conjunto intersectar(const Conjunto A, const Conjunto B); * Pre: --- * Post: Ha devuelto la diferencia de los conjuntos «A» y «B». Conjunto calculardiferencia(const Conjunto A, const Conjunto B);
34 Álgebra de conjuntos Conjunto unir(const Conjunto A, const Conjunto B) { Conjunto resultado; for (int i = 0; i < MAX_ELEMENTOS; i++) { resultado.elementos[i] = A.elementos[i] B.elementos[i]; return resultado; Conjunto intersectar(const Conjunto A, const Conjunto B) { Conjunto resultado; for (int i = 0; i < MAX_ELEMENTOS; i++) { resultado.elementos[i] = A.elementos[i] && B.elementos[i]; return resultado;
35 Álgebra de conjuntos * Pre: --- * Post: Ha devuelto la diferencia de los conjuntos «A» y «B». Conjunto calculardiferencia(const Conjunto A, const Conjunto B) { Conjunto resultado = A; for (int i = 0; i < MAX_ELEMENTOS; i++) { if (B.elementos[i]) { resultado.elementos[i] = false; return resultado;
36 Escribir en pantalla * Pre: --- * Post: Presenta por pantalla, en * una línea, los elementos * del conjunto «A». void mostrar (const Conjunto A);
37 Escribir en pantalla * Pre: --- * Post: Escribe en «s» los elementos del conjunto «c». void escribir (ostream& s, const Conjunto c) { s << '{'; bool separar = false; for (int i = 0; i < MAX_ELEMENTOS; i++) { if (c.elementos[i]) { if (separar) { s << ','; else { separar = true; s << ' ' << char('a' + i); s << " ";
38 Escribir en pantalla * Pre: --- * Post: Presenta por pantalla, en una * línea, los elementos del * conjunto «A». void mostrar (const Conjunto A) { escribir(cout, A); cout << endl;
39 Persistencia * Pre: --- * Post: Ha creado un fichero de nombre «nombrefichero» y ha escrito en él la * secuencia de datos binarios almacenada en T[0, n - 1]. void guardar(const char nombrefichero[], const Conjunto T[], const int n); * Pre: «nombrefichero» es el nombre de un fichero que almacena una * secuencia de datos binarios de tipo Conjunto. * Post: Ha devuelto «false» si no es posible leer la información del fichero * «nombrefichero». Si es posible, ha asignado a «n» el número de * conjuntos que almacena el fichero, ha asignado a los elementos de * T[0, n - 1] los «n» datos de tipo Conjunto almacenados en el fichero * y ha devuelto «true». bool leer(const char nombrefichero[], Conjunto T[], int& n);
40 Persistencia void guardar(const char nombrefichero[], const Conjunto T[], const int n) { ofstream f; f.open(nombrefichero, ios::binary); if (f.is_open()) { for (int i = 0; i < n; i++) { f.write(reinterpret_cast<const char*>(&t[i]), sizeof(t[i])); f.close(); else { cerr << "No se ha podido escribir en \"" << nombrefichero << "\"" << endl;
41 Persistencia bool leer(const char nombrefichero[], Conjunto T[], int& n) { ifstream f; f.open(nombrefichero, ios::binary); if (f.is_open()) { n = 0; f.read(reinterpret_cast<char*>(&t[n]), sizeof(t[n])); while (!f.eof()) { n++; f.read(reinterpret_cast<char*>(&t[n]), sizeof(t[n])); f.close(); return true; else { cerr << "No se ha podido leer del \"" << nombrefichero << "\"" << endl; return false;
Programación 1 Desarrollo de proyectos de programación. Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras
Programación 1 Desarrollo de proyectos de programación Desarrollo de un módulo C++ de biblioteca para trabajar con conjuntos de letras Objetivo del proyecto Desarrollo de un módulo C++ de biblioteca para
Más detallesProgramación 1. Diseño modular de nuevos tipos de datos en un programa. Diseño modular de un tipo de dato con estructura de conjunto
Programación 1 Diseño modular de nuevos tipos de datos en un programa Diseño modular de un tipo de dato con estructura de conjunto 1 1. Objetivo de la lección Presentar una metodología para el diseño modular
Más detallesProgramación 1 Tema 15. Trabajo con ficheros binarios
Programación 1 Tema 15 Trabajo con ficheros binarios Índice Ficheros binarios Diferencia con ficheros de texto Herramientas de C++ para trabajar con ficheros binarios Problemas básicos con ficheros binarios
Más detallesExamen escrito de Programación 1. Jueves 5 de febrero de Problema 1 o (3.5 puntos)
Examen escrito de Programación 1. Jueves 5 de febrero de 2015 Se debe disponer de un documento de identificación con fotografía sobre la mesa. Se debe comenzar a resolver cada uno de los dos problemas
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 detallesTEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero
TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando
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 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 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 2. Tipos predefinidos
Programación Declarativa Haskell Informática Sistemas Curso 2003-2004 Pepe Gallardo Universidad de Málaga Tema 2. Tipos predefinidos 2.1 Tipos simples predefinidos El tipo Bool El tipo Int El tipo Integer
Más detallesALMACENAMIENTO PERSISTENTE DE DATOS
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS
Más detallesContenidos. Archivos en C++ Archivos en C++ Introducción
Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,
Más detallesTipos de Datos en C. Palabras reservadas en C
Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO
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 detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS Operaciones con ficheros en Prof. Dr. Nicolás Luis Fernández García Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
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 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Más detallesProgramación 1 Problemas del Composición condicional
Programación 1 Problemas del 6-10-2016 Composición condicional Un problema Programa que indique si un año es o no bisiesto Escriba un año: 2016 El año 2016 es bisiesto Escriba un año: 2017 El año 2017
Más detallesTema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas
de : en C++ Programación 2, Curso 2016-2017 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero
Más detallesProgramación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Más detallesTema 5 Archivos o Ficheros
Tema 5 Archivos o Ficheros Informática Grado en Física Universitat de València Ariadna.Fuertes@uv.es Francisco.Grimaldo@uv.es 1 Introducción: Concepto de Fichero Tipos de acceso a ficheros Tipos de ficheros:
Más detalles#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );
ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros
Más detallesEntrada y Salida vía Archivos
Entrada y Salida vía Archivos Lectura de un archivo de entrada Escritura en un archivo de salida Agustín J. González ELO329 1 Lectura de archivos de entrada Un archivo de entrada es una secuencia de bytes
Más detallesÁRBOL BINARIO. T der. Árbol binario homogéneo es aquel cuyos nodos tienen grado 0 ó 2(no hay ninguno de grado 1).
ÁRBOL BINARIO - Un árbol binario puede definirse como un árbol que en cada nodo puede tener como mucho grado 2, es decir, a lo más 2 hijos. Los hijos suelen denominarse hijo a la izquierda e hijo a la
Más detallesEstructura de datos y de la información Boletín de problemas - Tema 10
Estructura de datos y de la información Boletín de problemas - Tema 10 1. En el caso de que sea posible, dar un ejemplo de los siguientes puntos. Si no, explicar por qué no lo es. Considerar un valor genérico
Más detallesInstituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla
Instituto Técnico Jesús Obrero 4to año Programación Profesor: Luis Vallenilla Definición Archivos en Lenguaje C Estructura de datos dinámica y homogénea, compuesta por una colección de registros del mismo
Más detallesTAD CONJUNTOS Y MULTICONJUNTOS
TAD CONJUNTOS Y MULTICONJUNTOS INTRODUCCIÓN Qué es un conjunto? Un conjunto en matemática es una colección de objetos. Los objetos no mantienen ninguna relación aparente entre ellos y tampoco están obligados
Más detallesPseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C)..
Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos
Más detallesTema 3: Ficheros en C++
de : en C++ Programación 2, Curso 2013-2014 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero
Más detallesEscuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 5. Gestión de ficheros de texto en Java Contenido Introducción La clase PrintWriter La clase
Más detallesProf. Dr.Paul Bustamante
Prácticas de C++ Practica Nº 14 Informática II Fundamentos de Programación Prof. Dr.Paul Bustamante Practica Nº 14 Programación en C++ Pág. 2 ÍNDICE ÍNDICE... 2 1. Introducción... 2 1.1 Ejercicio 1: Grabando
Más detallesFUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001
FUNDAMENTOS DE PROGRAMACIÓN. 1º ING. INFORMÁTICA (Plan 2000) 2ª Convocatoria. 21 de junio de 2001 NORMAS DE EXAMEN: (1) La calificación la asignatura depende exclusivamente de este examen; (2) Todas las
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 detallesAlgoritmos y estructuras de datos
Algoritmos y estructuras de datos Aritmética de direcciones y cadenas Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 8 de mayo de 2015
Más detallesTipos de Datos Simples Contenido del Tema
T E M A 3 Tipos de Datos Simples Contenido del Tema 3.1. Concepto de Tipo 3.1.1. Elementos básicos: atributos y operaciones 3.1.2. Tipos. Concepto y necesidad 3.1.3. Operadores básicos 3.2. Tipos de Datos
Más detallesIntroducción a Haskell. El lenguaje Haskell
Capítulo 2. Introducción a Haskell 9 Introducción a Haskell Un ejemplo de fichero Haskell El lenguaje Haskell Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado. Puro = transparencia
Más detallesPunteros y Memoria Dinámica I
Memoria Punteros y Memoria Dinámica I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es! Lugar donde almacenan los datos y las instrucciones! Compuesta de un gran número de bytes!
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 detallesEn el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:
LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que
Más detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detalles26 de Octubre del 2013
Hernánz Hernánz OMIJAL 26 Octubre l 2013 Contenidos Hernánz 1 2 3 4 ++ 5 6 7 Hernánz Concepto Un concepto es una ia, algo abstracto. No existe en la naturaleza. Palabras Herramientas que utilizamos para
Más detallesUso de archivos en C++
CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesFICHEROS EN PASCAL. Ficheros
Ficheros Qué es un fichero? Un fichero es una colección ordenada de elementos, normalmente almacenados en la memoria externa (disco) del que pueden leerse elementos y en el que pueden escribirse nuevos
Más detallesIMPLEMENTACIÓN DE PILAS CON LISTAS EN C++
IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string
Más detallesInstituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades:
Instituto de Computación. Facultad de Ingeniería. Universidad de la República Examen de Programación 2 03 de Agosto de 2006 Generalidades: La prueba es individual y sin material. La duración es 3 horas.
Más detalles1/1. Diseño Modular. 18 de febrero de 2017
1/1 Diseño Modular Josefina Sierra Santibáñez 18 de febrero de 2017 2/1 Introducción al Diseño Modular Orientación a Objetos En esta asignatura utilizaremos la orientación a objetos como mecanismo de C++
Más detallesFicheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen
Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,
Más detallesEjercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1.
Ejercicios Resueltos del Práctico 4 Ejercicio 2 Considere la representación para Lista de Naturales y Árbol Binario de Naturales de la Figura 1. 1 2 struct NodoLista { 3 int elem ; 4 NodoLista * sig ;
Más detallesProgramación Básica. Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí
Programación Básica Martin Méndez Facultad de Ciencias Universidad Autónoma de San Luis Potosí Objetivo del Curso Estudiar y aplicar los conceptos básicos de programación estructurada en un lenguaje de
Más detallesArboles Binarios de Búsqueda en C++
Arboles Binarios de Búsqueda en C++ por CCG/Mayo-2014 Tema de Arboles Binarios de Búsqueda, como un poco de teoría para su mejor entendimiento seguidamente mostrare la implementación en lenguaje de programación
Más detallesFundamentos de la programación
Fundamentos de la programación 2 Grado en Ingeniería Electrónica y Comunicaciones Pilar Sancho Thomas Luis Hernández Yáñez Facultad de Informática Universidad Complutense Fundamentos de la programación:
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 12 de septiembre de 2013 Disponer sobre la mesa en lugar visible un documento
Más detallesFunciones: Pasos por Referencia Recursividad
Funciones: Pasos por Referencia Recursividad Fundamentos de Programación Fundamentos de Programación I Parámetros por referencia Con la instrucción return sólo se puede devolver un valor calculado. A veces
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesIntroducción al lenguaje C
Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 11 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº11 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase
Más detallesUTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof:
Sistema para el Seguimiento de Jugadores de Fútbol Temas evaluados: Resolución de problemas, estructuras de datos, archivos, listas, y lenguaje de programación. Contexto Usted es parte de un equipo que
Más detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Más detallesSegundo parcial de Programación 2
Generalidades: Segundo parcial de Programación 2 a. La prueba es individual y sin material. b. La duración es 3hs. c. Sólo se contestan dudas acerca de la letra. 8 de Julio de 2016 d. Escriba las hojas
Más detallesEstructuras de Selección, armado de Equipos, y Trabajo #1.
Estructuras de Selección, armado de Equipos, y Trabajo #1. Clase a Distancia Leer sobre estructuras de control de la página 19 de https://droscarbruno.files.wordpress.com/2015/02/ modulo1introduccion20151.pdf
Más detallesProgramación 2. Grado en Estadística Aplicada. Curso 2012-2013. Generación de números pseudoaleatorios. Manejo de ficheros de texto.
Programación 2 Grado en Estadística Aplicada Curso 2012-2013 Generación de números pseudoaleatorios. Manejo de ficheros de texto. Jesús Correas jcorreas@fdi.ucm.es Departamento de Sistemas Informáticos
Más detallesEjercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:
Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include
Más detallesTipos de datos y operadores en C++
Tipos de datos y operadores en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar
Más detallesProgramación 1 Tema 11. Estructuración agregada de datos
Programación 1 Tema 11 Estructuración agregada de datos Índice Registros y campos Dominio de valores Representación externa Operaciones Problemas y ejemplos Problema Gestionar información relativa a ciudadanos
Más detallesFundamentos de la programación
Fundamentos de la programación 3E Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Recorridos 404 Un
Más detallesTema 13: Manejo de archivos en lenguaje C
Tema 13: Manejo de archivos en lenguaje C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco)
Más detalles1. Ejemplo de clase: La clase Disco 2. Ejemplo de clase: La clase Colección. 3. Relación entre clases: Clientismo
1. : La clase 2. : La clase Colección 3. Relación entre clases: Clientismo 1 Una clase para modelar el tipo de dato disco Vamos a modelar con una clase, un nuevo tipo de datos, donde los elementos de la
Más detallespersonal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12
Teoría de conjuntos. Teoría de Conjuntos. personal.us.es/elisacamol Curso 2011/12 Teoría de Conjuntos. Teoría de conjuntos. Noción intuitiva de conjunto. Propiedades. Un conjunto es la reunión en un todo
Más detallesIntroducción rápida a la programación (estructurada ) con C++
Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de
Más detallesFicheros: texto y binarios
Ficheros: texto y binarios Fundamentos de Programación Fundamentos de Programación I Trabajar con ficheros texto No olvidar incluir la cabecera #include Clase para definición de un objeto fichero
Más detallesProgramación 2. Pruebas para la evaluación voluntaria de la asignatura. Grado en Ingeniería Informática. Curso 2014-15
Pruebas para la evaluación voluntaria de la asignatura Programación 2 Grado en Ingeniería Informática Departamento de Informática e Ingeniería de Sistemas Curso 2014-15 PROGRAMACIÓN 2. Curso 2014-15. 1
Más detallesTema 3. Tipos de datos simples
Tema 3. Tipos de datos simples Contenido del tema: Concepto de tipo. Tipos simples. Operadores. Expresiones. Semántica. Tipos y expresiones en lenguaje C++ Francisco J. Veredas Dpto. Lenguajes y Ciencias
Más detallesObjetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.
Objetivos El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Al final de esta práctica el alumno podrá: 1. Utilizar las herramientas para
Más detallesTema 6: Memoria dinámica
: Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0
Más detallesProgramación Estructuras Arborescentes
Programación 2 4 - Estructuras Arborescentes 1 Definición La recursión puede ser utilizada para la definición de estructuras realmente sofisticadas. Una estructura árbol (árbol general o finitario) con
Más detallesTema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesabril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Más detallesLenguaje C: Guía de Estilo Resumida
Lenguaje C: Guía de Estilo Resumida Antón Gómez, octubre 2010 Introducción Esta guía propone una serie de reglas básicas, estudiadas para favorecer la escritura de código limpio y fácil de leer. Para entender
Más detalles1. Juego del Ahorcado
Solución Ex. Junio 06 GrA - Programación C++ Pág. 1 1. JUEGO DEL AHORCADO...1 2. CLASES...3 1. Juego del Ahorcado #include #include #include #include void Jugar(char
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 9 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: GRABANDO A DISCO CON FORMATOS.... 1 1.2 EJERCICIO 2: AGREGANDO MÁS COSAS AL FICHERO....
Más detallesCadenas y Estructuras
Cadenas y Estructuras Fundamentos de Programación Fundamentos de Programación I FP / FP I 1 Proyecto de programación para el manejo de cadenas en C++ Escriba un programa que lea el nombre de una persona
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Más detallesMétodos CON valor de retorno
Métodos Estáticos C# Fundamentos de Programación. Objetivos del tema: Qué es un método? Qué métodos conoces? Métodos que NO devuelven valor. Métodos que SI devuelven un valor. Paso de parámetros. Variables
Más detallesLaboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos
Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos PARTE 1. Arreglos Unidimensionales o Vectores Un arreglo es una estructura de datos conformada por una sucesión de celdas,
Más detallesIntroducción a las tablas Hash (I)
Introducción a las tablas Hash (I) Una tabla Hash es un contenedor asociativo (tipo Diccionario) que permite un almacenamiento y posterior recuperación eficientes de elementos (denominados valores) a partir
Más detallesIntroduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias. Emma Rollón Departament of Computer Science
Introduc)on to Programming (in C++) Ejemplos de tratamiento de secuencia de secuencias Emma Rollón Departament of Computer Science Ejemplo 1: recorrido con recorrido Input: La entrada consiste en un número
Más detallesÁrboles. Árboles. Árboles binarios de búsqueda. Árboles. Inserción en un árbol. Árbol binario de búsqueda
Árboles Árboles Mario Medina C. mariomedina@udec.cl Árboles Estructura recursiva Árbol vacío 0 o más árboles hijos Altura ilimitada Árbol binario A lo más dos hijos: izquierdo y derecho Árboles Árboles
Más detallesFormatos para prácticas de laboratorio
Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detalles1. Los objetos conocidos, es decir, aquellos objetos de los cuales poseemos información total o parcial útil en la búsqueda de los objetos desconocido
3. METODOLOGÍA DE SOLUCIÓN DE PROBLEMAS CON EL COMPUTADOR El desarrollo de un programa que resuelva un problema dado es una tarea compleja, ya que es necesario tener en cuenta de manera simultánea muchos
Más detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
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 detallesAmpliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++
Ampliación de Sistemas Operativos Trabajo voluntario Tema 1 Francisco Charte Ojeda ENTRADA/SALIDA EN C++ ENTRADA/SALIDA EN C++ Principales características Jerarquía de clases de E/S Aspectos generales
Más detallesTema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados
Tema 6. Gestión de ficheros en C Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C 6.1. Introducción a los ficheros En la mayor parte de los programas se quiere almacenar información
Más detallesFundamentos de Programación
Fundamentos de Programación Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas Qué es un archivo? Conjunto de información agrupada bajo un nombre y almacenada en disco
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detalles