SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Estructuras de Datos
                   (ARREGLOS)


Asignatura: Computación I
UNA Cl Cojedes
Elaborado por: Ing. Zamantha González
Arreglos (array)

• Un arreglo está formado por un número fijo de
  elementos contiguos de un mismo tipo. Al tipo se le
  llama tipo base del arreglo. Los datos individuales se
  llaman elementos del arreglo.
• Para definir un tipo estructurado arreglo, se debe
  especificar el tipo base y el número de elementos.
• Un array se caracteriza por :
  • Almacenar los elementos del array en posiciones de memoria
    continua.
  • Tener un único nombre de variable que representa a todos los
    elementos, y éstos a su vez se diferencian por un índice o subíndice.
  • Acceso directo o aleatorio a los elementos individuales del array.
Arreglos (array)


                       dominio = I                codominio = C
•   En términos matemáticos abstractos la transformación (mapeo) puede
    anotarse:
                                     A:I  C
•   En Pascal puede anotarse, la definición del nuevo tipo A según:
                             type A = array [I] of C;
•   I se denomina tipo del índice, y debe ser un tipo ordinal.
•   C es el tipo del contenido, o de las componentes. También suele llamarse
    tipo base. Importa insistir en que todas las componentes deben ser de
    igual tipo.
•   El tipo estructurado A queda completamente definido, si están
    previamente definidos los tipos I y C.
Clasificación de los Arreglos

• Los arrays se clasifican en:

  • Unidimensionales
  (vectores o listas)




  • Multidimensionales
  ( tablas o matrices)
Arreglos Unidimensionales

• Un array de una dimensión – vector o lista – es un
  tipo de datos estructurados compuesto de un número
  de elementos finito, tamaño fijo y elementos
  homogéneos.
• Finitos, indica que hay un último elemento, tamaño
  fijo significa que el tamaño del array debe ser
  conocido en tiempo de compilación, homogéneo
  significa que todos los elementos son del mismo tipo.
• Los elementos del array se almacenan en posiciones
  contiguas de memoria, a cada una de las cuales se
  puede acceder directamente.
Arreglos Unidimensionales


                        Elementos


Mi_vector       9   5    6   2      4   8   3




 Nombre de
  la variable                Posición : 1
                    Contenido : Mi_vector[1] = 9
Ejemplos Arreglos Unidimensionales

• Resolvamos este primer ejemplo: (ejemplo 1)
   • Cargar 10 elementos en un vector, sumarlos
     y mostrar el resultado por pantalla.
   • Pasos para resolver este problema:
     • Leer un vector de 10 elementos
     • Sumar los elementos
     • Mostrar el resultado de la suma por pantalla
Ejemplos Arreglos Unidimensionales

Program Ejemplo1; {Version 1}
type
sumandos = array[1..10] of integer;                    Declaración del tipo arreglo
var
suma, i : integer;
vec_sumandos : sumandos;                         Declaración de la variable arreglo
begin
suma := 0;
for i:= 1 to 10 do
     read(vec_sumandos[i] )                    Lectura de los elementos del arreglo
for i := 1 to 10 do
     suma:= suma +vec_sumandos[i];                          Suma de los elementos
writeln (´La suma de los números es´, suma);
end.
Ejemplos Arreglos Unidimensionales

Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
    begin
    read(vec_sumandos[i] )
    suma:= suma +vec_sumandos[i];
    end;
writeln (´La suma de los números es´, suma);
end.
Declaración de Vectores
•   Los arreglos son estructuras de datos, por lo tanto las mismas
    deben ser declaradas. Esta operación se realiza en la sección
    “Type” de un programa en Pascal. (como puede verse en el
    ejemplo1)
•   Formato
    type
           nombre_del_tipo = array[tipo_subindice * ] of tipo;
•   Debe ser de tipo ordinal: boolean, char, enumerado o subrango
•   Luego de la declaración del tipo, se declara la variable.
•   Formato
     var
         nombre_variable: nombre_del_tipo;
Ejemplo Declaraciones

Ej1:
       type
              Valores = array[ -10..10 ] of real;
       var
              precios: valores;

Ej2:
       const
              Max= 500;
       type
              T_Texto = array[ 1..Max ] of char;
       var
              Texto: T_Texto;
Ejemplo Declaraciones(cont.)
Array para almacenar las notas correspondientes a todos los alumnos de un colegio.
Suponiendo lo siguiente:
•   Numero de cursos 5
•   Grupos por curso 3
•   Número de evaluaciones 3
•   Número de asignaturas 6
•   Número de alumnos por curso 20
Const
        Numcurso=5;
        Numasig=6;
        Numalum=20;
Type
        Cursos=1.. numcurso;
        Grupos='A'..'C';
        Eval=(primera,segunda,tercera);
        Asign=1.. numasin;
        Alum=1. .numalum;
        Tiponotas=array[cursos,grupos,eval,asign,alum] of real;
Var
        Notas:tiponotas;
        Curso:cursos;
        Grupo:grupos;
        Evaluacion:eval;
        Materia:asign;
        Alumno:alum;

        Con los elementos de un array se puede realizar las mismas operaciones que el tipo base al que
                                                 pertenecen.
Vectores – Manejo de Índices

• Asignación de valores

  Texto[3] := ´a´;
  Precios[0] := 23.50;

  Recuerden, los índices de un arreglo pueden ser: entero,
  lógico, carácter, enumerado o subrango.
Vectores – Operaciones

• Con la siguiente declaración:
   type
          T_Notas = array [1..30] of integer;
   var
      Notas: T_Notas;
• Lectura de un vector
   for i:= 1 to 30 do
         read(Notas[i] )

• Escritura de un vector
   for i:= 1 to 30 do
         writeln(Notas[i] )
Vectores – Operaciones

• Con la siguiente declaración:
   type
          T_Notas = array [1..30] of integer;
   var
      Notas, Aux_Notas: T_Notas;
• Copia de vectores
  for i:= 1 to 30 do
      Aux_Notas[i]:= Notas[i];
Vectores – Ejemplos Resueltos
                                 Program Ej2;
Ej2.- Dados      50 números
                                 const
enteros, obtener el promedio           max = 50;
de ellos. Mostrar por pantalla   type
dicho     promedio    y   los          t_numeros = array[1.. max] of integer;
                                 var
números ingresados que                 suma, i : integer;
sean mayores que el mismo.             promedio: real;
                                       numeros : t_numeros;
                                 begin
                                       suma := 0;
                                       for i:= 1 to max do
                                          begin
                                                  read(numeros[i] )
                                                  suma:= su12a +numeros[i];
                                          end;
                                       Promedio:= suma/max;
                                      writeln (´El promedio es ´,Promedio´);
                                       for i := 1 to 50 do
                                          if numeros[i] > promedio
                                                  then writeln (´El número´, numeros[i], ´es mayor al promedio´);
                                 end.
Vectores – Ejemplos Resueltos
                                 Program Ej3;
Ej3.- Dados n números,
                                        const
obtener e imprimir la suma              max = 100;
de todos ellos. A continuación          type
mostrar por pantalla todos los                    t_numeros = array[1.. max] of integer;
                                        var
sumandos.                                         suma, i, n : integer;
                                        promedio: real;
                                        numeros : t_numeros;
                                 begin
                                        suma := 0;
                                        write (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´);
                                        readln(n);
                                        for i:= 1 to n do
                                        begin
                                                  read(numeros[i] )
                                                  suma:= suma +numeros[i];
                                        end;
                                 writeln (´La suma es ´,suma´);
                                 for i := 1 to n do
                                        writeln (´El sumando´, i, ´es´, numeros[i]);
                                 end.
Método de Ordenamiento

• Los métodos de ordenamiento son muy útiles porque permiten buscar
  valores, tanto por valor y por su posición, de una manera eficiente.
  Antes de estudiar algunos de los métodos de ordenamiento es
  necesario definir el problema y el entorno en el cual se desea trabajar.

• Para realizar un ordenamiento se necesita un conjunto de valores
  ordenables, es decir, que exista un criterio de ordenamiento, por
  ejemplo las letras se basan en el alfabeto, los números en la cantidad
  representada. Además, se trataran solamente métodos de
  ordenamiento en los que la instrucción base es la comparación entre
  dos valores y que se obtiene el ordenamiento por medio de intercambio
  de valores. Estas consideraciones son la base de los métodos.

• Son muchos los métodos de ordenamiento, sin embargo, se hará
  énfasis en los siguientes métodos: Ordenamiento por selección, por
  inserción, burbuja.
Método de Ordenamiento
Para tal efecto asuma las siguientes declaraciones:   y las siguientes asignaciones:

Type                                                  v[ 1 ] := 6;
       vector = array [ 1 .. 25 ] of integer;         v[ 2 ] := 25;
Var                                                   v[ 3 ] := 7;
       v : vector;
       i,j,N,aux,p : integer
                                                      v[ 4 ] := 2;
                                                      v[ 5 ] := 14;
                                                      N := 5;
Ordenamiento por Burbuja
Ref: Luis Joyanes Aguilar. Programación en Turbo Pascal Ver 5.5, 6.0, 7.0,
McGraw-Hill, 2ª. Edición, 1993, pp. 412-417.

Este método es clásico y muy sencillo aunque poco eficiente. La ordenación
por burbuja [ bubble sort ] se basa en:
     1. La comparación de elementos adyacentes del vector e
     2. Intercambio de sus valores si estos están desordenados

De este modo se dice que los valores más pequeños burbujean hacia la parte
superior de la lista [hacia el primer elemento], mientras que los valores más
grandes se hunden hacia el fondo de la lista en el caso de un ordenamiento
ascendente.

La técnica de ordenación de la lista por burbuja compara elementos
consecutivos de la lista de modo que si en una pasada no ocurrieran
intercambios, significaría que la lista esta ordenada.
Ordenamiento por Burbuja
{ Ordenamiento por burbuja mejorado en forma ascendente }

desordenado := true;
while desordenado do
begin
      desordenado := false;
      for i:= 1 to n - 1 do                    Pasada 1     Pasada 2   Pasada 3
             if v[ i ] > v[ I + 1 ] then       10           5          5
             begin                             5            10         8
                    aux := v[ i ];             8            8          10
                    v[ i ] := v[ i + 1 ];
                    v[ i + 1] := aux;
                    desordenado := true;
             end;
      end;
End.
Método de Ordenamiento (Cont.)
{ este programa lea n números enteros y/o reales y los ordena por el método de ordenación burbuja en forma
ascendente.....compilado en en borland pascal para Windows versión 7.0}
Program burbujas;
uses wincrt; { utilizando la terminal de windows }
{ declaración de variables globales...}
var
  n,i,codg_art:integer;
  temp:real;
  x:array [1..100] of real;
  pausa:char;
{ procedimiento aplicando el método de burbuja }
procedure burbuja;
begin
for codg_art:=1 to n-1 do
 for i:=codg_art+1 to n do
  if x[i]<x[codg_art] then
   begin { intercambiando los números...}
    temp:=x[codg_art];
    x[codg_art]:=x[i];
    x[i]:=temp;
   end;
 end;
Método de Ordenamiento (Cont.)
Begin { programa principal}
     writeln ('programa de ordenación de datos numéricos enteros y reales....');
     writeln ('aplicando el método de burbuja....');
     write ('cuantos registros introducira? ');
     readln (n);
     writeln;
     for i:=1 to n do
      begin
       write ('x[',i:3,']=? ');
       readln (x[i]);
      end;
     burbuja;
     writeln;
     writeln (' registros ordenados en forma ascendente');
     pausa:=readkey;
end.
Arreglos Bidimensionales (Tablas)

•   Es un conjunto de elementos, todos del mismo tipo (homogéneo), en
    el cual el orden de los componentes es significativo y el acceso a ellos
    también es en forma directa por medio de un par de índices para
    poder identificar a cada elemento del arreglo.
•   También se les llama Matriz o Tabla.
•   Los elementos se referencian con el formato:
     T [3,4] elemento de la fila 3 y columna 4.
•   Los arreglos bidimensionales se usan para representar datos que
    pueden verse como una tabla con filas y columnas

                                  Matriz
                                     1        2    3   4   5
                            1
                            2
                            3               15.2
                            4
Declaración Arreglos Bidimensionales

•   Al igual que en los arrays unidimensionales o vectores, se crean
    con declaraciones type y var y deben ser de tipo ordinales o
    subrango. Se deben indicar:
     •   El nombre del array
     •   Tipo del array
     •   Rango permitido
•   Ejemplo:
     Type
      Tabla = array [1..25,1..4] of real;
     Var
      Grados : Tabla;
•   Para localizar o almacenar un valor en el array se deben
    especificar dos posiciones o subíndices, uno para la fila y otro
    para la columna.
Asignación Arreglos Bidimensionales

•   Se considera que este arreglo tiene dos dimensiones (un
    subíndice para cada dimensión) y necesita un valor para cada
    subíndice, y poder identificar un elemento individual.
•   En notación estándar, normalmente el primer subíndice se
    refiere a la fila del arreglo, mientras que el segundo subíndice
    se refiere a la columna del arreglo. Es decir, Matriz(I,J), es el
    elemento de Matriz que ocupa la I-ésima fila y la J-ésima
    columna.
•   Para tener acceso a un elemento de la matriz se tiene que
    especificar primero el renglón después una coma y por último la
    columna a la que se quiere tener acceso.
    Ejemplo:
•   Matriz [ 3, 2] : = 15.2;
Lectura/Escritura Arreglos
                                   Bidimensionales

•   Si se deseara leer un solo elemento de un arreglo bidimensional debe
    especificarse el renglón y la columna a que se refiere, por ejemplo, la
    posición 3,2:
                           Pseudocódigo                       Pascal

                       Leer ( Ventas [ 3, 2] )      ReadLn ( Matriz [ 3, 2] ) ;

                      Escribir ( Ventas [ 3, 2] )   WriteLn ( Matriz [ 3, 2] ) ;


•   Pero si el objetivo es, leer o escribir la matriz completa entonces al
    igual que con los arreglos unidimensionales se deben usar estructuras
    iterativas.
•   Escriturar en una Matriz
         For fila := 1 to 3 do
           Begin
              For Columna := 1 to 4 do
                  Write (A[Fila, Columna]:4);
           End;
Ejemplos Matriz
Calcular el promedio de cada estudiante de una lista de veinticinco alumnos de una clase de informática con notas en
cuatro asignaturas.
Program Promedio;
Var
 Notas         : Array [1..25,1..4] of real;
 I,J           : Integer;
 Suma,Prom : Real;
Begin
   For I := 1 to 25 do
        Begin
           Write (`Notas del estudiante: ´,I:1);
           Writeln (`En una misma línea digite todas las notas´);
           Suma := 0;
           For J := 1 to 4 do
             Begin
                   Read (Notas[I,J]);
                 Suma := Suma + Notas[I,J]
             End;
           Readln;
           Prom := Suma/4;
           Writeln (`La nota promedio del estudiante `,I:1,´ es `,Prom:1:1)
        End
End.
Cualquier duda los espero en el
                  Centro Local.

   Reflexiona con
lentitud, pero ejecuta
   rápidamente tus
      decisiones.
              Sócrates

Más contenido relacionado

La actualidad más candente

Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Cardinalidad
CardinalidadCardinalidad
CardinalidadUTN
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: ListaEmerson Garay
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesJosé Antonio Sandoval Acosta
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansDaniel Gómez
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeIntJerry
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosMiguel Rodríguez
 

La actualidad más candente (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
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
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Cardinalidad
CardinalidadCardinalidad
Cardinalidad
 
Estructura de Datos: Lista
Estructura de Datos: ListaEstructura de Datos: Lista
Estructura de Datos: Lista
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Estructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafosEstructura de Datos - árboles y grafos
Estructura de Datos - árboles y grafos
 

Similar a Estructuras de Datos (Arreglos)

Similar a Estructuras de Datos (Arreglos) (20)

Vectores y Matrices
Vectores y MatricesVectores y Matrices
Vectores y Matrices
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglos
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
 
Estructuras
Estructuras Estructuras
Estructuras
 
Trabajo en grupo
Trabajo en grupo Trabajo en grupo
Trabajo en grupo
 
Vectores matricesi
Vectores matricesiVectores matricesi
Vectores matricesi
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 
arrays
arraysarrays
arrays
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Utp lpi_s5_arreglos 2012-2
 Utp lpi_s5_arreglos 2012-2 Utp lpi_s5_arreglos 2012-2
Utp lpi_s5_arreglos 2012-2
 
Uso vectores
Uso vectoresUso vectores
Uso vectores
 
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
 
Estructura de Datos Arreglos
Estructura de Datos ArreglosEstructura de Datos Arreglos
Estructura de Datos Arreglos
 
Arrays 8
Arrays 8Arrays 8
Arrays 8
 
Array
Array Array
Array
 
VectoresMatricesI.ppt
VectoresMatricesI.pptVectoresMatricesI.ppt
VectoresMatricesI.ppt
 

Más de Zamantha Gonzalez Universidad Nacional Abierta

Más de Zamantha Gonzalez Universidad Nacional Abierta (20)

Elementos del diseño visual
Elementos del diseño visualElementos del diseño visual
Elementos del diseño visual
 
Instructivo Autocorreccion Pruebas Objetivas UNA
Instructivo Autocorreccion Pruebas Objetivas UNAInstructivo Autocorreccion Pruebas Objetivas UNA
Instructivo Autocorreccion Pruebas Objetivas UNA
 
Estrategias
EstrategiasEstrategias
Estrategias
 
Aspectos básicos de google classroom
Aspectos básicos de google classroomAspectos básicos de google classroom
Aspectos básicos de google classroom
 
Lineamientos curso de iniciación 2017 1
Lineamientos curso de iniciación 2017 1Lineamientos curso de iniciación 2017 1
Lineamientos curso de iniciación 2017 1
 
Presentacion telemática educativa
Presentacion telemática educativaPresentacion telemática educativa
Presentacion telemática educativa
 
Uso y creacion de unidades
Uso y creacion de unidadesUso y creacion de unidades
Uso y creacion de unidades
 
Estrategias objetivo 8
Estrategias objetivo 8Estrategias objetivo 8
Estrategias objetivo 8
 
Estrategias objetivo 7
Estrategias objetivo 7Estrategias objetivo 7
Estrategias objetivo 7
 
Estrategias objetivo 6
Estrategias objetivo 6Estrategias objetivo 6
Estrategias objetivo 6
 
Estrategias objetivo 5
Estrategias objetivo 5Estrategias objetivo 5
Estrategias objetivo 5
 
Geolocalización móvil
Geolocalización móvilGeolocalización móvil
Geolocalización móvil
 
Realidad aumentada
Realidad aumentadaRealidad aumentada
Realidad aumentada
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 
Tipos de datos en pascal
Tipos de datos en pascalTipos de datos en pascal
Tipos de datos en pascal
 
EVERNOTE
EVERNOTEEVERNOTE
EVERNOTE
 
Encuentro inicial
Encuentro inicialEncuentro inicial
Encuentro inicial
 
Encuentro inicial estudiantes primer semestre
Encuentro inicial estudiantes primer semestreEncuentro inicial estudiantes primer semestre
Encuentro inicial estudiantes primer semestre
 
Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
Traductores de lenguaje
Traductores de lenguajeTraductores de lenguaje
Traductores de lenguaje
 

Último

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 

Último (20)

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 

Estructuras de Datos (Arreglos)

  • 1. Estructuras de Datos (ARREGLOS) Asignatura: Computación I UNA Cl Cojedes Elaborado por: Ing. Zamantha González
  • 2. Arreglos (array) • Un arreglo está formado por un número fijo de elementos contiguos de un mismo tipo. Al tipo se le llama tipo base del arreglo. Los datos individuales se llaman elementos del arreglo. • Para definir un tipo estructurado arreglo, se debe especificar el tipo base y el número de elementos. • Un array se caracteriza por : • Almacenar los elementos del array en posiciones de memoria continua. • Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se diferencian por un índice o subíndice. • Acceso directo o aleatorio a los elementos individuales del array.
  • 3. Arreglos (array) dominio = I codominio = C • En términos matemáticos abstractos la transformación (mapeo) puede anotarse: A:I  C • En Pascal puede anotarse, la definición del nuevo tipo A según: type A = array [I] of C; • I se denomina tipo del índice, y debe ser un tipo ordinal. • C es el tipo del contenido, o de las componentes. También suele llamarse tipo base. Importa insistir en que todas las componentes deben ser de igual tipo. • El tipo estructurado A queda completamente definido, si están previamente definidos los tipos I y C.
  • 4. Clasificación de los Arreglos • Los arrays se clasifican en: • Unidimensionales (vectores o listas) • Multidimensionales ( tablas o matrices)
  • 5. Arreglos Unidimensionales • Un array de una dimensión – vector o lista – es un tipo de datos estructurados compuesto de un número de elementos finito, tamaño fijo y elementos homogéneos. • Finitos, indica que hay un último elemento, tamaño fijo significa que el tamaño del array debe ser conocido en tiempo de compilación, homogéneo significa que todos los elementos son del mismo tipo. • Los elementos del array se almacenan en posiciones contiguas de memoria, a cada una de las cuales se puede acceder directamente.
  • 6. Arreglos Unidimensionales Elementos Mi_vector 9 5 6 2 4 8 3 Nombre de la variable Posición : 1 Contenido : Mi_vector[1] = 9
  • 7. Ejemplos Arreglos Unidimensionales • Resolvamos este primer ejemplo: (ejemplo 1) • Cargar 10 elementos en un vector, sumarlos y mostrar el resultado por pantalla. • Pasos para resolver este problema: • Leer un vector de 10 elementos • Sumar los elementos • Mostrar el resultado de la suma por pantalla
  • 8. Ejemplos Arreglos Unidimensionales Program Ejemplo1; {Version 1} type sumandos = array[1..10] of integer; Declaración del tipo arreglo var suma, i : integer; vec_sumandos : sumandos; Declaración de la variable arreglo begin suma := 0; for i:= 1 to 10 do read(vec_sumandos[i] ) Lectura de los elementos del arreglo for i := 1 to 10 do suma:= suma +vec_sumandos[i]; Suma de los elementos writeln (´La suma de los números es´, suma); end.
  • 9. Ejemplos Arreglos Unidimensionales Program Ejemplo1; {Version 2} type sumandos = array[1..10] of integer; var suma, i : integer; vec_sumandos : sumandos; begin suma := 0; for i:= 1 to 10 do begin read(vec_sumandos[i] ) suma:= suma +vec_sumandos[i]; end; writeln (´La suma de los números es´, suma); end.
  • 10. Declaración de Vectores • Los arreglos son estructuras de datos, por lo tanto las mismas deben ser declaradas. Esta operación se realiza en la sección “Type” de un programa en Pascal. (como puede verse en el ejemplo1) • Formato type nombre_del_tipo = array[tipo_subindice * ] of tipo; • Debe ser de tipo ordinal: boolean, char, enumerado o subrango • Luego de la declaración del tipo, se declara la variable. • Formato var nombre_variable: nombre_del_tipo;
  • 11. Ejemplo Declaraciones Ej1: type Valores = array[ -10..10 ] of real; var precios: valores; Ej2: const Max= 500; type T_Texto = array[ 1..Max ] of char; var Texto: T_Texto;
  • 12. Ejemplo Declaraciones(cont.) Array para almacenar las notas correspondientes a todos los alumnos de un colegio. Suponiendo lo siguiente: • Numero de cursos 5 • Grupos por curso 3 • Número de evaluaciones 3 • Número de asignaturas 6 • Número de alumnos por curso 20 Const Numcurso=5; Numasig=6; Numalum=20; Type Cursos=1.. numcurso; Grupos='A'..'C'; Eval=(primera,segunda,tercera); Asign=1.. numasin; Alum=1. .numalum; Tiponotas=array[cursos,grupos,eval,asign,alum] of real; Var Notas:tiponotas; Curso:cursos; Grupo:grupos; Evaluacion:eval; Materia:asign; Alumno:alum; Con los elementos de un array se puede realizar las mismas operaciones que el tipo base al que pertenecen.
  • 13. Vectores – Manejo de Índices • Asignación de valores Texto[3] := ´a´; Precios[0] := 23.50; Recuerden, los índices de un arreglo pueden ser: entero, lógico, carácter, enumerado o subrango.
  • 14. Vectores – Operaciones • Con la siguiente declaración: type T_Notas = array [1..30] of integer; var Notas: T_Notas; • Lectura de un vector for i:= 1 to 30 do read(Notas[i] ) • Escritura de un vector for i:= 1 to 30 do writeln(Notas[i] )
  • 15. Vectores – Operaciones • Con la siguiente declaración: type T_Notas = array [1..30] of integer; var Notas, Aux_Notas: T_Notas; • Copia de vectores for i:= 1 to 30 do Aux_Notas[i]:= Notas[i];
  • 16. Vectores – Ejemplos Resueltos Program Ej2; Ej2.- Dados 50 números const enteros, obtener el promedio max = 50; de ellos. Mostrar por pantalla type dicho promedio y los t_numeros = array[1.. max] of integer; var números ingresados que suma, i : integer; sean mayores que el mismo. promedio: real; numeros : t_numeros; begin suma := 0; for i:= 1 to max do begin read(numeros[i] ) suma:= su12a +numeros[i]; end; Promedio:= suma/max; writeln (´El promedio es ´,Promedio´); for i := 1 to 50 do if numeros[i] > promedio then writeln (´El número´, numeros[i], ´es mayor al promedio´); end.
  • 17. Vectores – Ejemplos Resueltos Program Ej3; Ej3.- Dados n números, const obtener e imprimir la suma max = 100; de todos ellos. A continuación type mostrar por pantalla todos los t_numeros = array[1.. max] of integer; var sumandos. suma, i, n : integer; promedio: real; numeros : t_numeros; begin suma := 0; write (´Ingrese la cantidad de números a sumar. (Como máximo, 100 números´); readln(n); for i:= 1 to n do begin read(numeros[i] ) suma:= suma +numeros[i]; end; writeln (´La suma es ´,suma´); for i := 1 to n do writeln (´El sumando´, i, ´es´, numeros[i]); end.
  • 18. Método de Ordenamiento • Los métodos de ordenamiento son muy útiles porque permiten buscar valores, tanto por valor y por su posición, de una manera eficiente. Antes de estudiar algunos de los métodos de ordenamiento es necesario definir el problema y el entorno en el cual se desea trabajar. • Para realizar un ordenamiento se necesita un conjunto de valores ordenables, es decir, que exista un criterio de ordenamiento, por ejemplo las letras se basan en el alfabeto, los números en la cantidad representada. Además, se trataran solamente métodos de ordenamiento en los que la instrucción base es la comparación entre dos valores y que se obtiene el ordenamiento por medio de intercambio de valores. Estas consideraciones son la base de los métodos. • Son muchos los métodos de ordenamiento, sin embargo, se hará énfasis en los siguientes métodos: Ordenamiento por selección, por inserción, burbuja.
  • 19. Método de Ordenamiento Para tal efecto asuma las siguientes declaraciones: y las siguientes asignaciones: Type v[ 1 ] := 6; vector = array [ 1 .. 25 ] of integer; v[ 2 ] := 25; Var v[ 3 ] := 7; v : vector; i,j,N,aux,p : integer v[ 4 ] := 2; v[ 5 ] := 14; N := 5;
  • 20. Ordenamiento por Burbuja Ref: Luis Joyanes Aguilar. Programación en Turbo Pascal Ver 5.5, 6.0, 7.0, McGraw-Hill, 2ª. Edición, 1993, pp. 412-417. Este método es clásico y muy sencillo aunque poco eficiente. La ordenación por burbuja [ bubble sort ] se basa en: 1. La comparación de elementos adyacentes del vector e 2. Intercambio de sus valores si estos están desordenados De este modo se dice que los valores más pequeños burbujean hacia la parte superior de la lista [hacia el primer elemento], mientras que los valores más grandes se hunden hacia el fondo de la lista en el caso de un ordenamiento ascendente. La técnica de ordenación de la lista por burbuja compara elementos consecutivos de la lista de modo que si en una pasada no ocurrieran intercambios, significaría que la lista esta ordenada.
  • 21. Ordenamiento por Burbuja { Ordenamiento por burbuja mejorado en forma ascendente } desordenado := true; while desordenado do begin desordenado := false; for i:= 1 to n - 1 do Pasada 1 Pasada 2 Pasada 3 if v[ i ] > v[ I + 1 ] then 10 5 5 begin 5 10 8 aux := v[ i ]; 8 8 10 v[ i ] := v[ i + 1 ]; v[ i + 1] := aux; desordenado := true; end; end; End.
  • 22. Método de Ordenamiento (Cont.) { este programa lea n números enteros y/o reales y los ordena por el método de ordenación burbuja en forma ascendente.....compilado en en borland pascal para Windows versión 7.0} Program burbujas; uses wincrt; { utilizando la terminal de windows } { declaración de variables globales...} var n,i,codg_art:integer; temp:real; x:array [1..100] of real; pausa:char; { procedimiento aplicando el método de burbuja } procedure burbuja; begin for codg_art:=1 to n-1 do for i:=codg_art+1 to n do if x[i]<x[codg_art] then begin { intercambiando los números...} temp:=x[codg_art]; x[codg_art]:=x[i]; x[i]:=temp; end; end;
  • 23. Método de Ordenamiento (Cont.) Begin { programa principal} writeln ('programa de ordenación de datos numéricos enteros y reales....'); writeln ('aplicando el método de burbuja....'); write ('cuantos registros introducira? '); readln (n); writeln; for i:=1 to n do begin write ('x[',i:3,']=? '); readln (x[i]); end; burbuja; writeln; writeln (' registros ordenados en forma ascendente'); pausa:=readkey; end.
  • 24. Arreglos Bidimensionales (Tablas) • Es un conjunto de elementos, todos del mismo tipo (homogéneo), en el cual el orden de los componentes es significativo y el acceso a ellos también es en forma directa por medio de un par de índices para poder identificar a cada elemento del arreglo. • También se les llama Matriz o Tabla. • Los elementos se referencian con el formato: T [3,4] elemento de la fila 3 y columna 4. • Los arreglos bidimensionales se usan para representar datos que pueden verse como una tabla con filas y columnas Matriz 1 2 3 4 5 1 2 3 15.2 4
  • 25. Declaración Arreglos Bidimensionales • Al igual que en los arrays unidimensionales o vectores, se crean con declaraciones type y var y deben ser de tipo ordinales o subrango. Se deben indicar: • El nombre del array • Tipo del array • Rango permitido • Ejemplo: Type Tabla = array [1..25,1..4] of real; Var Grados : Tabla; • Para localizar o almacenar un valor en el array se deben especificar dos posiciones o subíndices, uno para la fila y otro para la columna.
  • 26. Asignación Arreglos Bidimensionales • Se considera que este arreglo tiene dos dimensiones (un subíndice para cada dimensión) y necesita un valor para cada subíndice, y poder identificar un elemento individual. • En notación estándar, normalmente el primer subíndice se refiere a la fila del arreglo, mientras que el segundo subíndice se refiere a la columna del arreglo. Es decir, Matriz(I,J), es el elemento de Matriz que ocupa la I-ésima fila y la J-ésima columna. • Para tener acceso a un elemento de la matriz se tiene que especificar primero el renglón después una coma y por último la columna a la que se quiere tener acceso. Ejemplo: • Matriz [ 3, 2] : = 15.2;
  • 27. Lectura/Escritura Arreglos Bidimensionales • Si se deseara leer un solo elemento de un arreglo bidimensional debe especificarse el renglón y la columna a que se refiere, por ejemplo, la posición 3,2: Pseudocódigo Pascal Leer ( Ventas [ 3, 2] ) ReadLn ( Matriz [ 3, 2] ) ; Escribir ( Ventas [ 3, 2] ) WriteLn ( Matriz [ 3, 2] ) ; • Pero si el objetivo es, leer o escribir la matriz completa entonces al igual que con los arreglos unidimensionales se deben usar estructuras iterativas. • Escriturar en una Matriz For fila := 1 to 3 do Begin For Columna := 1 to 4 do Write (A[Fila, Columna]:4); End;
  • 28. Ejemplos Matriz Calcular el promedio de cada estudiante de una lista de veinticinco alumnos de una clase de informática con notas en cuatro asignaturas. Program Promedio; Var Notas : Array [1..25,1..4] of real; I,J : Integer; Suma,Prom : Real; Begin For I := 1 to 25 do Begin Write (`Notas del estudiante: ´,I:1); Writeln (`En una misma línea digite todas las notas´); Suma := 0; For J := 1 to 4 do Begin Read (Notas[I,J]); Suma := Suma + Notas[I,J] End; Readln; Prom := Suma/4; Writeln (`La nota promedio del estudiante `,I:1,´ es `,Prom:1:1) End End.
  • 29. Cualquier duda los espero en el Centro Local. Reflexiona con lentitud, pero ejecuta rápidamente tus decisiones. Sócrates