Práctica 7: Clases en C++ La Clase Clmagen
|
|
- Mariano Ruiz Araya
- hace 7 años
- Vistas:
Transcripción
1 Práctica 7: Clases en C++ La Clase Clmagen 0. Instrucciones sobre la entrega de la práctica 7 En esta práctica a entregar por el alumno de forma individual se usará una clase imagen en C++ con el fin de leer imágenes en formato pgm o en formato comprimido rle. El alumno también implementará métodos para guardar las imágenes comprimidas o no, así como otros métodos. Finalmente un menú permitirá ejecutar todos los métodos implementados. Todos los métodos a implementarse así como el menú vienen descritos en el apartado 3 de este guión. Se proporcionan al alumno los siguientes ficheros: practica7.cpp que contendrá el menú y las llamadas a los métodos. o Fichero a completar por el alumno para la realización de la práctica. CImagen.h que contiene la definición de la clase. o Este fichero no puede ser modificado. CImagen.cpp que contendrá el constructor, el destructor, el constructor copia y los diferentes métodos a implementar especificados en la definición de la clase. o Fichero a completar por el alumno para la realización de la práctica. Se incluye ya resuelto como ejemplo el constructor. Se valorará tanto el funcionamiento de cada una de las partes como la claridad del código y los comentarios. El código se evaluará con diferentes imágenes pgm y rle para comprobar su funcionamiento. La práctica deberá subirse a través del acceso identificado a la tarea correspondiente antes de la fecha límite (23 de mayo). Únicamente deberán entregarse los ficheros practica7.cpp y CImagen.cpp debidamente comentados y con el nombre y DNI del alumno como un comentario en la primera línea de cada fichero. Para la corrección incluiré estos ficheros en el proyecto junto con el fichero original CImagen.h para compilarlo y evaluar su funcionamiento. 1/9
2 1. Objetivos E s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e El objetivo de esta práctica es introducir al alumno en la programación orientada a objetos en C++. Para ello deberá implementarse una clase en C++ para manejar imágenes digitales. En esta práctica manejaremos imágenes digitales en niveles de gris, como la que se muestra en la figura Imágenes digitales Fig. 1 Podemos entender una imagen digital como un array bidimensional, en el cual, cada elemento tiene un valor proporcional al brillo de ese punto. Valores cercanos a cero representan elementos oscuros de la imagen, mientras que valores altos representan zonas claras. Cada uno de estos valores se denomina pixel, término anglo-sajon que deriva de Picture Element. El array tendrá un número de columnas y filas determinado (n fil, n col ). Esto lo podemos ver representado en la figura 2. n col n fil Fig. 2 2/9
3 2.1. Formatos E s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e Las imágenes digitales se almacenan en un fichero con un formato determinado. Existen una gran cantidad de formatos, cada uno de ellos está más indicado para una aplicación en concreto. En nuestro caso vamos a trabajar con imágenes en formato pgm (Portable Gray Map). A continuación se muestra un ejemplo de una imagen en formato pgm. P Fig. 3 El formato del fichero es el siguiente: P2: Es una cadena de caracteres que identifica el formato pgm. Número de columnas: A continuación se escribe el número de columnas de la imagen (24). Número de filas: Separado por un espacio se escribe el número de filas de la imagen (7). Valor máximo: Separado por un retorno de carro se escribe el valor máximo de cada elemento de la imagen (255, es decir, cada elemento ocupa un byte). Píxeles: A continuación se escriben separados por espacios cada uno de los pixeles en formato ASCII (1 byte cada uno). Filas: Las diferentes filas de la imagen están separadas por el carácter \n. Esto no siempre es así y pueden escribirse de forma continua todos los valores. De hecho así es como se realizará en la práctica para simplificar. Aunque hay saltos de línea cuando acaba cada línea, estos no son necesarios y los valores pueden almacenarse de forma consecutiva. Puesto que conocemos el número de columnas, es posible conocer los datos que corresponden a cada una. Junto con la práctica se proporcionan algunas imágenes de prueba. Podemos abrir cada una de ellas utilizando un visor estándar de imágenes. En el siguiente link se encuentra un visor muy versátil: El visor visualizará la imagen si ha sido guardada correctamente. Si hay menos valores de los que debería haber según el número de filas y columnas la imagen no se visualizará. Por el contrario si hay más valores, el programa ignorará los sobrantes. Se recomienda abrir las imágenes con el bloc de notas para ver la cabecera y como se han guardado los valores. 3/9
4 2.2. Compresión de imágenes El formato que hemos elegido para almacenar la información de la imagen no es demasiado eficiente. Dependiendo del número de filas, de columnas de la imagen, ésta ocupará una cantidad de memoria. El número de bytes que ocupa la imagen lo podemos calcular de la siguiente manera: Nº de Bytes = n fil n col P Donde P es el número de bytes que ocupa cada pixel de la imagen (1 byte en nuestro caso). Por ejemplo, si una imagen tiene 500 filas x 500 columnas y cada uno de sus píxeles ocupa 3 bytes, en total tendremos: nº de bytes = Bytes = 732 KB. Este será realmente el espacio que ocupará en memoria. Pero al guardar el fichero, cada valor estará separado por un espacio que ocupará memoria y cada valor entre por ejemplo, 0 y 255, ocupará más según las cifras que tenga. Por tanto la imagen ocupará más. Podemos pensar en una manera de almacenar la imagen mucho más eficiente, lo que comprimiría la información. La idea fundamental se basa en almacenar el valor de un píxel y, justo después, el número de veces consecutivas que se repite el pixel en la imagen. Por ejemplo, si tenemos esta secuencia de píxeles: Esta secuencia se sustituye por: Es decir, el 0 se repite 4 veces, el 50 se repite 2 veces etc. En la figura 4 podemos ver un ejemplo más completo de cómo funciona el método: P P2RLE Fig. 4 Nótese como, en este caso, la imagen ha pasado de ocupar 6x7x1Byte = 42 Bytes a ocupar 20 Bytes. Se debe comentar, por último, que el método es capaz de comprimir la información siempre y cuando existan píxeles consecutivos que se repitan. Además, los datos guardados se guardan de forma consecutiva sin tener que introducir saltos de línea cada vez que acaba una línea. Puesto que tenemos la información de cuantas filas y columnas tiene la imagen podemos saber cuándo acaba una línea y empieza la siguiente. En la primera línea de un fichero comprimido.rle se indica la cadena P2RLE en vez de P2. Hay que tener en cuenta que el software 11view no es capaz de leer las imágenes comprimidas rle. Para visualizarlas puede utilizarse el bloc de notas. O pueden descomprimirse de nuevo a formato pgm para visualizarlas. 4/9
5 3. Tareas a realizar 1) Crear y configurar un proyecto en Dev C++ y añadir los tres ficheros proporcionados. 2) La clase definida en C++ se proporciona en el fichero CImagen.h (recordar que este fichero no puede modificarse). Nótese que la clase imagen es únicamente para almacenar imágenes sin comprimir. De esta forma cuando se lea una imagen comprimida deberá descomprimirse antes de guardarla en la clase, y cuando se quiera guardar una imagen comprimida, la acción de comprimir deberá realizarse justo antes de guardarla a partir de los datos almacenados en la clase. #ifndef CIMAGEN_H #define CIMAGEN_H class CImagen{ private: unsigned char *imagen; //Elementos de la imagen, // tratamos la información como un vector int nfil; //Número de filas de la imagen int ncol; //Número de columnas de la imagen int maxval; //Valor máximo de cada pixel int imagcargada; // 1 si hay ninguna imagen cargada, 0 en caso contrario public: CImagen(); CImagen(CImagen &imag_orig); ~CImagen(void); //Lee una imagen desde un fichero void LeerFichero(char *nombrefichero); void LeerFicheroComprimido(char *nombrefichero); void GuardarFichero(char *nombrefichero); void GuardarFicheroComprimido(char *nombrefichero); void Aclarar(int K); void Oscurecer(int K); }; #ifndef #else #endif #endif void LiberarImagen(); CIMAGEN_CPP 3) Programe los siguientes constructores: CImagen(); Se proporciona en el fichero CImagen.cpp y se encarga de inicializar las variables a 0 y la el vector imagen donde se almacenarán las imágenes. CImagen(CImagen &imag_orig); Constructor copia. Deberá copiar las dimensiones de la imagen así como los datos de ella. ~CImagen(void); Destructor. Deberá liberar la memoria asignada a la imagen. 5/9
6 4) Programe los siguientes métodos de la clase CImagen: LeerFichero(char *nombrefichero); Este método lee una imagen en formato pgm y lo almacena en la variable miembro imagen. El nombre del fichero se pasará como argumento al método. Por simplicidad, todos los elementos de la imagen se almacenarán en un array unidimensional. Este método deberá realizar el siguiente proceso: Deberá comprobar si no hay una imagen cargada previamente (imagcargada) ya que en este caso no deberá cargar la nueva imagen. Además, si el fichero no se puede abrir también deberá indicarse. A continuación se abrirá el fichero indicado y se leerá la cabecera. Si en la cabecera no pone P2 (que corresponde a una imagen sin comprimir) deberá indicarse y tampoco se leerá la imagen. Entonces, con la información leída de la cabecera (filas y columas) deberá realizarse la reserva dinámica de memoría de un array unidimensional (imagen). Finalmente se leerá la imagen y se indicará en la variable imagcargada con un 1 si todo ha salido correctamente. LeerFicheroComprimido(char *nombrefichero); Este método lee los datos de una imagen a partir de un fichero comprimido en formato rle y almacena los datos en la variable miembro imagen. El nombre del fichero se pasará como argumento al método. El proceso a seguir será el mismo que en LeerFichero pero en la cabecera de ficheros comprimidos deberá poner P2RLE. Además, puesto que la imagen debe almacenarse descomprimida, los datos leídos deberán descomprimirse antes de almacenarlos. GuardarFichero(char *nombrefichero); Este método se encarga de guardar los datos de una imagen en un fichero con formato pgm. El nombre del fichero se pasará como argumento al método. Hay que tener en cuenta que si no hay una imagen cargada deberá indicarse y no se guardará nada. GuardarFicheroComprimida(char *nombrefichero); Este método se encarga de guardar los datos de la variable miembro imagen en un fichero comprimido con formato rle. El nombre del fichero se pasará como argumento al método. Hay que tener en cuenta que si no hay una imagen cargada deberá indicarse y no se guardará nada. Puesto que la imagen almacenada en memoria no está comprimida, será necesario comprimirla según se almacene en el fichero. Para ello, se deberá contar el número de elementos de la imagen que se repiten, almacenando consecutivamente en el fichero el valor y el número de veces que se repite. 6/9
7 Aclarar(int K); Este método multiplica todos los datos de una imagen por un factor K que se pasará como argumento al método. Recordar que el valor máximo es maxval, por tanto, cualquier valor resultado que lo sobrepase deberá limitarse a maxval. Oscurecer(int K); Este método divide todos los datos de una imagen por un factor K que se pasará como argumento al método. Recordar que los valores resultado deberán ser enteros y siempre entre 0 y maxval. LiberarImagen (); Este método deberá liberar la memoria de la imagen actual e inicializar todos los valores al igual que el constructor. Esto permitirá, sin cerrar el programa, liberar una imagen para cargar una nueva con la que poder trabajar. 5) Finalmente, se deberá crear en practica7.cpp un menú que nos permita probar todas las funciones. El menú deberá volver a aparecer tras seleccionar cada opción hasta que se seleccione la opción 8 que finaliza el programa. El menú deberá ofrecer las siguientes opciones: 1. Cargar imagen. 2. Cargar imagen comprimida. 3. Guardar imagen. 4. Guardar imagen comprimida. 5. Aclarar 6. Oscurecer 7. Liberar Imagen 8. FIN A continuación se describen las acciones a realizar en cada opción: 1. Deberá solicitar el nombre del fichero pgm no comprimido (con extensión) imagen a abrir. A continuación ejecutará el método LeerFichero. 2. Deberá solicitar el nombre del fichero rle comprimido (con extensión) imagen a abrir. A continuación ejecutará el método LeerFicheroComprimido. 3. Deberá solicitar el nombre del fichero imagen pgm no comprimido (con extensión) a guardar. A continuación ejecutará el método GuardarFichero. 4. Deberá solicitar el nombre del fichero imagen rle comprimido (con extensión) a guardar. A continuación ejecutará el método GuardarFicheroComprimido. 5. Solicitará al usuario el valor K e invocará al método Aclarar. 6. Solicitará al usuario el valor K e invocará al método Oscurecer. 7. Deberá invocar al método LiberarImagen. 8. Finaliza el programa. 7/9
8 6) Con la práctica se suministran varios ficheros en formato pgm y rle para usar con la práctica. Además de ver las imágenes pgm con el visor de imágenes indicado anteriormente, se recomienda usar un editor de texto para ver su contenido. imagen1.pgm imagen2.pgm SII.pgm 7) Ejemplo de uso de la práctica. La siguiente captura se ha obtenido realizando el siguiente proceso: a. Selección de opciones 3, 4, 5 y 6. En todas ellas se indica que no hay una imagen cargada. b. Selección de opción 1. Carga del fichero SII.rle. Se indica que el fichero no corresponde con una imagen descomprimida. c. Selección de opción 1. Carga del fichero SII.pgm. La imagen se carga correctamente. d. Selección de opción 2. Se indica que ya hay una imagen cargada. e. Selección de opción 5. Se aclara la imagen por un factor 2. f. Selección de opción 4. Se almacena la imagen comprimida en el fichero SIIaclarada.rle. g. Selección de opción 6. Se oscurece la imagen por un factor 4. h. Selección de opción 3. Se almacena la imagen no comprimida en el fichero SIIoscurecida.pgm. 8/9
9 i. Selección de opción 7. Se libera la imagen. A partir de aquí podría cargarse una nueva imagen y continuar usando opciones. j. Selección de opción 8. Se sale del programa. 9/9
LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)
APRENDERAPROGRAMAR.COM LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C
Más detallesInformática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.
Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el
Más detallesLABORATORIO 10 FICHEROS EN EL LENGUAJE C
LABORATORIO 10 FICHEROS EN EL LENGUAJE C 1 OBJETIVOS Al finalizar esta actividad, el alumno será capaz de: Trabajar adecuadamente con ficheros. Utilizar funciones que manejen ficheros. Entender la diferencia
Más detallesE s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES (SOLUCIÓN PRÁCTICAS) La duración del examen es de 2 horas. JUNIO 2016 1. Escribir un programa en C++ y C,que mediante el uso de clases y métodos, pida al usuario
Más detallesRelació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 2016-2017 1º Grado en Informática Práctica 3: Recursividad, Ficheros y Argumentos en Línea de órdenes Objetivos
Más detallesTEMA 7. ARRAYS (LISTAS Y TABLAS).
TEMA 7. ARRAYS (LISTAS Y TABLAS). En capítulos anteriores se han descrito las características de los tipos de datos básicos o simples (carácter, entero y coma flotante). Asimismo, se ha aprendido a definir
Más detallesLENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Septiembre de 2017
Trabajo Práctico - Septiembre de 2017 INSTRUCCIONES El trabajo práctico debe realizarse de manera individual. No debe realizarse en grupo. Se penalizará cualquier uso compartido de las soluciones propuestas
Más detallesRelació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 detallesESTRUCTURAS DE DATOS Y DE LA INFORMACIÓN 2
ESTRUCTURAS DE DATOS Y DE LA INFORMACIÓN 2 Entregas: PRÁCTICA 3: Ficheros y Bases de Datos. 2009-2010 Las fechas de entrega electrónicas serán estrictamente rigurosas. Es obligatorio entregar la práctica
Más detallesProf. 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 detallesRelació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 2016-2017 1º Grado en Informática Práctica 2: Memoria dinámica, Bibliotecas Objetivos Practicar conceptos
Más detallesAPELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA
Hoja 1/10 Duración: una hora y media Resultados de aprendizaje que se evalúan en este examen: R2: Saber emplear las estructuras de control de flujo de programación para implementar algoritmos sencillos.
Más detallesE s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES (SOLUCIÓN PRÁCTICAS) La duración del examen es de 2 horas. SEPTIEMBRE 2016 En este examen se solicita al alumno realizar una función para ordenar un vector
Más detallesPrá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 detallesExamen de Programación (Grados en Física y Matemáticas)
Examen de Programación (Grados en Física y Matemáticas) Junio 2012 Primera parte (5 puntos, 50% nota del examen) 1) Escribir en Java el método posicion(), que retorna el valor correspondiente a la expresión
Más detallesObjetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.
Universidad Nacional Autónoma de México Facultad de Ingeniería ARREGLOS Y ESTRUCTURAS Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan
Más detallesPROGRAMA PRINCIPAL: Se usan las siguientes variables en la función main()
PROGRAMA PRINCIPAL: Se trata de llevar un control de los datos característicos de varios modelos de vehículos, para poder calcular el consumo, emisión de dióxido de carbono y duración de viajes, a partir
Más detallesPUNTEROS (Apuntadores)
PUNTEROS (Apuntadores) Unidad III INTRODUCCIÓN A PUNTEROS. CONCEPTOS BÁSICOS. DECLARACIÓN DE PUNTEROS. PUNTEROS Como una colección de posiciones de memoria consecutivas. En ella se almacenan los distintos
Más detallesRelació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 detallesGrado en Ingeniería de Tecnologías y Servicios de Telecomunicación Programación II. PRÁCTICA 1: Utilización del concepto de Tipo Abstracto de Dato
PRÁCTICA 1: Utilización del concepto de Tipo Abstracto de Dato OBJETIVOS El objetivo de esta práctica es utilizar los conceptos aprendidos en las clases de teoría sobre los Tipos Abstractos de Datos (TAD)
Más detallesEscuela Politécnica Superior de Elche
EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA) La duración del examen es de 2 horas. JUNIO 2016 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++ para cada
Más detallesExamen de Introducción al Software (Ingeniería Informática)
Examen de Introducción al Software (Ingeniería Informática) Febrero 2011 Primera parte (5 puntos, 50% nota del examen) 1) Escribir en Java el siguiente algoritmo descrito en pseudocódigo, que calcula los
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 detallesIndique la veracidad o falsedad de cada una de las afirmaciones siguientes, explicando detalladamente en cada caso el motivo de su respuesta.
LENGUAJES DE PROGRAMACIÓN INSTRUCCIONES Por favor, entregue esta primera hoja de enunciado junto con el examen. Dispone de 2 horas para realizar el examen. MATERIAL PERMITIDO: Ninguno. Pregunta 1 (3 puntos)
Más detallesTema 14: Arreglos estáticos en C
Tema 14: Arreglos estáticos en C Solicitado: Ejercicios 05: Ejercicios con arreglos estáticos unidimensionales M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom
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 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 detallesExamen 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 detallesF. Javier Gil Chica 2010
hc Manual de usuario y notas de implementación F. Javier Gil Chica 2010 Parte I Manual de usuario 1. Qué es hc hc es un compresor por códigos de Huffman. La compresión de Huffman es un ejercicio de programación
Más detallesPRACTICA Nº Realizar una aplicación que calcule el volumen de una esfera, que viene dado por la fórmula:
PROGRAMACION III SIS - 221 PRACTICA Nº 1 1. Realizar una aplicación que calcule el volumen de una esfera, que viene dado por la fórmula: 2. Realizar una aplicación que pregunte el nombre y el año de nacimiento
Más detallesManual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz
Manual de referencia de C++ Parte IV Variables Punteros Preparado por Prof. Luis A. Ortiz Ortiz TABLA DE CONTENIDO Memoria de la computadora... 1 Representación de la memoria de la computadora... 1 Declaración
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 detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Vectores y cadenas en lenguaje C Vectores y cadenas en lenguaje C Vectores Declaración de vectores Vectores unidimensionales Vectores multidimensionales
Más detallesCIDAR v.1.0 Container ID Automatic Reader
CIDAR v.1.0 Container ID Automatic Reader 1 de 28 Tabla de Contenidos Inicialización / Finalización 4 cidarinit 4 cidarend 5 Lectura de Códigos de Contenedores 6 cidarread 6 cidarreadrgb24 7 cidarreadrgb32
Más detallesLENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Septiembre de 2012
Trabajo Práctico - Septiembre de 2012 INSTRUCCIONES El trabajo práctico debe realizarse de manera individual. No debe realizarse en grupo. Se penalizará cualquier uso compartido de las soluciones propuestas
Más detallesDatos Elementales y formato de un programa en Java
Datos Elementales y formato de un programa en Java PROGRAMACION I Grado en Matematicas Informática Programación I - 2015/2016 Datos, variables y mi primer programa 1 Introducción a la programación o Programa:
Más detallesSISTEMAS OPERATIVOS MANUAL DE USUARIO SIMULACIÓN GRÁFICA DE UN COMPUTADOR FICTICIO DE FUNCIONAMIENTO BÁSICO CHMÁQUINA
SISTEMAS OPERATIVOS 1 MANUAL DE USUARIO SIMULACIÓN GRÁFICA DE UN COMPUTADOR FICTICIO DE FUNCIONAMIENTO BÁSICO CHMÁQUINA CONTENIDO OBJETIVO.. 3 2 OPERACIONES DEL CHMÁQUINA.3 PANTALLA PRINCIPAL DEL CHMÁQUINA
Más detallesTipos 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 detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011
Más detallesFUNDAMENTOS DE INFORMÁTICA
ÁREA DE LENGUAJES Y SISTEMAS INFORMÁTICOS DEPARTAMENTO DE INFORMÁTICA E INGENIERÍA DE SISTEMAS ESCUELA DE INGENIERÍA Y ARQUITECTURA FUNDAMENTOS DE INFORMÁTICA 1ª CONVOCATORIA (16-junio-2011) Ejercicio
Más detallesTema 5. Entrada y Salida
Tema 5 Entrada y Salida Contenidos 1. Conceptos Previos de Entrada y Salida de Datos. 2. Funciones de Salida de Datos. putchar puts printf 3. Funciones de Entrada de Datos. getchar gets scanf 4. Ficheros
Más detallesCadenas 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 detallesNormalización de nombres de cubiertas. v2.0 (02/2008)
Normalización de nombres de cubiertas v2.0 (02/2008) Febrero 2008 DILVE es una iniciativa de libro-es.com promovida por la Federación de Gremios de Editores de España y la Fundación Germán Sánchez Ruipérez,
Más detallesLaboratorio de Arquitectura de Redes. Entrada y salida estándar
Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada
Más detallesLENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Junio de 2015
Trabajo Práctico - Junio de 2015 INSTRUCCIONES El trabajo práctico debe realizarse de manera individual. No debe realizarse en grupo. Se penalizará cualquier uso compartido de las soluciones propuestas
Más detallesUNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION
CICLO: 02/ 2015 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACION Nombre de la Practica: Lugar de Ejecución: Tiempo Estimado: MATERIA: GUIA DE LABORATORIO #08 Arreglos
Más detallesProgramación. Práctica Final
Programación Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira 1 1. Introducción. El objetivo de esta práctica
Más detallesEjercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes
Ejercicio de Programación Orientada a Objetos Curso 2016/2017 Exámenes Introducción El ejercicio consiste en la implementación de una aplicación para la creación, edición, resolución y corrección de exámenes.
Más detallesPROBLEMA 1. Rellena el hueco 1 (línea 23). Realiza la reserva de memoria para almacenar los n puntos.
PROBLEMA 1. El siguiente programa tiene algunos huecos en blanco que tienes que rellenar para que funcione correctamente. En cada hueco va una única línea de C, salvo en el cuerpo de la función calcula_area_triangulo,
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011
Más detallesInformática Ingeniería en Electrónica y Automática Industrial
Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:
Más detallesProgramación Orientada a Objetos en C++
Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase
Más detallesFundamentos de los Computadores Grado en Ingeniería Informática
7. Camino de datos y unidad de control o Fundamentos de los Computadores Grado en Ingeniería Informática Introducción La versatilidad es una característica deseable de los sistemas digitales Un sistema
Más detallesPROGRAMACIÓN EN JAVA
SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 2: Jerarquía de clases en Java Objetivos Implementar una jerarquía de clases para crear una aplicación en Java Comprender
Más detallesIndique la veracidad o falsedad de cada una de las afirmaciones siguientes, explicando detalladamente en cada caso el motivo de su respuesta.
LENGUAJES DE PROGRAMACIÓN INSTRUCCIONES Por favor, entregue esta primera hoja de enunciado junto con el examen. Dispone de 2 horas para realizar el examen. MATERIAL PERMITIDO: Ninguno. Pregunta 1 (3 puntos)
Más detallesEscuela 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 detallesPRÁCTICA 2 Compresión de imágenes
PRÁCTICA 2 Compresión de imágenes El objetivo es escribir un programa que sea capaz de comprimir y descomprimir un determinado tipo de imágenes creadas especialmente para la práctica. Primero vamos a ver
Más detallesTema 3: Entrada/Salida de Ficheros
Tema 3: Objetivo: Almacenar datos en un dispositivo de almacenamiento secundario (p.e. disco duro). Pasos a seguir: 1 Abrir fichero 2 Escribir/leer del fichero 3 Cerrar fichero 1 Tema 3: Abrir el fichero:
Más detallesANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS
ANÁLISIS Y DISEÑO DE ALGORITMOS. PRACTICAS 2004-2005 PRACTICA 1: MEDICIÓN DEL TIEMPO. ALGORITMOS DE ORDENACIÓN Crear un conjunto de funciones que permitan la medición del tiempo de ejecución de los programas,
Más detallesTeoría de los Lenguajes de Programación Práctica curso Enunciado. Fernando López Ostenero y Ana García Serrano
Teoría de los Lenguajes de Programación Práctica curso 2015-2016 Enunciado Fernando López Ostenero y Ana García Serrano Sumario 1. Introducción: Skyline de una ciudad...3 2. Enunciado de la práctica...3
Más detallesTema 10: Arreglos estáticos en C
Tema 10: Arreglos estáticos en 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) 1 Contenido
Más detallesLENGUAJES DE PROGRAMACIÓN. Solución al examen de Junio 2014, Primera Semana
Solución al examen de Junio 2014, Primera Semana PREGUNTA 1 (3 puntos) Indique la veracidad o falsedad de cada una de las afirmaciones siguientes, explicando detalladamente en cada caso el motivo de su
Más detallesProf. Dr. Paul Bustamante
Nombre: Carné: Examen C++ - Junio Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Examen Grupo B Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción.... 1 1.1 Ejercicio 1:
Más detallesCaracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().
Notas auxiliares sobre manejo de archivos Las funciones de entrada salida (E/S) de las librerías estandar de C, permiten leer y escribir datos a, y desde, archivos y dispositivos. La caracteristica fundamental
Más detallesProgramación En Lenguaje C
Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un
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 detallesPRÁCTICA 5 Recuento de mensajes
PRÁCTICA 5 Recuento de mensajes Página - 0 ÍNDICE 1 OBJETIVOS...2 2 TOMA DE CONTACTO CON EL SERVIDOR DE INFORMACIÓN (IS)...2 3 NÚMERO TOTAL DE MENSAJES ENVIADOS POR LOS PROCESOS...3 3.1 Definir y mantener
Más detallesSe debe disponer sobre la mesa un documento de identificación con fotografía.
Examen escrito de Programación 1. Miércoles 31 de enero de 2018 Se debe disponer sobre la mesa un documento de identificación con fotografía. Se debe comenzar a resolver cada uno de los problemas del examen
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 detallesMicrosoft Office XP Excel XP (III)
PRÁCTICA 3 HOJA DE CÁLCULO Microsoft Office XP Excel XP (III) 1. Escenarios. Con esta herramienta de análisis es posible evaluar distintas estrategias para comparar y ajustar distintos datos o resultados.
Más detallesSolucion al Examen de Fundamentos de Computadores y Lenguajes
Solucion al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2006 1) Escribir una clase que permita almacenar una lista de jugadores
Más detallesESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/
DECLARACION DE ESTRUCTURAS ESTRUCTURAS La estructura es una colección de variables, la cual puede poseer distintos tipos de datos (a diferencia de los arreglos que solamente pueden tener un solo tipo de
Más detallesPRÁCTICA. Estructura de Computadores Grado en Ingeniería Informática Estudios de Informática, Multimedia y Telecomunicación
PRÁCTICA Estructura de Computadores Grado en Ingeniería Informática 2014-02 Estudios de Informática, Multimedia y Telecomunicación Presentación La práctica que se describe a continuación es una práctica
Más detallesEjercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique
Más detallesLENGUAJES DE PROGRAMACIÓN. Pregunta 1 (3 puntos)
LENGUAJES DE PROGRAMACIÓN INSTRUCCIONES Por favor, entregue todas las hojas de enunciado junto con el examen. Dispone de 2 horas para realizar el examen. MATERIAL PERMITIDO: Ninguno. Pregunta 1 (3 puntos)
Más detallesManual de Usuario. Mayo 2012.
Mayo 2012. INDICE 1.Introducción... 3 2.Requisitos... 4 3.Funcionamiento de las pantallas... 5 3.1. Ayuda al usuario... 5 3.2. Cambio de Idioma... 5 3.3. Menú Horizontal... 6 3.4. Sendero de migas... 6
Más detallesArchivos. Programación en C 1
Archivos Programación en C 1 Índice Tipos de archivos. Apertura de archivos. Cierre de archivos. Lectura de archivos. Escritura de archivos. Acceso directo en archivos binarios. Programación en C 2 Introducción
Más detallesPROGRAMACIÓN ESTRUCTURADA
PROGRAMACIÓN ESTRUCTURADA MATRICES ARREGLOS BIDIMENSIONALES Matrices 1 INTRODUCCIÓN Supóngase que se tiene la siguientes calificaciones de los alumnos de Pseudocodigo de la sec. 107 arreglados de la siguiente
Más detalles6.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 detallesEstructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn
Estructuras de datos: vectores en C Clase 7 y 8 Introducción a la Computación Patricia Borensztejn Estructuras de Datos Son agrupaciones de datos si el tamaño de la estructura es conocido en tiempo de
Más detallesTipo de Dato: Arreglos
Tipo de Dato: Arreglos Unidimensionales Prof. Judith Barrios Albornoz Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Semestre A_2013 Este
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 detallesGuía básica del uso de Kbruch
Guía básica del uso de Kbruch KBruch es un pequeño programa para practicar el cálculo con fracciones y porcentajes. Se proporcionan diferentes ejercicios para este propósito y el usuario puede elegir el
Más detallesINSTRUCTIVO DE CARGA DE PROYECTOS ARFITEC
INSTRUCTIVO DE CARGA DE PROYECTOS ARFITEC Recomendamos seguir las siguientes instrucciones a fin de facilitar la presentación de los proyectos en Argentina en el marco de la 5ª Convocatoria del Programa
Más detallesSubdirecció General d'innovació Tecnològica Educativa. Manual de usuario OVICE
1. ACCESO A OVICE El acceso a la Oficina Virtual de la Conselleria de Educación, Investigación, Cultura y Deporte (en adelante, OVICE) se realiza a través de la siguiente dirección web: https://oficinavirtual.gva.es/oficina_tactica/entrada.jsp?perfil=edu
Más detallesProgramación en Visual Basic Ricardo Rodríguez García
Manual Básico de Programación en Visual Basic 1.- Estructura de un proyecto Visual Basic Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un único paquete que denominaremos proyecto.
Más detallesMANUAL DE USUARIO.
MANUAL DE USUARIO Página 1 de 16 Manual de Usuario Descripción General El programa Inventuren para toma de inventarios se diseñó para trabajar con terminales modelo REVO y PM200. Realiza la captura de
Más detallesExamen de Métodos de Programación Ingeniería Informática Primera Parte
Examen de Métodos de Programación Ingeniería Informática Primera Parte Cuestión 1. (2 puntos) Se pretende guardar y recuperar matrices de números reales de cualquier dimensión en ficheros binarios de tipos
Más detallesTratamiento a Ciudadanos Mal Referenciados en Secciones con Casillas Extraordinarias durante el Proceso Federal Electoral 2014
Portal de Servicios Cartográficos Tratamiento a Ciudadanos Mal Referenciados en Secciones con Casillas Extraordinarias durante el Proceso Federal Electoral 2014 Manual de Usuario Diciembre 2014 INDICE
Más detallesTema 10: Estructuras de control de entrada y salida
Tema 10: Estructuras de control de entrada y salida Estructuras de control de entrada y salida (input, disp, fopen, fclose, fscanf, fprintf, textread, load, save). Instrucciones de entrada (lectura) y
Más detallesTres ficheros de texto son necesarios para la ejecución de la práctica.
Programación I Práctica final: el juego del pinball, parte 2 (ENTREGA OBLIGATORIA) El objetivo de esta práctica es implementar un juego de pinball con ciertas variantes respecto de la práctica parcial.
Más detallesLENGUAJES DE PROGRAMACIÓN. Pregunta 1 (3 puntos)
LENGUAJES DE PROGRAMACIÓN INSTRUCCIONES Por favor, entregue esta primera hoja de enunciado junto con el examen. Dispone de 2 horas para realizar el examen. MATERIAL PERMITIDO: Ninguno. Pregunta 1 (3 puntos)
Más detalles06 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 detallesTrabajo Práctico Nº 1: Abstracción
Algoritmos y Programación II (75.41) - 2 Cuatrimestre 2008 Trabajo Práctico Nº 1: Condiciones de entrega El presente trabajo práctico deberá cumplir con todos los requisitos detallados en el reglamento
Más detallesPara comenzar a ejecutar la interfaz se escribirá lo siguiente en la pantalla principal de Matlab: >>proyecto
Capítulo 4. Manual de usuario. En este apartado del proyecto se va a realizar una guía para facilitar el uso del programa, así como dar a conocer sus diferentes opciones y posibilidades. La interfaz se
Más detallesFOCO GESTIÓN DE GRUPOS
FOCO GESTIÓN DE GRUPOS MANUAL DE USUARIO GESTIÓN DOCENTES MODALIDAD II ÍNDICE 1. INTRODUCCIÓN... 3 2. GESTIÓN DOCENTES... 4 3. BÚSQUEDA DE PETICIONES DE CAMBIO DE DOCENTES... 4 4. ALTA PETICIÓN DE CAMBIO
Más detalles