Gu de Ejercicios. Unidad 03: Pro
                                                                         uía                           ogramación Estructurada. 2011-I.

                        Guía de Eje
                        G         ercicios Re
                                            esueltos Unidad 03: P
                                                                Programac
                                                                        ción Estruc
                                                                                  cturada.

1. D
   Diseñe un algoritmo qu dado do arreglos de enteros unidimen
             a          ue        os                   s,         nsionales de 10 celdas calcule la
                                                                             e         s,         a
sum celda a celda y gua
   ma         c                    ultado en una tercera estructura con sus m
                        arde el resu         u                              mismas caraacterísticas
                                                                                                  s,
para luego ser mostrado.
   a
                                                            A [10]


                                                                                                                                          1
                                        1    2    3    4    5       6     7     8      9     10

                                        +        ...            +               ...
                                                            B [10]



                                        1    2    3    4    5       6     7     8      9     10

                                        =        ...            =               ...
                                                           Suma [10]
                                                           S



                                        1    2    3    4    5       6     7     8      9     10


               Algoritmo Suma de Arreglos
                       o            A
               Inicio
               Entero        A[10], B[10], Suma[10], i
                                    B
                        “Introduzca los valores del primer arreglo:”)
               Mostrar (“          a            s
               Repetir Desde i=1 ha asta i<=10
                      Mo
                       ostrar (“Valo ”, i, “:”)
                                    or
                      Lee (A[i])
                        er
               Fin_Repeetir_Desde

               Mostrar (“
                        “Introduzca los valores del segun arreglo:”)
                                  a             s       ndo
Pseudocódigo




               Repetir Desde i=1 haasta i<=10
                     Moostrar (“Valo ”, i, “:”)
                                   or
                     Lee (B[i])
                        er
               Fin_Repeetir_Desde

               Repetir Desde i=1 haasta i<=10
                     Suma[i]= A[i] + B[i]
               Fin_Repeetir_Desde

               Mostrar (“
                        “Arreglo Re
                                  esultante:”)
               Repetir Desde i=1 haasta i<=10
                     Moostrar (“Valo ”, i, “:”, Suma[i])
                                   or
               Fin_Repeetir_Desde
               Fin
Gu de Ejercicios. Unidad 03: Pro
                                                                      uía                           ogramación Estructurada. 2011-I.
      #include <conio.h>
               <
      #include <iostream.h
               <         h>

      void mainn()
      {
      int A[10], B[10], Sum
                          ma[10], i;

      cout<<"In ntroduzca lo valores para el prim arreglo: n";
                           os         p         mer
      for (i=0; i<
                 <10; i++)
                                                                                                                                       2
      {
            cout<<"A["<<i+1<<"]=";
            cin>>>A[i];
      }
      cout<<"In ntroduzca lo valores para el segu
                           os         p          undo arreg lo: n";
      for (i=0; i<
                 <10; i++)
      {
C++




            cout<<"B["<<i+1<<"]=";
            cin>>>B[i];
      }
      //Calculan la Suma
                 ndo
      for (i=0; i<
                 <10; i++)
      {
            Summa[i]= A[i]+B
                           B[i];
      }
      cout<<"El arreglo res
                 l          sultante es: n";
      for (i=0; i<
                 <10; i++)
      {
            cout<<"Suma["<  <<i+1<<"]= ";
                                      =
            cout<<Suma[i]< <<endl;
      }
      getch();
      }

2. D
   Diseñe un algoritmo qu cargue los valores de dos arr
             a          ue        l                   reglos de d
                                                                dimensión 1 y que e un tercer
                                                                          10,     en
arreglo deposit el result
              te        tado de la división de número mayor entr el núme menor, de los dos
                                             el                 re       ero                s
   meros arreglos.
prim
                                                                num
                                                                    =
                                                                den

                                           1    15   1    3            1   5

                                           2    12   2    ‐7           2 ‐1,71

                                           3    1    3    4            3   4
                                                                 .
                                           4         4                 4
                                                                 .
                                                                 .
                                           5         5                 5

                                           6         6                 6

                                           7         7                 7

                                           8         8                 8

                                           9         9                 9

                                           10   4    10   25           10 6,25
                                                                        0
                                                               num
                                                                   =
                                                               den
Gu de Ejercicios. Unidad 03: Programación Estructurada. 2011-I.
                                                                    uía                           o
               Algoritmo División
                       o
               Inicio
               Real          A[10], B[10], Div[1
                                     B          10]
               Entero        i
               Mostrar (“
                        “Introduzca los valores del primer arreglo:”)
                                    a           s
               Repetir Desde i=1 ha  asta i<=10
                      Moostrar (“A[ ”, i, “]=”)
                                     ,
                      Lee (A[i])
                         er
                       epetir Mientras (A[i]==0
                      Re                        0)
                                                                                                                                     3
                             Mostrar (“Introduz valores no nulos”)
                                                zca
                             Leer (AA[i])
                        n_Repetir_M
                      Fin           Mientras
               Fin_Repe etir_Desde

               Mostrar (“
                        “Introduzca los valores del segun arreglo:”)
                                   a           s        ndo
               Repetir Desde i=1 ha asta i<=10
                     Moostrar (“B[ ”, i, “]=”)
                                    ,
Pseudocódigo




                     Lee (B[i])
                        er
                     Reepetir Mientras (B[i]==00)
                             Mostrar (“Introduz valores no nulos”)
                                               zca
                             Leer (B
                                   B[i])
                     Fin
                       n_Repetir_M Mientras

                      etir_Desde
               Fin_Repe

               Repetir Desde i=1 ha  asta i<=10
                     Si (A[i]>B[i])
                             Div[i]= A[i]/B[i]
                       no
                     Sin
                             Div[i]= B[i]/A[i]
                     Fin
                       n_Si
               Fin_Repeetir_Desde

               Mostrar (“
                        “Arreglo Reesultante:”)
               Repetir Desde i=1 ha asta i<=10
                     Moostrar (“Div[ ”, i, “]=”)
                                   [
                     Moostrar (Div[i]
                                    ])
               Fin_Repeetir_Desde
               Fin
Gu de Ejercicios. Unidad 03: Programación Estructurada. 2011-I.
                                                              uía                           o
      #include <conio.h>
               <
      #include <iostream.h
               <         h>
      #define N 10

      void mainn()
      {
      float A[N], B[N], Div[N];
      int i;
                                                                                                                               4
      cout<<"In  ntroduzca lo valores para el prim arreglo: n";
                              os          p       mer
      for (i=0; i< i++)
                 <N;
      {
            cout<<"A["<<i+1<<"]=";
            cin>> >A[i];
            while (A[i]==0)
                 e
            {
                    cout<<"As signe valore no nulos... n";
                                          es
                    cout<<"A[" "<<i+1<<"]= =";
                    cin>>A[i];
            }
      }
      cout<<"In  ntroduzca lo valores para el segu
                              os          p        undo arreg lo: n";
      for (i=0; i< i++)
                 <N;
      {
C++




            cout<<"B["<<i+1<<"]=";
            cin>> >B[i];
            while (B[i]==0)
                 e
            {
                    cout<<"As signe valore no nulos... n";
                                          es
                    cout<<"B[" "<<i+1<<"]= =";
                    cin>>B[i];
            }
      }
      //Calculan la Divis
                 ndo          sión
      for (i=0; i< i++)
                 <N;
      {
            if (A[[i]>B[i])
                    Div[i]= A[i]/B[i];
            else
                    Div[i]= B[i]/A[i];
      }
      cout<<"El arreglo res
                  l             sultante es: n";
      for (i=0; i< i++)
                 <N;
      {
            cout<<"Division   n["<<i+1<<" ";
                                           "]=
            cout<<Div[i]<<e    endl;
      }
      getch();
      }
Gu de Ejercicios. Unidad 03: Pro
                                                                   uía                           ogramación Estructurada. 2011-I.
3. D
   Diseñar un programa que registre las Temp
                          q                 peraturas p
                                                      promedio m mensuales de un año, las cuales
                                                                                       ,        s
son introducida a través del teclad por el us
               as        s        do        suario. A p
                                                      partir de los datos reg
                                                                  s         gistrados, e programa
                                                                                       el       a
debe realizar la siguiente acciones desde un menú de o
    e          as        es       s                   opciones:

          (1 )   Calcular el promedio anual de Temperaturas.
                         r                    e
          (2 )   Mostrar las temperaturas que estuvieron por encim a del prome edio y a qu mes corr
                                                                                         ué        responden.
          (3 )   Indicar cuál fue el mes con ma
                         c           m         ayor tempeeratura y co menor te
                                                                    on        emperatura.
          (4 )   Ordenar los valores de tempe
                         r           s        eratura de menor a ma
                                                         m                    trarlos en pantalla.
                                                                    ayor y most
          (5 )   Salir del Programa.                                                                                                5



               Algoritmo Temperatu
                        o           uras
               Inicio
               Entero i, j, mesM, meesm, opcion
               Real Temmp[12], may menor, aux, Suma Promedio TempAux [12,2]
                                   yor,           a,       o,      x

               Suma = 0 //Aprovech hamos este ciclo para calcular la sumatoria
                                             e          a          a
               Repetir de
                        esde i=1 ha
                                  asta i<=12
               Mostrar (“
                        “Introduzca la Temper
                                  a          ratura del Mes ”, i)
                                                        M
               Leer (Tem
                       mp[i])
               Suma = Suma + Tem
                       S          mp[i]
               Fin_Repeetir_Desde
               Promedio = Suma/12
                       o           2

               opcion = 1
               Repetir Mientras (op
                       M          pción>=1 && opción<5
                                             &          5)
               Mostrar (“
                        “Menú de Opciones”)
                                  O
               Mostrar (“ Mostrar el Promedio de las Te
                        “1)                              emperatura Introduci
                                                                   as        idas”)
Pseudocódigo




               Mostrar (“ Mostrar las Tempe
                        “2)                 eraturas supperiores al Promedio”)
                                                                             )
               Mostrar (“ Mostrar el Mes con Mayor y Menor Tem peratura”)
                        “3)                 n           M
               Mostrar (“ Ordenar las Tempe
                        “4)        r         eraturas”)
               Mostrar (“ Salir”)
                        “5)
               Mostrar (“
                        “Introduzca una Opció
                                  a         ón”)
               Leer (opc
                       cion)

               Repetir Mientras (op
                       M           pción<1 || opción>5)
                     Moostrar (“Intro
                                    odujo una opción Inválida, por fav vuelva a introducir
                                               o                     vor                 rla”)
                     Lee (opcion)
                        er
               Fin_Repeetir_Mientraas

               En caso de (opcion)
                       d

               1:
               Mostrar (“ Promedio de las Te
                        “El                emperatura fue de ”, Promedio)
                                                    as                  )

               2:
               Repetir de
                        esde i=1 ha
                                  asta i<=12
                     Si (Temp[i]>P
                                 Promedio)
                     Entonces
                           Mostrar (“La Temp peratura de mes ”, i, “
                                                       el          “fue mayor al promedi
                                                                                       io”)
Gu de Ejercicios. Unidad 03: Pro
                                                               uía                           ogramación Estructurada. 2011-I.
                     Fin
                       n_Si
               Fin_Repeetir_Desde

               3:
               mayor = Temp[1]
                       T
               mesM = 1

               Repetir de
                        esde i=1 ha
                                  asta i<=12
                     Si (Temp[i]> mayor)
                                  m
                                                                                                                                6
                     Entonces
                            mayor = Temp[i]
                            mesM = i
                     Fin
                       n_Si
               Fin_Repeetir_Desde

               Mostrar (“ mes con mayor tem
                        “El     n         mperatura fue el ”, me
                                                    f          esM, “con ”, mayor)

               menor = Temp[1]
                       T
               mesm = 1

               Repetir de
                        esde i=1 ha
                                  asta i<=12
                     Si (Temp[i]< menor)
                                  m
                     Entonces
Pseudocódigo




                            menor = Temp[i]
                            mesm = i
                     Fin
                       n_Si
               Fin_Repeetir_Desde

               Mostrar (“ mes con menor tem
                        “El     n         mperatura fue el ”, me
                                                    f          esm, “con ”, menor)
                                                                          ,

               4:
               //Copia de Arreglo original
                         el        o
               Repetir deesde i=1 ha
                                   asta i<=12
                      TempAux[i,1] = i
                      TempAux[i,2] = Temp[i]
               Fin_Repe etir_Desde
               //Algoritmo de Ordennamiento de Intercamb (Burbuja
                                               e           bio  a)
               Repetir deesde j=1 ha
                                   asta j<=11
                      Reepetir desde i = 1 hasta i<=11
                                   e           a
                             Si (Tem
                                   mpAux[i+1,2 TempA [i,2]
                                               2]<        Aux
                             Entoncces
                                    aux= Temp
                                    a         pAux [i][1]
                                    TempAux [i,1]= TempA [i+1,1]
                                    T                      Aux
                                    TempAux p[i+1][1]=au
                                    T          p          ux

                                    aux= Temp
                                    a       pAux [i,2]
                                    TempAux [i,2]= TempA [i+1,2]
                                    T                   Aux
                                    TempAux [i+1,2]=aux
                                    T
                            Fin_Si
                     Fin
                       n_Repetir_DDesde
               Fin_Repeetir_Desde
Gu de Ejercicios. Unidad 03: Pro
                                                                  uía                           ogramación Estructurada. 2011-I.
               //Mostrar el Arreglo auxiliar orde
                                    a           enado
                        “Temperatu
               Mostrar (“          uras Ordena  adas Crecie
                                                          entemente”
                                                                   ”)
               Repetir de
                        esde i=1 ha asta i<=12
                      Mo
                       ostrar (“Mes TempAu
                                    s:”,        ux[i,1])
Pseudocódigo



                      Mo
                       ostrar (“Temmperatura:”, TempAux[i,2])
                                                ,
               Fin_Repeetir_Desde

               5:
               Mostrar (“
                        “Fin del Pro
                                   ograma”)
                                                                                                                                   7

               Fin_En_CCaso_de
               Fin_Repeetir_Mientra
                                  as
               Fin
               #include <conio.h>
                        <
               #include <iostream.h
                        <         h>
               #include <iomanip.h>
                        <
               #define N 12

               void main  n()
               {
               int i, j, opc
                           c=1, mesMayor, mesM
                                             Menor;
               float Temp[N], mayo menor, promedio, sumatoria, C
                                   or,       p                 CopiaTemp
                                                                       p[N][2], aux;

               cout<<"In ngrese los datos: n";
                                     d
               for (i=0; i< i++)
                          <N;
               {
               cout<<"Te  emperatura promedio del mes: "<
                                     a                    <<i+1<<end dl;
               cin>>Tem  mp[i];
               }
               cout<<"Fi de Carga de Datos...";
                          in         a
               getch();
               clrscr();
C++




               while (opc && opc
                          c>0        c<5)
               {
                     clrsc
                         cr();
                     cout<<"Menu de Opciones n";
                                                s
                     cout<<"1) Prom  medio de Teemperaturas n";
                     cout<<"2) Temp sobre el promedio n";
                                      p.
                     cout<<"3) Mes de Mayor Temp. y Me de Meno Temp. n"
                                                T        es         or     ";
                     cout<<"4) Most Valores ordenados n";
                                     trar       s         s
                     cout<<"5) Salir del Programa n";
                     cin>>>opc;
                     while (opc<1 || opc>5)
                          e
                     {
                     cout<<"Opcion incorrecta, reintroducir la opcion n";
                                                                    n
                     cin>>>opc;
                     }
                     switc (opc)
                          ch
                     {
                     case 1:
                         e
                           clrscr();
Gu de Ejercicios. Unidad 03: Pro
                                                    uía                           ogramación Estructurada. 2011-I.
           sumatoria=  =0;
           for (i=0; i<N; i++)
           {
           sumatoria= sumatoria + Temp[i]
                       =       a        ];
           }
           promedio= sumatoria
                      =        a/12;
           cout<<"El promedio de las Temperaturas e de "<<pr
                               d                  es       romedio;
           getch();
      brea
         ak;
                                                                                                                     8

      case 2:
         e
           clrscr();
           cout<<"Te  emperaturas sobre el Promedio n
                                 s         P          n";
           cout<<"Me   es"<<setw(5
                                 5)<<"Temp peratura"<<
                                                     <endl;
           for (i=0; i<N; i++)
           {
           if (Temp[i]>promedio) )
           {
           cout<<i+1<  <<setw(6)<
                                <<Temp[i]<< <endl;
           }
           }
           getch();
      brea
         ak;

      case 3:
         e
C++




           clrscr();
           mayor= Te   emp[0];
           mesMayor = 0;
                       r
           for (i=1; i<N; i++)
           {
           if( Temp[i]>mayor)
           {
                 mayo Temp[i];
                      or=
                 mesM Mayor = i;
           }
           }
           cout<<"El mes de ma   ayor tempertura es "<<
                                                      <mesMayor+1<<endl;

           menor= Te   emp[0];
           mesMenor = 0;
                       r
           for (i=1; i<N; i++)
           {
           if( Temp[i]<menor)
           {
                 meno Temp[i];
                      or=
                 mesM Menor = i;
           }
           }
           cout<<"El mes de me   enor tempertura es "<<
                                                      <mesMeno
                                                             or+1<<endl;
                                                                       ;
           getch();
      brea
         ak;
Gu de Ejercicios. Unidad 03: Pro
                                                           uía                           ogramación Estructurada. 2011-I.
           case 4:
              e
                clrscr();
                for (i=0; i<N; i++)
                {
                CopiaTem  mp[i][0]=i+1;
                CopiaTem  mp[i][1]=Temmp[i];
                }

                for (j=0; j<N-1; j++)
                                                                                                                            9
                      for (i= i<N-1; i+
                            =0;       ++)
                      {
                      if(CoppiaTemp[i+1][1]<CopiaaTemp[i][1]
                                                           ])
                      {
                            aux= Copia
                            a         aTemp[i][1];
                            CopiaTemp            iaTemp[i+1 ][1];
                                      p[i][1]=Copi
                            CopiaTemp p[i+1][1]=au
                                                 ux;
C++




                           aux= Copia
                           a        aTemp[i][0];
                           CopiaTempp[i][0]=Copi
                                               iaTemp[i+1 ][0];
                           CopiaTempp[i+1][0]=au
                                               ux;

                      }
                      }
                cout<<"Te  emperaturas Ordenada n";
                                      s          as
                cout<<"Me   es"<<setw(5
                                      5)<<"Temp peratura"<<
                                                          <endl;
                for (i=0; i<N; i++)
                {
                      cout<<<CopiaTem mp[i][0]<<setw(5)<<CoopiaTemp[i
                                                                    i][1]<<endl;
                }
                getch();
           breaak;
           }//En switch
               nd
      }//End while
      }//End maain
Gu de Ejercicios. Unidad 03: Pro
                                                        uía                           ogramación Estructurada. 2011-I.
4. U agencia de autom
   Una          a       móviles disp
                                   pone de 5 modelos de autos y a final del a desea mostrar los
                                               m         e        al        año               s
resuultados de las ventas del año para lo cua dispone de las cantidades de autos ve
                         s          p          al                                  endidos por
trimeestre. Diseñ un algor
                ñe                             avés de un menú de o
                         ritmo que permita a tra
                                   p                              opciones:

  4.1.
  4.     Introdu los dato en una estructura tipo arreglo.
               ucir      os        e
  4.2.
  4.     Visualiz la estru
                zar      uctura con los datos introducidos.
                                                          .
  4.3.
  4.     Calcula y visualiz la Cantidad Total de Ventas p Trimest
                ar        zar                  d          por      tre.
  4.4.
  4.     Calcula y visualiz la Cantidad Total de Ventas p Modelo.
                ar        zar                  d          por
  4.5.
  4.     Ordena de mayor a menor las cantidad de los c
                ar                              des       cinco mode
                                                                   elos de auto vendidos
                                                                              os       s.
                                                                                                                         10
  4.6.
  4.     Salir de Programa.
                el


 Trim
    mestres              1       2        3        4
                                                                                                 1             2
                   1                                            Σ                       1

  Mo
   odelos          2                                            Σ                       2

                   3                                            Σ                       3

                   4                                            Σ                       4

                   5                                            Σ                       5

                                                                                                     O
                                                                                                     Ordenar
                                                                Ventas
                                                                     s_M
            Venta
                as_T    Σ        Σ        Σ        Σ
Gu de Ejercicios. Unidad 03: Pro
                                                                      uía                           ogramación Estructurada. 2011-I.
               Algoritmo Venta de Carros
                        o           C
               Inicio
               Entero i, j, Ventas[5,4], Ventas_
                                               _T[4], Venta
                                                          as_M[5], au
                                                                    ux1, aux2, opc=1, Ord
                                                                                        denar[2,5]

               Repetir mientras (op >=1 && opc< 6)
                       m          pc       o

                        Menú de Opciones”)
               Mostrar(“M         O
               Mostrar(“[ Ingresar datos”)
                        [1]        r
               Mostrar(“[ Visualiza datos”)
                        [2]        ar
                                                                                                                                       11
               Mostrar(“[ Total de Ventas po Trimestre
                        [3]       e         or       e”)
               Mostrar(“[ Total de Ventas po Modelo”)
                        [4]       e         or
               Mostrar(“[ Ordenar Modelos vendidos de Mayor a M
                        [5]        r        v        e        Menor”)
               Mostrar(“[ Salir”)
                        [6]
               Leer (opc
                       c)

               Repetir mientras (op <1 || opc> 6)
                       m          pc
               Mostrar(“O
                        Opción invá
                                  álida, reintr
                                              roduzca una opción:”)
                                                        a
               Leer (opc
                       c)
               F_R_M

               En caso de (opc)
                       d
Pseudocódigo




               1:
                        esde i=1 ha
               Repetir de         asta i<=5
                     Reepetir desde j=1 hasta j<=4
                                  e
                            Mostrar(“Introduzc la cantid Vendida del Mode
                                               ca      dad     a        elo”, i, “en e Trimestre j)
                                                                                     el        e”,
                            Leer (V
                                  Ventas[i,j])
                     Fin
                       n_Repetir_DDesde
               Fin_Repeetir_Desde

               2:
               Repetir de
                        esde i=1 ha
                                  asta i<=5
                     Reepetir desde j=1 hasta j<=4
                                  e
                            Mostrar (Ventas[i,j])
                       n_Repetir_D
                     Fin          Desde
               Fin_Repeetir_Desde

               3:
               Repetir de
                        esde j=1 ha
                                  asta j<=4
                     Ventas_T[j] = 0
                     Reepetir desde i=1 hasta i<=5
                                  e
                            Ventass_T[j] = Ven
                                             ntas_T[j]+Ve
                                                        entas[i,j]
                     Fin
                       n_Repetir_DDesde
               Fin_Repeetir_Desde

               Mostrar (“
                        “Total de Ve
                                   entas por Trimestre”)
                                                T
               Repetir de
                        esde j=1 haasta j<=4
                     Moostrar(“Trimestre ”, j, “T
                                                Total: ”, Ven
                                                            ntas_T[j])
               Fin_Repeetir_Desde
Gu de Ejercicios. Unidad 03: Programación Estructurada. 2011-I.
                                                                       uía                           o
               4:
                        esde i=1 ha
               Repetir de         asta i<=5
                     Ventas_M[i] = 0
                     Reepetir desde j=1 hasta j<=4
                                  e
                            Ventass_M[j] = Ven
                                             ntas_M[j]+V
                                                       Ventas[i,j]
                     Fin
                       n_Repetir_DDesde
               Fin_Repeetir_Desde

               Mostrar (“
                        “Total de Ve
                                   entas por Modelo”)
                                              M
                                                                                                                                        12
               Repetir de
                        esde i=1 haasta i<=5
                     Moostrar(“Modelo ”, i, “Total: ”, Venta
                                                           as_M[i])
               Fin_Repeetir_Desde

               5:
               Repetir de
                        esde i=1 haasta i<=5
                     Orddenar[1,i]=i
                                   i
                     Orddenar[2,i]=V
                                   Ventas_M[ii]
               Fin_Repeetir_Desde
Pseudocódigo




               Repetir de
                        esde i=1 ha
                                  asta i<=4
                     Reepetir desde j=1 hasta j<=4
                                  e
                            Si (Ord
                                  denar[2, j] < Ordenar[2 j+1])
                                                           2,
                            Entoncces
                                   aux1 = Ord
                                   a          denar [2, j]
                                   Ordenar [2, j] = Orden
                                   O                       nar[2, j+1]
                                   Ordenar[2, j+1] = aux1
                                   O                       1

                                    aux1 = Ord
                                    a        denar [1, j]
                                    Ordenar [1, j] = Orden
                                    O                     nar[1, j+1]
                                    Ordenar[1, j+1] = aux2
                                    O                     2
                            Fin_Si
                     Fin
                       n_Repetir_DDesde
               Fin_Repeetir_Desde

               6:
               Mostrar(“F del Prog
                        Fin      grama”)

               Fin_En_C
                      Caso_De
               Fin_Repe
                      etir_Mientra
                                 as
               Fin
Gu de Ejercicios. Unidad 03: Pro
                                                         uía                           ogramación Estructurada. 2011-I.
5. S requiere diseñar un algoritmo que alma
   Se                               o          acene med iante estru
                                                                   ucturas de datos tipo arreglo los s
nommbres, las cédulas y la notas de un grupo de 40 alum nos. El cálc
              c          as                    d                    culo de la n
                                                                               nota final, e
                                                                                           está basado
                                                                                                     o
en la sumatoria de las primeras 6 notas introducidas po el profes en la e
                                                       or          sor        estructura d datos. El
                                                                                           de       E
prog
   grama debe incluir las siguientes característ
              e                                ticas:

   Ingreso de los datos (Nombre y Cédula), las notas de los alumnos, y re
              d            s                    ,                             ealizar el cá
                                                                                          álculo de la
                                                                                                     a
    nota final..
   Visualizac ción de las estructuras con los da
                                     s          atos cargad
                                                          dos.
   Cálculo de Estadístic  cas: Cantid de Alum
                                     dad        mnos aprobbados y Can
                                                                    ntidad de a
                                                                              alumnos Re eprobados.
                                                                                                                          13
   Estas opc  ciones se deben ejecu median un menú
                                     utar      nte        ú:
      [1] Ingre de Dato
              eso         os.
      [2] Visuaalización de los Alumn
                          e          nos.
      [3] Estaddísticas del Curso.
      [4] Busc Alumno por su C.I.
              car
      [5] Salir del Programa.




                                            Pse
                                              eudocódigo
Algooritmo Nota de Alumn
              as         nos
Inicio
//De
   eclaración de las Estru
              d          ucturas
Caraacter    Nombres [40
             N           0,25]
Enteero      Cedulas [40]
             C            ]
Reaal        Notas [40,7]
             N

// De
    eclaración de otras variables
               d
Enteero       opción=1, i, j, aprobado reprobados, cedula búsqueda, ingreso =0
                           j         os,                ab,               o

Rep
  petir mientra (opción> && opc
              as       >=1    cion<5)

Mos
  strar (“Menu de Opcion
               u            nes”)
Mos
  strar (“[1] Ingreso de Datos”)
                           D
Mos
  strar (“[2] Viisualización de los Alu
                           n          umnos”)
Mos
  strar (“[3] Esstadísticas del Curso”))
Gu de Ejercicios. Unidad 03: Pro
                                                        uía                           ogramación Estructurada. 2011-I.
Mosstrar (“[4] Sa del Prog
                alir     grama”)
Leer (opcion)
    r

Reppetir Mientra (opc<1 || opc>5)
               as
       Mostrar (“Opción In
                         nválida, rein
                                     ntroduzcala
                                               a”)
       Leer (op
              pc)
   _Repetir_Mientras
Fin_

      En caso de (opcion
                       n)
                                                                                                                         14
1:
      Repetir desde i=1 hasta i<=40
              d          h           0
            Mostrar (“Alu
            M            umno ”, i)
            Mostrar (“Ing
            M            grese el nombre del al  lumno”)
            Le (Nombr
              eer        res[i])
            Mostrar (“Ing
            M            grese la céd dula del alu
                                                 umno”)
            Le (Cedula
              eer        as[i])
            Notas[i,7] = 0 //Inicializ
            N                        zación del Acumulad para la nota
                                                           dor
            Repetir desd j=1 hasta j<=6
            R            de           a
                    Mostr (“Ingrese la nota”, j)
                         rar          e
                    Leer (Notas[i, j])
                         (
                    Notas 7]= Nota
                        s[i,         as[i, 7]+ Notas[i, j]
            Fin_Repetir_ _Desde
      Fin_Reppetir_Desde e
      ingreso= // Bande para ind
             =1         era          dicar que se han ingres
                                                 e          sado los da
                                                                      atos
      Mostrar((“Fin de Carga de nota  as”)

2:
Si (ingreso == 1)
        Mostrar((“Nombre Cedula Nota 1 Nota 2 Nota 3 Nota 4 No F”)
                                     N         a             ota
        Repetir desde i=1 hasta i<=40
                d         h          0
              Mostrar (Nom
              M           mbres [i])
              Mostrar (Ced
              M           dulas [i])
              Repetir desd j=1 hasta j<=7
              R           de          a
                     Mostr (Notas [i, j])
                          rar
              Fin_Repetir__Desde
        Fin_Reppetir_Desdee
Sinoo
        Mostrar (“No se han ingresado los datos…”)
                                      o
Fin__Si

3:
Si (ingreso == 1)
       aprobad = 0
              dos
       reprobad = 0
               dos
       Repetir desde i=1 hasta i<=40
               d          h         0
             Si (Notas[i, 7] >= 50)
                          7
                    Entonnces
                            aprobados = aprobad +1
                                    s         dos
             Si no
                            reprobado = reprob
                                    os       bados + 1
             Fin_Si
Gu de Ejercicios. Unidad 03: Pro
                                                                 uía                           ogramación Estructurada. 2011-I.
         Fin_Rep
               petir_Desde
                         e

         Mostrar(
                (“La cantida de Alumnos aproba
                           ad                ados fue de ”, aprobad
                                                       e           dos)
         Mostrar(
                (“La cantida de Alumnos reprob
                           ad                bados fue de ”, reproba
                                                        e          ados)
Sino
   o
         Mostrar (“No se han ingresado los datos…”)
                                     o
   _Si
Fin_

4: //B
     Búsqueda de alumno
               d
                                                                                                                                  15
Si (ingreso == 1)
       busqued = 0
              da
       Mostrar ("Introduzc la Cédula del Alumn ")
                         ca        a         no:
       Leer (ce
              edulab)

         Repetir_
                _Desde i=1 hasta i<=4 40
               Si (cedulab = Cedulas[i i])
               Entonces
                      busqu
                          ueda=1
                      Mostr ("Las No
                          rar         otas del Alu umno son: "   ")
                      Repettir_Desde j=1 hasta j< <=7
                             Mostrar ("
                                      "Nota ", j, ": ", Notas[i,jj])
                      Fin_R
                          Repetir_Des sde
               Fin_Si
         Fin_Reppetir_Desde
                          e

         Si ( búsq
                 queda==0)
         Entoncees
                Mostrar ("Cé
                M          édula no ex
                                     xistente")
         Fin_Si
   o
Sino
         Mostrar (“No se han ingresado los datos…”)
                                     o
Fin_
   _Si

5:
                (“Fin del Programa”)
         Mostrar(

      Fin_En_
            _Caso_de
Fin_
   _Repetir_Mientras
Fin

Guiade ejerciciosresueltos arreglos

  • 1.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. Guía de Eje G ercicios Re esueltos Unidad 03: P Programac ción Estruc cturada. 1. D Diseñe un algoritmo qu dado do arreglos de enteros unidimen a ue os s, nsionales de 10 celdas calcule la e s, a sum celda a celda y gua ma c ultado en una tercera estructura con sus m arde el resu u mismas caraacterísticas s, para luego ser mostrado. a A [10] 1 1 2 3 4 5 6 7 8 9 10 + ... + ... B [10] 1 2 3 4 5 6 7 8 9 10 = ... = ... Suma [10] S 1 2 3 4 5 6 7 8 9 10 Algoritmo Suma de Arreglos o A Inicio Entero A[10], B[10], Suma[10], i B “Introduzca los valores del primer arreglo:”) Mostrar (“ a s Repetir Desde i=1 ha asta i<=10 Mo ostrar (“Valo ”, i, “:”) or Lee (A[i]) er Fin_Repeetir_Desde Mostrar (“ “Introduzca los valores del segun arreglo:”) a s ndo Pseudocódigo Repetir Desde i=1 haasta i<=10 Moostrar (“Valo ”, i, “:”) or Lee (B[i]) er Fin_Repeetir_Desde Repetir Desde i=1 haasta i<=10 Suma[i]= A[i] + B[i] Fin_Repeetir_Desde Mostrar (“ “Arreglo Re esultante:”) Repetir Desde i=1 haasta i<=10 Moostrar (“Valo ”, i, “:”, Suma[i]) or Fin_Repeetir_Desde Fin
  • 2.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. #include <conio.h> < #include <iostream.h < h> void mainn() { int A[10], B[10], Sum ma[10], i; cout<<"In ntroduzca lo valores para el prim arreglo: n"; os p mer for (i=0; i< <10; i++) 2 { cout<<"A["<<i+1<<"]="; cin>>>A[i]; } cout<<"In ntroduzca lo valores para el segu os p undo arreg lo: n"; for (i=0; i< <10; i++) { C++ cout<<"B["<<i+1<<"]="; cin>>>B[i]; } //Calculan la Suma ndo for (i=0; i< <10; i++) { Summa[i]= A[i]+B B[i]; } cout<<"El arreglo res l sultante es: n"; for (i=0; i< <10; i++) { cout<<"Suma["< <<i+1<<"]= "; = cout<<Suma[i]< <<endl; } getch(); } 2. D Diseñe un algoritmo qu cargue los valores de dos arr a ue l reglos de d dimensión 1 y que e un tercer 10, en arreglo deposit el result te tado de la división de número mayor entr el núme menor, de los dos el re ero s meros arreglos. prim num = den 1 15 1 3 1 5 2 12 2 ‐7 2 ‐1,71 3 1 3 4 3 4 . 4 4 4 . . 5 5 5 6 6 6 7 7 7 8 8 8 9 9 9 10 4 10 25 10 6,25 0 num = den
  • 3.
    Gu de Ejercicios.Unidad 03: Programación Estructurada. 2011-I. uía o Algoritmo División o Inicio Real A[10], B[10], Div[1 B 10] Entero i Mostrar (“ “Introduzca los valores del primer arreglo:”) a s Repetir Desde i=1 ha asta i<=10 Moostrar (“A[ ”, i, “]=”) , Lee (A[i]) er epetir Mientras (A[i]==0 Re 0) 3 Mostrar (“Introduz valores no nulos”) zca Leer (AA[i]) n_Repetir_M Fin Mientras Fin_Repe etir_Desde Mostrar (“ “Introduzca los valores del segun arreglo:”) a s ndo Repetir Desde i=1 ha asta i<=10 Moostrar (“B[ ”, i, “]=”) , Pseudocódigo Lee (B[i]) er Reepetir Mientras (B[i]==00) Mostrar (“Introduz valores no nulos”) zca Leer (B B[i]) Fin n_Repetir_M Mientras etir_Desde Fin_Repe Repetir Desde i=1 ha asta i<=10 Si (A[i]>B[i]) Div[i]= A[i]/B[i] no Sin Div[i]= B[i]/A[i] Fin n_Si Fin_Repeetir_Desde Mostrar (“ “Arreglo Reesultante:”) Repetir Desde i=1 ha asta i<=10 Moostrar (“Div[ ”, i, “]=”) [ Moostrar (Div[i] ]) Fin_Repeetir_Desde Fin
  • 4.
    Gu de Ejercicios.Unidad 03: Programación Estructurada. 2011-I. uía o #include <conio.h> < #include <iostream.h < h> #define N 10 void mainn() { float A[N], B[N], Div[N]; int i; 4 cout<<"In ntroduzca lo valores para el prim arreglo: n"; os p mer for (i=0; i< i++) <N; { cout<<"A["<<i+1<<"]="; cin>> >A[i]; while (A[i]==0) e { cout<<"As signe valore no nulos... n"; es cout<<"A[" "<<i+1<<"]= ="; cin>>A[i]; } } cout<<"In ntroduzca lo valores para el segu os p undo arreg lo: n"; for (i=0; i< i++) <N; { C++ cout<<"B["<<i+1<<"]="; cin>> >B[i]; while (B[i]==0) e { cout<<"As signe valore no nulos... n"; es cout<<"B[" "<<i+1<<"]= ="; cin>>B[i]; } } //Calculan la Divis ndo sión for (i=0; i< i++) <N; { if (A[[i]>B[i]) Div[i]= A[i]/B[i]; else Div[i]= B[i]/A[i]; } cout<<"El arreglo res l sultante es: n"; for (i=0; i< i++) <N; { cout<<"Division n["<<i+1<<" "; "]= cout<<Div[i]<<e endl; } getch(); }
  • 5.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. 3. D Diseñar un programa que registre las Temp q peraturas p promedio m mensuales de un año, las cuales , s son introducida a través del teclad por el us as s do suario. A p partir de los datos reg s gistrados, e programa el a debe realizar la siguiente acciones desde un menú de o e as es s opciones: (1 ) Calcular el promedio anual de Temperaturas. r e (2 ) Mostrar las temperaturas que estuvieron por encim a del prome edio y a qu mes corr ué responden. (3 ) Indicar cuál fue el mes con ma c m ayor tempeeratura y co menor te on emperatura. (4 ) Ordenar los valores de tempe r s eratura de menor a ma m trarlos en pantalla. ayor y most (5 ) Salir del Programa. 5 Algoritmo Temperatu o uras Inicio Entero i, j, mesM, meesm, opcion Real Temmp[12], may menor, aux, Suma Promedio TempAux [12,2] yor, a, o, x Suma = 0 //Aprovech hamos este ciclo para calcular la sumatoria e a a Repetir de esde i=1 ha asta i<=12 Mostrar (“ “Introduzca la Temper a ratura del Mes ”, i) M Leer (Tem mp[i]) Suma = Suma + Tem S mp[i] Fin_Repeetir_Desde Promedio = Suma/12 o 2 opcion = 1 Repetir Mientras (op M pción>=1 && opción<5 & 5) Mostrar (“ “Menú de Opciones”) O Mostrar (“ Mostrar el Promedio de las Te “1) emperatura Introduci as idas”) Pseudocódigo Mostrar (“ Mostrar las Tempe “2) eraturas supperiores al Promedio”) ) Mostrar (“ Mostrar el Mes con Mayor y Menor Tem peratura”) “3) n M Mostrar (“ Ordenar las Tempe “4) r eraturas”) Mostrar (“ Salir”) “5) Mostrar (“ “Introduzca una Opció a ón”) Leer (opc cion) Repetir Mientras (op M pción<1 || opción>5) Moostrar (“Intro odujo una opción Inválida, por fav vuelva a introducir o vor rla”) Lee (opcion) er Fin_Repeetir_Mientraas En caso de (opcion) d 1: Mostrar (“ Promedio de las Te “El emperatura fue de ”, Promedio) as ) 2: Repetir de esde i=1 ha asta i<=12 Si (Temp[i]>P Promedio) Entonces Mostrar (“La Temp peratura de mes ”, i, “ el “fue mayor al promedi io”)
  • 6.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. Fin n_Si Fin_Repeetir_Desde 3: mayor = Temp[1] T mesM = 1 Repetir de esde i=1 ha asta i<=12 Si (Temp[i]> mayor) m 6 Entonces mayor = Temp[i] mesM = i Fin n_Si Fin_Repeetir_Desde Mostrar (“ mes con mayor tem “El n mperatura fue el ”, me f esM, “con ”, mayor) menor = Temp[1] T mesm = 1 Repetir de esde i=1 ha asta i<=12 Si (Temp[i]< menor) m Entonces Pseudocódigo menor = Temp[i] mesm = i Fin n_Si Fin_Repeetir_Desde Mostrar (“ mes con menor tem “El n mperatura fue el ”, me f esm, “con ”, menor) , 4: //Copia de Arreglo original el o Repetir deesde i=1 ha asta i<=12 TempAux[i,1] = i TempAux[i,2] = Temp[i] Fin_Repe etir_Desde //Algoritmo de Ordennamiento de Intercamb (Burbuja e bio a) Repetir deesde j=1 ha asta j<=11 Reepetir desde i = 1 hasta i<=11 e a Si (Tem mpAux[i+1,2 TempA [i,2] 2]< Aux Entoncces aux= Temp a pAux [i][1] TempAux [i,1]= TempA [i+1,1] T Aux TempAux p[i+1][1]=au T p ux aux= Temp a pAux [i,2] TempAux [i,2]= TempA [i+1,2] T Aux TempAux [i+1,2]=aux T Fin_Si Fin n_Repetir_DDesde Fin_Repeetir_Desde
  • 7.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. //Mostrar el Arreglo auxiliar orde a enado “Temperatu Mostrar (“ uras Ordena adas Crecie entemente” ”) Repetir de esde i=1 ha asta i<=12 Mo ostrar (“Mes TempAu s:”, ux[i,1]) Pseudocódigo Mo ostrar (“Temmperatura:”, TempAux[i,2]) , Fin_Repeetir_Desde 5: Mostrar (“ “Fin del Pro ograma”) 7 Fin_En_CCaso_de Fin_Repeetir_Mientra as Fin #include <conio.h> < #include <iostream.h < h> #include <iomanip.h> < #define N 12 void main n() { int i, j, opc c=1, mesMayor, mesM Menor; float Temp[N], mayo menor, promedio, sumatoria, C or, p CopiaTemp p[N][2], aux; cout<<"In ngrese los datos: n"; d for (i=0; i< i++) <N; { cout<<"Te emperatura promedio del mes: "< a <<i+1<<end dl; cin>>Tem mp[i]; } cout<<"Fi de Carga de Datos..."; in a getch(); clrscr(); C++ while (opc && opc c>0 c<5) { clrsc cr(); cout<<"Menu de Opciones n"; s cout<<"1) Prom medio de Teemperaturas n"; cout<<"2) Temp sobre el promedio n"; p. cout<<"3) Mes de Mayor Temp. y Me de Meno Temp. n" T es or "; cout<<"4) Most Valores ordenados n"; trar s s cout<<"5) Salir del Programa n"; cin>>>opc; while (opc<1 || opc>5) e { cout<<"Opcion incorrecta, reintroducir la opcion n"; n cin>>>opc; } switc (opc) ch { case 1: e clrscr();
  • 8.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. sumatoria= =0; for (i=0; i<N; i++) { sumatoria= sumatoria + Temp[i] = a ]; } promedio= sumatoria = a/12; cout<<"El promedio de las Temperaturas e de "<<pr d es romedio; getch(); brea ak; 8 case 2: e clrscr(); cout<<"Te emperaturas sobre el Promedio n s P n"; cout<<"Me es"<<setw(5 5)<<"Temp peratura"<< <endl; for (i=0; i<N; i++) { if (Temp[i]>promedio) ) { cout<<i+1< <<setw(6)< <<Temp[i]<< <endl; } } getch(); brea ak; case 3: e C++ clrscr(); mayor= Te emp[0]; mesMayor = 0; r for (i=1; i<N; i++) { if( Temp[i]>mayor) { mayo Temp[i]; or= mesM Mayor = i; } } cout<<"El mes de ma ayor tempertura es "<< <mesMayor+1<<endl; menor= Te emp[0]; mesMenor = 0; r for (i=1; i<N; i++) { if( Temp[i]<menor) { meno Temp[i]; or= mesM Menor = i; } } cout<<"El mes de me enor tempertura es "<< <mesMeno or+1<<endl; ; getch(); brea ak;
  • 9.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. case 4: e clrscr(); for (i=0; i<N; i++) { CopiaTem mp[i][0]=i+1; CopiaTem mp[i][1]=Temmp[i]; } for (j=0; j<N-1; j++) 9 for (i= i<N-1; i+ =0; ++) { if(CoppiaTemp[i+1][1]<CopiaaTemp[i][1] ]) { aux= Copia a aTemp[i][1]; CopiaTemp iaTemp[i+1 ][1]; p[i][1]=Copi CopiaTemp p[i+1][1]=au ux; C++ aux= Copia a aTemp[i][0]; CopiaTempp[i][0]=Copi iaTemp[i+1 ][0]; CopiaTempp[i+1][0]=au ux; } } cout<<"Te emperaturas Ordenada n"; s as cout<<"Me es"<<setw(5 5)<<"Temp peratura"<< <endl; for (i=0; i<N; i++) { cout<<<CopiaTem mp[i][0]<<setw(5)<<CoopiaTemp[i i][1]<<endl; } getch(); breaak; }//En switch nd }//End while }//End maain
  • 10.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. 4. U agencia de autom Una a móviles disp pone de 5 modelos de autos y a final del a desea mostrar los m e al año s resuultados de las ventas del año para lo cua dispone de las cantidades de autos ve s p al endidos por trimeestre. Diseñ un algor ñe avés de un menú de o ritmo que permita a tra p opciones: 4.1. 4. Introdu los dato en una estructura tipo arreglo. ucir os e 4.2. 4. Visualiz la estru zar uctura con los datos introducidos. . 4.3. 4. Calcula y visualiz la Cantidad Total de Ventas p Trimest ar zar d por tre. 4.4. 4. Calcula y visualiz la Cantidad Total de Ventas p Modelo. ar zar d por 4.5. 4. Ordena de mayor a menor las cantidad de los c ar des cinco mode elos de auto vendidos os s. 10 4.6. 4. Salir de Programa. el Trim mestres 1 2 3 4 1 2 1 Σ 1 Mo odelos 2 Σ 2 3 Σ 3 4 Σ 4 5 Σ 5 O Ordenar Ventas s_M Venta as_T Σ Σ Σ Σ
  • 11.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. Algoritmo Venta de Carros o C Inicio Entero i, j, Ventas[5,4], Ventas_ _T[4], Venta as_M[5], au ux1, aux2, opc=1, Ord denar[2,5] Repetir mientras (op >=1 && opc< 6) m pc o Menú de Opciones”) Mostrar(“M O Mostrar(“[ Ingresar datos”) [1] r Mostrar(“[ Visualiza datos”) [2] ar 11 Mostrar(“[ Total de Ventas po Trimestre [3] e or e”) Mostrar(“[ Total de Ventas po Modelo”) [4] e or Mostrar(“[ Ordenar Modelos vendidos de Mayor a M [5] r v e Menor”) Mostrar(“[ Salir”) [6] Leer (opc c) Repetir mientras (op <1 || opc> 6) m pc Mostrar(“O Opción invá álida, reintr roduzca una opción:”) a Leer (opc c) F_R_M En caso de (opc) d Pseudocódigo 1: esde i=1 ha Repetir de asta i<=5 Reepetir desde j=1 hasta j<=4 e Mostrar(“Introduzc la cantid Vendida del Mode ca dad a elo”, i, “en e Trimestre j) el e”, Leer (V Ventas[i,j]) Fin n_Repetir_DDesde Fin_Repeetir_Desde 2: Repetir de esde i=1 ha asta i<=5 Reepetir desde j=1 hasta j<=4 e Mostrar (Ventas[i,j]) n_Repetir_D Fin Desde Fin_Repeetir_Desde 3: Repetir de esde j=1 ha asta j<=4 Ventas_T[j] = 0 Reepetir desde i=1 hasta i<=5 e Ventass_T[j] = Ven ntas_T[j]+Ve entas[i,j] Fin n_Repetir_DDesde Fin_Repeetir_Desde Mostrar (“ “Total de Ve entas por Trimestre”) T Repetir de esde j=1 haasta j<=4 Moostrar(“Trimestre ”, j, “T Total: ”, Ven ntas_T[j]) Fin_Repeetir_Desde
  • 12.
    Gu de Ejercicios.Unidad 03: Programación Estructurada. 2011-I. uía o 4: esde i=1 ha Repetir de asta i<=5 Ventas_M[i] = 0 Reepetir desde j=1 hasta j<=4 e Ventass_M[j] = Ven ntas_M[j]+V Ventas[i,j] Fin n_Repetir_DDesde Fin_Repeetir_Desde Mostrar (“ “Total de Ve entas por Modelo”) M 12 Repetir de esde i=1 haasta i<=5 Moostrar(“Modelo ”, i, “Total: ”, Venta as_M[i]) Fin_Repeetir_Desde 5: Repetir de esde i=1 haasta i<=5 Orddenar[1,i]=i i Orddenar[2,i]=V Ventas_M[ii] Fin_Repeetir_Desde Pseudocódigo Repetir de esde i=1 ha asta i<=4 Reepetir desde j=1 hasta j<=4 e Si (Ord denar[2, j] < Ordenar[2 j+1]) 2, Entoncces aux1 = Ord a denar [2, j] Ordenar [2, j] = Orden O nar[2, j+1] Ordenar[2, j+1] = aux1 O 1 aux1 = Ord a denar [1, j] Ordenar [1, j] = Orden O nar[1, j+1] Ordenar[1, j+1] = aux2 O 2 Fin_Si Fin n_Repetir_DDesde Fin_Repeetir_Desde 6: Mostrar(“F del Prog Fin grama”) Fin_En_C Caso_De Fin_Repe etir_Mientra as Fin
  • 13.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. 5. S requiere diseñar un algoritmo que alma Se o acene med iante estru ucturas de datos tipo arreglo los s nommbres, las cédulas y la notas de un grupo de 40 alum nos. El cálc c as d culo de la n nota final, e está basado o en la sumatoria de las primeras 6 notas introducidas po el profes en la e or sor estructura d datos. El de E prog grama debe incluir las siguientes característ e ticas:  Ingreso de los datos (Nombre y Cédula), las notas de los alumnos, y re d s , ealizar el cá álculo de la a nota final..  Visualizac ción de las estructuras con los da s atos cargad dos.  Cálculo de Estadístic cas: Cantid de Alum dad mnos aprobbados y Can ntidad de a alumnos Re eprobados. 13  Estas opc ciones se deben ejecu median un menú utar nte ú: [1] Ingre de Dato eso os. [2] Visuaalización de los Alumn e nos. [3] Estaddísticas del Curso. [4] Busc Alumno por su C.I. car [5] Salir del Programa. Pse eudocódigo Algooritmo Nota de Alumn as nos Inicio //De eclaración de las Estru d ucturas Caraacter Nombres [40 N 0,25] Enteero Cedulas [40] C ] Reaal Notas [40,7] N // De eclaración de otras variables d Enteero opción=1, i, j, aprobado reprobados, cedula búsqueda, ingreso =0 j os, ab, o Rep petir mientra (opción> && opc as >=1 cion<5) Mos strar (“Menu de Opcion u nes”) Mos strar (“[1] Ingreso de Datos”) D Mos strar (“[2] Viisualización de los Alu n umnos”) Mos strar (“[3] Esstadísticas del Curso”))
  • 14.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. Mosstrar (“[4] Sa del Prog alir grama”) Leer (opcion) r Reppetir Mientra (opc<1 || opc>5) as Mostrar (“Opción In nválida, rein ntroduzcala a”) Leer (op pc) _Repetir_Mientras Fin_ En caso de (opcion n) 14 1: Repetir desde i=1 hasta i<=40 d h 0 Mostrar (“Alu M umno ”, i) Mostrar (“Ing M grese el nombre del al lumno”) Le (Nombr eer res[i]) Mostrar (“Ing M grese la céd dula del alu umno”) Le (Cedula eer as[i]) Notas[i,7] = 0 //Inicializ N zación del Acumulad para la nota dor Repetir desd j=1 hasta j<=6 R de a Mostr (“Ingrese la nota”, j) rar e Leer (Notas[i, j]) ( Notas 7]= Nota s[i, as[i, 7]+ Notas[i, j] Fin_Repetir_ _Desde Fin_Reppetir_Desde e ingreso= // Bande para ind =1 era dicar que se han ingres e sado los da atos Mostrar((“Fin de Carga de nota as”) 2: Si (ingreso == 1) Mostrar((“Nombre Cedula Nota 1 Nota 2 Nota 3 Nota 4 No F”) N a ota Repetir desde i=1 hasta i<=40 d h 0 Mostrar (Nom M mbres [i]) Mostrar (Ced M dulas [i]) Repetir desd j=1 hasta j<=7 R de a Mostr (Notas [i, j]) rar Fin_Repetir__Desde Fin_Reppetir_Desdee Sinoo Mostrar (“No se han ingresado los datos…”) o Fin__Si 3: Si (ingreso == 1) aprobad = 0 dos reprobad = 0 dos Repetir desde i=1 hasta i<=40 d h 0 Si (Notas[i, 7] >= 50) 7 Entonnces aprobados = aprobad +1 s dos Si no reprobado = reprob os bados + 1 Fin_Si
  • 15.
    Gu de Ejercicios.Unidad 03: Pro uía ogramación Estructurada. 2011-I. Fin_Rep petir_Desde e Mostrar( (“La cantida de Alumnos aproba ad ados fue de ”, aprobad e dos) Mostrar( (“La cantida de Alumnos reprob ad bados fue de ”, reproba e ados) Sino o Mostrar (“No se han ingresado los datos…”) o _Si Fin_ 4: //B Búsqueda de alumno d 15 Si (ingreso == 1) busqued = 0 da Mostrar ("Introduzc la Cédula del Alumn ") ca a no: Leer (ce edulab) Repetir_ _Desde i=1 hasta i<=4 40 Si (cedulab = Cedulas[i i]) Entonces busqu ueda=1 Mostr ("Las No rar otas del Alu umno son: " ") Repettir_Desde j=1 hasta j< <=7 Mostrar (" "Nota ", j, ": ", Notas[i,jj]) Fin_R Repetir_Des sde Fin_Si Fin_Reppetir_Desde e Si ( búsq queda==0) Entoncees Mostrar ("Cé M édula no ex xistente") Fin_Si o Sino Mostrar (“No se han ingresado los datos…”) o Fin_ _Si 5: (“Fin del Programa”) Mostrar( Fin_En_ _Caso_de Fin_ _Repetir_Mientras Fin