Algoritmos Vector y Matrices

download Algoritmos Vector y Matrices

of 37

Transcript of Algoritmos Vector y Matrices

  • 8/12/2019 Algoritmos Vector y Matrices

    1/37

  • 8/12/2019 Algoritmos Vector y Matrices

    2/37

    5.1 ARREGLOS

    Para explicar que es un arreglo basta con decir lo

    mismo que dicen las empresas constructoras de casas

    habitacin, si ya no hay espacio en el piso, hay mucho

    espacio hacia arriba, y en realidad han ganado demasiado

    dinero al comenzar a construir los famosos condominios, los

    cuales son exactamente iguales en cada uno de sus niveles,

    solo se identifican por el piso en que se encuentran.

    Una variable de un tipo especfico es como una casa

    habitacin comn y corriente, pero si nosotros le

    construimos ms pisos a nuestra variable esta se convierte

    en un arreglo, al cual se le puede almacenar informacin

    de un mismo tipo en el piso deseado.

    Ilustracin 1 Representacin y comparacin de una variable y unarreglo

    Variable Arreglo de 4 posiciones

    Posicin 1

    Posicin 3

    Posicin 4

    Posicin

    nica

  • 8/12/2019 Algoritmos Vector y Matrices

    3/37

    Las operaciones que se pueden realizar sobre los

    arreglos son exactamente las mismas que a las variables:

    declaracin, desplegar, almacenar, asignar, inicializar y

    comparar. Pero a diferencia de las variables, los arreglos

    se pueden ordenar ya sea de manera ascendente o

    descendente.

    La declaracin de los arreglosno desvara mucho de

    la declaracin de variables, con la excepcin de que se

    tiene que definir el tamao del arreglo, el cual se tiene

    que poner entre parntesis cuadrados o corchetes, aunque

    para menor confusin los declaramos en una seccin llamada

    arreglos.

    PSEUDOCDIGO YDIAGRAMA N-S

    DIAGRAMA DE FLUJO

    Arreglos:

    Edad : entero de [ 20 ]

    posiciones

    Parciales : real de [ 10 ]

    posiciones

    Ilustracin 2 Forma en que se declaran los arreglos

    Nota. El nmero entre corchetes se llama subndice o

    ndice.

    Al declarar un arreglo, se le pueden dar valores de

    inicio para cada una de sus posiciones, pera lo cual

    despus de indicar el tamao de este se coloca un signo de

    igual y entre llaves {}, los valores de cada posicin

    separados por comas.

    PSEUDOCDIGO Y DIAGRAMA N-SArreglos:

    Edad : entero de [ 5 ] posiciones = {25, 9, 18, 20, 31}Parciales : real de [ 10 ] posiciones = {0}// si se coloca solo un cero todas las posiciones toman este valor

    DIAGRAMA DE FLUJO

    Arreglos:

    Edad : entero de [ 20 ] posiciones

    Parciales : real de [ 10 ] posiciones

  • 8/12/2019 Algoritmos Vector y Matrices

    4/37

    Ilustracin 3 Forma en que se inicializan los arreglos

    Para escribirlo que contiene un arreglo debemos de

    indicar el nombre del arreglo y la posicin entre corchetes

    que deseamos visualizar.

    PSEUDOCDIGO Y DIAGRAMAN-S

    DIAGRAMA DE FLUJO

    Escribir lo que contiene elarreglo edades en laposicin 3 es:, edades[3]

    Ilustracin 4 Forma en que se despliega informacin desde un arreglo.

    Para almacenar un dato en una posicin especfica

    de un arreglo debemos de indicar el nombre del arreglo y la

    posicin entre corchetes en que deseamos guardar.

    PSEUDOCDIGO Y DIAGRAMA N-S DIAGRAMA DE FLUJOLeer edades[3]// almacena una dato en laposicin 3 // del arreglo edades

    Ilustracin 5Forma en que se almacena informacin a un arreglo.

    Para asignarel resultado de una operacin en una

    posicin especfica de un arreglo debemos de indicar el

    nombre del arreglo y la posicin entre corchetes en que

    deseamos colocar el resultado de la expresin.

    PSEUDOCDIGO Y DIAGRAMA N-S DIAGRAMA DE FLUJOedades[3] = 5 * 10// almacena una dato en laposicin 3 // del arreglo edades

    Ilustracin 6 Forma en que se asignan datos a un arreglo

    La comparacin se realiza de la misma manera en que

    se realizan las operaciones ya vistas: colocando el nombre

    y posicin del arreglo que se quiere comparar, el operador

    relacional y el valor o variable contra quien se coteja,

    Arreglos:

    Edad : entero de [ 5 ] posiciones = {25, 9, 18, 20, 31}

    Parciales : real de [ 10 ] posiciones = {0}

    Lo que contiene elarreglo edades en laposicin 3 es:,

    edades[3]

    edades[3]

    edades[3] = 5 * 10

  • 8/12/2019 Algoritmos Vector y Matrices

    5/37

  • 8/12/2019 Algoritmos Vector y Matrices

    6/37

    3.2 subndice = subndice + 1Fin para

    4. FinDIAGRAMA DE FLUJO

    Diagrama N-S

    INICIO

    Arreglos:

    calif : real de [6] posiciones

    FIN

    V

    // Diagrama de flujo: Calificaciones

    subndice = 1

    subndice = subndice + 1subndice > 6

    Variables:

    subndice : entera = 0

    acum_calif : real = 0

    subndice != 6

    dame calificacin de

    parcial , subndice, :

    calif[subindice]

    acum_calif = acum_calif + calif[subndice]

    calif[subindice] = acum_calif / 5

    Vsubndice = 1

    subndice = subndice + 1subndice > 6

    subndice == 6

    Promedio :,

    calif[subndice]

    Parcial , subndice, :,

    calif[subndice]

    V

    V F

    F

    F

    F

  • 8/12/2019 Algoritmos Vector y Matrices

    7/37

  • 8/12/2019 Algoritmos Vector y Matrices

    8/37

    subndice > 6

    3 > 6NO

    subndice != 6

    3 != 6SI

    calif[subndice] = 10

    calif[3] = 10

    acum_calif = acum_calif + calif[subndice]acum_calif = 14 + calif[3]

    acum_calif = 14 + 10

    acum_calif = 24

    subndice = subndice + 1

    subndice = 3 + 1

    subndice = 4

    subndice > 6

    4 > 6NO

    subndice != 64 != 6SI

    calif[subndice] = 5

    calif[4] = 5acum_calif = acum_calif + calif[subndice]

    acum_calif = 24 + calif[4]acum_calif = 24 + 5acum_calif = 29

    subndice = subndice + 1

    subndice = 4 + 1subndice = 5

    subndice > 6

    5 > 6NO

    subndice != 6

    5 != 6SI

    calif[subndice] = 9

    calif[5] = 9

    acum_calif = acum_calif + calif[subndice]

    acum_calif = 29 + calif[5]acum_calif = 29 + 9

    acum_calif = 38

    subndice = subndice + 1subndice = 5 + 1

    subndice = 6

    subndice > 6

    6 > 6NO

    subndice != 66 != 6NO

    calif[subndice] = acum_calif / 5

    calif[6] = 38 / 5calif[6] = 7.6

    subndice = subndice + 1

    subndice = 6 + 1subndice = 7

    subndice > 6

    7 > 6SI

    Tabla 1Ejemplo 1 del manejo de arreglos

    A continuacin vamos a ver en el siguiente ejemplo

    que con un mismo subndice se puede acceder a varios

    arreglos.

    Ejemplo Se necesita un sistema que utiliza 3 arreglos, en los dos primeros secolocan los promedios de dos grupos de 5 alumnos cada uno y el tercer

  • 8/12/2019 Algoritmos Vector y Matrices

    9/37

    arreglo almacenar el promedio ms alto de cada posicin. Imprimir lospromedios ms altos

    Paso I. Analizar el problema.Salidas Entrada Procesos

    prom[ndice] grupo1[ndice] grupo2[ndice]

    mientras ndice grupo2[ndice]

    prom[ndice] = grupo1[ndice]en caso contrario

    prom[ndice] = grupo2[ndice]Paso II. Disear El algoritmo

    PSEUDOCDIGOpseudocdigo: calificaciones de 2 grupos

    Arreglos:grupo1, grupo2, prom : real de [5] posiciones

    Variables:ndice : entero = 0

    1. Inicio2. Hacer para ndice = 1 hasta ndice > 5

    1.1Escribir dame promedio , ndice, del primer grupo:1.2Leer grupo1[ndice]1.3Escribir dame promedio , ndice, del segundo grupo:1.4Leer grupo2[ndice]1.5Si grupo1[ndice] > grupo2[ndice] entonces

    1.5.1 prom[indice] = grupo1[ndice]Si no

    1.5.2 prom[indice] = grupo2[ndice]Fin si

    1.6ndice = ndice + 1Fin para

    3. Hacer para ndice = 1 hasta ndice > 53.1 Escribir promedio mayor, ndice, :, prom[ndice]3.2 ndice = ndice + 1

    Fin para4. Fin

    Diagrama N-S

    // diagrama N-S : calificaciones de 2 grupos

    InicioArreglos:

    grupo1, grupo2, prom : real de [5] posicionesVariables:

    ndice : entero = 0ndice > 5

    ndice = 1

    Escribir dame promedio , ndice, del primer grupo:Leer grupo1[ndice]Escribir dame promedio , ndice, del segundo grupo:Leer grupo2[ndice]

    grupo1[ndice] > grupo2[ndice]

    prom[ndice] = grupo1[ndice] prom[ndice] = grupo2[ndice]ndice = ndice + 1

    ndice > 5

    ndice = 1 Escribir promedio mayor, ndice, :, prom[ndice]ndice = ndice + 1

    Fin

    DIAGRAMA DE FLUJO

    verdadero falso

  • 8/12/2019 Algoritmos Vector y Matrices

    10/37

    Paso III. Prueba Del Algoritmo.NICA CORRIDA DE ESCRITORIO

    INICIO

    Arreglos:

    grupo1, grupo2, prom : real de [6] posiciones

    FIN

    V

    // Diagrama de flujo: Calificaciones 2 grupos

    ndice = 1

    ndice = ndice + 1ndice > 5

    Variables:

    ndice : entera = 0

    grupo1[ndice]

    >

    grupo2[ndice]

    grupo1[indice]

    prom[indice] = grupo1[indice]

    Vndice = 1

    ndice = ndice + 1ndice > 5

    promedio mayor, ndice, :, prom[ndice]

    V

    F

    F

    F

    dame promedio , ndice,

    del primer grupo:

    grupo2[indice]

    dame promedio , ndice,

    del segundo grupo:

    prom[indice] = grupo2[indice]

    Formatted:Font: (Default) Courier New

  • 8/12/2019 Algoritmos Vector y Matrices

    11/37

    ndice = 1

    ndice > 51 > 5NO

    grupo1[ndice] = 8.5

    grupo1[1] = 8.5grupo2[ndice] = 6.9grupo2[1] = 6.9

    grupo1[ndice] > grupo2[ndice]

    grupo1[1] > grupo2[1]8.5 > 6.9SI

    prom[ndice] = grupo1[ndice]prom[1] = grupo1[1]prom[1] = 8.5

    ndice = ndice + 1ndice = 1 + 1ndice = 2

    ndice > 5

    2 > 5NO

    grupo1[ndice] = 7grupo1[2] = 7grupo2[ndice] = 8.7

    grupo2[2] = 8.7

    grupo1[ndice] > grupo2[ndice]grupo1[2] > grupo2[2]7 > 8.7NO

    prom[ndice] = grupo2[ndice]prom[2] = grupo2[2]prom[2] = 8.7

    ndice = ndice + 1

    ndice = 2+ 1ndice = 3

    ndice > 53 > 5NO

    grupo1[ndice] = 6.8grupo1[3] = 6.8grupo2[ndice] = 9.5grupo2[3] = 9.5

    grupo1[ndice] > grupo2[ndice]grupo1[3] > grupo2[3]6.8 > 9.5NO

    prom[ndice] = grupo2[ndice]

    prom[3] = grupo2[3]prom[3] = 9.5

    ndice = ndice + 1ndice = 3 + 1ndice = 4

    ndice > 54 > 5NO

    grupo1[ndice] = 9.7grupo1[4] = 9.7

    grupo2[ndice] = 9.3grupo2[4] = 9.3

    grupo1[ndice] > grupo2[ndice]grupo1[4] > grupo2[4]

    9.7 > 9.3SI

    prom[ndice] = grupo1[ndice]prom[4] = grupo1[4]prom[4] = 9.7

    ndice = ndice + 1

    ndice = 4 + 1ndice = 5

    ndice > 55 > 5NO

    grupo1[ndice] = 6

    grupo1[5] = 6grupo2[ndice] = 6grupo2[5] = 6

    grupo1[ndice] > grupo2[ndice]grupo1[5] > grupo2[5]6 > 6NO

    prom[ndice] = grupo2[ndice]

    prom[5] = grupo2[5]prom[5] = 6

    ndice = ndice + 1ndice = 5 + 1

    ndice = 6

    ndice > 56 > 5SI

    Tabla 2Ejemplo 2 del manejo de arreglos

    Ejercicios.I. Realiza un algoritmo que maneja arreglos utilizando lastres diferentes tcnicas para cada uno de los problemas quese plantean.

  • 8/12/2019 Algoritmos Vector y Matrices

    12/37

    1.Un supermercado necesita un sistema en donde almacenarsus ingresos, los cuales son la sumatoria de todas lasventas realizadas a los clientes (100 clientes).

    2.Se necesita un sistema que utiliza 2 arreglos paraalmacenar 20 nmeros, en el primero se almacenan losnmeros tal y como son capturados y en el segundo sealmacenan sus inversos (5, -5).

    3.Necesitamos un sistema que capture 20 nmeros ydespus de capturarlos que haga la revisin de estospara indicarnos cuantos son pares y cuantos sonimpares.

    4.Se necesita un sistema que almacena 20 nmeros en tresdiferentes arreglos, en el primero se almacena elnmero tal cual se tecleo, en el segundo se almacenael cuadrado de dicho nmero y en el tercero su cubo.

    5.Se necesita un sistema que almacena automticamentetodos los nmeros primos desde el uno hasta el miluno; recordando que un nmero primo es aquel quesolamente es divisible entre uno y si mismo.

    Ordenar Arreglos (Ordenamiento Tipo Burbuja).

    En varias ocasiones cuando desarrollemos un

    sistema, nos vamos a encontrar con la necesidad de ordenar

    la informacin de una manera especfica, generalmente en

    manera ascendente o descendente.

    Nosotros vamos a utilizar la manera ms sencilla,conocida como ordenamiento tipo burbuja. Este mtodo es

    llamado as ya que los elementos del vector (arreglo)

    mayores tienden a irse hasta el fondo del arreglo y los

    menores comienzan a flotar haca arriba del mismo, como lo

    hacen las burbujas de aire en el agua.

    Supongamos que hemos declarado un arreglo del tipo

    flotante llamado edades con 5 posiciones. Dicho vector fue

    llenado con diversos datos pero queremos que sea ordenadode manera ascendente, quedando de la siguiente manera:

  • 8/12/2019 Algoritmos Vector y Matrices

    13/37

    Ilustracin 7Vista de un arreglo llamado edades ordenado

    Naturalmente para nosotros resulta muy fcil

    ejecutar este proceso mental, pero para que la computadora

    realice este proceso se lleva un buen nmero de

    instrucciones, los cuales consisten en ir ordenando poco a

    poco el arreglo. Las instrucciones son las siguientes (sololas mostramos en pseudocdigo):

    Hacer para N_pasadas = 1 hasta N_pasadas >= TAM_ARREGLO

    Hacer para posicin = 1 hasta posicin ==TAM_ARREGLO

    Si edades[ posicin ] > edades[ posicin + 1 ]entonces

    temporal = edades[ posicin ]edades[ posicin ] = edades[ posicin + 1 ]edades[ posicin + 1 ] = temporal

    fin siposicin = posicin + 1

    Fin para

    N_pasadas = N_pasadas + 1

    Fin para

    Tabla 3Instrucciones para ordenar el arreglo edades

    Arreglo desordenado

    1.87

    1.61

    1.84

    1.78

    Arreglo Ordenado

    1.84

    1.78

    1.61

    1.54

    1.54 1.87

    Posicin 1

    Posicin 2

    Posicin 3

    Posicin 4

    Posicin 5

  • 8/12/2019 Algoritmos Vector y Matrices

    14/37

    En este programa la variable N_pasadases del tipo

    entero y es la que lleva el conteo de cuantas veces se va a

    revisar todo el arreglo, el nmero de pasadas tiene que ser

    menor al tamao del arreglo el cual esta almacenado en la

    variable TAM_ARREGLO, ya que cuando la variable N_pasadas

    ya no sea menor que la variable TAM_ARREGLOeste ya estar

    completamente ordenado.

    La variable posicin es la que nos dir que

    localidad del arreglo revisar. Y el secreto de este mtodo

    radica en comparar dos posiciones contiguas del arreglo

    (edades[posicin] contra edades[posicin + 1]), si la

    primera es mayor que la segunda, lo que se encuentra en

    edades[posicin] es guardado en la variable temporal,

    entonces el valor que se encuentra en edades[posicin+1] es

    asignado en edades[posicin], y por ultimo el dato que esta

    almacenado en la variable temporal es dado a

    edades[posicin+1]. En caso de que edades[posicin]no sea

    mayor que edades[posicin+1], los valores de cada elemento

    se dejan igual. A continuacin se realiza paso a paso el

    ordenamiento del arreglo edades, en el cual se enumerantodas las comparaciones.

    C1. Como el resultado de la primera comparacin es falso, el arreglo contina igual.

    N_pasadas= 1 edades[1] 1.78

    edades[1] 1.78

    TAM_ARREGLO= 5 edades[2] 1.84 edades[2] 1.84

    Posicin= 1 edades[3] 1.61 edades[3] 1.61

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.87 edades[4] 1.87

    Temporal= edades[5] 1.54 edades[5] 1.54

    Edades[ posicin ] =

    Edades[posicin + 1] =

    C2. Como el resultado de la segunda comparacin es verdadero, los valores de estas posicionesse intercambian.

    N_pasadas= 1 edades[1] 1.78

    edades[1] 1.78

    TAM_ARREGLO= 5 edades[2] 1.84 edades[2] 1.61

    Posicin= 2 edades[3] 1.61 edades[3] 1.84

    edades[ posicin ] > edades[ posicin + 1 ] V edades[4] 1.87 edades[4] 1.87

    Temporal= 1.84 edades[5] 1.54 edades[5] 1.54

    Edades[ posicin ] = 1.61

  • 8/12/2019 Algoritmos Vector y Matrices

    15/37

    Edades[posicin + 1] = 1.84

    C3. Como el resultado de la tercera comparacin es falso, el arreglo contina igual.

    N_pasadas= 1 edades[1] 1.78

    edades[1] 1.78

    TAM_ARREGLO= 5 edades[2] 1.61 edades[2] 1.61

    Posicin= 3 edades[3] 1.84 edades[3] 1.84

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.87 edades[4] 1.87

    Temporal= edades[5] 1.54 edades[5] 1.54

    Edades[ posicin ] =

    Edades[posicin + 1] =

    C4. Como el resultado de la cuarta comparacin es verdadero, los valores de estas posiciones se

    intercambian.

    N_pasadas= 1 edades[1] 1.78

    edades[1] 1.78

    TAM_ARREGLO= 5 edades[2] 1.61 edades[2] 1.61

    Posicin= 4 edades[3] 1.84 edades[3] 1.84edades[ posicin ] > edades[ posicin + 1 ] V edades[4] 1.87 edades[4] 1.54

    Temporal= 1.87 edades[5] 1.54 edades[5] 1.87

    Edades[ posicin ] = 1.54

    Edades[posicin + 1] = 1.87

    Con esto hemos terminado la primera pasada, ya que

    al incrementar la posicin ahora vale 5 y si realizamos

    otra comparacin tendra que ser lo que esta en la posicin

    5 contra lo que esta en la posicin 6 y esta no existe, por

    lo cual se debe de terminar el ciclo cuando el valor de

    posicin es igual al tamao del arreglo (posicin ==TAM_ARREGLO). Aun as el arreglo todava no se encuentra

    completamente ordenado, ya que en la primera pasada solo se

    garantiza que valor mayor pase a la ltima posicin del

    arreglo, en la siguiente pasada el siguiente dato mayor

    pasa a la penltima posicin, en la siguiente el tercer

    valor mayor pasa a la antepenltima localidad del arreglo y

    as sucesivamente.

    C5. Como el resultado de la quinta comparacin es verdadero, los valores de estas posiciones se

    intercambian.

    N_pasadas= 2 edades[1] 1.78

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.61 edades[2] 1.78

    Posicin= 1 edades[3] 1.84 edades[3] 1.84

    edades[ posicin ] > edades[ posicin + 1 ] V edades[4] 1.54 edades[4] 1.54

    Temporal= 1.78 edades[5] 1.87 edades[5] 1.87

  • 8/12/2019 Algoritmos Vector y Matrices

    16/37

    Edades[ posicin ] = 1.61

    Edades[posicin + 1] = 1.78

    C6. Como el resultado de la sexta comparacin es falso, el arreglo contina igual.

    N_pasadas= 2 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.78 edades[2] 1.78

    Posicin= 2 edades[3] 1.84 edades[3] 1.84

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.54 edades[4] 1.54

    Temporal= edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] =

    Edades[posicin + 1] =

    C7. Como el resultado de la sptima comparacin es verdadero, los valores de estas posiciones

    se intercambian.

    N_pasadas= 2 edades[1] 1.61

    edades[1] 1.61TAM_ARREGLO= 5 edades[2] 1.78 edades[2] 1.78

    Posicin= 3 edades[3] 1.84 edades[3] 1.54

    edades[ posicin ] > edades[ posicin + 1 ] V edades[4] 1.54 edades[4] 1.84

    Temporal= 1.84 edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] = 1.54

    Edades[posicin + 1] = 1.84

    C8. Como el resultado de la octava comparacin es falso, el arreglo contina igual.

    N_pasadas= 2 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.78 edades[2] 1.78

    Posicin= 4 edades[3] 1.54 edades[3] 1.54

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.84 edades[4] 1.84

    Temporal= edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] =

    Edades[posicin + 1] =

    Con esto terminamos la segunda pasada, pero si

    somos observadores notaremos que al irse colocando con cada

    pasada los valores mayores al fondo del arreglo, se vuelve

    innecesario realizar las evaluaciones correspondientes,

    esto produce exceso de tiempo.

    Sugerencia. Para evitar esta perdida o exceso de tiempose recomienda hacer una mejora al programa, la cual

    consiste en que despus de cada pasada decrementar en uno

    la variable que contiene el tamao del arreglo

    (TAM_ARREGLO).

  • 8/12/2019 Algoritmos Vector y Matrices

    17/37

    Nota. Existe otra posible mejora, pero se menciona la

    final.

    C9. Como el resultado de la novena comparacin es falso, el arreglo contina igual.

    N_pasadas= 3 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.78 edades[2] 1.78

    Posicin= 1 edades[3] 1.54 edades[3] 1.54

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.84 edades[4] 1.84

    Temporal= edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] =

    Edades[posicin + 1] =

    C10. Como el resultado de la dcima comparacin es verdadero, los valores de estas posiciones

    se intercambian.

    N_pasadas= 3 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.78 edades[2] 1.54

    Posicin= 2 edades[3] 1.54 edades[3] 1.78

    edades[ posicin ] > edades[ posicin + 1 ] V edades[4] 1.84 edades[4] 1.84

    Temporal= 1.78 edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] = 1.54

    Edades[posicin + 1] = 1.78

    C11. Como el resultado de la onceava comparacin es falso, el arreglo contina igual

    N_pasadas= 3 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.54 edades[2] 1.54

    Posicin= 3 edades[3] 1.78 edades[3] 1.78

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.84 edades[4] 1.84Temporal= edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] =

    Edades[posicin + 1] =

    C12. Como el resultado de la doceava comparacin es falso, el arreglo contina igual.

    N_pasadas= 3 edades[1] 1.61

    edades[1] 1.61

    TAM_ARREGLO= 5 edades[2] 1.54 edades[2] 1.54

    Posicin= 4 edades[3] 1.78 edades[3] 1.78

    edades[ posicin ] > edades[ posicin + 1 ] F edades[4] 1.84 edades[4] 1.84

    Temporal= edades[5] 1.87 edades[5] 1.87

    Edades[ posicin ] =

    Edades[posicin + 1] =

    Comenzamos la cuarta pasada.

    C13. Como el resultado de la treceava comparacin es verdadero, los valores de estas posiciones

    se intercambian

    N_pasadas= 4 edades[1] 1.61

    edades[1] 1.54

    TAM_ARREGLO= 5 edades[2] 1.54 edades[2] 1.61

    Posicin= 1 edades[3] 1.78 edades[3] 1.78

  • 8/12/2019 Algoritmos Vector y Matrices

    18/37

  • 8/12/2019 Algoritmos Vector y Matrices

    19/37

    dimensiones, pero la ms comn es la de dos dimensiones, la

    cual significa que es un arreglo conformado por varios

    renglones y varias columnas.

    Ilustracin 8 Comparacin entre una variable, un arreglounidimensional y un arreglo de dos dimensiones.

    Para declararuna matriz, el tamao de cada una de

    sus dimensiones se coloca en su propio parntesis cuadradoo corchetes.

    PSEUDOCDIGO Y DIAGRAMA N-S

    Arreglos:Edad : entero de [ 3 ] renglones [4] columnas

    Parciales : real de [ 5 ] renglones [8] columnas

    DIAGRAMA DE FLUJO

    Ilustracin 9Forma en que se declaran matrices

    Al declarar una matriz, se le pueden dar valores de

    inicio para cada una de sus posiciones, pera lo cual

    despus de indicar el tamao de este se coloca un signo de

    igual y entre llaves {}, los valores de cada posicin

    separados por comas, recordando que el primer valor

    Variable Arreglo [4]( 1 columna, 3 renglones)

    Posicin 1

    Posicin 2

    Posicin 3

    Posicin 4

    Posicinnica

    Rengln 1Columna 1

    Rengln 2Columna 1

    Rengln 3Columna 1

    Rengln 4Columna 1

    Rengln 1Columna 2

    Rengln 2Columna 2

    Rengln 3Columna 2

    Rengln 4Columna 2

    Rengln 1Columna 3

    Rengln 2Columna 3

    Rengln 3Columna 3

    Rengln 4Columna 3

    Arreglo [3][4]

    ( 4 renglones, 3 columnas)

    Arreglos:

    Edad : entero de [ 3 ] renglones [4] columnas

    Parciales : real de [ 5 ] renglones [8] columnas

  • 8/12/2019 Algoritmos Vector y Matrices

    20/37

  • 8/12/2019 Algoritmos Vector y Matrices

    21/37

    corchetes en que deseamos guardar el dato dado por el

    usuario.

    PSEUDOCDIGO Y DIAGRAMA N-S DIAGRAMA DE FLUJOLeer edades[2][3]// almacena una dato en el rengln2 // columna 3 del arreglo edades

    Ilustracin 12Forma en que se almacena informacin a una matriz.

    Para asignarel resultado de una operacin en una

    posicin especfica de una matriz debemos de indicar el

    nombre del arreglo y la posicin del rengln ente corchetes

    y columna entre corchetes en que deseamos colocar el

    resultado de la expresin.

    PSEUDOCDIGO Y DIAGRAMA N-S DIAGRAMA DE FLUJOEdades[2][3] = 5 * 10// almacena una dato en el rengln2 // columna 3 del arreglo edades

    Ilustracin 13 Forma en que se asignan datos a una matriz.

    La comparacin se realiza de la misma manera en que

    se realizan las operaciones ya vistas: colocando el nombre

    y posicin del rengln entre corchetes y la posicin de la

    columna entre corchetes de la matriz que se quierecomparar, el operador relacional y el valor o variable

    contra quien se coteja, teniendo en cuenta que podra ser

    otra posicin de otra matriz. No se ejemplifican debido a

    que se tendra que desarrollar la estructura condicional o

    cclica.

    A continuacin realizamos el primer ejemplo de un

    algoritmo en el cual utilizamos una matriz de 5 renglones

    por cuatro columnas, donde los renglones hacen referencia a

    un nmero de alumno mediante la variable num_alumla cual

    es del tipo contador al igual que la variableparcial la

    cual es la que se encarga de apuntar a las columnas que a

    su vez indican el nmero de parcial de cada alumno, es

    decir que si nos encontramos con la coordenada [3][2]

    Edades[2][3]

    Edades[2][3] = 5 * 10

  • 8/12/2019 Algoritmos Vector y Matrices

    22/37

    estamos apuntando al parcial 2 del tercer alumno. Cada

    variable es incrementada en una estructura cclica hacer

    para ... hasta ..., donde la que controla el parcial esta

    anidada dentro de la que controla al numero de alumno.

    A partir de este momento omitiremos el anlisis del

    sistema ya lo podemos realizar mentalmente al igual que la

    prueba.

    Ejemplo Se necesita de un sistema que utiliza un arreglo de 5 renglones ycuatro columnas, para almacenar los 3 parciales y su promedio de5 alumnos.

    Disear El algoritmoPSEUDOC DIGO

    Pseudocdigo: alumnosArreglos:

    calificaciones : real de [5] renglones [4] columnas

    Variables:num_alum, parcial : entero = 0acum_cal : real = 0

    1. Inicio2. Hacer para num_alum = 1 hasta num_alum > 5

    2.1 acum_cal = 02.2 Hacer para parcial = 1 hasta parcial > 3

    2.2.1 Escribir Calificacin del alumno ,num_alum,en parcial:, parcial2.2.2 Leer calificaciones[num_alum][parcial]2.2.3 acum_cal = acum_cal + calificaciones[num_alum][parcial]2.2.4 parcial = parcial + 1Fin para

    2.3 calificaciones[num_alum][parcial] = acum_cal / 32.4 num_alum = num_alum + 1Fin para

    3. FinDiagrama N-S

    // diagrama N-S : AlumnosInicioArreglos:

    calificaciones : real de [5] renglones [4] columnasVariables:

    num_alum, parcial : entero = 0acum_cal : real = 0

    num_alum > 5

    num_alum=1

    acum_cal = 0

    parcial > 3

    parcial=1 Escribir Calificacin del alumno ,num_alum,en

  • 8/12/2019 Algoritmos Vector y Matrices

    23/37

    parcial:, parcialLeer calificaciones[num_alum][parcial]acum_cal = acum_cal + calificaciones[num_alum][parcial]

    parcial = parcial + 1

    calificaciones[num_alum][parcial] = acum_cal / 3

    num_alum = num_alum + 1

    Fin

    DIAGRAMA DE FLUJO

  • 8/12/2019 Algoritmos Vector y Matrices

    24/37

    Tabla 4 Ejemplo 1 de arreglos bidimensionales

    Ejemplo Se necesita un sistema que utiliza una matriz de 10 renglones y 3columnas. En las dos primeras columnas se colocan los promediosde los 10 alumnos de dos grupos (A y B) y en la tercera columnase almacenar el promedio ms alto de cada posicin.

    Paso II. Disear El algoritmo

    INICIO

    Arreglos:

    calificaciones : real de [5] renglones [4] columnas

    FIN

    V

    // Diagrama de flujo: Alumnos

    num_alum = 1

    num_alum = num_alum + 1num_alum > 5

    Variables:

    num_alum, parcial : entero = 0

    acum_cal : real = 0

    Vparcial = 1

    parcial = parcial + 1parcial > 3

    Calificacin del alumno ,

    num_alum,en parcial:, parcial

    F

    F

    acum_cal = 0

    calificaciones[num_alum][parcial]

    acum_cal = acum_cal + calificaciones[num_alum][parcial]

    calificaciones[num_alum][parcial] = acum_cal / 3

  • 8/12/2019 Algoritmos Vector y Matrices

    25/37

    PSEUDOCDIGOPseudocdigo: alumnos de 2 grupos

    Arreglos:grupos : real de [10] renglones [3] columnas

    Variables:alumno : entero = 0

    1. Inicio2. Hacer para alumno = 1 hasta alumno > 10

    2.1 Escribir Promedio del alumno ,alumno,del primer grupo:2.2 Leer grupos[alumno][1]2.3 Escribir Promedio del alumno ,alumno,del segundo grupo:2.4 Leer grupos[alumno][2]2.5 Si grupos[alumno][1] > grupos[alumno][2] entonces

    2.5.1 grupos[alumno][3] = grupos[alumno][1]Si no

    2.5.2 grupos[alumno][3] = grupos[alumno][2]Fin si

    2.6 alumno = alumno + 1Fin para

    3. FinDiagrama N-S

    // diagrama N-S : alumnos de 2 grupos

    Inicio

    Arreglos:

    grupos : real de [10] renglones [3] columnas

    Variables:

    alumno : entero = 0

    alumno > 10

    alumno = 1

    Escribir Promedio del alumno ,alumno, del primer grupo:

    Leer grupos[alumno][1]

    Escribir Promedio del alumno ,alumno, del segundo grupo:

    Leer grupos[alumno][2]

    grupos[alumno][1] > grupos[alumno][2]

    verdadero falso

    grupos[alumno][3] = grupos[alumno][1] grupos[alumno][3] = grupos[alumno][2]

    alumno = alumno + 1

    Fin

    DIAGRAMA DE FLUJO

  • 8/12/2019 Algoritmos Vector y Matrices

    26/37

  • 8/12/2019 Algoritmos Vector y Matrices

    27/37

    problemas.

    1. Sistema que almacena la estatura, peso y talla dezapatos de hasta 100 personas, preguntando si se deseaalmacenar los datos de otra persona.

    2. Sistema que tiene cuatro opciones: suma, resta,multiplicacin y salir, en el cual segn la opcin quese seleccione muestra las tablas correspondientes osale del sistema.

    3. Sistema que permite almacenar, consultar y modificar elnombre, direccin y telfono de hasta 10 personas.

    4. Sistema que captura y posteriormente ordenaalfabticamente los datos de 10 personas ya sea pornombre, apellido paterno o apellido materno

    5. Sistema que almacena los tres parciales y promedios de10 alumnos, de las cuales necesitamos saber cuantos

    sacaron de promedio menos de 6, cuantos entre 6 y 8,cuantos entre 8 y 9 y cuantos ms de 9 ; adems quedespliegue los parciales de todos aquellos que tienenpromedio de 9 o ms.

    5.2 ESTRUCTURAS

    Este subtema en realidad es muy sencillo, ya que

    nosotros ya utilizamos estructuras desde los primeros

    temas:

    Una variable, es en realidad la estructura mssencilla a manejar, la cual consiste en almacenar

    solo un dato de un tipo especifico.

    Un arreglo, es una estructura la cual almacena ndatos del mismo tipo. Cuando declaramos un arreglo

    del tipo entero de 3 posiciones llamado arreglo1

    (arreglo1[3] : entero), en realidad estamos creando

    una estructura de tres variables enteras

    (arreglo1[0], arreglo1[1] y arreglo1[2]).

    Pues una estructura no es muy diferente a un

    arreglo, ya que una estructura es un conjunto n variables,

    las cuales pueden ser de diferentes tipos.

  • 8/12/2019 Algoritmos Vector y Matrices

    28/37

    Ilustracin 14 Diferencia entre variables, arreglos y estructuras.

    Hablando en trminos de base datos, una estructura

    se asemeja a un registro, el cual es un conjunto de campos

    relacionados entre si.

    En un algoritmo antes de utilizar a una estructura

    para realizarle cualquier operacin, se deben de indicar

    las variables que contendr la estructura y el nombre deesta. Este proceso se conoce como definicin de la

    estructuray se realiza en la seccin estructuras.

    PSEUDOCDIGO YDIAGRAMA N-S

    DIAGRAMA DE FLUJO

    Estructuras:

    Alumno con los

    campos:

    Nombre :

    alfanumrico

    N_control :

    entero

    Semestre :

    entero

    Grupo :

    alfanumrico

    Promedio_final

    : real

    Edad: entera edades [4] : enteros

    Posicin 1

    de tipo

    entero

    Posicin

    nica

    Estructura

    Posicin 2

    de tipo

    entero

    Posicin 3

    de tipo

    entero

    Posicin 4

    de tipoentero

    Variable 1

    de tipo real

    Variable 2 de

    tipo entero

    Variable 3 de tipo

    alfanumrico

    Variable 4 de

    tipo boleano

    Estructuras:

    Alumnocon los campos:

    Nombre : alfanumrico

    N_control : entero

    Semestre : entero

    Grupo : alfanumrico

    Promedio_final : real

  • 8/12/2019 Algoritmos Vector y Matrices

    29/37

    Ilustracin 15Forma en que se define una estructura.

    Las operaciones que se pueden realizar sobre las

    estructuras son exactamente las mismas que a las variables:declaracin, desplegar, almacenar, asignar, inicializar y

    comparar.

    La declaracinno desvara mucho de la declaracin

    de variables incluso se realiza en la seccin de variables,

    ya que hay que colocar el nombre de la estructura y el tipo

    de dato, con la excepcin de que el tipo de dato ya no es

    entero, real, alfanumrico o boleano, sino que debe ser el

    nombre de una estructura ya definida; ya que estamos

    declarando una variable con un nombre especfico que debe

    tener los campos que se definieron en la estructura. A esto

    es a lo que llamamos: declarar una variable del tipo

    estructura predefinida.

    PSEUDOCDIGO YDIAGRAMA N-S

    DIAGRAMA DE FLUJO

    Estructuras:

    Alumno con los

    campos:

    Nombre :

    alfanumrico

    N_control :

    entero

    Semestre :

    entero

    Grupo :

    alfanumrico

    Promedio_final

    : real

    variables:

    alu1 : Alumnoalu2 : Alumno

    // se estn declarando dos

    variables del // tipo Alumno

    Ilustracin 16 declaracin de variables del tipo de una estructurapredefinida

    Estructuras:

    Alumnocon los campos:

    Nombre : alfanumrico

    N_control : entero

    Semestre : entero

    Grupo : alfanumrico

    Promedio_final : real

    variables:

    alu1 : Alumno

    alu2 : Alumno

  • 8/12/2019 Algoritmos Vector y Matrices

    30/37

  • 8/12/2019 Algoritmos Vector y Matrices

    31/37

    Leer alu1.promedio_final

    // almacena un dato en el campo promedio_final de

    alu1

    Ilustracin 19Almacenar informacin en campo de una variable del tipoestructura.

    Para asignar el resultado de una operacin dentro

    de una variable de un tipo de estructura predefinido en un

    campo especfico, debemos de indicar el nombre de la

    variable, colocar un punto . y el campo que deseamos

    visualizar.

    PSEUDOCDIGO Y DIAGRAMA N-S DIAGRAMA DE FLUJOalu1.promedio_final = 9.5

    // almacena un dato en el campo promedio_final

    alu1

    Ilustracin 20 Asignar datos en campo de una variable del tipoestructura.

    A continuacin realizamos un primer ejercicio que

    utiliza estructuras, dentro de la definicin de la

    estructura se declara un arreglo de 4 posiciones para

    guardar las calificaciones del alumno.

    Ejemplo Se necesita un sistema que captura el nombre, numero de control,calificacin de primer parcial, calificacin de segundo parcial,calificacin de tercer parcial y promedio final de 2 alumnos, elcual nos debe de decir que alumno salio con respecto a supromedio final.

    Paso II. Disear El algoritmoPSEUDOCDIGO

    Pseudocdigo: Comparar alumnos

    Estructuras:

    alumnocon los campos:

    nombre : alfanumrico

    num_control : entero

    Arreglos:

    parciales : real de [4] posiciones

    // el arreglo parciales esta dentro de la estructura alumno

    Variables:

    alumno1 : alumno

    alumno2 : alumno

    1. Inicio2. Escribir Dame el nombre del primer alumno:3. Leer alumno1.nombre4. Escribir Dame el nmero de control del primer alumno:5. Leer alumno1.num_control6. Escribir Dame calificacin de 1er. parcial del primer alumno:7. Leer alumno1.parciales[1]8. Escribir Dame calificacin de 2do. parcial del primer alumno:

    alu1.promedio_final

    alu1.promedio_final = 9.5

  • 8/12/2019 Algoritmos Vector y Matrices

    32/37

    9. Leer alumno1.parciales[2]10. Escribir Dame calificacin de 3er. parcial del primer alumno:11. Leer alumno1.parciales[3]12. alumno1.parciales[4] = (alumno1.parciales[1] + alumno1.parciales[2] + alumno1.parciales[3] ) / 313.

    Escribir Dame el nombre del segundo alumno:14. Leer alumno2.nombre

    15. Escribir Dame el nmero de control del segundo alumno:16. Leer alumno2.num_control17. Escribir Dame calificacin de 1er. parcial del segundo alumno:18. Leer alumno2.parciales[1]19. Escribir Dame calificacin de 2do. parcial del segundo alumno:20. Leer alumno2.parciales[2]21. Escribir Dame calificacin de 3er. parcial del segundo alumno:22. Leer alumno2.parciales[3]23. alumno2.parciales[4] = (alumno2.parciales[1] + alumno2.parciales[2] + alumno2.parciales[3] ) / 324. Si alumno1.parciales[4] > alumno2.parciales[4] entonces

    24.1Escribir alumno1.nombre, Salio mejor en promedio final que ,alumno2.nombreSi no

    24.2Escribir alumno2.nombre, Salio mejor en promedio final que ,alumno1.nombreFin si

    25. FinDIAGRAMA DE FLUJO

  • 8/12/2019 Algoritmos Vector y Matrices

    33/37

    Diagrama N-S

    // diagrama N-S : Comparar alumnos

    Inicio

    Estructuras:

    INICIO

    Estructuras:alumnocon los campos:

    nombre : alfanumriconum_control : entero

    Arreglos:

    parciales : real de [4] posiciones

    Variables:alumno1 : alumno

    alumno2 : alumno

    Dame el nombre del primer alumno:,Dame el nmero de control del primer alumno:,

    Dame calificacin de 1er. parcial del primer alumno:,Dame calificacin de 2do. parcial del primer alumno:,

    Dame calificacin de3er. parcial del primer alumno:

    alumno1.nombrealumno1.num_control

    alumno1.parcial[1]

    alumno1.parcial[2]alumno1.parcial[3]

    alumno1.parciales[4] = (alumno1.parciales[1] + alumno1.parciales[2] + alumno1.parciales[3] ) / 3

    Dame el nombre del segundo alumno:, Dame el nmero de control del segundo alumno:,

    Dame calificacin de 1er. parcial del segundo alumno:,Dame calificacin de 2do. parcial del segundo alumno:,Dame calificacin de 3er. parcial del segundo alumno:

    alumno2.nombre

    alumno2.num_controlalumno2.parcial[1]alumno2.parcial[2]alumno2.parcial[3]

    alumno2.parciales[4] = (alumno2.parciales[1] + alumno2.parciales[2] + alumno2.parciales[3] ) / 3

    alumno1.parciales[4]>

    alumno2.parciales[4]alumno1.nombre, Sali mejor en

    promedio final que,alumno2.nombre

    Alumno2.nombre, Sali mejor en

    promedio final que,alumno1.nombre

    V F

    FIN

    // Diagrama de flujo : Comparar alumnos

  • 8/12/2019 Algoritmos Vector y Matrices

    34/37

    alumnocon los campos:

    nombre : alfanumrico

    num_control : entero

    Arreglos:

    parciales : real de [4] posicionesVariables:

    alumno1 : alumno

    alumno2 : alumno

    Escribir Dame el nombre del primer alumno:

    Leer alumno1.nombre

    Escribir Dame el nmero de control del primer alumno:

    Leer alumno1.num_control

    Escribir Dame calificacin de 1er. parcial del primer alumno:

    Leer alumno1.parciales[1]

    Escribir Dame calificacin de 2do. parcial del primer alumno:

    Leer alumno1.parciales[2]

    Escribir Dame calificacin de 3er. parcial del primer alumno:

    Leer alumno1.parciales[3]

    alumno1.parciales[4] = (alumno1.parciales[1] + alumno1.parciales[2] + alumno1.parciales[3] ) / 3

    Escribir Dame el nombre del segundo alumno:Leer alumno2.nombre

    Escribir Dame el nmero de control del segundo alumno:

    Leer alumno2.num_control

    Escribir Dame calificacin de 1er. parcial del segundo alumno:

    Leer alumno2.parciales[1]

    Escribir Dame calificacin de 2do. parcial del segundo alumno:

    Leer alumno2.parciales[2]

    Escribir Dame calificacin de 3er. parcial del segundo alumno:

    Leer alumno2.parciales[3]

    alumno2.parciales[4] = (alumno2.parciales[1] + alumno2.parciales[2] + alumno2.parciales[3] ) / 3

    alumno1.parciales[4] > alumno2.parciales[4]

    Verdadero Falso

    Escribir alumno1.nombre, Salio mejor en promedio

    final que ,alumno2.nombre

    Escribir alumno2.nombre, Salio mejor en promedio

    final que ,alumno1.nombreFin

    Tabla 6 Ejemplo 1 del manejo de estructuras

    En este primer ejemplo nos damos cuenta que para

    introducir un dato dentro de un campo de una estructura el

    cual es a su vez parte de un arreglo, se tiene que indicar

    en el lado del campo la posicin en la que se debe de

    guardar el dato. Pero ahora veremos como introducir datos a

    un arreglo del tipo estructura predefinida.

    Ejemplo Se necesita un sistema que almacena la clave, descripcin, preciode compra, precio de menudeo y precio de mayoreo de 10 productos.Paso II. Disear El algoritmo

    PSEUDOCDIGOPseudocdigo: SupermercadoEstructuras:

    productocon los campos:clave : entera

  • 8/12/2019 Algoritmos Vector y Matrices

    35/37

    descripcin : alfanumricoArreglos :

    precios : real, de [3] posicionesArreglos:

    productos :producto, de [10] posiciones

    Variables:ndice : entera

    1. Inicio2. hacer para ndice = 1 hasta ndice > 10

    2.1 Escribir Clave del producto , ndice, :2.2 Leer productos[ndice].clave2.3 Escribir Descripcin del producto , ndice, :2.4 Leer productos[ndice].descripcin2.5 Escribir Precio de compra del producto , ndice, :2.6 Leer productos[ndice].precios[1]2.7 Escribir Precio de menudeo del producto , ndice, :2.8 Leer productos[ndice].precios[2]2.9 Escribir Precio de mayoreo del producto , ndice, :2.10 Leer productos[ndice].precios[3]2.11 ndice = ndice + 1

    Fin Para

    3. FinDiagrama N-S

    // diagrama N-S : SupermercadoInicioEstructuras:

    productocon los campos:clave : enteradescripcin : alfanumricoArreglos :

    precios : real, de [3] posicionesArreglos:productos :producto, de [10] posicionesVariables:

    ndice : entera

    ndice > 10

    ndice = 1

    Escribir Clave del producto , ndice, :Leer productos[ndice].claveEscribir Descripcin del producto , ndice, :Leer productos[ndice].descripcinEscribir Precio de compra del producto , ndice, :Leer productos[ndice].precios[1]Escribir Precio de menudeo del producto , ndice, :Leer productos[ndice].precios[2]Escribir Precio de mayoreo del producto , ndice, :Leer productos[ndice].precios[3]

    ndice = ndice + 1Fin

    DIAGRAMA DE FLUJO

  • 8/12/2019 Algoritmos Vector y Matrices

    36/37

    Tabla 7 Ejemplo 2 de manejo de estructuras

    Ejercicios.I. Realiza un algoritmo que utilice estructuras mediantelas tres tcnicas para cada uno de los puntos siguientes.1. Se necesita un sistema para una escuela el cual

    almacene el nombre, direccin, telfono, semestre,grupo y matricula de 100 alumnos.

    2. Se necesita un sistema para una escuela el cual permitealmacenar, borrar, buscar y ordenar hasta un mximo de100 alumnos con los mismos datos del ejemplo anterior.

    INICIO

    Estructuras:roductocon los campos:

    clave : alfanumricodescripcin : entero

    Arreglos:precios : real de [3] posiciones

    Arreglos:productos : producto de [10] posiciones

    Clave del producto, ndice, :Descripcin del producto , ndice, :

    Precio de compra del producto , ndice, :Precio de menudeo del producto , ndice, :

    Precio de mayoreo del producto , ndice, :

    productos[ndice].claveproductos[ndice].descripcinproductos[ndice].precios[1]productos[ndice].precios[2]productos[ndice].precios[3]

    FIN

    // Diagrama de flujo : Supermercado

    Variables:ndice : entera

    ndice = 1

    ndice = ndice + 1

    ndice > 10

    V

    F

  • 8/12/2019 Algoritmos Vector y Matrices

    37/37

    CONCLUSIN

    En este tema se presentaron 2 subtemas, donde cada

    uno tiene una gran importancia para tener una mejor

    mentalidad de programador, ya que ambos estn enfocados a

    un mejor almacenamiento de datos.

    El primero, abord a los arreglos los cuales nos

    evitan la necesidad de declarar bastantes variables del

    mismo tipo, ya que solo bastar con declarar una sola con

    varias posiciones, donde cada posicin puede almacenar un

    dato del tipo del arreglo. Vimos que a cada posicin se

    puede acceder por medio de un ndice, el cual debe de

    colocarse dentro de unos corchetes despus del nombre del

    arreglo. Tambin se estudi que los arreglos pueden ser de

    varias dimensiones, donde los ms comunes son los de una y

    dos, a los primeros se les llama vectores y a los segundos

    matrices.

    En el segundo se estudi a las estructuras, las

    cuales a diferencia de los arreglo se utilizan para

    almacenar datos de diferentes tipos. Vimos que las

    estructuras se deben de declarar antes de crear variables

    de este tipo predefinido. Aprendimos que para almacenar

    valores dentro de una variable del tipo estructura, debemos

    de indicar el nombre de la variable, colocar un punto y el

    nombre de la variable interna en la que se desea guardar el

    dato.

    Con este tema hemos cubierto casi todo nuestro

    curso, por lo cual si se ha logrado la comprensin hastaeste punto podemos decir que estamos a un 90% de lograr el

    objetivo general.