Arreglos IV: Arreglos multidimensionales - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Arreglos IV: Arreglos multidimensionales

Description:

Hemos visto como operar con arreglos unidimensionales (vectores) y bidimensionales ... a la compatibilidad, es decir, ste ser el ltimo criterio en relajarse. ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 17
Provided by: FelipeC2
Category:

less

Transcript and Presenter's Notes

Title: Arreglos IV: Arreglos multidimensionales


1
Arreglos (IV)Arreglos multidimensionales
  • Clase 15
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

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

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

4
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

5
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

6
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

7
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

8
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

9
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

10
Ejemplo Invitando a salir a una niña
  • Estructura de datos

11
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
  • zr
  • 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
  • zrg
  • Si el valor en la posición 213 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
    (z2), la que está ubicada en segundo lugar en el
    ranking de atracción física (r1), no le gusta
    viajar (g3).

12
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 usuarioNUM_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 ninasNUM_ZONASNUM_NINAS_X_ZONANUM_GUSTOS

13
Ejemplo Invitando a salir a una niña
  • Modelo deControl

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

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

16
Ejemplo Invitando a salir a una niña
  • Ejemplo de ejecución
  • Usuario ( 1 1 1 0 0 )
  • Ninas
  • Zona 0
  • Nina0 ( 0 1 0 1 1 )
  • Nina1 ( 1 0 0 1 0 )
  • Nina2 ( 0 1 1 1 0 )
  • Zona 1
  • Nina0 ( 0 1 1 0 0 )
  • Nina1 ( 0 0 1 1 1 )
  • Nina2 ( 0 1 1 0 1 )
  • Zona 2
  • Nina0 ( 0 0 0 1 0 )
  • Nina1 ( 0 1 0 0 0 )
  • Nina2 ( 1 1 0 0 1 )
  • Zona 3
  • Nina0 ( 1 1 1 1 1 )
Write a Comment
User Comments (0)
About PowerShow.com