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

diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfguillencuevaadrianal
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxedwinrojas836235
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónlicmarinaglez
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxCONSTRUCTORAEINVERSI3
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Gonzalo Morales Esparza
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESMarielaAldanaMoscoso
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxIvnAndres5
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclasesjvalenciama
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGVTeresa Rc
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfjesuseleazarcenuh
 
Contabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHillContabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHilldanilojaviersantiago
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxKevinHeredia14
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxCORPORACIONJURIDICA
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicasoscarhernandez98241
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYCarlosAlbertoVillafu3
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfLuisAlbertoAlvaradoF2
 

Kürzlich hochgeladen (20)

diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdfADMINISTRACION FINANCIERA CAPITULO 4.pdf
ADMINISTRACION FINANCIERA CAPITULO 4.pdf
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociación
 
Efectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptxEfectos del cambio climatico en huanuco.pptx
Efectos del cambio climatico en huanuco.pptx
 
Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.Clase 2 Ecosistema Emprendedor en Chile.
Clase 2 Ecosistema Emprendedor en Chile.
 
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONESCULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
CULTURA EN LA NEGOCIACIÓN CONCEPTOS Y DEFINICIONES
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptx
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGV
 
cuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdfcuadro sinoptico tipos de organizaci.pdf
cuadro sinoptico tipos de organizaci.pdf
 
Tarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.pptTarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.ppt
 
Contabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHillContabilidad universitaria Septima edición de MCGrawsHill
Contabilidad universitaria Septima edición de MCGrawsHill
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
 
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsxINFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
INFORMATIVO CIRCULAR FISCAL - RENTA 2023.ppsx
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicas
 
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAYPPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
PPT DIAGNOSTICO DAFO Y CAME MEGAPUERTO CHANCAY
 
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdfPresentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..pdf
Presentacion III ACTIVIDADES DE CONTROL. IV UNIDAD..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