SlideShare una empresa de Scribd logo
1 de 40
TIPO DE
ARREGLOS
   Jesús Osorio

 Introducción a la
   Programación
ARREGLOS UNIDIMENSIONALES:
VECTORES
   El tipo más simple de arreglo es el arreglo
    unidimensional o vector. Un vector de una dimensión
    denominado NOTAS que consta de n elementos se
    puede representar así:



   El subíndice o índice de un elemento [1,2,3,…,i,…,n]
    designa su posición en la ordenación del vector.
   Solo el vector global tiene nombre (NOTAS). Los
    elementos del vector se referencian por su subíndice o
    índice, es decir, su posición relativa en el vector.
Arreglos unidimensionales:
    vectores
Notación algorítmica para declarar vectores:
tipo
  array [dimensiones] de <tipo de dato>: <nombre del tipo array>
var
  <nombre del tipo array>: identificador de la variable de este tipo

Ejemplos:
tipo                                tipo
  array [1..10] de carácter: nombres array [1..100] de entero:
   número
var                                 var
  nombres: N, M                               número: NUM

se están declarando dos vectores             se está declarando un
  vector
N y M de 10 elementos cada uno               NUM de 100 elementos
  de tipo
de tipo carácter                             entero
Arreglos unidimensionales:
Operaciones con Vectores
Las operaciones que se pueden realizar
  con vectores durante el proceso de
  resolución de un problema usando la
  programación son:
 Recorrido (acceso secuencial)
 Lectura/escritura
 Asignación
 Actualización (añadir, borrar insertar)
 Ordenación
 Búsqueda
1. Recorrido (acceso
secuencial)
 Se puede acceder a cada elemento de
  un vector para introducir datos (leer) en
  él o bien para visualizar su contenido
  (escribir).
 A la operación de efectuar una acción
  general sobre todos los elementos de un
  vector se le denomina recorrido del
  vector.
1. Recorrido (acceso
secuencial)
 Estas operaciones se realizan utilizando
  estructuras repetitivas, cuyas variables de
  control (por ejemplo i) se utilizan como
  subíndices del vector (por ejemplo S[i]).
 El incremento del contador del bucle
  producirá el tratamiento sucesivo de los
  elementos del vector.
1. Recorrido (acceso
    secuencial)
Normalmente se utiliza la estructura de
 repetición desde, ya que se conoce de
 antemano la cantidad de veces que se desea
 repetir el bucle:

desde i      1 hasta n hacer
  escribir(‘Introduzca el elemento ‘ ,i, ‘del vector
   F: ’)
  leer(F[i])
fin_desde
1. Recorrido (acceso
secuencial)
 También   se pueden utilizar las estructuras
 de repetición mientras y repetir:
   i    1
   mientras i <= 20 hacer
      escribir(‘Introduzca el elemento ‘ ,i,
 ‘del
                 vector F: ’)
      leer(F[i])
      i   i+1
   fin_mientras
1. Recorrido (acceso
secuencial)
i    1
repetir
  escribir(‘Introduzca el elemento ‘ ,i, ‘del
    vector F: ’)
  leer(F[i])
  i   i+1
hasta_que i > 20
2. Lectura/escritura
La lectura/escritura de datos en arreglos
  normalmente se realiza con estructuras
  repetitivas (usando un recorrido
  secuencial).
Las instrucciones simples de
  lectura/escritura se representarán como:
 leer(A[5])     lectura del elemento 5 del
  vector A
 escribir(A[8]) escribir el elemento 8 del
  vector A
2. Lectura/escritura
Generalmente se desea leer o escribir el
 vector completo, para lo cual se debe
 hacer un recorrido del vector:
 desde i 1 hasta n hacer
    escribir(‘Introduzca el elemento ‘ ,i,
 ‘del
               vector F: ’)
    leer(F[i])
 fin_desde
2. Lectura/escritura
Para escribir el vector nombres:

 desde i 1 hasta n hacer
    escribir(nombres[i])
 fin_desde
2. Lectura/escritura
 Parafacilitar futuras operaciones con el
 vector, se recomienda inicializar el vector
 antes de operar con él. Puede usarse
 cualquier valor que respete el tipo de
 dato del vector:
 desde i   1 hasta n hacer
   nombre[i]  ‘*’
 fin_desde
3. Asignación
La asignación de valores a un elemento del
  vector se realizará con la instrucción de
  asignación:
 A[29]    5 asigna el valor 5 al elemento
  20 del vector A
 Suma     A[1] + A[3]
 A[3]    A[3] + 10.8
 A[1]    A[4] + A[5]
3. Asignación
 Sise desea asignar valores a todos los
  elementos de un vector, se debe recurrir
  a estructuras repetitivas e incluso
  selectivas.
 Ejemplo: si se desea dar el mismo valor a
  todos los elementos del vector A de tipo
  entero:
  desde i   1 hasta 5 hacer
    A[i]  8
  fin_desde
4. Actualización
La operación de actualización de un
  vector consta a su vez de tres
  operaciones más elementales:
 Añadir elementos
 Insertar elementos
 Borrar elementos
4. Actualización
Añadir elementos: es la operación de
 agregar un nuevo elemento al final del
 vector. La única condición necesaria
 para esta operación consistirá en la
 comprobación de espacio de memoria
 suficiente para el nuevo elemento, dicho
 de otra manera, que el vector no
 contenga todos los elementos con que
 fue definido.
4. Actualización
Ejemplo: se tiene un vector de edades definido
   para 7 elementos, pero ya tiene almacenado
   5 elementos EDADES(1), EDADES(2),
   EDADES(3), EDADES(4) y EDADES(5). Se
   podrán añadir dos elementos más al final del
   vector con una simple operación de
   asignación:
 EDADES(6)     23
 EDADES(7)     20
(Si conoce los espacio del vector que están
   libres.)
4. Actualización
Si no se sabe si el vector tiene espacios disponibles,
   primero debe determinarse esto antes de intentar
   añadir elementos al vector:
  desde i       1 hasta n hacer
    si (edades[i]=-1) entonces
      escribir(‘Introduzca una edad:’)
      leer(edades[i])
    si_no
      cont     cont + 1
    fin_si
    si (cont=n) entonces
      escribir(‘El vector no tiene espacio para añadir más
      elementos’)
    fin_si
  fin_desde
4. Actualización
Insertar elementos: consiste en introducir un
  elemento en el interior de un vector
  ordenado. En este caso se necesita un
  desplazamiento previo hacia abajo para
  colocar el nuevo elemento en su posición
  relativa.
Ejemplo: se tiene un vector de 8 elementos
  que contiene nombres ordenados
  alfabéticamente y se desea insertar dos
  nuevos nombres: Fernando y Luis.
4. Actualización




Como Fernando está entre Carlos y Gerardo se deben desplazar
hacia
abajo los elementos 3, 4 y 5 que pasarán a ocupar las posiciones
relativas
4, 5 y 6.
Posteriormente debe realizarse la misma operación con el nombre
Luis
que ocupará la posición 6.
El algoritmo que realiza esta operación para un
      vector de n elementos es el siguiente, suponiendo
      que hay espacio suficiente en el vector:
algoritmo insertar_elemento            desde i     1 hasta n hacer
const                                    si (NOMBRES[i]<>’vacio’) entonces
  n=500                                    ocupada      ocupada + 1
tipo                                     si_no
  array [1 .. n] de cadena[50]: vector cont        cont + 1
var                                      fin_si
 vector: NOMBRES                       fin_desde
  cadena[50]:nuevo                     si (cont=n) entonces
  entero: Pos, ocupada, cont             escribir(‘No se pueden añadir elemento
inicio
  leer(nuevo)                          si_no
  desde i     1 hasta n hacer            i ocupada
    si (NOMBRES[i]<nuevo) entonces       mientras (i >= Pos) hacer
      cont    cont + 1                     NOMBRES[i+1]      NOMBRES[i]
    fin_si                                 i   i-1
  fin_desde                              fin_mientras
  Pos      cont + 1                      NOMBRES[Pos]       nuevo
                                         ocupada       ocupada + 1
                                       fin_si
                                     fin
4. Actualización
Borrar elementos: la operación de borrar el
   último elemento de un vector no
   representa ningún problema.
El borrado de un elemento del interior del
   vector provoca el movimiento hacia
   arriba de los elementos inferiores a él
   para reorganizar el vector.
4. Actualización
                   Si desea borrar elemento
                   3 (Gerardo), debe
                   desplazar
                   hacia arriba los
                   elementos
                   de las posiciones 4
                   (Lorena)
                   y 5 (Marcos).
4. Actualización
Ejemplo: en el vector del ejemplo anterior NOMBRES,
   borrar el elemento que el usuario desee.
algoritmo borrar_elemento
const
  N=500
tipo
  array [1 .. N] de cadena[50]: vector
var
  vector: NOMBRES
  entero: j,ocupada
  cadena[50]: nom
Inicio
  escribir(‘Introduzca el nombre a borrar:’)
  leer(nom)
4. Actualización
  desde i     1 hasta N hacer
     si (NOMBRES[i]=nom) entonces
        j   i
     fin_si
  fin_desde
  desde i=j hasta N hacer
     NOMBRES[i]     NOMBRES[i+1]
  fin_desde
  ocupada       ocupada -1
fin
ARREGLOS BIDIMENSIONALES:
MATRICES
Un arreglo bidimensional se puede
  considerar como un vector de vectores.
Es un conjunto de elementos, todos del
  mismo tipo, en el cual el orden de los
  componentes es significativo y en el que
  se necesitan especificar dos subíndices
  para poder identificar cada elemento del
  arreglo.
Arreglos bidimensionales: matrices
 Matriz A:


Fila 1


Fila 2                         30

Fila 3

Fila 4


Fila 5             150

         Columna 1 Columna 2        Columna 6
Arreglos bidimensionales: matrices
                                   A[2,5]
    Matriz A:




                                    30
Subíndice i
para las filas




                 150
                             Subíndice j
                 A[5,2]   para las columnas
Arreglos bidimensionales:
   matrices para declarar matrices:
Notación algorítmica
tipo
  array [1..M,1..N] de <tipo de dato>: <nombre del tipo array>
var
  <nombre del tipo array>: identificador de la variable de este
   tipo

Ejemplo:
tipo
   array [1..5, 1..6] de entero: Notas
var
  Notas: A, B
Arreglos bidimensionales:
   matrices
Un arreglo bidimensional se dice que tiene M*N
 elementos, donde M es el número de filas y N el
 número de columnas.
Arreglos bidimensionales:
matrices
Operaciones con matrices:
1. Asignación
2. Lectura/escritura
3. Recorrido secuencial:    Por fila
                            Por
   columna
Arreglos bidimensionales:
matrices
1. Asignación: consiste en asignar directamente
      un valor a cualquier elemento de la matriz.
      Ejemplo: A[1,1]    3
2. Lectura/escritura: normalmente se realiza con
      estructuras de repetición. Pero una
      instrucción simple de lectura/escritura
      podría ser:
     leer(A)          lectura de la matriz A
     escribir(A)      escritura de la matriz A
     leer(A[2,3])     lectura del elemento en la
      fila 2
                  columna 3 de la matriz A.
Arreglos bidimensionales:
matrices
   Recorrido secuencial: Se puede acceder a
    los elementos de una matriz para introducir
    datos (leer) en ella o bien para visualizar su
    contenido (escribir), realizar comparaciones o
    búsquedas de elementos.
   Esta operación se realiza usando estructuras
    de repetición, cuyas variables de control se
    utilizan como subíndices de la matriz (por
    ejemplo i, j).
   El incremento del contador del bucle
    producirá el tratamiento sucesivo de los
    elementos de la matriz.
Arreglos bidimensionales: matrices
El recorrido secuencial se puede hacer por
  filas o por columnas.
Recorrido secuencial por filas:

                         desde i     1 hasta 3 hacer
                             desde j      1 hasta 4 hacer
                                leer(A[i,i])
                             fin_desde
                          fin_desde
Arreglos bidimensionales:
   matrices
Recorrido secuencial por columnas:


                              desde j     1 hasta 4 hacer
                                  desde i      1 hasta 3 hacer
                                     leer(A[i,i])
                                  fin_desde
                               fin_desde
Ejemplo 1: Inicializar la matriz A de 10
filas y 4 columnas con un valor
constante dado k.
algoritmo inicialización_matriz
const
  M=10
  N=4
tipo
  array[1..M, 1..N] de entero: Matriz
var
  Matriz: A
  entero: i, j, k
Inicio
  leer(k)
  desde i      1 hasta M hacer
    desde j       1 hasta N hacer
        A[i,i]   k
     fin_desde
  fin_desde
fin.
ARREGLOS MULTIMENSIONALES

Un arreglo se puede definir de tres, cuatro y
  hasta n dimensiones.
Se manejan los mismos conceptos para los
  subíndices que en los vectores o matrices.
Cada elemento del arreglo se puede
  identificar usando la cantidad de
  subíndices necesarios, por ejemplo en un
  arreglo de n dimensiones se escribirá: A[I1,
  I2, I3, …, In]
Arreglos multimensionales
Ejemplo: Un arreglo de tres dimensiones
  puede ser uno que contenga los datos
  relativos al número de estudiantes de una
  universidad de acuerdo a los siguientes
  criterios:
    año (primero a quinto)
    sexo (femenino/masculino)
    facultad (cinco facultades diferentes)
Arreglos multimensionales


     Curso

                    Facultad



             Sexo

Más contenido relacionado

La actualidad más candente

Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaTAtiizz Villalobos
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por InsercionMateo Falcon
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Universidad Nacional de Piura
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Jesús Gómez Ávila
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template LibraryGauravPatil318
 
Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)jairml
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Busqueda secuencial
Busqueda secuencialBusqueda secuencial
Busqueda secuencialAngy Yanezz
 
Sparse matrix and its representation data structure
Sparse matrix and its representation data structureSparse matrix and its representation data structure
Sparse matrix and its representation data structureVardhil Patel
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
Algoritmo matriz magica 3
Algoritmo matriz magica 3Algoritmo matriz magica 3
Algoritmo matriz magica 3aljego
 

La actualidad más candente (20)

Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
Base de Datos(Funciones, Vistas,Procedimientos Almacenados,Triggers)
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 
Tipos De Datos Abstractos Colas
Tipos De Datos Abstractos ColasTipos De Datos Abstractos Colas
Tipos De Datos Abstractos Colas
 
Array bidimensional
Array bidimensionalArray bidimensional
Array bidimensional
 
Standard Template Library
Standard Template LibraryStandard Template Library
Standard Template Library
 
Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)
 
Arreglos
ArreglosArreglos
Arreglos
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Busqueda secuencial
Busqueda secuencialBusqueda secuencial
Busqueda secuencial
 
Sparse matrix and its representation data structure
Sparse matrix and its representation data structureSparse matrix and its representation data structure
Sparse matrix and its representation data structure
 
22 ejercicios base de datos
22 ejercicios base de datos 22 ejercicios base de datos
22 ejercicios base de datos
 
Ordenamiento ppt
Ordenamiento pptOrdenamiento ppt
Ordenamiento ppt
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Algoritmo matriz magica 3
Algoritmo matriz magica 3Algoritmo matriz magica 3
Algoritmo matriz magica 3
 

Similar a Tipo de Arreglos

Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]herminiajimenez123
 
Expo array
Expo arrayExpo array
Expo arrayEd Burke
 
Utp pti_s5_arreglos
 Utp pti_s5_arreglos Utp pti_s5_arreglos
Utp pti_s5_arreglosjcbenitezp
 
Utp pti_s5_arreglos 2012-2
 Utp pti_s5_arreglos 2012-2 Utp pti_s5_arreglos 2012-2
Utp pti_s5_arreglos 2012-2jcbenitezp
 
Arreglos
ArreglosArreglos
ArreglosUPTC
 
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptxOBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptxjuan gonzalez
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2jcbenitezp
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Carlos Anibal Riascos Hurtado
 
Estructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.pptEstructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.pptAndersonHernandezara
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacionlaryenso
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3yeimirbeth
 
Semana 4 arreglos simples (1)
Semana 4   arreglos simples (1)Semana 4   arreglos simples (1)
Semana 4 arreglos simples (1)Julie Suazo
 

Similar a Tipo de Arreglos (20)

arreglos.ppt
arreglos.pptarreglos.ppt
arreglos.ppt
 
Arreglos
ArreglosArreglos
Arreglos
 
Unidad5
Unidad5Unidad5
Unidad5
 
71
7171
71
 
Array
Array Array
Array
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 
Expo array
Expo arrayExpo array
Expo array
 
Utp pti_s5_arreglos
 Utp pti_s5_arreglos Utp pti_s5_arreglos
Utp pti_s5_arreglos
 
Utp pti_s5_arreglos 2012-2
 Utp pti_s5_arreglos 2012-2 Utp pti_s5_arreglos 2012-2
Utp pti_s5_arreglos 2012-2
 
Arreglos
ArreglosArreglos
Arreglos
 
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptxOBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
OBJETIVO 5 VECTORES que se utilizan en la programacion.pptx
 
Uso vectores
Uso vectoresUso vectores
Uso vectores
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
 
Estructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.pptEstructuras de Datos Elementos y Arreglos.ppt
Estructuras de Datos Elementos y Arreglos.ppt
 
Trabajo en grupo
Trabajo en grupo Trabajo en grupo
Trabajo en grupo
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3
 
Semana 4 arreglos simples (1)
Semana 4   arreglos simples (1)Semana 4   arreglos simples (1)
Semana 4 arreglos simples (1)
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 

Último (20)

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 

Tipo de Arreglos

  • 1. TIPO DE ARREGLOS Jesús Osorio Introducción a la Programación
  • 2. ARREGLOS UNIDIMENSIONALES: VECTORES  El tipo más simple de arreglo es el arreglo unidimensional o vector. Un vector de una dimensión denominado NOTAS que consta de n elementos se puede representar así:  El subíndice o índice de un elemento [1,2,3,…,i,…,n] designa su posición en la ordenación del vector.  Solo el vector global tiene nombre (NOTAS). Los elementos del vector se referencian por su subíndice o índice, es decir, su posición relativa en el vector.
  • 3. Arreglos unidimensionales: vectores Notación algorítmica para declarar vectores: tipo array [dimensiones] de <tipo de dato>: <nombre del tipo array> var <nombre del tipo array>: identificador de la variable de este tipo Ejemplos: tipo tipo array [1..10] de carácter: nombres array [1..100] de entero: número var var nombres: N, M número: NUM se están declarando dos vectores se está declarando un vector N y M de 10 elementos cada uno NUM de 100 elementos de tipo de tipo carácter entero
  • 4. Arreglos unidimensionales: Operaciones con Vectores Las operaciones que se pueden realizar con vectores durante el proceso de resolución de un problema usando la programación son:  Recorrido (acceso secuencial)  Lectura/escritura  Asignación  Actualización (añadir, borrar insertar)  Ordenación  Búsqueda
  • 5. 1. Recorrido (acceso secuencial)  Se puede acceder a cada elemento de un vector para introducir datos (leer) en él o bien para visualizar su contenido (escribir).  A la operación de efectuar una acción general sobre todos los elementos de un vector se le denomina recorrido del vector.
  • 6. 1. Recorrido (acceso secuencial)  Estas operaciones se realizan utilizando estructuras repetitivas, cuyas variables de control (por ejemplo i) se utilizan como subíndices del vector (por ejemplo S[i]).  El incremento del contador del bucle producirá el tratamiento sucesivo de los elementos del vector.
  • 7. 1. Recorrido (acceso secuencial) Normalmente se utiliza la estructura de repetición desde, ya que se conoce de antemano la cantidad de veces que se desea repetir el bucle: desde i 1 hasta n hacer escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F: ’) leer(F[i]) fin_desde
  • 8. 1. Recorrido (acceso secuencial)  También se pueden utilizar las estructuras de repetición mientras y repetir: i 1 mientras i <= 20 hacer escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F: ’) leer(F[i]) i i+1 fin_mientras
  • 9. 1. Recorrido (acceso secuencial) i 1 repetir escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F: ’) leer(F[i]) i i+1 hasta_que i > 20
  • 10. 2. Lectura/escritura La lectura/escritura de datos en arreglos normalmente se realiza con estructuras repetitivas (usando un recorrido secuencial). Las instrucciones simples de lectura/escritura se representarán como:  leer(A[5]) lectura del elemento 5 del vector A  escribir(A[8]) escribir el elemento 8 del vector A
  • 11. 2. Lectura/escritura Generalmente se desea leer o escribir el vector completo, para lo cual se debe hacer un recorrido del vector: desde i 1 hasta n hacer escribir(‘Introduzca el elemento ‘ ,i, ‘del vector F: ’) leer(F[i]) fin_desde
  • 12. 2. Lectura/escritura Para escribir el vector nombres: desde i 1 hasta n hacer escribir(nombres[i]) fin_desde
  • 13. 2. Lectura/escritura  Parafacilitar futuras operaciones con el vector, se recomienda inicializar el vector antes de operar con él. Puede usarse cualquier valor que respete el tipo de dato del vector: desde i 1 hasta n hacer nombre[i] ‘*’ fin_desde
  • 14. 3. Asignación La asignación de valores a un elemento del vector se realizará con la instrucción de asignación:  A[29] 5 asigna el valor 5 al elemento 20 del vector A  Suma A[1] + A[3]  A[3] A[3] + 10.8  A[1] A[4] + A[5]
  • 15. 3. Asignación  Sise desea asignar valores a todos los elementos de un vector, se debe recurrir a estructuras repetitivas e incluso selectivas.  Ejemplo: si se desea dar el mismo valor a todos los elementos del vector A de tipo entero: desde i 1 hasta 5 hacer A[i] 8 fin_desde
  • 16. 4. Actualización La operación de actualización de un vector consta a su vez de tres operaciones más elementales:  Añadir elementos  Insertar elementos  Borrar elementos
  • 17. 4. Actualización Añadir elementos: es la operación de agregar un nuevo elemento al final del vector. La única condición necesaria para esta operación consistirá en la comprobación de espacio de memoria suficiente para el nuevo elemento, dicho de otra manera, que el vector no contenga todos los elementos con que fue definido.
  • 18. 4. Actualización Ejemplo: se tiene un vector de edades definido para 7 elementos, pero ya tiene almacenado 5 elementos EDADES(1), EDADES(2), EDADES(3), EDADES(4) y EDADES(5). Se podrán añadir dos elementos más al final del vector con una simple operación de asignación:  EDADES(6) 23  EDADES(7) 20 (Si conoce los espacio del vector que están libres.)
  • 19. 4. Actualización Si no se sabe si el vector tiene espacios disponibles, primero debe determinarse esto antes de intentar añadir elementos al vector: desde i 1 hasta n hacer si (edades[i]=-1) entonces escribir(‘Introduzca una edad:’) leer(edades[i]) si_no cont cont + 1 fin_si si (cont=n) entonces escribir(‘El vector no tiene espacio para añadir más elementos’) fin_si fin_desde
  • 20. 4. Actualización Insertar elementos: consiste en introducir un elemento en el interior de un vector ordenado. En este caso se necesita un desplazamiento previo hacia abajo para colocar el nuevo elemento en su posición relativa. Ejemplo: se tiene un vector de 8 elementos que contiene nombres ordenados alfabéticamente y se desea insertar dos nuevos nombres: Fernando y Luis.
  • 21. 4. Actualización Como Fernando está entre Carlos y Gerardo se deben desplazar hacia abajo los elementos 3, 4 y 5 que pasarán a ocupar las posiciones relativas 4, 5 y 6. Posteriormente debe realizarse la misma operación con el nombre Luis que ocupará la posición 6.
  • 22. El algoritmo que realiza esta operación para un vector de n elementos es el siguiente, suponiendo que hay espacio suficiente en el vector: algoritmo insertar_elemento desde i 1 hasta n hacer const si (NOMBRES[i]<>’vacio’) entonces n=500 ocupada ocupada + 1 tipo si_no array [1 .. n] de cadena[50]: vector cont cont + 1 var fin_si vector: NOMBRES fin_desde cadena[50]:nuevo si (cont=n) entonces entero: Pos, ocupada, cont escribir(‘No se pueden añadir elemento inicio leer(nuevo) si_no desde i 1 hasta n hacer i ocupada si (NOMBRES[i]<nuevo) entonces mientras (i >= Pos) hacer cont cont + 1 NOMBRES[i+1] NOMBRES[i] fin_si i i-1 fin_desde fin_mientras Pos cont + 1 NOMBRES[Pos] nuevo ocupada ocupada + 1 fin_si fin
  • 23. 4. Actualización Borrar elementos: la operación de borrar el último elemento de un vector no representa ningún problema. El borrado de un elemento del interior del vector provoca el movimiento hacia arriba de los elementos inferiores a él para reorganizar el vector.
  • 24. 4. Actualización Si desea borrar elemento 3 (Gerardo), debe desplazar hacia arriba los elementos de las posiciones 4 (Lorena) y 5 (Marcos).
  • 25. 4. Actualización Ejemplo: en el vector del ejemplo anterior NOMBRES, borrar el elemento que el usuario desee. algoritmo borrar_elemento const N=500 tipo array [1 .. N] de cadena[50]: vector var vector: NOMBRES entero: j,ocupada cadena[50]: nom Inicio escribir(‘Introduzca el nombre a borrar:’) leer(nom)
  • 26. 4. Actualización desde i 1 hasta N hacer si (NOMBRES[i]=nom) entonces j i fin_si fin_desde desde i=j hasta N hacer NOMBRES[i] NOMBRES[i+1] fin_desde ocupada ocupada -1 fin
  • 27. ARREGLOS BIDIMENSIONALES: MATRICES Un arreglo bidimensional se puede considerar como un vector de vectores. Es un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesitan especificar dos subíndices para poder identificar cada elemento del arreglo.
  • 28. Arreglos bidimensionales: matrices Matriz A: Fila 1 Fila 2 30 Fila 3 Fila 4 Fila 5 150 Columna 1 Columna 2 Columna 6
  • 29. Arreglos bidimensionales: matrices A[2,5] Matriz A: 30 Subíndice i para las filas 150 Subíndice j A[5,2] para las columnas
  • 30. Arreglos bidimensionales: matrices para declarar matrices: Notación algorítmica tipo array [1..M,1..N] de <tipo de dato>: <nombre del tipo array> var <nombre del tipo array>: identificador de la variable de este tipo Ejemplo: tipo array [1..5, 1..6] de entero: Notas var Notas: A, B
  • 31. Arreglos bidimensionales: matrices Un arreglo bidimensional se dice que tiene M*N elementos, donde M es el número de filas y N el número de columnas.
  • 32. Arreglos bidimensionales: matrices Operaciones con matrices: 1. Asignación 2. Lectura/escritura 3. Recorrido secuencial: Por fila Por columna
  • 33. Arreglos bidimensionales: matrices 1. Asignación: consiste en asignar directamente un valor a cualquier elemento de la matriz. Ejemplo: A[1,1] 3 2. Lectura/escritura: normalmente se realiza con estructuras de repetición. Pero una instrucción simple de lectura/escritura podría ser: leer(A) lectura de la matriz A escribir(A) escritura de la matriz A leer(A[2,3]) lectura del elemento en la fila 2 columna 3 de la matriz A.
  • 34. Arreglos bidimensionales: matrices  Recorrido secuencial: Se puede acceder a los elementos de una matriz para introducir datos (leer) en ella o bien para visualizar su contenido (escribir), realizar comparaciones o búsquedas de elementos.  Esta operación se realiza usando estructuras de repetición, cuyas variables de control se utilizan como subíndices de la matriz (por ejemplo i, j).  El incremento del contador del bucle producirá el tratamiento sucesivo de los elementos de la matriz.
  • 35. Arreglos bidimensionales: matrices El recorrido secuencial se puede hacer por filas o por columnas. Recorrido secuencial por filas: desde i 1 hasta 3 hacer desde j 1 hasta 4 hacer leer(A[i,i]) fin_desde fin_desde
  • 36. Arreglos bidimensionales: matrices Recorrido secuencial por columnas: desde j 1 hasta 4 hacer desde i 1 hasta 3 hacer leer(A[i,i]) fin_desde fin_desde
  • 37. Ejemplo 1: Inicializar la matriz A de 10 filas y 4 columnas con un valor constante dado k. algoritmo inicialización_matriz const M=10 N=4 tipo array[1..M, 1..N] de entero: Matriz var Matriz: A entero: i, j, k Inicio leer(k) desde i 1 hasta M hacer desde j 1 hasta N hacer A[i,i] k fin_desde fin_desde fin.
  • 38. ARREGLOS MULTIMENSIONALES Un arreglo se puede definir de tres, cuatro y hasta n dimensiones. Se manejan los mismos conceptos para los subíndices que en los vectores o matrices. Cada elemento del arreglo se puede identificar usando la cantidad de subíndices necesarios, por ejemplo en un arreglo de n dimensiones se escribirá: A[I1, I2, I3, …, In]
  • 39. Arreglos multimensionales Ejemplo: Un arreglo de tres dimensiones puede ser uno que contenga los datos relativos al número de estudiantes de una universidad de acuerdo a los siguientes criterios:  año (primero a quinto)  sexo (femenino/masculino)  facultad (cinco facultades diferentes)
  • 40. Arreglos multimensionales Curso Facultad Sexo