Arreglos

Algorítmica 201




   Algoritmíca sección 201   1
Arreglos unidimensionales
• Un arreglo es una estructura homogénea,
  compuesta por varios elementos, todos del
  mismo tipo y almacenados consecutivamente
  en memoria.




                 Algoritmíca sección 201      2
Ejemplo de un arreglo que contiene 7 números enteros
    0      1      2      3       4         5            6      índices
    3      6      8      1       0         4            2   Elementos del
                                                                   arreglo



                 Elemento que ocupa la
                 posición 3 en el arreglo




                                     Algoritmíca sección 201                       3
• Cada arreglo o vector posee un
  índice(empieza en 0) que indica la posición en
  la que está almacenado un elemento, esto se
  debe a que el arreglo está segmentado.




                   Algoritmíca sección 201         4
ARREGLOS

• Existen distintos tipos de arreglos
  dependiendo del tipo de dato que
  contengan.

• Un ejemplo es un arreglo numérico.

       1       3       5   7

• Un arreglo de caracteres.
   a       b       c
Arreglos en PseInt
• PALABRAS CLAVE: Dimensión
• Dimensión: Son conocidos como arreglos o
  matrices, aquellos de una sola dimensión se
  llaman arreglos y los multidimensionales son
  matrices.
• Estos son espacios fraccionados utilizando una
  sola variable, cada espacio es un subíndice que
• permite recorrer el vector o la matriz por medio
  de un ciclo repetitivo (Para).
                     Algoritmíca sección 201         6
PSEINT – ARREGLOS




En Pseint la sentencia para poder definir un arreglo es la siguiente:
        Dimension <identificador>[tamaño]

Otro ejemplo:
     Dimension Lista[9]


Para poder acceder a un elemento del arreglo se utiliza el siguiente comando:


         <identificador>[posición_elemento] (empieza en 1 la posición en PSeint)

          Ej: Lista[1] ,esto va a devolver el elemento en la posición 1.
Algoritmíca sección 201   8
Algoritmíca sección 201   9
Otro ejemplo para ingresar datos en un arreglo




La instrucción i<-0; no se necesita                               10
                               Algoritmíca sección 201
Algoritmíca sección 201   11
• Si les solicitan imprimir el contenido de la información que tiene el
  vector, se debe tener en cuenta el siguiente procedimiento:

• Para i <- 1 hasta 3 Hacer
• Escribir “El elemento de la posición”, i , “ es:”, datos[i];
• FinPara




    Para i <- 3 hasta 1 Con Paso -1 Hacer
    Escribir “El elemento de la posición”, i , “ es:”, datos[i];
    FinPara


                                  Algoritmíca sección 201                 12
Algoritmíca sección 201   13
Tal como se muestra en la diapositiva 11.




                                Algoritmíca sección 201   14
Algoritmíca sección 201   15
Nota: Le pueden dar nombre al proceso




                            Algoritmíca sección 201   16
Otro ejemplo:




                Algoritmíca sección 201   17
Algoritmíca sección 201   18
Otro ejemplo
   // Busca los dos mayores de una lista de N datos

   Proceso Mayores

        Dimension datos[200];

        Escribir "Ingrese la cantidad de datos:";
        Leer n;

   // Ciclo for para leer los elementos del arreglo
         Para i<-1 Hasta n Hacer
               Escribir "Ingrese el dato ",i,":";
               Leer datos[i];
         FinPara

        // Comienza por determinar de los dos primeros elementos del arreglo cuál es el mayor
        Si datos[1]>datos[2] Entonces
              may1<-datos[1];
              may2<-datos[2];
        Sino
              may1<-datos[2];
              may2<-datos[1];
        FinSi

   // A partir del tercer elemento empieza a compararlos para determinar del resto del arreglo cuáles son los dos mayores
         Para i<-3 Hasta n Hacer
               Si datos[i]>may1 Entonces
                     may2<-may1;
                     may1<-datos[i];
               Sino
                     Si datos[i]>may2 Entonces
                           may2<-datos[i];
                     FinSi
               FinSi
         FinPara

   // Una vez comparados los elementos del arreglo escribir los dos mayores
        Escribir "El mayor es: ",may1;
        Escribir "El segundo mayor es: ",may2;

   FinProceso

Tarea

       • 1. Resolver este primer problema:
              – Almacenar 10 elementos en un arreglo
                unidimensional, sumarlos y mostrar el resultado por
                pantalla.
              – Pasos para resolver este problema:
                     • Declarar un arreglo de 10 elementos (Dimension
                       elementos [10])
                     • Leer los elementos del vector ( Ver los ejemplos anteriores)
                     • Sumar los elementos del vector(se necesita un acumulador
                     • Ejemplo: suma<- suma + elemento[i]
                     • Mostrar el resultado de la suma por pantalla (suma)



Algorítmica sección 201                       21
Fuentes Bibliográficas
• Adaptado de: Cuevas, H (n.d.). Guía de
  vectores y/o Arreglos en PseInt. Disponible en:
  http://es.scribd.com/doc/72119121/VECTORE
  S-EN-PSEINT




                    Algoritmíca sección 201     22

Arreglos

  • 1.
    Arreglos Algorítmica 201 Algoritmíca sección 201 1
  • 2.
    Arreglos unidimensionales • Unarreglo es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria. Algoritmíca sección 201 2
  • 3.
    Ejemplo de unarreglo que contiene 7 números enteros  0  1  2  3  4  5  6 índices  3  6  8  1  0  4  2 Elementos del arreglo Elemento que ocupa la posición 3 en el arreglo Algoritmíca sección 201 3
  • 4.
    • Cada arregloo vector posee un índice(empieza en 0) que indica la posición en la que está almacenado un elemento, esto se debe a que el arreglo está segmentado. Algoritmíca sección 201 4
  • 5.
    ARREGLOS • Existen distintostipos de arreglos dependiendo del tipo de dato que contengan. • Un ejemplo es un arreglo numérico. 1 3 5 7 • Un arreglo de caracteres. a b c
  • 6.
    Arreglos en PseInt •PALABRAS CLAVE: Dimensión • Dimensión: Son conocidos como arreglos o matrices, aquellos de una sola dimensión se llaman arreglos y los multidimensionales son matrices. • Estos son espacios fraccionados utilizando una sola variable, cada espacio es un subíndice que • permite recorrer el vector o la matriz por medio de un ciclo repetitivo (Para). Algoritmíca sección 201 6
  • 7.
    PSEINT – ARREGLOS EnPseint la sentencia para poder definir un arreglo es la siguiente: Dimension <identificador>[tamaño] Otro ejemplo: Dimension Lista[9] Para poder acceder a un elemento del arreglo se utiliza el siguiente comando: <identificador>[posición_elemento] (empieza en 1 la posición en PSeint) Ej: Lista[1] ,esto va a devolver el elemento en la posición 1.
  • 8.
  • 9.
  • 10.
    Otro ejemplo paraingresar datos en un arreglo La instrucción i<-0; no se necesita 10 Algoritmíca sección 201
  • 11.
  • 12.
    • Si lessolicitan imprimir el contenido de la información que tiene el vector, se debe tener en cuenta el siguiente procedimiento: • Para i <- 1 hasta 3 Hacer • Escribir “El elemento de la posición”, i , “ es:”, datos[i]; • FinPara Para i <- 3 hasta 1 Con Paso -1 Hacer Escribir “El elemento de la posición”, i , “ es:”, datos[i]; FinPara Algoritmíca sección 201 12
  • 13.
  • 14.
    Tal como semuestra en la diapositiva 11. Algoritmíca sección 201 14
  • 15.
  • 16.
    Nota: Le puedendar nombre al proceso Algoritmíca sección 201 16
  • 17.
    Otro ejemplo: Algoritmíca sección 201 17
  • 18.
  • 19.
    Otro ejemplo  // Busca los dos mayores de una lista de N datos   Proceso Mayores   Dimension datos[200];   Escribir "Ingrese la cantidad de datos:";  Leer n;   // Ciclo for para leer los elementos del arreglo  Para i<-1 Hasta n Hacer  Escribir "Ingrese el dato ",i,":";  Leer datos[i];  FinPara   // Comienza por determinar de los dos primeros elementos del arreglo cuál es el mayor  Si datos[1]>datos[2] Entonces  may1<-datos[1];  may2<-datos[2];  Sino  may1<-datos[2];  may2<-datos[1];  FinSi   // A partir del tercer elemento empieza a compararlos para determinar del resto del arreglo cuáles son los dos mayores  Para i<-3 Hasta n Hacer  Si datos[i]>may1 Entonces  may2<-may1;  may1<-datos[i];  Sino  Si datos[i]>may2 Entonces  may2<-datos[i];  FinSi  FinSi  FinPara   // Una vez comparados los elementos del arreglo escribir los dos mayores  Escribir "El mayor es: ",may1;  Escribir "El segundo mayor es: ",may2;   FinProceso 
  • 21.
    Tarea • 1. Resolver este primer problema: – Almacenar 10 elementos en un arreglo unidimensional, sumarlos y mostrar el resultado por pantalla. – Pasos para resolver este problema: • Declarar un arreglo de 10 elementos (Dimension elementos [10]) • Leer los elementos del vector ( Ver los ejemplos anteriores) • Sumar los elementos del vector(se necesita un acumulador • Ejemplo: suma<- suma + elemento[i] • Mostrar el resultado de la suma por pantalla (suma) Algorítmica sección 201 21
  • 22.
    Fuentes Bibliográficas • Adaptadode: Cuevas, H (n.d.). Guía de vectores y/o Arreglos en PseInt. Disponible en: http://es.scribd.com/doc/72119121/VECTORE S-EN-PSEINT Algoritmíca sección 201 22