Un modelo de algoritmos en C para manejar imágenes.raw. Introducción a la Computación Clase 22

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

Download "Un modelo de algoritmos en C para manejar imágenes.raw. Introducción a la Computación Clase 22"

Transcripción

1 Un modelo de algoritmos en C para manejar imágenes.raw (con visualización en Matlab) Introducción a la Computación Clase 22 María Elena Buemi

2 Qué es una imagen digital? Es una función bidimensional f(x,y), donde x e y son coordenadas espaciales y f es la intensidad en esas coordenadas. Imagen Lena

3 Un pixel Usaremos imágenes.raw, donde los datos están almacenados como una tira de bytes, en la que el primer byte corresponde a la esquina superior izquierda de la imagen y el ultimo a la esquina inferior derecha. El tipo será uint8, por lo que en c usaremos unsigned char(valores de 0 a 255). Al usar imágenes raw, no necesitamos librerías especiales.

4 Crear una imagen (en C sin GUI) #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> #define filas 256 #define columnas 256 /*crearimagen*/ void crearimagen(unsigned char **im) { int i,j; for (i=0;i<filas;i++) for (j=0;j<columnas;j++){ im[i][j]=i; /* Almacenar archivo imagen, ingresa el nombre del archivo y la matriz asociada- */ void guardaimagen(char archivo[], unsigned char **im) { FILE *outfp; int i; outfp=fopen(archivo, "wb"); for(i=0;i<filas;i++) fwrite(im[i],1,columnas,outfp); fclose(outfp); /*- main */ int main() { unsigned char **imagen; int i; char nom[20]; imagen=(unsigned char **)malloc (sizeof (unsigned char *)*filas); for (i=0; i<filas; i++) imagen[i]=(unsigned char *)malloc (sizeof (unsigned char )*columnas); crearimagen(imagen); sprintf(nom,"grises.raw"); guardaimagen(nom,imagen); return(0);

5 Para visualizar el archivo.raw lo hacemos en Matlab Editar esta función y usarla >> %% desde línea de comandos >> I=0; >> file=fopen('grises.raw'); >> if file=-1 disp(['error: no se puede abrir archivo 'grises.raw']); return; end >> I= fread(file, [256,256], 'uint8'); >> fclose(file) >> imshow(i',[]) %para visualizar la imagen, el,operador ' lo uso para trasponer la imagen >> >> %si tengo la funcion readraw, solo la uso >> T=readraw('grises.raw',256,256); >> imshow(t,[]) function [img] = readraw( fname, filas, columnas ) % % [img] = readraw( filename, filas, columnas ) % Read RAW data. Each pixels is allocated in 8 bits of data % img = 0; fp = fopen(fname); if fp == -1 disp(['error: no se puede abrir archivo ' fname]); return; end img = fread(fp, [filas, columnas], 'uint8'); fclose(fp); En línea de comando de Matlab

6 Leer imagen raw void leeimagen(char archivo[], unsigned char **im){ FILE *fp; unsigned char ch; int i,j; fp=fopen(archivo, "rb"); if ( fp == NULL ){ printf("no puedo abrir el archivo \n"); exit(1); for(i=0;i<filas;i++){ for(j=0;j<columnas;j++){ fread(&ch,sizeof(ch),1,fp); im[i][j]=ch; fclose(fp);

7 Crear un efecto y multiplicarlo a lena pixel a pixel Sea la función f(i,j)=1-(1/(sqrt(2)*128)*sqrt((i-128)*(i-128)+(j-128)(j-128))) De modo más general para cualquier tamaño f(i,j)=1-(1/(sqrt(2)*(tamfila/2))*sqrt((i-(fila/2))*(i-fila/2)+(j-(columnas/2))(j-(columnas/2))))

8 Crear un efecto void efectoilum(unsigned char **im, unsigned char **imsal){ long int i,j; float lum; for (i=0;i<filas;i++){ for (j=0;j<columnas;j++){ lum=1-(1/(sqrt(2)*128))*sqrt((i-128)*(i-128)+(j-128)*(j-128));//variación de la luminosidad imsal[i][j]=(floor(lum*(float)im[i][j])); int main() { unsigned char **imagen; unsigned char **imagenmod; int i; imagen=(unsigned char **)malloc (sizeof (unsigned char *)*filas); imagenmod=(unsigned char **)malloc (sizeof (unsigned char *)*filas); for (i=0; i<filas; i++){ imagen[i]=(unsigned char *)malloc (sizeof (unsigned char )*columnas); imagenmod[i]=(unsigned char *)malloc (sizeof (unsigned char )*columnas); leeimagen( lena.raw,imagen); efectoilum(imagen,imagenmod); guardaimagen( lenaefecto.raw,imagenmod); return(0);

9 Ejercicios 1. Hacer una función que invierta los valores de gris de lena, aplicarla a la imagen de lena con efecto. 2. El operador de umbral es una transformación que, dado un valor(llamado umbral, entre 0 y 255), pone en 0 todos los pixels menores que umbral y en 255 los iguales o mayores. Hacer una función umbral y aplicarla a lena con efecto para 3 umbrales distintos. 3. Hacer una imagen que para cada pixel de la imagen original, la de salida es el promedio del pixel de entrada y sus 8 vecinos(sin tener en cuenta los bordes), es una imagen de medias, ídem mediana. 4. Dada una imagen de tamaño N x N, devolver una de tamaño N/2 x N/2 y otra con tamaño N*2 x N*2. i-1 j-1 i-1 j i-1 j+1 i j-1 i j i j+1 i j i+1 j-1 i+1 j i+1 j+1

10 Guardar con otro formato En Matlab, supongamos que en lena170.raw está una mi agen de salida del ejercicio 2. >> I=readraw('lena170.raw',256,256); >> I=uint8(I); >> imshow(i',[ ]) >> imwrite(i,'lena170.bmp','bmp')

11 Qué vimos? Qué es una imagen digital Imagenes raw Crear una imagen Guardar una imagen Leer imagen Visualizar en Matlab Alamcenar como.bmp en matlab

Apuntadores (Punteros)

Apuntadores (Punteros) Apuntadores (Punteros) x9ff10 X int 209 SESION 7 *ptr Definición Llamados también punteros. Un Apuntador es una variable que contiene una dirección de memoria, la cual corresponderá a un dato o a una variable

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 JUNIO 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, cuando se destruye un objeto de una

Más detalles

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES VARIABLES Y CONSTANTES Variables: Es un espacio reservado en la memoria donde podemos almacenar un valor durante la ejecución de un programa, a dicho espacio se le asocia un nombre (identificador). El

Más detalles

Lectura y escritura de datos en archivos binarios

Lectura y escritura de datos en archivos binarios Clase No. 5: Lectura y escritura de datos en archivos binarios MAT 251 Dr. Alonso Ramírez Manzanares Depto. de Matemáticas Univ. de Guanajuato e-mail: alram@ cimat.mx web: http://www.cimat.mx/ alram/met_num/

Más detalles

TEORÍA. N T f n h g $ S S P f C n S S P f C n S S C h P n S S C h P n S S P P f P n f P

TEORÍA. N T f n h g $ S S P f C n S S P f C n S S C h P n S S C h P n S S P P f P n f P 1.- Sea la gramática: S P f C n S C h P n S P n f P f C g C h %token f n h g cuya tabla de reconocimiento LL(1) es: Examen de Traductores, Intérpretes y Compiladores. Convocatoria extraordinaria de Diciembre

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

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

Entrada/Salida (Standard) Clase 6 Introducción a la Computación Patricia Borensztejn

Entrada/Salida (Standard) Clase 6 Introducción a la Computación Patricia Borensztejn Entrada/Salida (Standard) Clase 6 Introducción a la Computación Patricia Borensztejn Euler 3 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143?

Más detalles

Punteros. 1.- Paso de parámetros por referencia. Ya hablamos de ésto en funciones. 2.- Declaración de arreglos dinámicos.

Punteros. 1.- Paso de parámetros por referencia. Ya hablamos de ésto en funciones. 2.- Declaración de arreglos dinámicos. 1 Punteros. Dentro de la memoria de la computadora cada dato almacenado ocupa una o más celdas contiguas de memoria. El número de celdas de memoria requeridas para almacenar un dato depende de su tipo.

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Estructuras, apuntadores y memoria dinámica Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 11 de mayo

Más detalles

Informática. Prueba de conjunto (0.25 puntos) Considerar el siguiente fragmento de código:

Informática. Prueba de conjunto (0.25 puntos) Considerar el siguiente fragmento de código: NOMBRE Y APELLIDOS DEL ALUMNO: Informática Prueba de conjunto 23.05.14 1.- (0.25 puntos) Considerar el siguiente fragmento de código: for(i=0;i

Más detalles

Programación I Teoría : Entrada/Salida - Archivos.

Programación I Teoría : Entrada/Salida - Archivos. Programación I Teoría : Entrada/Salida - Archivos http://proguno.unsl.edu.ar proguno@unsl.edu.ar Entrada/Salida Interacción del programa con su ambiente para leer (entrada) y escribir (salida) datos. 2

Más detalles

» Profesorado. Tutorías: Martes de 16:30 a 19:30 Miércoles de 10:00 a 13:00. Concertar cita previa por ! Cristina Suárez Mejías

» Profesorado. Tutorías: Martes de 16:30 a 19:30 Miércoles de 10:00 a 13:00. Concertar cita previa por  ! Cristina Suárez Mejías » Profesorado María José Jiménez Página web: http://personal.us.es/majiro Email: majiro@us.es Departamento: Matemática Aplicada I (http://ma1.eii.us.es) Lugar: despacho B2.46 Tutorías: Martes de 16:30

Más detalles

Formatos de imágenes. Herramientas de programación para procesamiento de señales

Formatos de imágenes. Herramientas de programación para procesamiento de señales Formatos de imágenes Herramientas de programación para procesamiento de señales Índice Resumen de diferentes formatos de imágenes Formato PGM Tipos Encabezado Formato PPM Operación simple aplicar umbral

Más detalles

Tema 18: Memoria dinámica y su uso en C

Tema 18: Memoria dinámica y su uso en C Tema 18: Memoria dinámica y su uso 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

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Estructuras y Uniones

Estructuras y Uniones 1 Estructuras y Uniones Estructuras. Las estructuras ( struct ) son agrupaciones de una o más variables de tipos posiblemente diferentes, agrupadas bajo un mismo nombre. Esto permite un manejo más cómodo

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

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido

Más detalles

PUNTEROS (APUNTADORES)

PUNTEROS (APUNTADORES) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 2 Contenidos: 1. Punteros 2. Arrays 3. Estructuras (registros) y uniones 4. Funciones Ejercicios Algoritmos y

Más detalles

Introducción a procesamiento digital de imágenes con Matlab

Introducción a procesamiento digital de imágenes con Matlab Introducción a procesamiento digital de imágenes con Matlab Contenidos Imágenes digitales Convenciones en el establecimiento de las coordenadas Lectura, visualización y escritura de imágenes. Tipos de

Más detalles

Introducción al procesamiento digital de imágenes con Matlab

Introducción al procesamiento digital de imágenes con Matlab Introducción al procesamiento digital de imágenes con Matlab Contenidos Imágenes digitales Convenciones en el establecimiento de las coordenadas Lectura, visualización y escritura de imágenes. Tipos de

Más detalles

Diagrama de transiciones del autómata. Tabla de transiciones

Diagrama de transiciones del autómata. Tabla de transiciones Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 4, Semestre 2016-1 Analizador Léxico en C Diagrama de transiciones del autómata letra letra 1 0 3 e 4 5 6 e 2 espacio Tabla

Más detalles

1000+(4/100)*1000 =1000 * (1+4/100) =1000 * 1.04 = Al finalizar el segundo año, el 4% se aplica sobre los 1040, y obtenemos:

1000+(4/100)*1000 =1000 * (1+4/100) =1000 * 1.04 = Al finalizar el segundo año, el 4% se aplica sobre los 1040, y obtenemos: Nombre: Apellidos: Grupo: Nº. Matrícula Ejercicio 1 (2,5 puntos 30 minutos) Al ingresar capital en un banco, pongamos 1000, éste nos ofrece un porcentaje anual de interés, por ejemplo el 4%. Al cabo de

Más detalles

MATLAB: Introducción al procesamiento de imágenes

MATLAB: Introducción al procesamiento de imágenes MATLAB: Introducción al procesamiento de imágenes Visión por Computador Esther de Ves Cuenca Representación de imágenes en MATLAB Matlab almacena las imágenes como vectores bidimensionales (matrices),

Más detalles

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Problema 1: [1 punto] Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Duración: 2,45 horas 10 PUNTOS Publicación de notas 26 de enero Revisión de examen 1 de febrero En el horario

Más detalles

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle , y. y paso de. carlos.andres.delgado@correounivalle.edu.co Facultad de Ingeniería. Universidad del Valle Agosto de 2016 Contenido 1 2 3 4 5 Los lenguajes de, cuentan con expresiones para facilitar el

Más detalles

Fundamentos de Informática 5. Operadores, expresiones (y su aplicación)

Fundamentos de Informática 5. Operadores, expresiones (y su aplicación) Fundamentos de Informática 5. Operadores, expresiones (y su aplicación) Fundamentos de Informática Grado en Ingeniería Química 2 Contenidos Operadores De asignación Aritméticos De incremento Relacionales

Más detalles

Preliminares: programación con C++

Preliminares: programación con C++ Preliminares: programación con C++ JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Archivos y Comentarios Todo programa en lenguaje C++ debe tener la siguiente extensión: file.c, file.cc file.cpp

Más detalles

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

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA

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

Cálculo del histograma de una imagen

Cálculo del histograma de una imagen Cálculo del histograma de una imagen Una imagen digital se puede representar por una matriz de tamaño NxM elementos dónde N es el número de filas y M es el número de columnas. En cada uno de estos elementos

Más detalles

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos

Más detalles

Programación científica Punteros y arreglos

Programación científica Punteros y arreglos Programación científica Punteros y arreglos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Punteros y arreglos p. 1 Arreglo Un arreglo es un conjunto de una cantidad fija de variables

Más detalles

Tema 3: Entrada/Salida de Ficheros

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

Repaso 02: Apuntadores y manejo de memoria dinámica

Repaso 02: Apuntadores y manejo de memoria dinámica Repaso 02: Apuntadores y manejo de memoria dinámica Solicitado: Ejercicios 02: Programación con memoria dinámica M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom

Más detalles

Principal material bibliográfico utilizado

Principal material bibliográfico utilizado Vectores y Punteros Principal material bibliográfico utilizado www.jorgesanchez.net Fundamentos de Programación C/C++ - Ernesto Peñaloza Romero. Lenguaje C Adolfo Beltramo, Nélida Matas. En C el primer

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

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009)

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática (2009) Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad Politécnica de Madrid

Más detalles

Ejercicios de la sesión 4 de C resueltos

Ejercicios de la sesión 4 de C resueltos Ejercicios de la sesión 4 de C resueltos 1. Usando el procedimiento del ejercicio 2 del seminario anterior, escribe un programa que multiplique dos matrices A y B leídas de ficheros, la primera de tamaño

Más detalles

Práctica 2 - Manejo de estructuras de datos y punteros

Práctica 2 - Manejo de estructuras de datos y punteros Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,

Más detalles

Clase 19/02/2013. Bibliografía recomendada. #include <stdio.h> void main() { printf("hola mundo\n"); } ENLAZADOR

Clase 19/02/2013. Bibliografía recomendada. #include <stdio.h> void main() { printf(hola mundo\n); } ENLAZADOR Bibliografía recomendada Introducción a la Programación en C. Apuntes de la asignatura 1 2.1 La función main: Hola Mundo Clase CODIGO FUENTE Archivo de texto *.c PREPROCESADOR ARCHIVOS DE CABECERA Archivo

Más detalles

Tema 13: Manejo de archivos en lenguaje C

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

Ficheros. Archivo, o fichero: Características:

Ficheros. Archivo, o fichero: Características: Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa

Más detalles

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE) Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben

Más detalles

UNIVERSIDAD DON BOSCO VICERRECTORÍA DE ESTUDIOS DE POSTGRADO

UNIVERSIDAD DON BOSCO VICERRECTORÍA DE ESTUDIOS DE POSTGRADO UNIVERSIDAD DON BOSCO VICERRECTORÍA DE ESTUDIOS DE POSTGRADO MAESTRÍA EN MANUFACTURA INTEGRADA POR COMPUTADORA SISTEMAS DE VISIÓN EN MANUFACTURA Catedrático: Msc Manuel Napoleón Cardona Gutiérrez GUÍA

Más detalles

Procesamiento de Archivos

Procesamiento de Archivos Procesamiento de Archivos Objetivo: El alumno utilizará archivos para almacenar información permanente en su disco. Resultado de aprendizaje: Elaborar programas con archivos Rodriguez Hdez.-2005 1 Definiciones

Más detalles

Práctica 7c: Uso de estructuras en C.

Práctica 7c: Uso de estructuras en C. Práctica 7c: Uso de estructuras en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos del uso de estructuras y librerías de funciones en C. Evaluación

Más detalles

Fundamentos de Informática 7. Introducción al manejo de archivos

Fundamentos de Informática 7. Introducción al manejo de archivos Fundamentos de Informática 7. Introducción al manejo de archivos Fundamentos de Informática Grado en Ingeniería Química 2 Contenidos Introducción Apertura y cierre de archivos Lectura/escritura de datos

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

Más detalles

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

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior MEMORIA DINAMICA

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior MEMORIA DINAMICA MEMORIA DINAMICA 1 Introducción La allocación dinámica de memoria en C trata de la solicitud de memoria en tiempo de ejecución La memoria se administra estática, automática o dinámicamente - Las variables

Más detalles

Matrices dispersas. Miguel Vargas-Félix. CIMAT, August 13, /34

Matrices dispersas. Miguel Vargas-Félix.  CIMAT, August 13, /34 Matrices dispersas Miguel Vargas-Félix miguelvargas@cimat.mx http://www.cimat.mx/~miguelvargas CIMAT, August 13, 2015 1/34 Matrices dispersas Son matrices en las cuales la gran mayoría de las entradas

Más detalles

Programación I Teoría II.

Programación I Teoría II. Programación I Teoría II http://proguno.unsl.edu.ar proguno@unsl.edu.ar MODULARIDAD FUNCIONES EN C Modularidad Principio para resolución de problemas: Dividir para reinar Modularidad Módulo Función Procedimiento

Más detalles

TADs en C. Matías Bordese Algoritmos y Estructuras de Datos II - Laboratorio 2013

TADs en C. Matías Bordese Algoritmos y Estructuras de Datos II - Laboratorio 2013 TADs en C Matías Bordese Algoritmos y Estructuras de Datos II - Laboratorio 2013 1. Objetivos Definición de TADs en C Ocultación de la implementación del TAD Manejo básico de memoria dinámica 2. Usando

Más detalles

Punteros. Programación en C 1

Punteros. Programación en C 1 Punteros Programación en C 1 Índice Variables y direcciones de memoria. Punteros definición, declaración e inicialización. Punteros declaración, asignación y dereferencia. Puntero nulo, tipo void. Aritmética

Más detalles

Programación En Lenguaje C

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

Archivos de números. Tema 10c. Archivos de números. Archivos de números. Archivos mixtos. Archivos mixtos. Manejo de archivos de datos en C

Archivos de números. Tema 10c. Archivos de números. Archivos de números. Archivos mixtos. Archivos mixtos. Manejo de archivos de datos en C Archivos de números Tema 10c Manejo de archivos de datos en C Para leer datos desde un archivo de texto como enteros (o números en general) se puede utilizar fscanf. Para escribir datos numéricos en archivos

Más detalles

Introducción al Procesamiento de Imágenes con Matlab 1era Parte

Introducción al Procesamiento de Imágenes con Matlab 1era Parte Introducción al Procesamiento de Imágenes con Matlab 1era Parte Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Taller de Informática I 1er Cuatrimestre

Más detalles

Tema 13: Apuntadores en C

Tema 13: Apuntadores en C Tema 13: Apuntadores 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 Introducción

Más detalles

domingo, 24 de agosto de :28 a.m.

domingo, 24 de agosto de :28 a.m. 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 8 #define BD_OK 1 9 #define BD_ERROR 0 10 11 typedef unsigned char byte; 12 typedef unsigned

Más detalles

Práctica 7e: Uso de estructuras en C.

Práctica 7e: Uso de estructuras en C. Práctica 7e: Uso de estructuras en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos del uso de estructuras y librerías de funciones en C. Evaluación

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Tipos de datos abstractos y concretos Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 4 de mayo de 2015

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

ELO311 Estructuras de Computadores Digitales. Estructuras de Datos

ELO311 Estructuras de Computadores Digitales. Estructuras de Datos ELO311 Estructuras de Computadores Digitales Estructuras de Datos Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization

Más detalles

UNIVERSIDAD POLITÉCNICA DE MADRID

UNIVERSIDAD POLITÉCNICA DE MADRID UNIVERSIDAD POLITÉCNICA DE MADRID DEPARTAMENTO DE ELECTRÓNICA, AUTOMÁTICA E INFORMÁTICA INDUSTRIAL Prácticas de Visión Artificial Práctica 1 Iniciación al procesamiento de imágenes con Matlab 1.2 Iniciación

Más detalles

Procesamiento de Imágenes Biomédicas. Curso 2012 Clase 1

Procesamiento de Imágenes Biomédicas. Curso 2012 Clase 1 Procesamiento de Imágenes Biomédicas Curso 212 Clase 1 Procesamiento digital de imágenes Proceso mediante el cual se toma una imagen y se produce una versión modificada de la misma. Todo esto por medio

Más detalles

BMP2ICO.C char char char int int char

BMP2ICO.C char char char int int char BMP2ICO.C 15/09/2011 1 #include 2 #include 3 #include 4 #include 5 6 #include 7 8 /*------------------------------------------------------------------------*

Más detalles

EJERCICIOS. Algo de C CADENAS

EJERCICIOS. Algo de C CADENAS EJERCICIOS (1) Sea el lenguaje Todos los números binarios que contienen el grupo 00 por lo menos una vez. Dibuje el DT de un AFN que lo reconozca. (2) Escriba la descripción formal del AFN diseñado en

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma: Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.

Más detalles

Lenguaje C. Lenguaje C. Erwin Meza Vega

Lenguaje C. Lenguaje C. Erwin Meza Vega Lenguaje C Erwin Meza Vega Outline 1 Introducción 2 Tipos básicos de datos 3 Estructuras de control 4 Funciones 5 Ejemplos de funciones 6 Tipos compuestos de datos 7 Arreglos 8 Apuntadores (punteros) 9

Más detalles

Estructura de Datos L I S T A

Estructura de Datos L I S T A Estructura de Datos TDA L I S T A El TDA Lista El TDA Lista es una estructura compuesta por nodos (en los cuales se encuentran los datos almacenados) los cuales se encuentran enlazados entre si uno a uno

Más detalles

Programación Estructurada. Sesión 2:El lenguaje de programación C

Programación Estructurada. Sesión 2:El lenguaje de programación C Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas

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

Punteros. Índice. 1. Qué es un puntero y por que son importantes.

Punteros. Índice. 1. Qué es un puntero y por que son importantes. Punteros Índice 1. Qué es un puntero y por que son importantes. 2. Punteros a tipos básicos. 3. Punteros sin tipo. 4. Memoria dinámica. 5. Punteros a estructuras. 6. Punteros a matrices. 7. Punteros a

Más detalles

Algoritmos de Búsqueda y Ordenamiento

Algoritmos de Búsqueda y Ordenamiento Departamento de Informática Universidad Técnica Federico Santa María Algoritmos de Búsqueda y Ordenamiento Programación de Computadores IWI--p Prof.: Teddy Alfaro Olave Algoritmos de Búsqueda Los procesos

Más detalles

Proyecto Fin de Curso

Proyecto Fin de Curso Proyecto Fin de Curso 1.- INTRODUCCIÓN El proyecto fin de curso se plantea como actividad académica para poner en práctica los conocimientos adquiridos en programación. 2.- DESARROLLO DEL PROYECTO El proyecto

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Memoria, apuntadores y arreglos Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 6 de mayo de 2015 Francisco

Más detalles

Tipos de Datos Estructurados

Tipos de Datos Estructurados Departamento de Informática Universidad Técnica Federico Santa María Tipos de Datos Estructurados Programación de Computadores IWI-131-p1 Prof.: Teddy Alfaro Olave Arreglos (array) El arreglo es un tipo

Más detalles

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior ARCHIVOS. (File Management)

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior ARCHIVOS. (File Management) ARCHIVOS (File Management) 1 Archivos Un archivo es una colección de bytes almacenados en un dispositivo. Un archivo contiene datos, el sistema que lo alberga contiene metadatos del mismo En un programa

Más detalles

o Archivos secuenciales: imitan el modo de acceso de los antiguos ficheros secuenciales almacenados en cintas magnéticas y

o Archivos secuenciales: imitan el modo de acceso de los antiguos ficheros secuenciales almacenados en cintas magnéticas y CAPITULO IX ARCHIVOS Introducción El almacenamiento de datos en las estructuras de datos, vistas anteriormente, sólo es temporal, es decir, cuando termina el programa los datos se pierden. Para la conservación

Más detalles

Definición. Procesamiento de Arreglos. Paso de Parámetro a funciones. Arreglos multidimensionales 8/28/2013. Arreglos Unidad 0 Programación AVANZADA

Definición. Procesamiento de Arreglos. Paso de Parámetro a funciones. Arreglos multidimensionales 8/28/2013. Arreglos Unidad 0 Programación AVANZADA Contenido Otoño 2013 Definición Arreglos Unidad 0 Programación AVANZADA Procesamiento de Arreglos Paso de Parámetro a funciones Arreglos multidimensionales 1 2 Introducción Arreglo Una variable puede almacenar

Más detalles

ESTRUCTURAS. Struct Identificador_ tipo_estructura { Tipo miembro_1; /*Declaración de los miembros*/

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

ARREGLOS, PUNTEROS Y ASIGNACIÓN DINÁMICA DE MEMORIA

ARREGLOS, PUNTEROS Y ASIGNACIÓN DINÁMICA DE MEMORIA CAPÍTULO 3 ARREGLOS, PUNTEROS Y ASIGNACIÓN DINÁMICA DE MEMORIA Un arreglo, también llamado matriz (array), es un conjunto de elementos dispuestos secuencialmente, que contienen datos del mismo tipo. El

Más detalles

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C

Más detalles

Apuntadores y Memoria dinámica. Apuntadores. M.C. Yolanda Moyao Martínez

Apuntadores y Memoria dinámica. Apuntadores. M.C. Yolanda Moyao Martínez Apuntadores y Memoria dinámica Apuntadores M.C. Yolanda Moyao Martínez Por que? Es la única forma de expresar algunos cálculos. Se genera código compacto y eficiente. Es una herramienta muy poderosa. Uso

Más detalles

Tema 05: Elementos de un programa en C

Tema 05: Elementos de un programa en C Tema 05: Elementos de un programa 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

Más detalles

Introducción a la Programación en C Gestión de Ficheros

Introducción a la Programación en C Gestión de Ficheros Gestión de Ficheros Christopher Expósito-Izquierdo cexposit@ull.edu.es Airam Expósito-Márquez aexposim@ull.edu.es Israel López-Plata ilopezpl@ull.edu.es Belén Melián-Batista mbmelian@ull.edu.es José Marcos

Más detalles

Historia. Desarrollado por Dennis Ritchie entre 1969 y 1973 en los Laboratorios AT&T Bell. Diseñado para ser compilado de una manera directa.

Historia. Desarrollado por Dennis Ritchie entre 1969 y 1973 en los Laboratorios AT&T Bell. Diseñado para ser compilado de una manera directa. 1/129 Lenguaje C 2/129 Historia Desarrollado por Dennis Ritchie entre 1969 y 1973 en los Laboratorios AT&T Bell. Diseñado para ser compilado de una manera directa. Sus construcciones se pueden mapear directamente

Más detalles

Práctica 1 Arreglos n-dimensionales y operaciones con bits PRÁCTICA I

Práctica 1 Arreglos n-dimensionales y operaciones con bits PRÁCTICA I PRÁCTICA I Ejercicio 1.1 Desarrollar un programa que permita registrar los datos de un campeonato de fútbol para N equipos (valor constante). Por cada equipo debe almacenar: El nombre, la cantidad de partidos

Más detalles

Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.

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

ARREGLOS UNIDAD 2 PROGRAMACIÓN. Primavera 2009

ARREGLOS UNIDAD 2 PROGRAMACIÓN. Primavera 2009 1 ARREGLOS UNIDAD 2 PROGRAMACIÓN Primavera 2009 Contenido 2 Definición Procesamiento de Arreglos Paso de Parámetro a funciones Cadenas y caracteres Arreglos multidimensionales Introducción 3 Una variable

Más detalles

Prof. Dr. Paul Bustamante

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

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ( (TEORÍA)jUJ jhshshs DICIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: a. Una función global amiga de una clase (friend) puede

Más detalles

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

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