Arreglos (IV): Arreglos multidimensionales

Slides:



Advertisements
Presentaciones similares
Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Advertisements

Programación Orientada a Objetos (con Java)
Cubos de Información Son subconjuntos de datos de un almacén de datos, organizado y sumarizado dentro de una estructura multidimensional. Los datos se.
Simplificación de expresiones algebraicas
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
Sección 4 Gastos Generales
ELASTICIDAD Y RESISTENCIA DE MATERIALES
Cuestiones y problemas
Módulo Tablero de Control Sesión X Lic. Aarón García López.
TEORIA DE SISTEMAS CONCEPTOS GENERALES
Elaborado por: Ing Edson Rodriguez Legislacion en la Construccion
Profesor: Noé Becerra Rodríguez 5 de septiembre 2013
Resultado 1.3 con actividad 1.3.1
IBD Clase 7.
Descripción del movimiento: Movimientos horizontales
Abstracción de Datos Arrays.
Arrays Fundamentos de Programación I
Unidad de competencia II Estadística descriptiva:
PREVENCIÓN PARA TRABAJADORES/AS AGRÍCOLAS
Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo
Curso presencial para el desarrollo de capacidades
Máquinas simples.
Prof. Ciencias Naturales y Física
MANEJO DE RESIDUOS HOSPITALARIOS
Módulo N°2 Plan de Nivelación Razones, proporciones y porcentajes.
Estructuras de Datos (ARRAYS)
Direcciones, Arreglos y Argumentos de Funciones
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
Facultad de Ciencias BQ-202 –Repartido Nº 2 - CAMPO Y POTENCIAL ELÉCTRICO, EQUIPOTENCIALES Estudio experimental de campo eléctrico (E) y líneas equipotenciales.
Introducción a los protocolos de enrutamiento dinámico
MANEJO DE ARRAYS EN C.
INFORMATICA I Arreglos 1 CLASE 17.
Cadenas de caracteres.
¿Qué planes tienes para el futuro?
PASOS PARA EL FORMATEO DE UN PC
Números enteros.
ARREGLOS Estructuras de datos.
PREVENCIÓN DE INCENDIOS Y USO DE EXTINTORES
Introducción a la Programación “Ejercicios” Semestre de Otoño 2006 Manuel Crisosto M., Claudio Gutiérrez S., Christian Vidal C.
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Manipulación de caracteres e hileras de texto
Expresiones algebraicas
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Ordenación, Clasificación
ESTADIGRAFOS DE DISPERSION
Tercera Clase Patricio A. Navarrete Septiembre 10 de 2011.
CURSO DE SEGURIDAD Y SALUD OCUPACIONAL ENERO-FEBRERO 2006.
“Fórmulas” de la Eficiencia Energética e impacto económico y social
Modelos de Programación Entera - Heurísticas

Semana 5 Subprogramas..
ANALISIS DE DATOS CON EXCEL
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
ARREGLOS BIDIMENSIONALES
Ejemplo de aplicación de las ANN
Prof. Ciencias Naturales y Física
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Clase 10: Estructuras de datos y arreglos.
Programación IMC José Andrés Vázquez Flores. Definición Un arreglo es un conjunto finito e indexado de elementos homogéneos, que se referencian por un.
Geo procesos.
Aplicación de estructuras de datos
Fundamentos de Programación
Programación en C para electrónicos
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Estructura de datos I CIS - UABJB.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Unidad1 Física plan Común Profesor: Pedro Pablo Rojas
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Transcripción de la presentación:

Arreglos (IV): Arreglos multidimensionales Clase #15 Introducción a la Programación Marcos Sepúlveda(marcos@ing.puc.cl)

Resumen de la clase anterior Hemos visto como operar con arreglos unidimensionales (vectores) y bidimensionales (matrices). Hemos llevado a cabo varios ejemplos.

Modelo de Control ¿Cómo medir el logro? Esfuerzo ¿Cuánto hice? Trabajo Efectivo (Throughput) ¿Qué logré? Trascendencia ¿Para qué lo hice?

Ejemplo: Invitando a salir a una niña En este ejemplo se emplearán vectores y matrices para implementar una solución basada en el modelo de control para un problema cotidiano: seleccionar una niña para invitarla a salir. Los criterios que se considerarán para llevar a cabo la selección son: Atracción física Compatibilidad en gustos Cercanía del lugar donde vive

Ejemplo: Invitando a salir a una niña Se tendrán en cuenta tan sólo algunos gustos (5), y que se tienen o no se tienen de manera absoluta (no existen los más o menos). Deportes Cine Música Viajes Poesía

Ejemplo: Invitando a salir a una niña Representaremos los gustos con valores binarios de tipo int. Un valor 1 indica que le agrada, y un valor 0 indica que no le gusta. Así, representamos al usuario del programa con un vector de 5 posiciones de tipo int, para almacenar el valor de cada uno de los 5 gustos. De igual manera se almacena la información relativa a cada una de las niñas que se considerarán. Por ejemplo, si al usuario le agradan los deportes pero no el cine, le gusta escuchar música y viajar, pero detesta la poesía, será representado por:

Ejemplo: Invitando a salir a una niña Considerando el criterio de distancia que se debe recorrer hasta su casa, se agruparán las candidatas en las siguientes categorías: Vive en mi barrio Vive en mi comuna, pero fuera de mi barrio Vive en mi ciudad, pero fuera de mi comuna Vive en mi región, pero fuera de mi ciudad Vive en Chile, pero fuera de mi región

Ejemplo: Invitando a salir a una niña El grado de atracción física brindará un criterio para ordenar las niñas dentro de cada una de las categorías dadas anteriormente. Además, consideraremos únicamente 3 niñas en cada uno de los grupos anteriores. Así, las candidatas que pertenecen a un mismo grupo zonal, se verán como una matriz de enteros:

Ejemplo: Invitando a salir a una niña Finalmente, si tenemos una matriz como la anterior para cada grupo dentro de la clasificación por distancia, la totalidad de las candidatas formará una estructura tridimensional (cubo), en donde cada una de las dimensiones, respetando el orden dado a continuación, se interpretará como: Cercanía Menor índice indica mayor cercanía Ranking de atracción física dentro de su zona Menor índice indica mayor ranking Gusto

Ejemplo: Invitando a salir a una niña Estructura de datos

Ejemplo: Invitando a salir a una niña El vector correspondiente a cada niña se identifica con los subíndices del grupo zonal (z) y ubicación en el ranking (r) de esa zona: [z][r] El valor para un determinado gusto (g) de una niña ubicada en el ranking (r) del grupo zonal (z), define un valor entero de la matriz, de la siguiente manera: [z][r][g] Si el valor en la posición [2][1][3] de la matriz es 0, quiere decir que en el grupo de las niñas que viven en mi ciudad pero fuera de mi comuna (z=2), la que está ubicada en segundo lugar en el ranking de atracción física (r=1), no le gusta viajar (g=3).

Ejemplo: Invitando a salir a una niña Dentro de nuestro programa, definiremos las siguientes constantes y estructuras de datos: #define NUM_NINAS_X_ZONA 3 #define NUM_GUSTOS 5 #define NUM_ZONAS 5 /* Vector donde se representan los gustos del usuario */ int usuario[NUM_GUSTOS] ; /* Matriz donde se representan las ninas con sus gustos, * * separadas por zonas y ordenadas en cada zona segun el * * criterio de atraccion fisica (menor indice es mejor) */ int ninas[NUM_ZONAS][NUM_NINAS_X_ZONA][NUM_GUSTOS] ;

Ejemplo: Invitando a salir a una niña Modelo de Control

Ejemplo: Invitando a salir a una niña Modelo de Control y Redefinición de Objetivos Un aspecto fundamental al aplicar el modelo de control es definir la forma en que se replantearán los objetivos cuando no se logre una solución con la configuración actual. En nuestro caso, el objetivo inicial consistirá en conseguir una niña que comparta todos los gustos del usuario, que viva en su mismo barrio y que sea la de mayor ranking de atracción física en esa zona. En caso de no conseguir este objetivo, se dará preferencia a la compatibilidad, es decir, éste será el último criterio en relajarse. En primera instancia se relajará el ranking de atracción física y luego la zona.

Ejemplo: Invitando a salir a una niña Se recomienda, a modo de ejercicio, modificar el programa para variar la forma en que se cambian los objetivos, es decir, el orden en que se relajan las exigencias. Por ejemplo, podría implementarse una solución en la que lo más importante sea la cercanía, seguido de atracción física y finalmente compatibilidad.

Ejemplo: Invitando a salir a una niña Ejemplo de ejecución Usuario: ( 1 1 1 0 0 ) Ninas: Zona 0: Nina[0]: ( 0 1 0 1 1 ) Nina[1]: ( 1 0 0 1 0 ) Nina[2]: ( 0 1 1 1 0 ) Zona 1: Nina[0]: ( 0 1 1 0 0 ) Nina[1]: ( 0 0 1 1 1 ) Nina[2]: ( 0 1 1 0 1 ) Zona 2: Nina[0]: ( 0 0 0 1 0 ) Nina[1]: ( 0 1 0 0 0 ) Nina[2]: ( 1 1 0 0 1 ) Zona 3: Nina[0]: ( 1 1 1 1 1 ) Nina[1]: ( 0 1 1 0 1 ) Nina[2]: ( 0 0 1 0 1 ) Zona 4: Nina[1]: ( 1 0 1 0 1 ) Nina[2]: ( 1 0 0 1 1 ) Solucion: Zona=1 Ranking=0 Compatibilidad: 4 gustos Fue necesario considerar 19 candidatas (esfuerzo)