SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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 a 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
 

Similar a 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
 

Más de 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
 

Más de 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
 

Último

____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...BaleriaMaldonado1
 
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABACAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABAJuan Luis Menares, Arquitecto
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptxi7ingenieria
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREdianayarelii17
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industralmaria diaz
 
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)KwNacional
 
Reporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdfReporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdfjosephtena
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesElizabeth152261
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADAgordonruizsteffy
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxWILIANREATEGUI
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfaldonaim115
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxHARLYJHANSELCHAVEZVE
 
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxJOHUANYQUISPESAEZ
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxgeuster2
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableThairyAndreinaLira1
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxAmyKleisinger
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edxEvafabi
 
Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgdostorosmg
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxmarlonrea6
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfTeresa Rc
 

Último (20)

____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABACAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
CAMBIO DE USO DE SUELO LO BARNECHEA - VITACURA - HUECHURABA
 
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
260813887-diagrama-de-flujo-de-proceso-de-esparrago-fresco-verde.pptx
 
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBREDISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
DISEÑO DE ESTRATEGIAS EN MOMENTOS DE INCERTIDUMBRE
 
Maria_diaz.pptx mapa conceptual gerencia industral
Maria_diaz.pptx mapa conceptual   gerencia industralMaria_diaz.pptx mapa conceptual   gerencia industral
Maria_diaz.pptx mapa conceptual gerencia industral
 
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
Ficha de datos de seguridad MSDS Ethanol (Alcohol etílico)
 
Reporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdfReporte Tributario para Entidades Financieras.pdf
Reporte Tributario para Entidades Financieras.pdf
 
Manual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformesManual de Imagen Personal y uso de uniformes
Manual de Imagen Personal y uso de uniformes
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
 
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocxCARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
CARPETA PEDAGOGICA 2024 ARITA.sadasdasddocx
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
Correcion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptxCorrecion del libro al medio hay sitio.pptx
Correcion del libro al medio hay sitio.pptx
 
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptxCORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
CORRIENTES DEL PENSAMIENTO ECONÓMICO.pptx
 
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docxCRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
CRITERIOS DE EVALUACIÓN - NIVEL INICIAL.docx
 
Contabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contableContabilidad Gubernamental guia contable
Contabilidad Gubernamental guia contable
 
GUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docxGUIA UNIDAD 3 costeo variable fce unc.docx
GUIA UNIDAD 3 costeo variable fce unc.docx
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
 
Catalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmgCatalogo de tazas para la tienda nube de dostorosmg
Catalogo de tazas para la tienda nube de dostorosmg
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdfCONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.pdf
CONSTITUCIÓN POLÍTICA DEL PERÚ al 25082023.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