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

Tamaño: px
Comenzar la demostración a partir de la página:

Download "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"

Transcripción

1 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

2 1. Objetivo de la lección Presentar una metodología para el diseño modular de nuevos tipos de datos Definir y desarrollar un módulo C++ de biblioteca para facilitar el diseño de programas que trabajan con conjuntos de letras del alfabeto (inglés): El nombre del módulo va a ser: conjunto En el módulo conjunto se definirá el tipo de dato Conjunto. Un dato de tipo Conjunto tendrá como valor un conjunto de letras del alfabeto inglés: A, B, C,, X, Y, Z En el módulo conjunto se definirá una colección de operaciones (funciones C++) que faciliten el trabajo con conjuntos de letras del alfabeto, es decir, con datos de tipo Conjunto, desde otros módulos 2

3 2. Diseño modular de nuevos tipos de datos 2.1. Motivación En muchos proyectos software es necesario o, al menos, conveniente, definir nuevos tipos de datos que faciliten su desarrollo y mantenimiento. Algunos ejemplos de nuevos tipos de datos: Conjuntos de letras del alfabeto: { }, { A, H, M } Multiconjuntos de números primos: { }, { 2, 5 }, { 2, 3, 11 }, { 2[3], 3[2] }, { 2[2], 3, 5[2] } Pilas de ciudadanos (es decir, de datos de tipo Ciudadano) Colas de ciudadanos (es decir, de datos de tipo Ciudadano) Listas de personas (es decir, de datos de tipo Persona) Etc., etc. 3

4 2.2. Metodología modular de diseño de nuevos tipos Para cada nuevo tipo de dato, T, se desarrollará un módulo de biblioteca que encapsule: La representación de los datos de ese tipo T. Los detalles de esta representación serán ignorados cuando se trabaje con datos de tipo T desde otros módulos. Una colección de funciones básicas para trabajar desde otros módulos con datos de tipo T: Funciones que permitan definir y modificar el valor de datos de tipo T Funciones que permitan consultar información de un dato de tipo T Funciones que implementen algoritmos básicos de trabajo con datos de tipo T (de recorrido, búsqueda, distribución, ordenación, etc.) 4

5 2.3. Decisiones a tomar en un diseño En el diseño de un módulo de biblioteca que defina un nuevo tipo de dato, T, deben adoptarse varias decisiones interdependientes: Cómo representar los datos de ese tipo T Cuál debe ser la colección de funciones básicas para trabajar con datos de tipo T Cómo abordar el diseño de la colección de funciones básicas anteriores y cuál será el coste algorítmico de cada una de ellas En este último tema y en la sexta práctica se plantea cómo adoptar estas decisiones de diseño. 5

6 3. Conjunto y elementos de un conjunto Qué es un conjunto de letras del alfabeto? { } // es el conjunto vacío de letras { A } // un conjunto con un solo elemento { K } // un conjunto con un solo elemento { X, H } // un conjunto con dos elementos { A, Z, G } // un conjunto con tres elementos { A, E, I, O, U } // conjunto de las letras vocales { J, K, L, M, N, O, P } // conjunto de las letras de la J a la P { 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 } // conjunto de todas las letras 6

7 Pertenencia de un elemento a un conjunto Ningún elemento (letra del alfabeto) pertenece al conjunto vacío {} A { } B { } Y { } Z { } Solo la letra A pertenece al conjunto {A} A { A } B { A } Y { A } Z { 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 } Mientras que las letras consonantes no pertenecen a ese conjunto: B { A, E, I, O, U } C { A, E, I, O, U } D { A, E, I, O, U } F { A, E, I, O, U } Y { A, E, I, O, U } Z { A, E, I, O, U } 7

8 El cardinal de un conjunto es igual al número de elementos que pertenecen a él. El cardinal del conjunto {} es 0 El cardinal del conjunto { A } es 1 El cardinal del conjunto { A, E, I, O, U } es 5 El cardinal de del conjunto { J, K, L, M, N, O, P } es 7 El cardinal del conjunto { 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 5

9 La unión de dos conjuntos A y B es un conjunto, A B, al que pertenecen 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 } 5

10 La intersección de dos conjuntos A y B es un conjunto, A B, al que pertenecen exclusivamente los elementos que pertenecen a A ytambiénab. { } { 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 } 5

11 La diferencia de dos conjuntos A y B es un conjunto, A B, al que pertenecen exclusivamente los elementos de A que 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 } 5

12 4. Representación y operaciones 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 representación de los datos del tipo Conjunto deberá facilitar el diseño algorítmico de las operaciones asociadas al tipo y velar por la eficiencia de éstas. 12

13 Colección de operaciones (funciones C++) para facilitar el trabajo con datos de tipo Conjunto. Operaciones para definir un dato de tipo Conjunto conunvalorbien definido (por ejemplo, un conjunto vacío) y para añadir y eliminar elementos de dicho dato: vacio( ), incluir( ), excluir( ) Operaciones de consulta de los datos de un conjunto: pertenece un determinado elemento al conjunto? cuántos elementos pertenecen al conjunto?: pertenece( ), cardinal( ) Operaciones binarias clásicas del álgebra de conjuntos: unión, intersección y diferencia de dos conjuntos: opunion( ), opinterseccion( ), opdiferencia( ) Operaciones para guardar en un fichero (binario) un vector de conjuntos y para recuperar los datos de tipo Conjunto guardados previamente en un fichero (binario): guardar( ), recuperar( ) Operación para presentar por pantalla los elementos de un conjunto: mostrar( ) 13

14 Cada una de las operaciones del módulo deberá ser especificada (mediante sus pre y postconciones) y diseñado su código. Las cuatro primeras funciones de la colección propuesta: // para crear un conjunto vacío de letras Conjunto vacio (); // para comprobar si una letra pertenece a un conjunto // de letras bool pertenece (const Conjunto A, const char elemento); // para incorporar una letra a un conjunto de letras void incluir (Conjunto& A, const char elemento); // para excluir una letra de un conjunto de letras void excluir (Conjunto& A, const char elemento); 14

15 Cuatro funciones visibles más del módulo conjunto:... // para conocer cuántas letras pertenecen a un conjunto // de letras int cardinal (const Conjunto A); // para calcular la unión de dos conjuntos de letras Conjunto opunion (const Conjunto A, const Conjunto B); // para calcular la intersección de dos conjuntos de letras Conjunto opinterseccion (const Conjunto A, const Conjunto B); // para calcular la diferencia de dos conjuntos de letras Conjunto opdiferencia (const Conjunto A, const Conjunto B);... 15

16 Tres últimas funciones visibles del módulo conjunto:... // para mostrar por pantalla los elementos de un conjunto // de letras void mostrar (const Conjunto A); // para almacenar una secuencia de conjuntos de letras // en un fichero, en formato binario void guardar (const char nombrefichero[], const Conjunto T[], const int n); // para leer una secuencia de conjuntos de letras // de un fichero que los almacena en formato binario bool recuperar (const char nombrefichero[], Conjunto T[], int& n); 16

17 17

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 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 detalles

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 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 detalles

Examen 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 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 detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.

Más detalles

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros. Procedimientos para asignación y liberación de memoria. Tipos de datos recursivos.

Más detalles

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS

UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS UNIDAD CURRICULAR: ALGORITMICA Y PROGRAMACIÓN UNIDAD IX. ESTRUCTURAS DE REGISTROS CONTENIDO: Definición, declaración y acceso Estructura y arreglos Ejercicios Resueltos Referencias Bibliográficas UNIDAD

Más detalles

Estructura 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 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 detalles

TAD CONJUNTOS Y MULTICONJUNTOS

TAD 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 detalles

Programación 1 Tema 15. Trabajo con ficheros binarios

Programació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 detalles

Prof.Juan Cabral - UTU Maldonado. Tablas de pertenencia

Prof.Juan Cabral - UTU Maldonado. Tablas de pertenencia Tablas de pertenencia TABLAS DE PERTENENCIA Una técnica para probar igualdades entre conjuntos es la tabla de pertenencia. Se observa que para los conjuntos A y B U, un elemento x U cumple exactamente

Más detalles

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS

DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS DEFINICIONES BÁSICAS DE LAS ESTRUCTURAS DE DATOS En programación, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación Un dato

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

Experiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines

Experiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines 1. DATOS GENERALES DEL CURSO Nombre del curso Estructuración de Datos Programa al que pertenece Créditos Horas teoría 35 Horas práctica 70 Eje de formación Perfil deseable del profesor LICENCIATURA EN

Más detalles

Tema 2. Tipos y Estructuras Básicas

Tema 2. Tipos y Estructuras Básicas Tema 2. Tipos y Estructuras Básicas 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

Más detalles

1/1. Diseño Modular. 18 de febrero de 2017

1/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 detalles

Examen escrito de Programación 1

Examen 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 detalles

Especificación de Requisitos (ERS)

Especificación de Requisitos (ERS) CURSO: ESTRUCTURA DE DATOS Prof. David Martínez Torres UNIVERSIDAD TECNOLOGICA DE LA MIXTECA Especificación de Requisitos (ERS) SISTEMA DE COBRO EN EL SUPERMERCADO 1 Introducción Este documento es una

Más detalles

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS

CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS CAPÍTULO 3 ESTRUCTURAS DE DATOS ESTÁTICAS Capítulo 3 Estructuras de datos estáticas 1/37 1. INTRODUCCIÓN Las estructuras de datos se utilizan, generalmente, para procesar una colección de valores que están

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programació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 detalles

Examen escrito de Programación 1

Examen 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 detalles

Tipos Recursivos de Datos

Tipos Recursivos de Datos 1/1 Tipos Recursivos de Datos Josefina Sierra Santibáñez 27 de noviembre de 2016 2/1 Introducción La recursividad no sólo se puede aplicar a la definición de procedimientos (i.e. funciones o acciones),

Más detalles

ESTRUCTURAS DE DATOS Y ALGORITMOS

ESTRUCTURAS DE DATOS Y ALGORITMOS ESTRUCTURAS DE DATOS Y ALGORITMOS CURSO 2009 PRÁCTICO 8 Nota: al igual que en los prácticos 6 y 7, en los problemas que siguen se usarán los tipos lista y árbol binario, como tipos abstractos, cada uno

Más detalles

Unidad I: Introducción a las estructuras de datos

Unidad I: Introducción a las estructuras de datos Unidad I: Introducción a las estructuras de datos 1.1 Tipos de datos abstractos (TDA) Los tipos de datos abstractos (TDA) encapsulan datos y funciones que trabajan con estos datos. Los datos no son visibles

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales

PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales PRÁCTICA Nº 5: 2 sesiones (del 11 de Abril al 17 de Abril de 2003) Listas con punto de interés para la composición de melodías musicales 0. OBJETIVOS El objetivo de esta práctica es la implementación del

Más detalles

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al

Introducción al tipo Vector Cómo guardar una colección de datos conceptualmente relacionados? - almacenar los 100 primeros números primos, - al Tema 6. Vectores 1. Introducción y Definiciones 2. Operaciones elementales con vectores 3. Definición y manejo de vectores (arrays arrays) en C 4. Operación de Recorrido secuencial de un vector 5. Operación

Más detalles

Variables. 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: 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 detalles

Tema 6: Memoria dinámica

Tema 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 detalles

Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap)

Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Práctico 4 Árboles balanceados (AVL) Tablas de dispersión (Hash) Colas de prioridad (Heap) Clasificación de ejercicios: (I) Imprescindibles (R) Recomendados (C) Complementarios Árboles balanceados (AVL)

Más detalles

Examen escrito de Programación 1

Examen 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 detalles

Introducción a los árboles. Lección 11

Introducción a los árboles. Lección 11 Introducción a los árboles Lección 11 Árbol: Conjunto de elementos de un mismo tipo, denominados nodos, que pueden representarse en un grafo no orientado, conexo y acíclico, en el que existe un vértice

Más detalles

Manual de Usuario de Xeryus v5.25

Manual de Usuario de Xeryus v5.25 MANUAL DE USUARIO 1 Manual de Usuario de Xeryus v5.25 2.4.2 SÍGUEME... 2 2.4.2.1 AGREGAR UNA CATEGORÍA DE MARCACIÓN DESDE UNA EXTENSIÓN... 3 2.4.2.2 AGREGAR UNA CATEGORÍA DE MARCACIÓN... 5 2.4.2.3 CONSULTAR

Más detalles

MANUAL USUARIO MÓDULO "CALCULAR MARGEN BENEFICIO"

MANUAL USUARIO MÓDULO CALCULAR MARGEN BENEFICIO MANUAL USUARIO MÓDULO "CALCULAR MARGEN BENEFICIO" Índice de contenido 1 Introducción...3 2 Instalación...3 3 Gestión módulo...7 3.1 Introducción...7 3.2 Opción "Margen beneficio por importe"...8 3.2.1

Más detalles

Porque usar Arreglos?

Porque usar Arreglos? Arreglos Porque usar Arreglos? Se tienen las calificaciones de 100 alumnos, como sacar cuantos alumnos tienen una calificación superior al promedio? Doble lectura: Un ciclo para leer y acumular las calificaciones,

Más detalles

Unidad 1 Introducción a las Estructuras de Datos

Unidad 1 Introducción a las Estructuras de Datos Unidad 1 Introducción a las Estructuras de Datos 1.1 Clasificación de las estructuras de datos. 1.2 Tipos de datos abstractos (TDA). 1.3 Ejemplos de TDAs. 1.4 Manejo de memoria Estática. 1.5 Manejo de

Más detalles

PERSISTE Y CAMPUS VIRTUAL

PERSISTE Y CAMPUS VIRTUAL Introducción Los nuevos módulos de campus virtual se están desarrollando con.net y tienen que convivir con los antiguos, que están en asp. Para que funcionen se tienen que mantener las variables de sesión

Más detalles

Tema 2. Diseño Modular.

Tema 2. Diseño Modular. Tema 2. Diseño Modular. E.U. Politécnica Curso 2004-2005 Departamento Lenguajes y Ciencias de la Computación. Universidad de Málaga José Luis Leiva Olivencia. Despacho: I-326D (Edificio E.U.P)/ 3.2.41

Más detalles

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 1. (1) Partiendo de la especificación interfaz-función de los siguientes módulos LeerDatosNIF = PROCEDIMIENTO() DEVUELVE

Más detalles

Cadenas de caracteres

Cadenas de caracteres Trabajo práctico Nº 6 (Trabajos con cadenas de caracteres y estructuras) Realiza el programa en Lenguaje C correspondiente. Cadenas de caracteres 1- Construir una función PASSWORD que pida por teclado

Más detalles

1. 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

1. 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 detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Un conjunto es un grupo, una colección de objetos; a estos objetos se les llama miembros o elementos del conjunto.

Un conjunto es un grupo, una colección de objetos; a estos objetos se les llama miembros o elementos del conjunto. TEORÍ DE CONJUNTOS. Un conjunto es un grupo, una colección de objetos; a estos objetos se les llama miembros o elementos del conjunto. Ejemplos: Los libros de una biblioteca. Los alumnos de una escuela.

Más detalles

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof: UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014 Distancias entre localidades Temas evaluados: Resolución de problemas, estructuras de datos, matrices, y lenguaje de programación Contexto

Más detalles

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente: Pseudocódigo El pseudocódigo o pseudolenguaje, son una serie de instrucciones en nuestro lenguaje natural (español, ingles, etc.) y expresiones que representan cada uno de los pasos que resuelven un problema

Más detalles

Manual de Usuario. Funcionalidades Genéricas de las pantallas de SÒSTRAT

Manual de Usuario. Funcionalidades Genéricas de las pantallas de SÒSTRAT de Funcionalidades Genéricas de las pantallas de SÒSTRAT Tabla de contenido 1. INTRODUCCIÓN... 2 2. FUNCIONALIDADES DEL SISTEMA... 3 Funcionalidades sobre "Trabajar Con"... 3 Funcionalidad de Nuevo Registro...

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Programación Orientada a Objetos Algoritmos y Programación II Junio, 2004 Las tecnologías de objetos hoy

Más detalles

Manual versión 1.0. Interfaz de Alexia

Manual versión 1.0. Interfaz de Alexia Interfaz de Alexia INTRODUCCIÓN 3 OBJETIVOS 3 Capítulo 1: Pantalla Principal 4 1.1 Inicio de la sesión en Alexia 4 1.2 Pantalla principal 5 1.2.1 Menú del programa 6 1.2.2 Menú de módulos 8 1.2.3 Menú

Más detalles

Base de Datos. Formularios. Consultas

Base de Datos. Formularios. Consultas Base de Datos y programa de Microsoft Access Definición Tablas Formularios Consultas Informes 1 BASE DE DATOS. DEFINICIÓN Y PLANIFICACIÓN Qué es una base de datos? Una base de datos es una serie de datos

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Trabajando

Más detalles

Autoestudio 2: Variables y Operadores

Autoestudio 2: Variables y Operadores Autoestudio 2: Variables y es Componentes de un programa Cuando escribimos en un lenguaje de programación tenemos que entender la sintaxis del lenguaje. A continuación empezaremos con la sintaxis básica

Más detalles

Segundo parcial de Programación 2

Segundo 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 detalles

Unidad Nº V Listas Enlazadas

Unidad Nº V Listas Enlazadas Instituto Universitario Politécnico Santiago Mariño Unidad Nº V Listas Enlazadas Lista Enlazadas Es una colección o secuencia de elementos dispuestos uno detrás de otro, en la que cada elemento se conecta

Más detalles

Guía práctica de estudio 03: Algoritmos

Guía práctica de estudio 03: Algoritmos Guía práctica de estudio 03: Algoritmos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 03: Algoritmos Objetivo:

Más detalles

CONCEPTOS BÁSICOS. Prof. Ing. M.Sc. Fulbia Torres

CONCEPTOS BÁSICOS. Prof. Ing. M.Sc. Fulbia Torres CONCEPTOS BÁSICOS ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD I CONCEPTOS BÁSICOS Datos. Información. Estructuras de Datos. Operaciones sobre una estructura. Perspectivas o niveles de datos. Implementación

Más detalles

Profesor: José Miguel Rubio L.

Profesor: José Miguel Rubio L. Profesor: José Miguel Rubio L. Magíster en Ingeniería Informática Ingeniero Civil en Informática Licenciado en Ciencias de la Ingeniería Técnico en Programación Oficina: 3-20 e-mail 1: jose.rubio.l@ucv.cl

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 7 Nombre: Estructuras de datos Contextualización Cuando un programa suele ser muy extenso, un problema clásico de los programadores es la

Más detalles

Arboles Binarios de Búsqueda en C++

Arboles 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 detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Práctica Guiada: Vectores y Matrices

Práctica Guiada: Vectores y Matrices Práctica Guiada: Vectores y Matrices 1. Objetivos Al finalizar esta actividad, serás capaz de: 1. Escribir la declaración de vectores y matrices de tipos básicos. 2. Escribir el código necesario para recorrer

Más detalles

Manipulación de archivos estructurados

Manipulación de archivos estructurados Capítulo 1 Manipulación de archivos estructurados 1.1. Introducción Definición Un archivo es un medio de almacenamiento no volátil, es decir permanece luego de terminar la aplicación que la utiliza o luego

Más detalles

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.

Más detalles

Estructuras de datos utilizando JAVA

Estructuras de datos utilizando JAVA 1 Sistemas Expertos e Inteligencia Artificial / Guía II / Ciclo 01-2017 Centro de Investigación y Transferencia de Tecnología Estructuras de datos utilizando JAVA Facultad: Ingeniería Escuela: Computación

Más detalles

EDOMO EDOMO. Edomo Basic. Manual de programación. Módulo de PLANOS Versión /04/2007. Indomótika. Indomótika INDICE

EDOMO EDOMO. Edomo Basic. Manual de programación. Módulo de PLANOS Versión /04/2007. Indomótika. Indomótika INDICE INDICE INTRODUCCIÓN... 3 ESPECIFICACIONES... 3. Módulo configuración planos... 3.. Pestaña Localizaciones... 3.. Pestaña Editar Localización... 5..3 Pestaña Imágenes... 9..4 Pestaña Extras... 3 MODO DE

Más detalles

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Un 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 detalles

Retículos y Álgebras de Boole

Retículos y Álgebras de Boole Retículos y Álgebras de Boole Laboratorio de Matemática Discreta Jesús Martínez Mateo jmartinez@fi.upm.es Práctica 1. Ordenación topológica A. Herramientas necesarias Para la práctica que vamos a realizar

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Nombre: Carné: Examen C++ - Junio Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Examen Junio Grupo A Programación en C++ Pág. 2 Examen Grupo A Programación en C++ Pág. 1 ÍNDICE ÍNDICE...

Más detalles

Hoja de ejercicios del Tema 9

Hoja de ejercicios del Tema 9 Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 9 1. Sin ejecutarlo, qué mostraría el siguiente código? int x = 5, y = 12, z;

Más detalles

Cómo implementar tus propias funciones en Lenguaje C?

Cómo implementar tus propias funciones en Lenguaje C? Cómo implementar tus propias funciones en Lenguaje C? por Iván Cruz Cuando se realiza un programa, es importante siempre manejar una buena organización del código fuente, debido a que se puede desear incrementar

Más detalles

... Cómo empezar en ACCESS anfora CAPÍTULO. Introducción. Cómo iniciar ACCESS ACCESS 2000 Iniciar ACCESS 2000

... Cómo empezar en ACCESS anfora CAPÍTULO. Introducción. Cómo iniciar ACCESS ACCESS 2000 Iniciar ACCESS 2000 1 CAPÍTULO. Cómo empezar en ACCESS 2000........ Introducción Microsoft ACCESS 2000 es un sistema gestor de bases de datos relacional: herramienta que permite usar una base de datos (colección de datos

Más detalles

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

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 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 detalles

GUIA PARA CREAR UN SITIO DE GRUPO EN SHAREPOINT

GUIA PARA CREAR UN SITIO DE GRUPO EN SHAREPOINT GUIA PARA CREAR UN SITIO DE GRUPO EN SHAREPOINT Qué es SharePoint? SharePoint es una herramienta diseñada por Microsoft para la gestión documental y el trabajo en equipo. Está formada por una serie de

Más detalles

Estructura de datos Colas

Estructura de datos Colas Estructura de Datos Estructura de datos Colas Temario Unidad II 2.1 Definición y operaciones 2.2 Implementación estática 2.3 Implementación dinámica 2.4 Colas de prioridad 2.5 Casos de estudio 1 Definición

Más detalles

Programación II. Relación de Ejercicios. Sonido e Imagen. Tema 1: Almacenamiento en Memoria Secundaria. Ficheros 2

Programación II. Relación de Ejercicios. Sonido e Imagen. Tema 1: Almacenamiento en Memoria Secundaria. Ficheros 2 Programación II Relación de Ejercicios UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación Sonido e Imagen Contenido Tema : Almacenamiento en Memoria Secundaria. Ficheros

Más detalles

Examen de Programación II (Ingeniería Informática)

Examen de Programación II (Ingeniería Informática) Examen de Programación II (Ingeniería Informática) Septiembre 2010 1) Lenguaje C (2 puntos) Escribir el módulo "elimina_substring" (ficheros elimina_substring.h y elimina_substring.c) que defina una única

Más detalles

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas

Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Estructuras de Datos y Algoritmos Tema 3: Arrays y listas enlazadas Departamento de Informática Universidad de Valladolid Curso 2011-12 Grado en Ingeniería Informática Grado en Ingeniería Informática de

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros

Más detalles

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS 2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y su ejecución en la misma. Aunque el proceso de diseñar

Más detalles

06 Introducción al procesamiento de imágenes BMP con ANSI C

06 Introducción al procesamiento de imágenes BMP con ANSI C 06 Introducción al procesamiento de imágenes BMP con ANSI C Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

DILVE. Extracciones en formato SINLI. v1. r2, 02/2009

DILVE. Extracciones en formato SINLI. v1. r2, 02/2009 DILVE Extracciones en formato SINLI v1. r2, 02/2009 Febrero 2009 DILVE es una iniciativa de libro-es.com promovida por Federación de Gremios de Editores de España y la Fundación Germán Sánchez Ruipérez,

Más detalles

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

LABORATORIO #1 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++

LABORATORIO #1 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++ LABORATORIO #1 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++ C++ es un lenguaje de programación diseñado por Bjarne Stroustrup a partir de 1979. La intención de su creación fue ampliar al exitoso lenguaje

Más detalles

ALMACENAMIENTO PERSISTENTE DE DATOS

ALMACENAMIENTO 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 detalles

Lenguaje C, tercer bloque: Funciones

Lenguaje C, tercer bloque: Funciones Lenguaje C, tercer bloque: Funciones José Otero 1 Departamento de informática Universidad de Oviedo 28 de noviembre de 2007 Índice 1 Tipo puntero Concepto de puntero Operador dirección Operador indirección

Más detalles

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este

Más detalles

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores. TEMA 6: ESTRUCTURAS DE DATOS (Arrays). CONTENIDO: 6.1.- Introducción a las estructuras de datos. 6.1.1.- Tipos de datos. 6.2.- Arrays unidimensionales: los vectores. 6.3.- Operaciones con vectores. 6.4.-

Más detalles

John Venn Matemático y filósofo británico creador de los diagramas de Venn

John Venn Matemático y filósofo británico creador de los diagramas de Venn Georg Cantor Matemático Alemán creador de la teoría de conjuntos John Venn Matemático y filósofo británico creador de los diagramas de Venn August De Morgan Matemático ingles creador de leyes que llevan

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos

Más detalles

Teoría de Conjuntos y Conjuntos Numéricos

Teoría de Conjuntos y Conjuntos Numéricos Teoría de Conjuntos y Conjuntos Numéricos U N I V E R S I D A D D E P U E R T O R I C O E N A R E C I B O D E P A R T A M E N T O DE M A T E M Á T I C A S P R O F A. Y U I T Z A T. H U M A R Á N M A R

Más detalles

ASIGNATURA: ESTRUCTURA DE DATOS II

ASIGNATURA: ESTRUCTURA DE DATOS II ASIGNATURA: ESTRUCTURA DE DATOS II Cód: 31-206 Régimen cuatrimestral Horas reloj semanales: 4 Horas teóricas: 15 Horas prácticas: 45 Horas totales: 60 Carrera: Sistemas 2016 FUNDAMENTOS: Un tipo de dato

Más detalles

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I

Programación de Videojuegos Tema 15 Tipos de Dato I. 15. Tipos de Dato I 15. Por ahora ya sabemos lo suficiente sobre el muestreo de textos por pantalla, aunque por supuesto a falta de practicar un poco. Vamos a cambiar un poco de temática y vamos a ver otros aspectos avanzados

Más detalles

Etapa 1: El Dialogo. Etapa 2: Las Especificaciones

Etapa 1: El Dialogo. Etapa 2: Las Especificaciones Metodología para la Solución de Problemas Algorítmicos (MAPS) A continuación se describen las etapas de la Metodología para la Resolución de Problemas Algorítmicos propuesta por Tucker et al., denominada

Más detalles

Elementos de un programa en C

Elementos 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 detalles

Tema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas

Tema 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 detalles

APLICACIÓN DE ÁRBOLES BINARIOS

APLICACIÓN DE ÁRBOLES BINARIOS PRÁCTICA Nº 6: 2 sesiones (del 22 al 31 de Mayo de 2002) APLICACIÓN DE ÁRBOLES BINARIOS A LA COMPRESIÓN DE FICHEROS DE TEXTO MEDIANTE LA UTILIZACIÓN DE LOS CÓDIGOS DE HUFFMAN 0.- OBJETIVOS El objetivo

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 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 detalles

TEMA II OFIMÁTICA EMPRESARIAL

TEMA II OFIMÁTICA EMPRESARIAL BLOQUE I. INFORMÁTICA APLICADA A LA GESTIÓN DE EMPRESAS. TEMA II OFIMÁTICA EMPRESARIAL BIBLIOGRAFÍA BÁSICA - DE PABLOS ET AL. (2004): Informática y Comunicaciones en la Empresa, Editorial ESIC. Tema 10.

Más detalles

Conceptos Básicos. Programación Orientada a Objetos 2

Conceptos Básicos. Programación Orientada a Objetos 2 Programación Orientada a Objetos Conceptos Básicos de Objetos Ing. Julio Ernesto Carreño Vargas MsC. Conceptos Básicos Las aproximaciones ADOO y POO, proveen a los objetos como el principal medio para

Más detalles