SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Ähnlich wie Arreglos

Datos Escalares
Datos EscalaresDatos Escalares
Datos Escalaresjohanna20
 
Arreglos
ArreglosArreglos
ArreglosAnt Jfr
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESmellcv
 
Formato actividades semana 1 (1)
Formato actividades semana 1 (1)Formato actividades semana 1 (1)
Formato actividades semana 1 (1)Luis Hernandez
 
00 Tipos de Datos.ppt
00 Tipos de Datos.ppt00 Tipos de Datos.ppt
00 Tipos de Datos.pptArmando Lopez
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilabGabriel Romero
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Partecarpio
 
jaisan
jaisanjaisan
jaisanjai
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdf
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdfArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdf
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdfDiegoSoto93076
 
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++.pptxErisbeymarin
 
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 Cefrenpedro92
 

Ähnlich wie 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
 
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdf
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdfArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdf
ArreglosC++para-el-usodememoria-en-uno-dos-tres-dimensiones.pdf
 
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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptx
u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptxu1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptx
u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptxUrabeSj
 
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
 
Tema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfTema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfmaryisabelpantojavar
 
PROCESO PRESUPUESTARIO - .administracion
PROCESO PRESUPUESTARIO - .administracionPROCESO PRESUPUESTARIO - .administracion
PROCESO PRESUPUESTARIO - .administracionDayraCastaedababilon
 
Habilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxHabilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxLUISALEJANDROPEREZCA1
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxYesseniaGuzman7
 
Derechos de propiedad intelectual lo mejor
Derechos de propiedad intelectual lo mejorDerechos de propiedad intelectual lo mejor
Derechos de propiedad intelectual lo mejorMarcosAlvarezSalinas
 
estadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosestadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosVeritoIlma
 
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxT.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxLizCarolAmasifuenIba
 
Rendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosRendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosCondor Tuyuyo
 
La electrónica y electricidad finall.pdf
La electrónica y electricidad finall.pdfLa electrónica y electricidad finall.pdf
La electrónica y electricidad finall.pdfDiegomauricioMedinam
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...antonellamujica
 
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASA
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASAPLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASA
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASAAlexandraSalgado28
 
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAPRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAgisellgarcia92
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfihmorales
 
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcialBLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial2811436330101
 
SISTEMA FINANCIERO PERÚ. Institución privada
SISTEMA FINANCIERO PERÚ. Institución privadaSISTEMA FINANCIERO PERÚ. Institución privada
SISTEMA FINANCIERO PERÚ. Institución privadaBetlellyArteagaAvila
 
EL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxEL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxec677944
 
Elección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxElección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxDiegoQuispeHuaman
 
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfT.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfLizCarolAmasifuenIba
 

Kürzlich hochgeladen (20)

u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptx
u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptxu1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptx
u1_s4_gt_la demanda y la oferta global_b27t9rulx9 (1).pptx
 
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
 
Tema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdfTema Documentos mercantiles para uso de contabilidad.pdf
Tema Documentos mercantiles para uso de contabilidad.pdf
 
PROCESO PRESUPUESTARIO - .administracion
PROCESO PRESUPUESTARIO - .administracionPROCESO PRESUPUESTARIO - .administracion
PROCESO PRESUPUESTARIO - .administracion
 
Habilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptxHabilidades de un ejecutivo y sus caracteristicas.pptx
Habilidades de un ejecutivo y sus caracteristicas.pptx
 
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptxCADENA DE SUMINISTROS DIAPOSITIVASS.pptx
CADENA DE SUMINISTROS DIAPOSITIVASS.pptx
 
Derechos de propiedad intelectual lo mejor
Derechos de propiedad intelectual lo mejorDerechos de propiedad intelectual lo mejor
Derechos de propiedad intelectual lo mejor
 
estadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicosestadistica basica ejercicios y ejemplos basicos
estadistica basica ejercicios y ejemplos basicos
 
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptxT.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
T.A CONSTRUCCION DEL PUERTO DE CHANCAY.pptx
 
Rendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de CondominiosRendicion de cuentas del Administrador de Condominios
Rendicion de cuentas del Administrador de Condominios
 
La electrónica y electricidad finall.pdf
La electrónica y electricidad finall.pdfLa electrónica y electricidad finall.pdf
La electrónica y electricidad finall.pdf
 
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
Mapa Conceptual relacionado con la Gerencia Industrial, su ámbito de aplicaci...
 
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASA
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASAPLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASA
PLANILLA DE CONTROL LIMPIEZA TRAMPA DE GRASA
 
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIAPRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
PRESENTACIÓN NOM-004-STPS-2020 SEGURIDAD EN MAQUINARIA
 
PPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdfPPT Empresas IANSA Sobre Recursos Humanos.pdf
PPT Empresas IANSA Sobre Recursos Humanos.pdf
 
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcialBLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial
BLOQUE I HISTOLOGIA segundo año medicina Primer bloque primer parcial
 
SISTEMA FINANCIERO PERÚ. Institución privada
SISTEMA FINANCIERO PERÚ. Institución privadaSISTEMA FINANCIERO PERÚ. Institución privada
SISTEMA FINANCIERO PERÚ. Institución privada
 
EL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptxEL CAMBIO PLANEADO todo acerca de cambio .pptx
EL CAMBIO PLANEADO todo acerca de cambio .pptx
 
Elección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptxElección supervisor y comité SST 2020.pptx
Elección supervisor y comité SST 2020.pptx
 
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdfT.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
T.A- CONTRUCCION DEL PUERTO DE CHANCAY.pdf
 

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