SlideShare a Scribd company logo
1 of 15
Download to read offline
Arreglos y Registros




      Sección 6.1




                       1
Acceso de arreglos

Un arreglo es una secuencia ordenada de objetos
   idénticos.

El ordenamiento es determinado por un objeto de datos
   escalar (usualmente entero o dato enumerado). Este
   valor es llamado el subscripto o índice, y escrito
   como A[I] para el arreglo A y subscrito I.

Arreglos multidimencionales tienen más de un subscrito.
   Un arreglo de 2 dimensiones puede ser modelado como
   cajas en una malla rectangular.

El L-value para un elemento del arreglo A[I,J]esta dado
   por medio de una formula de acceso




                                                        2
3
Acceso al arreglo (continuación)

Rescribiendo la ecuación de   acceso:
L-value(A[I,J]) =   - d1*L1   - d2*L2 +I*d1 + J*d2
Haga I = 0; J= 0;
L-value(A[0,0]) =   - d1*L1   - d2*L2 +0*d1 + 0*d2
L-value(A[0,0]) =   - d1*L1   - d2*L2, que es una
   constante.

Esta constante es denominada origen virtual (VO);
   representa la dirección del elemento 0 del arreglo.
L-value(A[I,J]) = VO +I*d1 + J*d2
Para acceder un elemento del arreglo, use un dope vector:




                                                      4
Sumario del acceso a arreglos

Para crear arreglos:
1. Asigne un almacenamiento total empezando en :
        (U2-L2+1)*(U1-L1+1)*tamañoelmt
2. d2 = tamaño
3. d1 = (U2-L2+1)*d2
4. VO =    - L1*d1 - L2*d2
5. Para acceder A[I,J]: Lvalue(A[I,J]) = VO + I*d1 +
   J*d2
Esto funciona para 1, 2 o más dimensiones.

Puede no requerir dope vector en tiempo de corrida si
   todos los valores son conocidos en tiempo de
   compilación. (por Ej.. En Pascal, d1, d2, y VO pueden
   ser calculados por el compilador.)




                                                       5
6
Ejemplo de arreglos
Dado el siguiente arreglo: var A: array [7..12, 14..16] of
   real;
Obtener el dope vector si el arreglo es almacenado empezando
   en posición 500.
   d2 = 4 (dato real)
   d1 = (16-14+1) * 4 = 3 * 4 = 12
   VO = 500 - 7 * 12 - 14 * 4 = 500 - 84 - 56 = 360
L-value(A[I,J]) = 360 + 12* I + 4* J

1. VO puede ser un valor positivo o negativo, y puede tener
Una dirección que es antes,
en, o después del almacenamiento
actual del arreglo:

2. En C, VO =   debido a que el limite se inicia en 0.
Ejemplo: char A[25]
L-value(A[I]) = VO + (I-L1) * d1 =   + I * 1 =    + I


                                                         7
Slices




         8
Arreglos tipo slices

Dado el arreglo: A[L1:U1, L2:U2]: Obtener d1, d2, y VO
   para el vector:




Dope vector A[I,*] = B[L2:U2]
VO = L-value(A[I,L2]) - d2*L2
                                    Crear nuevo dope
M1 = tamañoelmt = d2
                                    vector que accese el
Dope vector A[*,J] = B[L1:U1]
                                    dato original
VO = L-value(A[L1,J]) - d1*L1
M1 = tamañofila = d1
                                                           9
Más sobre slices

Slice diagonal:

VO = L-value(A[L1,L2])
     - d1*L1 - d2*L2
M1 = d1 + d2



Otras posibilidades:




                                     10
Arreglos asociativos

Acceso a la información por nombre sin tener un orden o
   enumeración predefinido:
Ejemplo: Nombres y calificaciones para los estudiantes
   de una clase:
   NOMBRE[I] = nombre del I estudiante
   CALIFICACION[I] = Calificación para el estudiante en
   posición I

Arreglo asociativo: Usa Nombre como índice:
   CLASE[nombre] será la calificación.

Problema: No se conoce la enumeración antes de obtener
   los datos por lo que el método del dope vector no
   funcionará.

Implementado en Perl y en SNOBOL4 (como una tabla)

                                                         11
Ejemplo en Perl

%ClassList = (“Michelle”, `A', “Doris”, `B', “Michael”,
   `D');  # % operador hace un arreglo asociativo

$ClassList{„Michelle‟} # tiene el valor „A‟

@y = %ClassList    # Convierte ClassList a una enumeración
                      # arreglo con índice 0..5
For   ($i=0;$i<6;$i++){print “I=,$i,$y[$i]n;”};
$I=   0   $y[$I] = Doris     I=,0,Doris
$I=   1   $y[$I] = B         I=, 1, B
$I=   2   $y[$I] = Michael   I=, 2, Michael
$I=   3   $y[$I] = D         I=,3, D
$I=   4   $y[$I] = Michelle I=, 4, Michelle
$I=   5   $y[$I] = A         I=, 5, A



                                                        12
Estructuras en C

Representación: una
secuencia de objetos:
   record { A: object;
       B: object;
       C: object }




                                      13
Tipos de unión

typedef union { int X;
       float Y;
       char Z[4];} B;
B P;

Similar a registros, excepto que todos tienen
   sobrelapamiento (el mismo) L-value.

Pero pueden ocurrir problemas. ¿Que sucede abajo?
   P.X = 142;
   printf(“%On”, P.Z[3])
Todos los 3 objetos de datos tienen el mismo L-value y
   ocupan el mismo almacenamiento. No se realiza un
   chequeo de tipo.
      Diseño de lenguaje pobre


                                                     14
Registros variantes

type TipoPago=(Mensual, Hora);
var Empleado:record
   ID: integer;
   Dept: array[1..3] of char;
   Age: integer;
   case PayClass: TipoPago of
      Mensual:(MonthlyRate:real;
              StartDate:integer);
      Houra:(HourRate:real;
              Reg:integer;
              Overtime:integer)
   end




                                          15

More Related Content

What's hot (18)

Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
Arreglos
ArreglosArreglos
Arreglos
 
7.arreglos y vectores en c++
7.arreglos y vectores en c++7.arreglos y vectores en c++
7.arreglos y vectores en c++
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Apuntadores y direccionamiento
Apuntadores y direccionamientoApuntadores y direccionamiento
Apuntadores y direccionamiento
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Estructuras punteros
Estructuras punterosEstructuras punteros
Estructuras punteros
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 
Funciones Internas
Funciones Internas Funciones Internas
Funciones Internas
 
Aplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionalesAplicación de arreglos bidimensionales
Aplicación de arreglos bidimensionales
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
Informe tecnico marleni
Informe tecnico marleniInforme tecnico marleni
Informe tecnico marleni
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Funciones
FuncionesFunciones
Funciones
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Ambiente
 Ambiente Ambiente
Ambiente
 

Similar to Arreglos

Similar to Arreglos (20)

Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalares
 
Arreglos
ArreglosArreglos
Arreglos
 
Var const
Var constVar const
Var const
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Formato actividades semana 1 (1)
Formato actividades semana 1 (1)Formato actividades semana 1 (1)
Formato actividades semana 1 (1)
 
00 Tipos de Datos.ppt
00 Tipos de Datos.ppt00 Tipos de Datos.ppt
00 Tipos de Datos.ppt
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
jaisan
jaisanjaisan
jaisan
 
Practica Prolog
Practica PrologPractica Prolog
Practica Prolog
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Compu
CompuCompu
Compu
 
introducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptxintroducción a la programación utilizando C++.pptx
introducción a la programación utilizando C++.pptx
 
Tipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje CTipos de datos usados en lenguaje C
Tipos de datos usados en lenguaje C
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos1. vers. cap-3_tipos_dedatos
1. vers. cap-3_tipos_dedatos
 
2pdf relacoinal.pdf
2pdf relacoinal.pdf2pdf relacoinal.pdf
2pdf relacoinal.pdf
 
C ++
C ++C ++
C ++
 
Php
PhpPhp
Php
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 

More from johanna20

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1johanna20
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2johanna20
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1johanna20
 
examen fisica c
examen fisica cexamen fisica c
examen fisica cjohanna20
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisicajohanna20
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004johanna20
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regularesjohanna20
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercialjohanna20
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizacionesjohanna20
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)johanna20
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte Ijohanna20
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contablejohanna20
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicosjohanna20
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacionjohanna20
 

More from johanna20 (20)

Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Digitales examen 2
Digitales examen 2Digitales examen 2
Digitales examen 2
 
Digitales examen 1
Digitales examen 1Digitales examen 1
Digitales examen 1
 
Adt
AdtAdt
Adt
 
examen fisica c
examen fisica cexamen fisica c
examen fisica c
 
Examen Fisica
Examen FisicaExamen Fisica
Examen Fisica
 
EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004EXamen Fisica Parcial Termino2004
EXamen Fisica Parcial Termino2004
 
Gramaticas Regulares
Gramaticas RegularesGramaticas Regulares
Gramaticas Regulares
 
Ciclo Contable De Una Empresa Comercial
Ciclo Contable De Una Empresa  ComercialCiclo Contable De Una Empresa  Comercial
Ciclo Contable De Una Empresa Comercial
 
Ajustes y Actualizaciones
Ajustes y ActualizacionesAjustes y Actualizaciones
Ajustes y Actualizaciones
 
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
Ciclo Contable De Una Empresa Comercial Parte Ii.Ppt(3parte)
 
Ciclo Contable De Una Empresa Comercial Parte I
Ciclo Contable De Una Empresa  Comercial Parte ICiclo Contable De Una Empresa  Comercial Parte I
Ciclo Contable De Una Empresa Comercial Parte I
 
Ciclo Contable
Ciclo ContableCiclo Contable
Ciclo Contable
 
Conceptos Basicos
Conceptos BasicosConceptos Basicos
Conceptos Basicos
 
Introduccion A Sistemas De Informacion
Introduccion A Sistemas De InformacionIntroduccion A Sistemas De Informacion
Introduccion A Sistemas De Informacion
 
Color
ColorColor
Color
 
Clipping
ClippingClipping
Clipping
 
Iluminacion
IluminacionIluminacion
Iluminacion
 
Hilos
HilosHilos
Hilos
 
Internet
InternetInternet
Internet
 

Recently uploaded

Unidad 1 Modelo de Internacionalizacion de la empresas.pdf
Unidad 1 Modelo de Internacionalizacion de la empresas.pdfUnidad 1 Modelo de Internacionalizacion de la empresas.pdf
Unidad 1 Modelo de Internacionalizacion de la empresas.pdfLuisFernandoRozasVil
 
Emprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxEmprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxFERNANDOMIGUELRIVERA1
 
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdf
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdfINTELIGENCIA EMOCIONAL -ADMINISTRACION.pdf
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdfELISATORRES56
 
Regímenes laborales en el Perú actualizados al 2024
Regímenes laborales en el Perú actualizados al 2024Regímenes laborales en el Perú actualizados al 2024
Regímenes laborales en el Perú actualizados al 2024fanny vera
 
sistema tributario en el Perú características
sistema tributario en el Perú característicassistema tributario en el Perú características
sistema tributario en el Perú característicasMassielrinateresaRam
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxYesseniaGuzman7
 
PPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODPPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODferchuxdlinda
 
1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdfjoanjustiniano98
 
Gastos que no forman parte del Valor en Aduana de la mercadería importada
Gastos que no forman parte del Valor en Aduana de la mercadería importadaGastos que no forman parte del Valor en Aduana de la mercadería importada
Gastos que no forman parte del Valor en Aduana de la mercadería importadaInstituto de Capacitacion Aduanera
 
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptx
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptxEXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptx
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptxFelicia Escobar
 
Presentación Martin Purisaca - BCP...ppt
Presentación Martin Purisaca - BCP...pptPresentación Martin Purisaca - BCP...ppt
Presentación Martin Purisaca - BCP...pptjoseccampos94
 
METODO MIXTOpresentaciondeadministracion.pptx
METODO MIXTOpresentaciondeadministracion.pptxMETODO MIXTOpresentaciondeadministracion.pptx
METODO MIXTOpresentaciondeadministracion.pptxBrayanParra38
 
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESAS
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESASMAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESAS
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESASapretellhap
 
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónINVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónGabrielaRisco3
 
modalidades de importaciones de productos
modalidades de importaciones de productosmodalidades de importaciones de productos
modalidades de importaciones de productosRaynelLpezVelsquez
 
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdf
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdfGUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdf
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdfRasecGAlavazOllirrac
 
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Oxford Group
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfomd190207
 
FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..angelicacardales1
 
Presentacion de politica de descuento pronto pago.pptx
Presentacion de politica de descuento pronto pago.pptxPresentacion de politica de descuento pronto pago.pptx
Presentacion de politica de descuento pronto pago.pptxroberto1981hn
 

Recently uploaded (20)

Unidad 1 Modelo de Internacionalizacion de la empresas.pdf
Unidad 1 Modelo de Internacionalizacion de la empresas.pdfUnidad 1 Modelo de Internacionalizacion de la empresas.pdf
Unidad 1 Modelo de Internacionalizacion de la empresas.pdf
 
Emprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptxEmprendedores peruanos, empresas innovadoras.pptx
Emprendedores peruanos, empresas innovadoras.pptx
 
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdf
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdfINTELIGENCIA EMOCIONAL -ADMINISTRACION.pdf
INTELIGENCIA EMOCIONAL -ADMINISTRACION.pdf
 
Regímenes laborales en el Perú actualizados al 2024
Regímenes laborales en el Perú actualizados al 2024Regímenes laborales en el Perú actualizados al 2024
Regímenes laborales en el Perú actualizados al 2024
 
sistema tributario en el Perú características
sistema tributario en el Perú característicassistema tributario en el Perú características
sistema tributario en el Perú características
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
 
PPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEODPPT Planilla Foro logistica (1).pptDMEDMEOD
PPT Planilla Foro logistica (1).pptDMEDMEOD
 
1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf1 GENERALIDADES Bioestadística y demografia.pdf
1 GENERALIDADES Bioestadística y demografia.pdf
 
Gastos que no forman parte del Valor en Aduana de la mercadería importada
Gastos que no forman parte del Valor en Aduana de la mercadería importadaGastos que no forman parte del Valor en Aduana de la mercadería importada
Gastos que no forman parte del Valor en Aduana de la mercadería importada
 
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptx
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptxEXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptx
EXPLICACIONES DE ASIENTOS CONTABLES DE SUELDOS Y JORNALES .pptx
 
Presentación Martin Purisaca - BCP...ppt
Presentación Martin Purisaca - BCP...pptPresentación Martin Purisaca - BCP...ppt
Presentación Martin Purisaca - BCP...ppt
 
METODO MIXTOpresentaciondeadministracion.pptx
METODO MIXTOpresentaciondeadministracion.pptxMETODO MIXTOpresentaciondeadministracion.pptx
METODO MIXTOpresentaciondeadministracion.pptx
 
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESAS
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESASMAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESAS
MAPA MENTAL DE GESTION FINANCIERA PARA CORRECTO MANEJO DE EMPRESAS
 
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigaciónINVESTIGACIÓN EN INGENIERIA - El Problema de investigación
INVESTIGACIÓN EN INGENIERIA - El Problema de investigación
 
modalidades de importaciones de productos
modalidades de importaciones de productosmodalidades de importaciones de productos
modalidades de importaciones de productos
 
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdf
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdfGUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdf
GUIA DE ESTUDIOS DESARROLLO DE HABILIDADES DIRECTIVAS.pdf
 
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
Evaluación y Mejora Continua Guía de Seguimiento y Monitoreo para Cursos de C...
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdf
 
FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..FORMATO ASISTENCIA DE CAPACITACION.doc..
FORMATO ASISTENCIA DE CAPACITACION.doc..
 
Presentacion de politica de descuento pronto pago.pptx
Presentacion de politica de descuento pronto pago.pptxPresentacion de politica de descuento pronto pago.pptx
Presentacion de politica de descuento pronto pago.pptx
 

Arreglos

  • 1. Arreglos y Registros Sección 6.1 1
  • 2. Acceso de arreglos Un arreglo es una secuencia ordenada de objetos idénticos. El ordenamiento es determinado por un objeto de datos escalar (usualmente entero o dato enumerado). Este valor es llamado el subscripto o índice, y escrito como A[I] para el arreglo A y subscrito I. Arreglos multidimencionales tienen más de un subscrito. Un arreglo de 2 dimensiones puede ser modelado como cajas en una malla rectangular. El L-value para un elemento del arreglo A[I,J]esta dado por medio de una formula de acceso 2
  • 3. 3
  • 4. Acceso al arreglo (continuación) Rescribiendo la ecuación de acceso: L-value(A[I,J]) = - d1*L1 - d2*L2 +I*d1 + J*d2 Haga I = 0; J= 0; L-value(A[0,0]) = - d1*L1 - d2*L2 +0*d1 + 0*d2 L-value(A[0,0]) = - d1*L1 - d2*L2, que es una constante. Esta constante es denominada origen virtual (VO); representa la dirección del elemento 0 del arreglo. L-value(A[I,J]) = VO +I*d1 + J*d2 Para acceder un elemento del arreglo, use un dope vector: 4
  • 5. Sumario del acceso a arreglos Para crear arreglos: 1. Asigne un almacenamiento total empezando en : (U2-L2+1)*(U1-L1+1)*tamañoelmt 2. d2 = tamaño 3. d1 = (U2-L2+1)*d2 4. VO = - L1*d1 - L2*d2 5. Para acceder A[I,J]: Lvalue(A[I,J]) = VO + I*d1 + J*d2 Esto funciona para 1, 2 o más dimensiones. Puede no requerir dope vector en tiempo de corrida si todos los valores son conocidos en tiempo de compilación. (por Ej.. En Pascal, d1, d2, y VO pueden ser calculados por el compilador.) 5
  • 6. 6
  • 7. Ejemplo de arreglos Dado el siguiente arreglo: var A: array [7..12, 14..16] of real; Obtener el dope vector si el arreglo es almacenado empezando en posición 500. d2 = 4 (dato real) d1 = (16-14+1) * 4 = 3 * 4 = 12 VO = 500 - 7 * 12 - 14 * 4 = 500 - 84 - 56 = 360 L-value(A[I,J]) = 360 + 12* I + 4* J 1. VO puede ser un valor positivo o negativo, y puede tener Una dirección que es antes, en, o después del almacenamiento actual del arreglo: 2. En C, VO = debido a que el limite se inicia en 0. Ejemplo: char A[25] L-value(A[I]) = VO + (I-L1) * d1 = + I * 1 = + I 7
  • 8. Slices 8
  • 9. Arreglos tipo slices Dado el arreglo: A[L1:U1, L2:U2]: Obtener d1, d2, y VO para el vector: Dope vector A[I,*] = B[L2:U2] VO = L-value(A[I,L2]) - d2*L2 Crear nuevo dope M1 = tamañoelmt = d2 vector que accese el Dope vector A[*,J] = B[L1:U1] dato original VO = L-value(A[L1,J]) - d1*L1 M1 = tamañofila = d1 9
  • 10. Más sobre slices Slice diagonal: VO = L-value(A[L1,L2]) - d1*L1 - d2*L2 M1 = d1 + d2 Otras posibilidades: 10
  • 11. Arreglos asociativos Acceso a la información por nombre sin tener un orden o enumeración predefinido: Ejemplo: Nombres y calificaciones para los estudiantes de una clase: NOMBRE[I] = nombre del I estudiante CALIFICACION[I] = Calificación para el estudiante en posición I Arreglo asociativo: Usa Nombre como índice: CLASE[nombre] será la calificación. Problema: No se conoce la enumeración antes de obtener los datos por lo que el método del dope vector no funcionará. Implementado en Perl y en SNOBOL4 (como una tabla) 11
  • 12. Ejemplo en Perl %ClassList = (“Michelle”, `A', “Doris”, `B', “Michael”, `D'); # % operador hace un arreglo asociativo $ClassList{„Michelle‟} # tiene el valor „A‟ @y = %ClassList # Convierte ClassList a una enumeración # arreglo con índice 0..5 For ($i=0;$i<6;$i++){print “I=,$i,$y[$i]n;”}; $I= 0 $y[$I] = Doris I=,0,Doris $I= 1 $y[$I] = B I=, 1, B $I= 2 $y[$I] = Michael I=, 2, Michael $I= 3 $y[$I] = D I=,3, D $I= 4 $y[$I] = Michelle I=, 4, Michelle $I= 5 $y[$I] = A I=, 5, A 12
  • 13. Estructuras en C Representación: una secuencia de objetos: record { A: object; B: object; C: object } 13
  • 14. Tipos de unión typedef union { int X; float Y; char Z[4];} B; B P; Similar a registros, excepto que todos tienen sobrelapamiento (el mismo) L-value. Pero pueden ocurrir problemas. ¿Que sucede abajo? P.X = 142; printf(“%On”, P.Z[3]) Todos los 3 objetos de datos tienen el mismo L-value y ocupan el mismo almacenamiento. No se realiza un chequeo de tipo. Diseño de lenguaje pobre 14
  • 15. Registros variantes type TipoPago=(Mensual, Hora); var Empleado:record ID: integer; Dept: array[1..3] of char; Age: integer; case PayClass: TipoPago of Mensual:(MonthlyRate:real; StartDate:integer); Houra:(HourRate:real; Reg:integer; Overtime:integer) end 15