Translate

viernes, 22 de mayo de 2015

MÉTODOS DE ACCESO Y RECORRIDO CON VECTORES (SEMANA 12)

DEFINICIÓN

Un arreglo (matriz o vector) es un conjunto finito y ordenado de elementos homogéneos. La propiedad ordenados significa que el elemento primero, segundo, tercero,…, n-ésimo de un arreglo puede ser identificado. Los elementos de un arreglo son homogéneos, es decir, del mismo tipo de datos (todos, de tipo cadena o enteros, o reales, etc.).

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

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.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.
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:
PARA i DESDE 1 HASTA
  ESCRIBA(‘Introduzca el elemento ‘ ,i, ‘del vector F: ’)
  LEA(F[i])
fin_PARA

También se pueden utilizar las estructuras de repetición mientras y repetir:
     i ¬ 1
     MIENTRAS i <= 20 
   ESCRIBA(‘Introduzca el elemento ‘ ,i, ‘del
                         vector F: ’)
  LEA(F[i])
    i ¬ i + 1
     fin_MIENTRAS

EJEMPLO

Se realiza una encuesta en la facultad de ingeniería de la Universidad de Antioquía en la cual se pregunta a cada estudiante en que semestre se encuentra (1-10) y en que programa estudia:

      1. Sistemas                                          6. Telecomicaciones
2. Civil                                                
7. Bioingeniería
3. Ambiental                                        8
. Sanitaria
4. Industrial                                         9. Materiales
5. Electrónica                                     10. Electrica


Se requiere que recojer  esta información y mostrar los porcentajes de distribución por semestre y carrera.

ENTRADA
carreras[10], semestre[10]:entero
carr, sem, bandera, total:entero
SALIDA
porcentaje:real

Algoritmo estudiantes

     variables: 
          carreras[10], semestre[10]:entero
          carr, sem, bandera, total:entero
          porcentaje:real

     INICIO
          PARA i DESDE 1 HASTA 10 CON_VARIACION+1
               carreras[i]=0
               semestre[i]=0
          Fin(PARA)
          bandera=0
          total=0
          MIENTRAS bandera==0
               ESCRIBA ("¿En qué semestre está?")
               LEA (sem)
               ESCRIBA ("¿En qué carrera está?")
               LEA (carr)
               semestre[sem]=semestre[sem]+1
               carreras [carr]=carreras[carr]+1
               total=total+1
               ESCRIBA ("ingrese 0 si desea continuar y otro valor para terminar")
               LEA(bandera)
          Fin(MIENTRAS)
          PARA i DESDE 1 HASTA 10 CON_VARIACION+1
               porcentaje =(semestre [i]/total)*100
               ESCRIBA ("Porcentaje semestre ", i, porcentaje")
               Fin (PARA)
  PARA i DESDE 1 HASTA 10 CON_VARIACION+1
               porcentaje =(carreras [i]/total)*100
               ESCRIBA ("Porcentaje carrera", i, porcentaje")
               Fin (PARA)
     FIN
Fin(estudiantes)


APLICACIONES 

Se aplica en la determinación de la cantidad de individuos de una población, como en los censos municipales. Ademas sirve para la clasificación estadística de estos individuos, como se mostró en el anterior ejemplo. 


REFERENCIAS 

http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/colecciones/vector.htm
http://www.unavarra.es/personal/victor_dominguez/LibroMatlabWEB.pdf
http://es.slideshare.net/MonjeOneble/clase-vector


No hay comentarios:

Publicar un comentario