unidad 2 - arreglos

15
UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS 1 2. ALMACENAMIENTO DE DATOS EN ARREGLOS (ARRAYS) OBJETIVO DE LA UNIDAD Utilizar datos compuestos o (estructurados) en arreglos para el almacenamiento de información. INTRODUCCION Para resolver algunos problemas es necesario manejar datos del mismo tipo; los arreglos nos permiten mantener en memoria datos sin necesidad de disponer de una variable por cada elemento, además de almacenar y manipular grandes cantidades de datos. Los arreglos son un conjunto de variables que en la memoria ocupan posiciones continuas de almacenamiento y que tienen un mismo nombre. El grupo de variables que conforman un arreglo tienen las mismas características, es decir, son del mismo tipo (numérico, alfanumérico o lógico) y tienen el mismo tamaño, se dice por tanto que es un conjunto finito y ordenado de elementos homogéneos. Por ejemplo se puede almacenar en un arreglo los nombres de los estudiantes de un curso, la temperatura mínima registrada en una ciudad durante una semana o las coordenadas de una figura en el plano cartesiano. Los arreglos pueden ser: unidimensionales, bidimensionales o de más dimensiones. A los arreglos de una dimensión se denominan vectores, a los de dos dimensiones se les llama tablas o matrices, a los de más dimensiones se les denomina arreglos de n dimensiones. 2.1 ARREGLOS UNIDIMENSIONALES Los vectores se caracterizan por tener un solo subíndice [i] e indica la posición del dato en el vector. En los arreglos unidimensionales almacenamos nombres, sueldos, edades, temperatura, talla, etc. En general se puede visualizar un vector de la siguiente forma: NOMBRE: talla POSICION: 0 1 2 3 4 5 6 7 8 9 CONTENIDO: ELEMENTO talla[0] talla[1] . . . Talla[9] Esto es el arreglo talla tiene 10 elementos: talla[0] contiene 1.65, talla[1] contiene 1.35, talla[2] contiene 1.45, talla[3] contiene 1.65 y así sucesivamente, el último elemento, talla[9] contiene 1.60. En general, el elemento i-ésimo, a[i], está en la posición i+1. Estos números se denominan índices o subíndices del arreglo.

Upload: pedro-pablo

Post on 17-Dec-2015

37 views

Category:

Documents


7 download

DESCRIPTION

Programación

TRANSCRIPT

  • UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    1

    2. ALMACENAMIENTO DE DATOS EN ARREGLOS

    (ARRAYS)

    OBJETIVO DE LA UNIDAD Utilizar datos compuestos o (estructurados) en arreglos para el almacenamiento de

    informacin.

    INTRODUCCION

    Para resolver algunos problemas es necesario manejar datos del mismo tipo; los

    arreglos nos permiten mantener en memoria datos sin necesidad de disponer de una

    variable por cada elemento, adems de almacenar y manipular grandes cantidades de

    datos.

    Los arreglos son un conjunto de variables que en la memoria ocupan posiciones

    continuas de almacenamiento y que tienen un mismo nombre. El grupo de variables

    que conforman un arreglo tienen las mismas caractersticas, es decir, son del mismo

    tipo (numrico, alfanumrico o lgico) y tienen el mismo tamao, se dice por tanto que

    es un conjunto finito y ordenado de elementos homogneos.

    Por ejemplo se puede almacenar en un arreglo los nombres de los estudiantes de un

    curso, la temperatura mnima registrada en una ciudad durante una semana o las

    coordenadas de una figura en el plano cartesiano.

    Los arreglos pueden ser: unidimensionales, bidimensionales o de ms dimensiones. A

    los arreglos de una dimensin se denominan vectores, a los de dos dimensiones se les

    llama tablas o matrices, a los de ms dimensiones se les denomina arreglos de n

    dimensiones.

    2.1 ARREGLOS UNIDIMENSIONALES Los vectores se caracterizan por tener un solo subndice [i] e indica la posicin del dato

    en el vector. En los arreglos unidimensionales almacenamos nombres, sueldos, edades,

    temperatura, talla, etc.

    En general se puede visualizar un vector de la siguiente forma:

    NOMBRE: talla POSICION: 0 1 2 3 4 5 6 7 8 9

    CONTENIDO:

    ELEMENTO talla[0] talla[1] . . . Talla[9]

    Esto es el arreglo talla tiene 10 elementos: talla[0] contiene 1.65, talla[1] contiene

    1.35, talla[2] contiene 1.45, talla[3] contiene 1.65 y as sucesivamente, el ltimo

    elemento, talla[9] contiene 1.60.

    En general, el elemento i-simo, a[i], est en la posicin i+1. Estos nmeros se

    denominan ndices o subndices del arreglo.

  • MANUAL DE PROGRAMACIN EN C++

    2

    2.2 ARREGLOS BIDIMENSIONALES

    Los arreglos de dos dimensiones, llamados tambin tablas o matrices, se caracterizan por

    tener dos ndices. Por ejemplo: nombres por dependencia, sueldos por rangos,

    edades por estrato, temperatura por zonas, talla por edades, etc.

    En el siguiente ejemplo: El nombre del arreglo es A, es un arreglo de cuatro filas por tres

    columnas, para un total de doce elementos.

    Columna 0 Columna 1 Columna

    Cada uno de los elementos de A, est identificado por un nombre de elemento de la forma: a[i],[j], donde i corresponde a la fila y j a la columna.

    En el siguiente ejemplo:

    Columna 0 Columna 1 Columna 2 Columna 3

    Fila 0 900 600 755 280

    Fila 1 400 450 615 715

    Fila 2 300 680 420 690

    Fila 3 250 550 150 800

    Cada elemento representa el cdigo de un trabajador cualquiera. Si a este conjunto

    de cdigos organizados por filas y columnas, se le asigna el nombre IDENTI, se puede

    hacer referencia a cualquier elemento del arreglo bidimensional agregando al nombre

    IDENTI, dos nmeros encerrados entre parntesis cuadrados (subndices). El primer

    nmero indica siempre la fila a la cual se hace referencia, y el segundo indica la

    columna.

    IDENTI[2][3] = 690

    IDENTI[2][0] = 300

    IDENTI[3][3] = 800

    IDENTI[0][3] = 280

    2.3 DECLARACIN DE UN VECTOR EN C++

    Al igual que las variables, un arreglo se debe declarar antes de utilizarlo y se hace de modo similar

    a las variables, con la precaucin de mencionar el nmero de elementos que contendr el arreglo

    entre los corchetes cuadrados:

    Sintaxis de la instruccin:

    Tipo_de_dato nombre_del_arreglo[numero de elementos]

    Por ejemplo, para crear un vector de diez datos enteros con el nombre edades se escribe:

    int edades[10];

    Esto hace que el compilador reserve espacio suficiente para contener diez valores enteros, bajo el nombre edades. Los enteros ocupan 4 bytes, de modo que un arreglo de diez enteros ocupara

    40 bytes en memoria.

    As mismo se puede declarar uno o ms arreglos del mismo tipo en una misma instruccin as:

  • UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    3

    float b[10], c[7], d[4];

    Para asignar los datos al vector podemos proceder de las siguientes tres maneras:

    En la declaracin del arreglo, as:

    int edades[10]={12,16,20,18,17,11,10,16,19,20};

    En este caso cada uno de los 10 elementos del arreglo edades asume su valor. En el caso de que

    le faltaran valores, los asumira con ceros; por el contrario si sobran elementos, se produce un error.

    Inicializar en ceros todo el arreglo:

    double n[8]={0};

    En este caso cada uno de los 8 elementos del arreglo n asume valor 0.

    Utilizando una estructura de repeticin como while, do-while o for:

    for(i=0;i

  • MANUAL DE PROGRAMACIN EN C++

    4

    X: Sub-ndice

    C1: Cantidad de mayores de edad

    C2: Cantidad de menores de edad

    CDIGO EN C++:

    /*Programa que ingresa en un vector las edades de 10 alumnos, calcula y escribe

    la cantidad de alumnos mayores de edad y menores de edad.*/

    #include

    using namespace std;

    int main()

    {

    int EDAD[10],C1=0,C2=0;

    cout

  • 5

    MANUAL DE PROGRAMACIN EN C++

    K: Variable individual que se utiliza para modificar los sub-ndices que maneja las

    columnas.

    CDIGO EN C++:

    /*Programa que guarda las notas de 20 estudiantes de un curso en las

    siete asignaturas que toman */

    #include

    Using namespace std;

    int main()

    {

    int J,K;

    float NOTA[20][7];

    //Captura de las notas

    for(J=0;J

  • 6

    UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    Para inicializar un arreglo tridimensional o de ms dimensiones, obramos de la misma

    manera que con las tablas, utilizando una estructura de repeticin for, para inicializar un

    arreglo de tres dimensiones, as:

    for(i_pagina=0; i_pagina

  • 7

    MANUAL DE PROGRAMACIN EN C++

    La primera sentencia for, para el control de las 3 dimensiones del arreglo con el

    ndice k. La segunda sentencia for externa, para el control de los renglones con el

    ndice i.

    La tercera sentencia for interna, para el control de las columnas con el ndice ciclo j.

    Ejemplo 4.

    Una esfera es lanzada horizontalmente desde diferentes alturas: 15, 25, 35, 49, 68, 80

    y 99. Calcular el tiempo que dura la esfera en el aire. , donde g=gravedad=9.8 m/s

    /*Una esfera es lanzada horizontalmente desde diferentes alturas: 15,25,35,49,68,80,99; calcular el tiempo que dura la esfera en el aire.*/ #include #include using namespace std; int main() { double vector1[7]= {15,25,35,49,68,80,99}; double vector2[7]; int i; for(i=0;i

  • 8

    UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    /*PROGRAMA QUE MUESTRA EL NUEMRO DE PASAJEROS QUE LLEVA UN AVION EL AVION TIENE 50 FILAS DE ASIENTOS POR SEIS COLUMNAS UN ASIENTO OCUPADO SE REPRESENTA MEDIANTE UN UNO Y UN ASIENTO LIBRE CON UN CERO*/ #include #include using namespace std; int main() { int avion [50][6],o=0,d=0,i,j; for (i=0; i

  • 9

    MANUAL DE PROGRAMACIN EN C++

    En la opcin 2, llene un vector de 8 posiciones con nmeros aleatorios.

    A continuacin defina una tabla de 5 filas por 8 columnas y llene la

    tabla con los nmeros generados

    en el vector para cada una de las columnas. Imprima ambos arreglos.

    La opcin cero es para terminar. Por lo tanto el programa deber mostrar

    el men hasta tanto no se digite cero.

    programador: Jessica Jimenez 2902200 */

    #include

    #include

    #include

    #include

    using namespace std;

    void lanzamientoverticalhaciabajo(double);

    void arreglos();

    double vf,vo,t,g=9.8,d;

    int main()

    { int opc;

    do{ cout

  • 10

    UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    cout

  • 11

    MANUAL DE PROGRAMACIN EN C++

    Nombre del Cliente:

    Nombre del Artculo:

    Cantidad Artculos:

    Valor Unitario:

    Tipo Artculos:

    Valor Pagar por la Compra:

    Programador: Profesor Luis Eduardo Perez

    */

    #include

    #include

    using namespace std;

    void recargo(int [3], double [3], double [3]);

    int main()

    {

    int tipo[3];

    double cantidad[3];

    double valorunitario[3];

    string nombre[3];

    string articulo[3];

    cout

  • 12

    UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    cout

  • 13

    MANUAL DE PROGRAMACIN EN C++

    2.5 ARREGLOS COMO PARMETROS DE FUNCIONES En C++ todos los arreglos se pasan por referencia. Esto significa que cuando se pasa un

    arreglo a una funcin, se pasa realmente solo la direccin de la celda de memoria donde

    comienza el arreglo.

    La funcin puede cambiar el contenido del arreglo accediendo directamente a las celdas de memoria en donde se almacena los elementos del arreglo. As, aunque el arreglo se pasa

    por valor, sus elementos se pueden cambiar como si se hubieran pasado por referencia.

    Para pasar un arreglo completo como parmetro a una funcin solo se manda el

    nombre del arreglo sin corchetes e ndices, en l a funcin que recibe solo se

    declara un arreglo del mismo tipo y se puede usar el mismo o diferente nombre

    del arreglo sin corchetes e ndices.

  • 14

    UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS

    Sin embargo es conveniente aclarar, que a diferencia de las variables, C++ no genera

    una nueva variable en memoria ni tampoco copia los datos al arreglo que recibe, en

    su lugar el compilador sigue usando los datos que estn en el arreglo original, es por

    esta razn que cambios que se le hagan a los datos del arreglo que recibe realmente

    se estn haciendo al arreglo original como lo muestra el siguiente ejemplo: #include

    using namespace std;

    #include

    void proc1(int vector[]);

    int main()

    {

    //creando arreglo y cargandolo

    int lista[6]= {20,21,22,23,24,25};

    // envindolo a la funcin, observe que se manda sin los corchetes []

    proc1(lista);

    // Se imprimen los datos

    for(int reng=0; reng

  • 15

    MANUAL DE PROGRAMACIN EN C++

    RESUMEN

    - Los arreglos son un conjunto de variables que en la memoria ocupan posiciones

    continuas de almacenamiento y que tienen un mismo nombre.

    - Los vectores se caracterizan por tener un solo subndice [i] e indica la posicin

    del dato en el vector.

    - Los arreglos de dos dimensiones, llamados tambin tablas o matrices, se

    caracterizan por tener dos ndices.

    - Un arreglo se debe declarar antes de utilizarlo y se hace de modo similar a las

    variables, con la precaucin de mencionar el nmero de elementos que contendr

    el arreglo entre los corchetes cuadrados.

    - C++ proporciona la posibilidad de definir arreglos de varias dimensiones o

    multidimensionales.

    - En C++ todos los arreglos se pasan por referencia. Esto significa que cuando se

    pasa un arreglo a una funcin, se pasa realmente solo la direccin de la celda de

    memoria donde comienza el arreglo.

    - Para pasar un arreglo completo como parmetro a una funcin solo se manda

    el nombre del arreglo sin corchetes e ndices.