SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
UNIVERSIDAD TÉCNICA DE AMBATO



            FACULTAD DE CIENCIAS
              HUMANAS Y DE LA
                 EDUCACIÓN



            LIC. EN INFORMÁTICA




   TEMA:

  CUADERNILLO DE PROGRAMACIÓN DEL PRIMER

                    PARCIAL.

              III SEMESTRE “U”

   AUTOR:

                 JÉSSICA SORIA.

            LIC. WILMA GAVILÁNEZ

                    2011
Jéssica Soria

                                          ¿QUÉ ES UNA MATRIZ?



                                         Una matriz es una tabla cuadrada o rectangular de datos (llamados
                                         elementos o entradas de la matriz) ordenados en filas y columnas, donde
                                         una fila es cada una de las líneas horizontales de la matriz y una columna es
                                         cada una de las líneas verticales. A una matriz con m filas y n columnas se le
                                         denomina matriz m-por-n (escrito m×n), y a m y n dimensiones de la matriz.
                                         Las dimensiones de una matriz siempre se dan con el número de filas
                                         primero y el número de columnas después. Comúnmente se dice que una
                                         matriz m-por-n tiene un orden de m × n ("orden" tiene el significado de
                                         tamaño). Dos matrices se dice que son iguales si son del mismo orden y
                                         tienen los mismos elementos.

                                         Al elemento de una matriz que se encuentra en la fila i-ésima y la columna j-
                                         ésima se le llama elemento i,j o elemento (i,j)-iésimo de la matriz. Se vuelve
                                         a poner primero las filas y después las columnas.

Casi siempre, se denotan a las matrices con letras mayúsculas mientras que se utilizan las correspondientes letras
en minúsculas para denotar a los elementos de las mismas. Por ejemplo, al elemento de una matriz A que se
encuentra en la fila i-ésima y la columna j-ésima se le denota como ai,j o a[i,j]. Notaciones alternativas son A[i,j] o
Ai,j. Además de utilizar letras mayúsculas para representar matrices, numerosos autores representan a las matrices
con fuentes en negrita para distinguirlas de otros tipos de variables. Así A es una matriz, mientras que A es un
escalar.

Dada la matriz:




que es una matriz 4x3. El elemento            o      es el 7.

La matriz




es una matriz 1×9, o un vector fila con 9 elementos.



http://es.wikipedia.org/wiki/Vector




                                                            1
Jéssica Soria

                                         ¿QUÉ ES UN VECTOR?


                                              En física, matemáticas e ingeniería, un vector (también llamado vector
                                              euclidiano o vector geométrico) es una herramienta geométrica
                                              utilizada para representar una magnitud física definida por un módulo
                                              (o longitud) y una dirección (u orientación).[1] [2] [3] [4]

                                              Los vectores se pueden representar geométricamente como segmentos
                                              de recta dirigidos o flechas en el plano o en el espacio   .

                                              Se llama vector de dimensión a una tupla de números reales (que se
                                              llaman componentes del vector). El conjunto de todos los vectores de
                                              dimensión se representa como        (formado mediante el producto
                                              cartesiano).

Así, un vector   perteneciente a un espacio      se representa como:            , donde
                               .

Un vector también se puede ver desde el punto de vista de la geometría como vector geométrico (usando
frecuentemente el espacio tridimensional    ó bidimensional      ).

Una representación conveniente de las magnitudes vectoriales es mediante un vector columna o un vector fila,
particularmente cuando están implicadas operaciones matrices (tales como el cambio de base), del modo siguiente:




Con esta notación, los vectores cartesianos quedan expresados en la forma:




http://es.wikipedia.org/wiki/Matriz_%28matem%C3%A1tica%29




                                                           2
Jéssica Soria



            /*Diseñe un Programa que me permita INGRESAR n
            elementos en una matriz cuadrada*/

      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE();para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el Diseño de pantalla.

      Posteriormente para realizar el Ingreso de Matrices necesito leer un límite propuesto por el usuario que en este
      caso será (lim).

      A lo posterior se usará dos FOR para el ingreso de la Matriz, i-> para fila y j-> para columna los que serán
      limitados hasta que i<=lim de igual modo j.

      A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
      manera.

      DESARROLLO

#include<conio.h>

#include<stdio.h>

voidmain()

{

/*Declaración de variables a usar en el programa*/

int a,b,c,i,j,col,fila,lim,matriz1[10][10];

/*Este DO{}WHILE();servira para realizer un Nuevo programa*/

do{

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

clrscr();

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/


                                                           3
Jéssica Soria

for(i=5;i<=74;i++)

  {

        gotoxy(i,4);cprintf("Í");

        gotoxy(i,21);cprintf("Í");

  }

for(i=5;i<=20;i++)

  {

        gotoxy(4,i);cprintf("º");

        gotoxy(75,i);cprintf("º");

  }

gotoxy(4,4);cprintf("É");

gotoxy(4,21);cprintf("È");

gotoxy(75,4);cprintf("»");

gotoxy(75,21);cprintf("¼");

textcolor(122);

/*Aqui gracias al SCANF(); ingresamos el límite*/

gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim);

col=15;fila=10;b=14;c=9;

textcolor(123);

/*Estos lazos FOR son usados para leer los datos de la matriz*/

for(i=1;i<=lim;i++)

  {

        for(j=1;j<=lim;j++)

        {

        gotoxy(col,fila);cscanf("%d",&matriz1[i][j]);

        col=col+5;



                                                         4
Jéssica Soria

          }

          fila=fila+3;

          col=15;b=14;

}

/*Estos lazos FOR son usados para imprimir los datos de la matriz*/

col=15;fila=10;

for(i=1;i<=lim;i++)

     {

          for(j=1;j<=lim;j++)

          {

          gotoxy(col,fila);printf("%d",matriz1[i][j]);

          col=col+5;

          }

          fila=fila+3;

          col=15;

}

textcolor(121);

/*Aqui leemos la opcion si desea continuar o no*/

gotoxy(10,19);cprintf("Desea continuar==> ");scanf("%d",&a);

    }while(a==1);

}




                                                           5
Jéssica Soria

PRUEBA DE ESCRITORIO 1




          6
Jéssica Soria

            /*2. Diseñe un Programa que me permita GENERAR
            n    múltiplos                de      CUALQUIER                  FACTOR              ingresado
            desde        teclado                que     se       encuentre          entre         2    y    9    la
            matriz es cuadrática se VISUALIZA LA ENTRADA Y
            SALIDA*/


      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el diseño de pantalla.

      Posteriormente para generar la matrices necesito leer un factor y un limitepropuesto por el usuario que en este
      caso será (fac) y (lim).

      A lo posterior se usará dos FOR para el generar de la matriz además se usara un contador (x) inicializado en 1
      que se irá incrementando cada vez que j se incremente i-> para fila y j-> para columna los que serán limitados
      hasta que i<=lim de igual modo j.

      A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
      manera.

      DESARROLLO

#include<conio.h>

#include<stdio.h>

voidmain()

{

/*Declaración de variables a usar en el programa*/

inti,j,a,matriz[10][10],col,fila,lim,fac,x,m;

/*Este DO{}WHILE();servira para realizer un Nuevo programa*/

do{

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

clrscr();



                                                             7
Jéssica Soria

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=4;i<=76;i++)

  {

        gotoxy(i,2);printf("Í");

        gotoxy(i,24);printf("Í");

  }

for(i=3;i<=23;i++)

  {

        gotoxy(3,i);printf("º");

        gotoxy(77,i);printf("º");

  }

/* Usamos un DO{}WHILE(); para controlar el tipo de factor*/

do{

gotoxy(10,5);printf("Ingrese el Factor==> ");scanf("%d",&fac);

}while(fac<1 &&fac>10);

/*Aqui gracias al SCANF(); ingresamos el límite*/

gotoxy(10,7);printf("Ingrese el L¡mite de la Matriz==> ");scanf("%d",&lim);

col=15;fila=10;x=1;

/*Estos lazos FOR son usados para imprimir los datos de la matriz*/

for(i=1;i<=lim;i++)

  {

        for(j=1;j<=lim;j++)

        {

        matriz[i][j]=fac*x;



                                                           8
Jéssica Soria

        gotoxy(col,fila);printf("%d",matriz[i][j]);

        col=col+5;x=x+1;

        }

        fila=fila+3;

        col=15;

    }

col=55;fila=10;x=1;

for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)

        {

        matriz[i][j]=fac*x;

        gotoxy(col,fila);printf("%d",matriz[i][j]);

        col=col+5;x=x+1;

        }

        fila=fila+3;

        col=55;

    }

gotoxy(50,22);printf("Deseavolver==> ");scanf("%d",&a);

}while(a==1);

}




                                                            9
Jéssica Soria

PRUEBA DE ESCRITORIO 2




          10
Jéssica Soria

            /*3. Diseñe un programa que me permita LEER UNA
            MATRIZ,             IMPRIMIR                 la       misma             e      imprimir                 su
            DIAGONAL PRINCIPAL*/


      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el diseño de pantalla.

      Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este
      caso será (lim).

      A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán
      limitados hasta que i<=lim de igual modo j.

      A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
      manera.

      Luego se usara otros dos FOR para imprimir la diagonal principal y esto se logra gracias a un IF() en donde se
      compara i==j para poder imprimir la Diagonal Principal .

      DESARROLLO

#include<conio.h>

#include<stdio.h>

/*Declaración de variables a usar en el programa*/

int a,i,j,col,fila,lim,num,dnp[10],b,matrize[10][10],matrizs[10][10];

void main()

{

/*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/

do{

clrscr();

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

/* El TEXTCOLOR(); nos sirve para darle color al borde*/


                                                           11
Jéssica Soria

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=78;i++)

   {

        gotoxy(i,2);cprintf("Í");

        gotoxy(i,23);cprintf("Í");

   }

for(i=2;i<=23;i++)

   {

        gotoxy(2,i);cprintf("º");

        gotoxy(77,i);cprintf("º");

   }

/*Aqui gracias al SCANF(); ingresamos el límite*/

gotoxy(15,5);printf("Ingrese el L¡mite==> ");scanf("%d",&lim);

/*Aqui gracias al SCANF(); ingresamos la Matriz*/

col=5;fila=10;

for(i=1;i<=lim;i++)

   {

        for(j=1;j<=lim;j++)

            {

        gotoxy(col+=3,fila);scanf("%d",&matrize[i][j]);

        }

        fila=fila+3;

        col=5;

   }

/*Estos lazos FOR son usados para imprimir los datos de la matriz*/



                                                          12
Jéssica Soria

col=25;fila=10;

for(i=1;i<=lim;i++)

   {

        for(j=1;j<=lim;j++)

            {

        gotoxy(col+=3,fila);printf("%d",matrize[i][j]);

        }

        fila=fila+3;

        col=25;

   }

/*Estos lazos FOR son usados para imprimir los datos de la Diagonal Principal*/

textcolor(35);

col=40;fila=10;

for(i=1;i<=lim;i++)

   {

        for(j=1;j<=lim;j++)

            {

        if(i==j)

                {

                    gotoxy(col+=5,fila);cprintf("%d",matrize[i][j]);

                }

        else

                {

                    gotoxy(col+=5,fila);cprintf(" ");

        }

        }



                                                               13
Jéssica Soria

          fila=fila+3;

          col=40;

      }

gotoxy(15,20);printf("<== J‚ssica Soria ==> ");

gotoxy(55,20);printf("Desea Volver==> ");scanf("%d",&a);

    }while(a==1);

}

                                          PRUEBA DE ESCRITORIO 3




                                                       14
Jéssica Soria

            /*Diseñe          un       Programa              que        me     permita            LEER         una
            MATRIZ,             IMPRIMIR                la       misma             e      IMPRIMIR                  su
            DIAGONAL PRINCIPAL y DIAGONAL SECUNDARIA*/


      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el diseño de pantalla.

      Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este
      caso será (lim).

      A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán
      limitados hasta que i<=lim de igual modo j.

      A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
      manera.

      Luego se usara otros dos FOR para imprimir la diagonal principal y esto se logra gracias a un IF() en donde se
      compara i==j para poder imprimir la Diagonal Principal caso contrario se imprimiría un espacio en blanco .

      Para la Diagonal Secundaria uso solamente un For que vaya hasta Llim y un contador inicializado en el lim
      para que este se decremente.

      DESARROLLO

#include<conio.h>

#include<stdio.h>

/*Declaración de variables a usar en el programa*/

int a,i,j,col,fila,lim,num,dnp[10],b,matrize[10][10],matrizs[10][10];

void main()

{

/*Este DO{}WHILE(); servira para realizer un Nuevo programa*/

do{

clrscr();



                                                           15
Jéssica Soria

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=76;i++)

   {

        gotoxy(i,2);cprintf("Í");

        gotoxy(i,23);cprintf("Í");

   }

for(i=3;i<=22;i++)

   {

        gotoxy(2,i);cprintf("º");

        gotoxy(77,i);cprintf("º");

   }

gotoxy(2,2);cprintf("É");

gotoxy(77,2);cprintf("»");

gotoxy(77,23);cprintf("¼");

gotoxy(2,23);cprintf("È");

textcolor(56);

/*Aqui gracias al SCANF(); ingresamos el límite*/

gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim);

col=5;fila=10;a=4;b=7;

textcolor(23);

for(i=1;i<=lim;i++)

   {

        for(j=1;j<=lim;j++)



                                                        16
Jéssica Soria

            {

        do{

                  gotoxy(col,fila);printf("ÍÍÍ");

                  gotoxy(col,fila);printf(" ");

                  gotoxy(col,fila);scanf("%d",&matrize[i][j]);

        }while(matrize[i][j]<8 || matrize[i][j]>58);

        col=col+3;

            }

        fila=fila+3;

        col=5;

}

col=25;fila=10;

for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)

            {

        gotoxy(col+=3,fila);cprintf("%d",matrize[i][j]);

        }

        fila=fila+3;

        col=25;

    }

textcolor(35);

col=40;fila=10;

for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)



                                                            17
Jéssica Soria

              {

          if(i==j)

                  {

                      gotoxy(col+=5,fila);cprintf("%d",matrize[i][j]);

                  }

          else

                  {

                      gotoxy(col+=5,fila);cprintf(" ");

          }

          }

          fila=fila+3;

          col=40;

      }

textcolor(85);

col=60;fila=10;b=lim;

for(i=1;i<=lim;i++)

      {

          gotoxy(col-=5,fila);cprintf("%d",matrize[i][b]);

          b--;fila=fila+3;

      }

textcolor(36);

gotoxy(15,20);cprintf("<== J‚ssica Soria ==> ");

gotoxy(55,20);printf("Desea Volver==> ");scanf("%d",&a);

    }while(a==1);

}




                                                                 18
Jéssica Soria

PRUEBA DE ESCRITORIO 4




          19
Jéssica Soria

            /*5.    Diseñe             un   Programa             que       me      permita           ingresar
            N elementos entre                          5   y45    en     una      Matriz          Cuadrada,
            guardar          los        elementos                Impares           en      un      Vector            y
            visualizarlos en forma ORDENADA*/

      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el diseño de pantalla.

      Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este
      caso será (lim).

      A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán
      limitados hasta que i<=lim de igual modo j, dentro de este se usara un DO{}WHILE(); para condicionar que los
      elementos sean entre 5 y 45.

      A continuación se usaran dos FOR mas para a cada elemento de la matriz dividir para 2 y saber si es par o
      impar, si es impar se procederá a guardar en un vector.

      Para ordenar el vector se usa 3 auxiliares en donde ira intercambiando los valores y ordenando el vector.


            DESARROLLO

#include<conio.h>

#include<stdio.h>

voidmain()

{

/*Declaración de variables a usar en el programa*/

intlim,a,b,c,i,j,col,fila,matriz[10][10],vec[20],op;

/*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/

do{

clrscr();

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/



                                                            20
Jéssica Soria

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=77;i++)

  {

        gotoxy(i,2);cprintf("Í");

        gotoxy(i,24);cprintf("Í");

  }

for(i=3;i<=23;i++)

  {

        gotoxy(2,i);cprintf("º");

        gotoxy(78,i);cprintf("º");

  }

textcolor(25);

/*Aquí gracias al SCANF(); ingresamos el límite*/

gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim);

col=10;fila=10;

textcolor(38);

gotoxy(5,8);cprintf("Ingreso de Matriz");

for(i=1;i<=lim;i++)

  {

        for(j=1;j<=lim;j++)

        {

        do{

        gotoxy(col,fila);printf(" ");

        gotoxy(col,fila);scanf("%d",&matriz[i][j]);



                                                        21
Jéssica Soria

        }while(matriz[i][j]<5||matriz[i][j]>45);

        col=col+3;

        }

        fila=fila+3;

        col=10;

}

a=1;col=35;fila=10;

textcolor(94);

gotoxy(30,8);cprintf("Vector Resultante");

for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)

        {

        if(matriz[i][j]%2==0)

            {

            }

        else

            {

        vec[a]=matriz[i][j];

        gotoxy(col,fila);cprintf("%d",vec[a]);

                a=a+1;fila=fila+3;

            }

        if(fila>22)

            {

        col=col+3;

        fila=10;



                                                        22
Jéssica Soria

             }

        }

  }

for(i=1;i<=a;i++)

  {

        for(j=1;j<=a;j++)

         {

        if(vec[i]<vec[j])

             {

                  b=vec[i];

                  vec[i]=vec[j];

                  vec[j]=b;

             }

        }

  }

fila=7;col=50;

textcolor(74);

gotoxy(50,8);cprintf("Vector Ordenado");

for(i=1;i<=a;i++)

  {

        gotoxy(col,fila+=3);cprintf("%d",vec[i]);

        if(fila>20)

             {

        col=col+3;

        fila=7;

             }



                                                         23
Jéssica Soria

}

textcolor(356);

gotoxy(60,22);cprintf("* J‚ssica Soria *");

textcolor(11);

gotoxy(5,22);cprintf("Desea Volver... ");scanf("%d",&op);

    }while(op==1);

}

                                              PRUEBA DE ESCRITORIO 5




                                                        24
Jéssica Soria

            /*   Diseñe          un      Programa                  que   me     permita            GENERAR
            MÚLTIPLOS                   de         cualquier                  factorsolo             en        las
            DIAGONALES                 PRINCIPAL                   Y   SECUNDARIA               las      demás
            posiciones se llenencon las POSICIONES 0. */

      ANALISIS

      Primero escribo las Librerías.

      Declaro Variables para usarlas en el programa

      Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

      Realizo el diseño de pantalla.

      Posteriormente para generar las matrices necesito leer un límite y 2 factores propuestos por el usuario que en
      este caso será (lim), (fac1), (fac2).

      A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán
      limitados hasta que i<=lim de igual modo j.

      Para la Diagonal Principal si i==j genera los múltiplos del fac1 caso contrario imprimo 0.

      Para la Diagonal Secundaria [i][b] es igual a los múltiplos del fac2.

      A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
      manera.

            DESARROLLO

#include<conio.h>

#include<stdio.h>

voidmain()

{

/*Declaración de variables a usar en el programa*/

intlim,col,fila,op,a,b,c,i,j,matriz[10][10],fac1,fac2,dig1,dig2;

/*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/

do{

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

clrscr();



                                                             25
Jéssica Soria

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(125);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=77;i++)

   {

        gotoxy(i,2);cprintf("Í");

        gotoxy(i,23);cprintf("Í");

   }

for(i=3;i<=22;i++)

   {

        gotoxy(2,i);cprintf("º");

        gotoxy(78,i);cprintf("º");

   }

gotoxy(2,2);cprintf("É");

gotoxy(2,23);cprintf("È");

gotoxy(78,2);cprintf("»");

gotoxy(78,23);cprintf("¼");

textcolor(63);

gotoxy(15,4);cprintf("=> Diagonal Principal y Diagonal Secundaria <=");

textcolor(44);

/*Aquí gracias al SCANF(); ingresamos el límite*/

gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim);

gotoxy(10,6);cprintf("Ingrese el Factor de la Diagonal Principal==> ");scanf("%d",&fac1);

gotoxy(10,7);cprintf("Ingrese el Factor de la Diagonal Secundaria==> ");scanf("%d",&fac2);

col=30;fila=9;

textcolor(43);



                                                         26
Jéssica Soria

   c=1+(lim/2);a=0;

for(i=1;i<=lim;i++)

   {

        for(j=1;j<=lim;j++)

         {

             a=col;

        if(i==j)

             {

        if(i==c)

                 {

                     matriz[i][j]=fac1*i;

                     gotoxy(a-=2,fila);cprintf("%d",matriz[i][j]);

                 }

        else

                 {

                     matriz[i][j]=fac1*i;

                     gotoxy(col,fila);cprintf("%d",matriz[i][j]);

                 }

             }

        else

        {

                     gotoxy(col,fila);printf("0");

             }

             a=col;

        col=col+5;

         }



                                                                    27
Jéssica Soria

         fila=fila+3;

         col=30;

}

b=1;fila=9;

textcolor(90);

     c=1+(lim/2);

for(i=lim;i>=1;i--)

     {

         if(i==c)

             {

         matriz[i][b]=fac2*b;

         gotoxy(a+=1,fila);cprintf("%d",matriz[i][b]);

         b++;a=a-6;fila=fila+3;

         }

         else

             {

         matriz[i][b]=fac2*b;

         gotoxy(a,fila);cprintf("%d",matriz[i][b]);

         b++;a=a-5;fila=fila+3;

             }

     }

textcolor(125);

gotoxy(60,21);cprintf("* J‚ssica Soria *");

textcolor(10);

gotoxy(4,21);cprintf("Desea Volver... ");scanf("%d",&op);

    }while(op==1);



                                                           28
Jéssica Soria

}

    PRUEBA DE ESCRITORIO 6




              29
Jéssica Soria

        /*       Diseñe              un          Programa         utilizando               matrices                y
        funciones                  que           permita      generar           n     elementos                   en
        unamatriz                 cuadrática,              con      VALORES             PARES           en        la
        DIAGONAL                    PRINCIPAL,                VALORES             IMPARES              en         la
        DIAGONAL                   SECUNDARIA                 y     las      demás           posiciones
        con VALORES 0*/

    ANALISIS

    Primero escribo las Librerías.

    Declaro Variables para usarlas en el programa

    Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

    Realizo el diseño de pantalla.

    Posteriormente para generar las matrices necesito leer un límite y 2 factores propuestos por el usuario que en
    este caso será (lim), (fac1), (fac2).

    A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán
    limitados hasta que i<=lim de igual modo j.

    Para la Diagonal Principal si i==j genera los múltiplos del fac1 caso contrario imprimo 0.

    Para la Diagonal Secundaria [i][b] es igual a los múltiplos del fac2.

    A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma
    manera.

        DESARROLLO



#include<stdio.h>

#include<conio.h>

/*Declaración de variables a usar en el programa*/

intmatriz[20][20],lim,a,b,c,d,op,col,fila,i,j;

void borde()

{

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=77;i++)


                                                         30
Jéssica Soria

    {

         gotoxy(i,2);printf("Í");

         gotoxy(i,24);printf("Í");

    }

for(i=3;i<=23;i++)

    {

         gotoxy(3,i);printf("º");

         gotoxy(78,i);printf("º");

    }

}

void par(intlim)

{

    a=2;col=10;fila=10;

for(i=1;i<=lim;i++)

    {

         for(j=1;j<=lim;j++)

         {

             c=col;

         if(i==j)

             {



         matriz[i][j]=a*i;

         gotoxy(col,fila);printf("%d",matriz[i][j]);

             }

         else

             {



                                                            31
Jéssica Soria

            matriz[i][j]=0;

            gotoxy(col,fila);printf("%d",matriz[i][j]);

                }

            col=col+5;

            }

            fila=fila+3;

            col=10;

    }

}

voidimpar(intlim)

{

    j=lim;a=1;b=1;

fila=10;d=1+(lim/2);

for(i=1;i<=lim;i++)

    {

matriz[i][j]=a*b;

if(i==d)

        {

            op=c;

            gotoxy(op-=2,fila);printf("%d",matriz[i][j]);

        }

else

        {

            gotoxy(c,fila);printf("%d",matriz[i][j]);

}

a=a+2;j--;



                                                               32
Jéssica Soria

      c=c-5;fila=fila+3;

}

}

void main()

{

/*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/

do{

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

clrscr();

borde();

gotoxy(15,4);printf("==>EVALUCIàN: ELEMENTO 1 <==");

/*Aqui gracias al SCANF(); ingresamos el límite*/

gotoxy(10,6);printf("Ingrese el L¡mite ==> ");scanf("%d",&lim);

par(lim);

impar(lim);

gotoxy(10,23);printf("Deseavolver... ");scanf("%d",&op);

}while(op==1);

}




                                                           33
Jéssica Soria

PRUEBA DE ESCRITORIO 7




          34
Jéssica Soria

             /*Diseñar               un     Programa               que        mepermita                 realizar
             elPRODUCTO                         ALGEBRAICO                           de2            MATRICES
             validadas entre 1-23, utilizando FUNCIONES. */

        ANALISIS

        Primero escribo las Librerías.

        Declaro Variables para usarlas en el programa

        Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera.

        Realizo el diseño de pantalla.

        Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este
        caso será (lim).

        A lo posterior se usarán 4 FOR para el ingreso de la matriz1 y matriz2 i-> para fila y j-> para columna los que
        serán limitados hasta que i<=lim de igual modo j.

        A continuación se usaran 3 FOR para realizar el producto de la matriz.

             DESARROLLO

#include<conio.h>

#include<stdio.h>

/*Declaración de variables a usar en el programa*/

int i,j,k,a,b,c,d,op,m1[10][10],m2[10][10],m3[10][10],lim,col,fila,b1[30];

void borde()

{

/* El TEXTCOLOR(); nos sirve para darle color al borde*/

textcolor(138);

/*Estos lazos FOR usamos para dibujar el borde*/

for(i=3;i<=77;i++)

    {

        gotoxy(i,2);cprintf("Í");

        gotoxy(i,24);cprintf("Í");

    }

                                                             35
Jéssica Soria

    for(i=3;i<=23;i++)

    {

        gotoxy(2,i);cprintf("º");

        gotoxy(78,i);cprintf("º");

    }

    gotoxy(2,2);cprintf("É");

    gotoxy(2,24);cprintf("È");

    gotoxy(78,2);cprintf("»");

    gotoxy(78,24);cprintf("¼");

}

void ingreso(int lim)

{

    col=5;fila=10;a=4;b=9;

    for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)

        {



             do{

                gotoxy(col,fila);printf(" ");

                gotoxy(col,fila);scanf("%d",&m1[i][j]);

             }while(m1[i][j]<1||m1[i][j]>23);

             col=col+4;a=a+3;

        }

        fila=fila+2;

col=5;b=b+3;a=4;



                                                               36
Jéssica Soria

    }

    col=30;fila=10;

    for(i=1;i<=lim;i++)

    {

        for(j=1;j<=lim;j++)

        {

             do{

                  gotoxy(col,fila);printf(" ");

                  gotoxy(col,fila);scanf("%d",&m2[i][j]);

             }while(m2[i][j]<1||m2[i][j]>23);

             col=col+4;

        }

        fila=fila+2;

        col=30;

}

}

void bordeMatriz(int lim)

{

    textcolor(125);

    a=5;b=9;

    for(i=1;i<=lim+1;i++)

    {

        for(j=1;j<=lim;j++)

        {

             gotoxy(a,b);cprintf("ÄÄÄÄ");

             a=a+3;



                                                                 37
Jéssica Soria

    }

    b=b+2;a=5;

}

a=4;b=10;

for(i=1;i<=lim;i++)

{

    for(j=1;j<=lim+1;j++)

    {

         gotoxy(a,b);cprintf("³");

         a=a+4;

    }

    b=b+2;a=4;

}

a=30;b=9;

for(i=1;i<=lim+1;i++)

{

    for(j=1;j<=lim;j++)

    {

         gotoxy(a,b);cprintf("ÄÄÄÄ");

         a=a+3;

    }

    b=b+2;a=30;

}

a=29;b=10;

for(i=1;i<=lim;i++)

{



                                             38
Jéssica Soria

        for(j=1;j<=lim+1;j++)

        {

             gotoxy(a,b);cprintf("³");

             a=a+4;

        }

        b=b+2;a=29;

    }

    a=60;b=9;

    for(i=1;i<=lim+1;i++)

    {

        for(j=1;j<=lim;j++)

        {

             gotoxy(a,b);cprintf("ÄÄÄÄ");

            a=a+3;

        }

        b=b+2;a=60;

    }

    a=59;b=10;

    for(i=1;i<=lim;i++)

{

        for(j=1;j<=lim+1;j++)

        {

             gotoxy(a,b);cprintf("³");

             a=a+4;

        }

        b=b+2;a=59;



                                                 39
Jéssica Soria

    }



}

void producto(int lim)

{

    for(i=0;i<=lim;i++)

    {

        for(k=0;k<=lim;k++)

        {

        m3[i][k]=0;

             for(j=0;j<=lim;j++)

             {

                 m3[i][k]=m3[i][k]+m1[i][j]*m2[j][k];

             }

        }

    }

    col=60;fila=10;

    for(i=1;i<=lim;i++)

    {

        for(k=1;k<=lim;k++)

        {

              gotoxy(col,fila);printf("%d",m3[i][k]);

             col=col+5;

        }

        fila=fila+2;

        col=60;



                                                             40
Jéssica Soria

}

}

void main()

{

/*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/

do{

/*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/

clrscr();

    borde();

textcolor(110);

    gotoxy(27,5);cprintf("=> PRODUCTO DE MATRICES <=");

/*Aquí gracias al SCANF(); ingresamos el límite*/

    gotoxy(15,7);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim);

    bordeMatriz(lim);

    ingreso(lim);

    producto(lim);

    textcolor(122);

    gotoxy(55,21);cprintf(" =>J‚ssica Soria <=");

    gotoxy(15,21);printf("Desea volver==> ");scanf("%d",&a);

    }while(a==1);

}




                                                           41
Jéssica Soria

PRUEBA DE ESCRITORIO 8




          42

Contenu connexe

Tendances (18)

Mars
MarsMars
Mars
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Matlab presentacion enero2012
Matlab presentacion enero2012Matlab presentacion enero2012
Matlab presentacion enero2012
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos C#
Arreglos C#Arreglos C#
Arreglos C#
 
Exposicion Arreglos
Exposicion ArreglosExposicion Arreglos
Exposicion Arreglos
 
Tutorial De Matlab
Tutorial De MatlabTutorial De Matlab
Tutorial De Matlab
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Presentacion de vectores y matrices
Presentacion de vectores y matricesPresentacion de vectores y matrices
Presentacion de vectores y matrices
 
Arreglos
ArreglosArreglos
Arreglos
 
12 Arreglos
12 Arreglos12 Arreglos
12 Arreglos
 

En vedette

Como crear y publicar con slide share angie
Como crear y publicar con slide share angieComo crear y publicar con slide share angie
Como crear y publicar con slide share angie
Zrtá Ztárt Cisf
 
Presentacion de sena jarry
Presentacion de sena jarryPresentacion de sena jarry
Presentacion de sena jarry
tefadianis
 
Ejercicio 4.b4 desarrollo del tema 1
Ejercicio 4.b4 desarrollo del tema 1Ejercicio 4.b4 desarrollo del tema 1
Ejercicio 4.b4 desarrollo del tema 1
Daniela Rottweilas
 
Las tecnologias en la educacion
Las tecnologias en la educacionLas tecnologias en la educacion
Las tecnologias en la educacion
silviapaz1983
 
Presentación vacaciones
Presentación vacacionesPresentación vacaciones
Presentación vacaciones
JUANKAPAZO274
 

En vedette (20)

Angel guimerà
Angel guimeràAngel guimerà
Angel guimerà
 
Abcdario de-navidad
Abcdario de-navidadAbcdario de-navidad
Abcdario de-navidad
 
Primera sesión
Primera sesiónPrimera sesión
Primera sesión
 
Socialmind
SocialmindSocialmind
Socialmind
 
Albun para el blog
Albun para el blogAlbun para el blog
Albun para el blog
 
Como crear y publicar con slide share angie
Como crear y publicar con slide share angieComo crear y publicar con slide share angie
Como crear y publicar con slide share angie
 
C d pc7_guia9
C d pc7_guia9C d pc7_guia9
C d pc7_guia9
 
Gina y laura (1)
Gina y laura (1)Gina y laura (1)
Gina y laura (1)
 
Presentacion de sena jarry
Presentacion de sena jarryPresentacion de sena jarry
Presentacion de sena jarry
 
Edwin ninasunta
Edwin ninasuntaEdwin ninasunta
Edwin ninasunta
 
I c
I cI c
I c
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Periferis d un ordinador
Periferis d un ordinadorPeriferis d un ordinador
Periferis d un ordinador
 
Ejercicio 4.b4 desarrollo del tema 1
Ejercicio 4.b4 desarrollo del tema 1Ejercicio 4.b4 desarrollo del tema 1
Ejercicio 4.b4 desarrollo del tema 1
 
Las tecnologias en la educacion
Las tecnologias en la educacionLas tecnologias en la educacion
Las tecnologias en la educacion
 
Tipos de ordenadores
Tipos de ordenadoresTipos de ordenadores
Tipos de ordenadores
 
Presentación vacaciones
Presentación vacacionesPresentación vacaciones
Presentación vacaciones
 
Dn12 u3 a9_gfc
Dn12 u3 a9_gfcDn12 u3 a9_gfc
Dn12 u3 a9_gfc
 
Las redes sociales.radpr.wordpess.com
Las redes sociales.radpr.wordpess.comLas redes sociales.radpr.wordpess.com
Las redes sociales.radpr.wordpess.com
 
ESTUDIO DE IMPACTO AMBIENTAL - RELLENO
ESTUDIO DE IMPACTO AMBIENTAL - RELLENO ESTUDIO DE IMPACTO AMBIENTAL - RELLENO
ESTUDIO DE IMPACTO AMBIENTAL - RELLENO
 

Similaire à Cuadernillo Programación (20)

Revista digital
Revista digitalRevista digital
Revista digital
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
 
Java modografico
Java modograficoJava modografico
Java modografico
 
Informatica
InformaticaInformatica
Informatica
 
Boletin 2
Boletin 2Boletin 2
Boletin 2
 
Los 5 fantasticos
Los 5 fantasticosLos 5 fantasticos
Los 5 fantasticos
 
Ejercicios de Lenguaje C #08 Resol.pdf
Ejercicios de Lenguaje C #08 Resol.pdfEjercicios de Lenguaje C #08 Resol.pdf
Ejercicios de Lenguaje C #08 Resol.pdf
 
Mat lab03
Mat lab03Mat lab03
Mat lab03
 
Clase 3 (1)
Clase 3 (1)Clase 3 (1)
Clase 3 (1)
 
Presentacion de vectores
Presentacion de vectoresPresentacion de vectores
Presentacion de vectores
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
Matlab2
Matlab2Matlab2
Matlab2
 
Matlab introducción-clase3
Matlab introducción-clase3Matlab introducción-clase3
Matlab introducción-clase3
 
Temaswing
TemaswingTemaswing
Temaswing
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Trabajo de investigación.
Trabajo de investigación.Trabajo de investigación.
Trabajo de investigación.
 
Tema 3
Tema 3Tema 3
Tema 3
 
Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 
Desarrollo de ejercicios básicos en matlab
Desarrollo de ejercicios básicos en matlabDesarrollo de ejercicios básicos en matlab
Desarrollo de ejercicios básicos en matlab
 

Dernier

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Dernier (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 

Cuadernillo Programación

  • 1. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN LIC. EN INFORMÁTICA TEMA:  CUADERNILLO DE PROGRAMACIÓN DEL PRIMER PARCIAL. III SEMESTRE “U” AUTOR:  JÉSSICA SORIA. LIC. WILMA GAVILÁNEZ 2011
  • 2. Jéssica Soria ¿QUÉ ES UNA MATRIZ? Una matriz es una tabla cuadrada o rectangular de datos (llamados elementos o entradas de la matriz) ordenados en filas y columnas, donde una fila es cada una de las líneas horizontales de la matriz y una columna es cada una de las líneas verticales. A una matriz con m filas y n columnas se le denomina matriz m-por-n (escrito m×n), y a m y n dimensiones de la matriz. Las dimensiones de una matriz siempre se dan con el número de filas primero y el número de columnas después. Comúnmente se dice que una matriz m-por-n tiene un orden de m × n ("orden" tiene el significado de tamaño). Dos matrices se dice que son iguales si son del mismo orden y tienen los mismos elementos. Al elemento de una matriz que se encuentra en la fila i-ésima y la columna j- ésima se le llama elemento i,j o elemento (i,j)-iésimo de la matriz. Se vuelve a poner primero las filas y después las columnas. Casi siempre, se denotan a las matrices con letras mayúsculas mientras que se utilizan las correspondientes letras en minúsculas para denotar a los elementos de las mismas. Por ejemplo, al elemento de una matriz A que se encuentra en la fila i-ésima y la columna j-ésima se le denota como ai,j o a[i,j]. Notaciones alternativas son A[i,j] o Ai,j. Además de utilizar letras mayúsculas para representar matrices, numerosos autores representan a las matrices con fuentes en negrita para distinguirlas de otros tipos de variables. Así A es una matriz, mientras que A es un escalar. Dada la matriz: que es una matriz 4x3. El elemento o es el 7. La matriz es una matriz 1×9, o un vector fila con 9 elementos. http://es.wikipedia.org/wiki/Vector 1
  • 3. Jéssica Soria ¿QUÉ ES UN VECTOR? En física, matemáticas e ingeniería, un vector (también llamado vector euclidiano o vector geométrico) es una herramienta geométrica utilizada para representar una magnitud física definida por un módulo (o longitud) y una dirección (u orientación).[1] [2] [3] [4] Los vectores se pueden representar geométricamente como segmentos de recta dirigidos o flechas en el plano o en el espacio . Se llama vector de dimensión a una tupla de números reales (que se llaman componentes del vector). El conjunto de todos los vectores de dimensión se representa como (formado mediante el producto cartesiano). Así, un vector perteneciente a un espacio se representa como: , donde . Un vector también se puede ver desde el punto de vista de la geometría como vector geométrico (usando frecuentemente el espacio tridimensional ó bidimensional ). Una representación conveniente de las magnitudes vectoriales es mediante un vector columna o un vector fila, particularmente cuando están implicadas operaciones matrices (tales como el cambio de base), del modo siguiente: Con esta notación, los vectores cartesianos quedan expresados en la forma: http://es.wikipedia.org/wiki/Matriz_%28matem%C3%A1tica%29 2
  • 4. Jéssica Soria /*Diseñe un Programa que me permita INGRESAR n elementos en una matriz cuadrada*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE();para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el Diseño de pantalla. Posteriormente para realizar el Ingreso de Matrices necesito leer un límite propuesto por el usuario que en este caso será (lim). A lo posterior se usará dos FOR para el ingreso de la Matriz, i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. DESARROLLO #include<conio.h> #include<stdio.h> voidmain() { /*Declaración de variables a usar en el programa*/ int a,b,c,i,j,col,fila,lim,matriz1[10][10]; /*Este DO{}WHILE();servira para realizer un Nuevo programa*/ do{ /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ clrscr(); /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ 3
  • 5. Jéssica Soria for(i=5;i<=74;i++) { gotoxy(i,4);cprintf("Í"); gotoxy(i,21);cprintf("Í"); } for(i=5;i<=20;i++) { gotoxy(4,i);cprintf("º"); gotoxy(75,i);cprintf("º"); } gotoxy(4,4);cprintf("É"); gotoxy(4,21);cprintf("È"); gotoxy(75,4);cprintf("»"); gotoxy(75,21);cprintf("¼"); textcolor(122); /*Aqui gracias al SCANF(); ingresamos el límite*/ gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim); col=15;fila=10;b=14;c=9; textcolor(123); /*Estos lazos FOR son usados para leer los datos de la matriz*/ for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { gotoxy(col,fila);cscanf("%d",&matriz1[i][j]); col=col+5; 4
  • 6. Jéssica Soria } fila=fila+3; col=15;b=14; } /*Estos lazos FOR son usados para imprimir los datos de la matriz*/ col=15;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { gotoxy(col,fila);printf("%d",matriz1[i][j]); col=col+5; } fila=fila+3; col=15; } textcolor(121); /*Aqui leemos la opcion si desea continuar o no*/ gotoxy(10,19);cprintf("Desea continuar==> ");scanf("%d",&a); }while(a==1); } 5
  • 7. Jéssica Soria PRUEBA DE ESCRITORIO 1 6
  • 8. Jéssica Soria /*2. Diseñe un Programa que me permita GENERAR n múltiplos de CUALQUIER FACTOR ingresado desde teclado que se encuentre entre 2 y 9 la matriz es cuadrática se VISUALIZA LA ENTRADA Y SALIDA*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para generar la matrices necesito leer un factor y un limitepropuesto por el usuario que en este caso será (fac) y (lim). A lo posterior se usará dos FOR para el generar de la matriz además se usara un contador (x) inicializado en 1 que se irá incrementando cada vez que j se incremente i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. DESARROLLO #include<conio.h> #include<stdio.h> voidmain() { /*Declaración de variables a usar en el programa*/ inti,j,a,matriz[10][10],col,fila,lim,fac,x,m; /*Este DO{}WHILE();servira para realizer un Nuevo programa*/ do{ /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ clrscr(); 7
  • 9. Jéssica Soria /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=4;i<=76;i++) { gotoxy(i,2);printf("Í"); gotoxy(i,24);printf("Í"); } for(i=3;i<=23;i++) { gotoxy(3,i);printf("º"); gotoxy(77,i);printf("º"); } /* Usamos un DO{}WHILE(); para controlar el tipo de factor*/ do{ gotoxy(10,5);printf("Ingrese el Factor==> ");scanf("%d",&fac); }while(fac<1 &&fac>10); /*Aqui gracias al SCANF(); ingresamos el límite*/ gotoxy(10,7);printf("Ingrese el L¡mite de la Matriz==> ");scanf("%d",&lim); col=15;fila=10;x=1; /*Estos lazos FOR son usados para imprimir los datos de la matriz*/ for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { matriz[i][j]=fac*x; 8
  • 10. Jéssica Soria gotoxy(col,fila);printf("%d",matriz[i][j]); col=col+5;x=x+1; } fila=fila+3; col=15; } col=55;fila=10;x=1; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { matriz[i][j]=fac*x; gotoxy(col,fila);printf("%d",matriz[i][j]); col=col+5;x=x+1; } fila=fila+3; col=55; } gotoxy(50,22);printf("Deseavolver==> ");scanf("%d",&a); }while(a==1); } 9
  • 11. Jéssica Soria PRUEBA DE ESCRITORIO 2 10
  • 12. Jéssica Soria /*3. Diseñe un programa que me permita LEER UNA MATRIZ, IMPRIMIR la misma e imprimir su DIAGONAL PRINCIPAL*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este caso será (lim). A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. Luego se usara otros dos FOR para imprimir la diagonal principal y esto se logra gracias a un IF() en donde se compara i==j para poder imprimir la Diagonal Principal . DESARROLLO #include<conio.h> #include<stdio.h> /*Declaración de variables a usar en el programa*/ int a,i,j,col,fila,lim,num,dnp[10],b,matrize[10][10],matrizs[10][10]; void main() { /*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/ do{ clrscr(); /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ /* El TEXTCOLOR(); nos sirve para darle color al borde*/ 11
  • 13. Jéssica Soria textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=78;i++) { gotoxy(i,2);cprintf("Í"); gotoxy(i,23);cprintf("Í"); } for(i=2;i<=23;i++) { gotoxy(2,i);cprintf("º"); gotoxy(77,i);cprintf("º"); } /*Aqui gracias al SCANF(); ingresamos el límite*/ gotoxy(15,5);printf("Ingrese el L¡mite==> ");scanf("%d",&lim); /*Aqui gracias al SCANF(); ingresamos la Matriz*/ col=5;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { gotoxy(col+=3,fila);scanf("%d",&matrize[i][j]); } fila=fila+3; col=5; } /*Estos lazos FOR son usados para imprimir los datos de la matriz*/ 12
  • 14. Jéssica Soria col=25;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { gotoxy(col+=3,fila);printf("%d",matrize[i][j]); } fila=fila+3; col=25; } /*Estos lazos FOR son usados para imprimir los datos de la Diagonal Principal*/ textcolor(35); col=40;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { if(i==j) { gotoxy(col+=5,fila);cprintf("%d",matrize[i][j]); } else { gotoxy(col+=5,fila);cprintf(" "); } } 13
  • 15. Jéssica Soria fila=fila+3; col=40; } gotoxy(15,20);printf("<== J‚ssica Soria ==> "); gotoxy(55,20);printf("Desea Volver==> ");scanf("%d",&a); }while(a==1); } PRUEBA DE ESCRITORIO 3 14
  • 16. Jéssica Soria /*Diseñe un Programa que me permita LEER una MATRIZ, IMPRIMIR la misma e IMPRIMIR su DIAGONAL PRINCIPAL y DIAGONAL SECUNDARIA*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este caso será (lim). A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. Luego se usara otros dos FOR para imprimir la diagonal principal y esto se logra gracias a un IF() en donde se compara i==j para poder imprimir la Diagonal Principal caso contrario se imprimiría un espacio en blanco . Para la Diagonal Secundaria uso solamente un For que vaya hasta Llim y un contador inicializado en el lim para que este se decremente. DESARROLLO #include<conio.h> #include<stdio.h> /*Declaración de variables a usar en el programa*/ int a,i,j,col,fila,lim,num,dnp[10],b,matrize[10][10],matrizs[10][10]; void main() { /*Este DO{}WHILE(); servira para realizer un Nuevo programa*/ do{ clrscr(); 15
  • 17. Jéssica Soria /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=76;i++) { gotoxy(i,2);cprintf("Í"); gotoxy(i,23);cprintf("Í"); } for(i=3;i<=22;i++) { gotoxy(2,i);cprintf("º"); gotoxy(77,i);cprintf("º"); } gotoxy(2,2);cprintf("É"); gotoxy(77,2);cprintf("»"); gotoxy(77,23);cprintf("¼"); gotoxy(2,23);cprintf("È"); textcolor(56); /*Aqui gracias al SCANF(); ingresamos el límite*/ gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim); col=5;fila=10;a=4;b=7; textcolor(23); for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) 16
  • 18. Jéssica Soria { do{ gotoxy(col,fila);printf("ÍÍÍ"); gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&matrize[i][j]); }while(matrize[i][j]<8 || matrize[i][j]>58); col=col+3; } fila=fila+3; col=5; } col=25;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { gotoxy(col+=3,fila);cprintf("%d",matrize[i][j]); } fila=fila+3; col=25; } textcolor(35); col=40;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) 17
  • 19. Jéssica Soria { if(i==j) { gotoxy(col+=5,fila);cprintf("%d",matrize[i][j]); } else { gotoxy(col+=5,fila);cprintf(" "); } } fila=fila+3; col=40; } textcolor(85); col=60;fila=10;b=lim; for(i=1;i<=lim;i++) { gotoxy(col-=5,fila);cprintf("%d",matrize[i][b]); b--;fila=fila+3; } textcolor(36); gotoxy(15,20);cprintf("<== J‚ssica Soria ==> "); gotoxy(55,20);printf("Desea Volver==> ");scanf("%d",&a); }while(a==1); } 18
  • 20. Jéssica Soria PRUEBA DE ESCRITORIO 4 19
  • 21. Jéssica Soria /*5. Diseñe un Programa que me permita ingresar N elementos entre 5 y45 en una Matriz Cuadrada, guardar los elementos Impares en un Vector y visualizarlos en forma ORDENADA*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este caso será (lim). A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j, dentro de este se usara un DO{}WHILE(); para condicionar que los elementos sean entre 5 y 45. A continuación se usaran dos FOR mas para a cada elemento de la matriz dividir para 2 y saber si es par o impar, si es impar se procederá a guardar en un vector. Para ordenar el vector se usa 3 auxiliares en donde ira intercambiando los valores y ordenando el vector. DESARROLLO #include<conio.h> #include<stdio.h> voidmain() { /*Declaración de variables a usar en el programa*/ intlim,a,b,c,i,j,col,fila,matriz[10][10],vec[20],op; /*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/ do{ clrscr(); /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ 20
  • 22. Jéssica Soria /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=77;i++) { gotoxy(i,2);cprintf("Í"); gotoxy(i,24);cprintf("Í"); } for(i=3;i<=23;i++) { gotoxy(2,i);cprintf("º"); gotoxy(78,i);cprintf("º"); } textcolor(25); /*Aquí gracias al SCANF(); ingresamos el límite*/ gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim); col=10;fila=10; textcolor(38); gotoxy(5,8);cprintf("Ingreso de Matriz"); for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { do{ gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&matriz[i][j]); 21
  • 23. Jéssica Soria }while(matriz[i][j]<5||matriz[i][j]>45); col=col+3; } fila=fila+3; col=10; } a=1;col=35;fila=10; textcolor(94); gotoxy(30,8);cprintf("Vector Resultante"); for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { if(matriz[i][j]%2==0) { } else { vec[a]=matriz[i][j]; gotoxy(col,fila);cprintf("%d",vec[a]); a=a+1;fila=fila+3; } if(fila>22) { col=col+3; fila=10; 22
  • 24. Jéssica Soria } } } for(i=1;i<=a;i++) { for(j=1;j<=a;j++) { if(vec[i]<vec[j]) { b=vec[i]; vec[i]=vec[j]; vec[j]=b; } } } fila=7;col=50; textcolor(74); gotoxy(50,8);cprintf("Vector Ordenado"); for(i=1;i<=a;i++) { gotoxy(col,fila+=3);cprintf("%d",vec[i]); if(fila>20) { col=col+3; fila=7; } 23
  • 25. Jéssica Soria } textcolor(356); gotoxy(60,22);cprintf("* J‚ssica Soria *"); textcolor(11); gotoxy(5,22);cprintf("Desea Volver... ");scanf("%d",&op); }while(op==1); } PRUEBA DE ESCRITORIO 5 24
  • 26. Jéssica Soria /* Diseñe un Programa que me permita GENERAR MÚLTIPLOS de cualquier factorsolo en las DIAGONALES PRINCIPAL Y SECUNDARIA las demás posiciones se llenencon las POSICIONES 0. */ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para generar las matrices necesito leer un límite y 2 factores propuestos por el usuario que en este caso será (lim), (fac1), (fac2). A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. Para la Diagonal Principal si i==j genera los múltiplos del fac1 caso contrario imprimo 0. Para la Diagonal Secundaria [i][b] es igual a los múltiplos del fac2. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. DESARROLLO #include<conio.h> #include<stdio.h> voidmain() { /*Declaración de variables a usar en el programa*/ intlim,col,fila,op,a,b,c,i,j,matriz[10][10],fac1,fac2,dig1,dig2; /*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/ do{ /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ clrscr(); 25
  • 27. Jéssica Soria /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(125); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=77;i++) { gotoxy(i,2);cprintf("Í"); gotoxy(i,23);cprintf("Í"); } for(i=3;i<=22;i++) { gotoxy(2,i);cprintf("º"); gotoxy(78,i);cprintf("º"); } gotoxy(2,2);cprintf("É"); gotoxy(2,23);cprintf("È"); gotoxy(78,2);cprintf("»"); gotoxy(78,23);cprintf("¼"); textcolor(63); gotoxy(15,4);cprintf("=> Diagonal Principal y Diagonal Secundaria <="); textcolor(44); /*Aquí gracias al SCANF(); ingresamos el límite*/ gotoxy(15,5);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim); gotoxy(10,6);cprintf("Ingrese el Factor de la Diagonal Principal==> ");scanf("%d",&fac1); gotoxy(10,7);cprintf("Ingrese el Factor de la Diagonal Secundaria==> ");scanf("%d",&fac2); col=30;fila=9; textcolor(43); 26
  • 28. Jéssica Soria c=1+(lim/2);a=0; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { a=col; if(i==j) { if(i==c) { matriz[i][j]=fac1*i; gotoxy(a-=2,fila);cprintf("%d",matriz[i][j]); } else { matriz[i][j]=fac1*i; gotoxy(col,fila);cprintf("%d",matriz[i][j]); } } else { gotoxy(col,fila);printf("0"); } a=col; col=col+5; } 27
  • 29. Jéssica Soria fila=fila+3; col=30; } b=1;fila=9; textcolor(90); c=1+(lim/2); for(i=lim;i>=1;i--) { if(i==c) { matriz[i][b]=fac2*b; gotoxy(a+=1,fila);cprintf("%d",matriz[i][b]); b++;a=a-6;fila=fila+3; } else { matriz[i][b]=fac2*b; gotoxy(a,fila);cprintf("%d",matriz[i][b]); b++;a=a-5;fila=fila+3; } } textcolor(125); gotoxy(60,21);cprintf("* J‚ssica Soria *"); textcolor(10); gotoxy(4,21);cprintf("Desea Volver... ");scanf("%d",&op); }while(op==1); 28
  • 30. Jéssica Soria } PRUEBA DE ESCRITORIO 6 29
  • 31. Jéssica Soria /* Diseñe un Programa utilizando matrices y funciones que permita generar n elementos en unamatriz cuadrática, con VALORES PARES en la DIAGONAL PRINCIPAL, VALORES IMPARES en la DIAGONAL SECUNDARIA y las demás posiciones con VALORES 0*/ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para generar las matrices necesito leer un límite y 2 factores propuestos por el usuario que en este caso será (lim), (fac1), (fac2). A lo posterior se usará dos FOR para el ingreso de la matriz i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. Para la Diagonal Principal si i==j genera los múltiplos del fac1 caso contrario imprimo 0. Para la Diagonal Secundaria [i][b] es igual a los múltiplos del fac2. A continuación se usaran dos FOR mas para imprimir la matriz, de igual modo se lo limitara de la misma manera. DESARROLLO #include<stdio.h> #include<conio.h> /*Declaración de variables a usar en el programa*/ intmatriz[20][20],lim,a,b,c,d,op,col,fila,i,j; void borde() { /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=77;i++) 30
  • 32. Jéssica Soria { gotoxy(i,2);printf("Í"); gotoxy(i,24);printf("Í"); } for(i=3;i<=23;i++) { gotoxy(3,i);printf("º"); gotoxy(78,i);printf("º"); } } void par(intlim) { a=2;col=10;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { c=col; if(i==j) { matriz[i][j]=a*i; gotoxy(col,fila);printf("%d",matriz[i][j]); } else { 31
  • 33. Jéssica Soria matriz[i][j]=0; gotoxy(col,fila);printf("%d",matriz[i][j]); } col=col+5; } fila=fila+3; col=10; } } voidimpar(intlim) { j=lim;a=1;b=1; fila=10;d=1+(lim/2); for(i=1;i<=lim;i++) { matriz[i][j]=a*b; if(i==d) { op=c; gotoxy(op-=2,fila);printf("%d",matriz[i][j]); } else { gotoxy(c,fila);printf("%d",matriz[i][j]); } a=a+2;j--; 32
  • 34. Jéssica Soria c=c-5;fila=fila+3; } } void main() { /*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/ do{ /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ clrscr(); borde(); gotoxy(15,4);printf("==>EVALUCIàN: ELEMENTO 1 <=="); /*Aqui gracias al SCANF(); ingresamos el límite*/ gotoxy(10,6);printf("Ingrese el L¡mite ==> ");scanf("%d",&lim); par(lim); impar(lim); gotoxy(10,23);printf("Deseavolver... ");scanf("%d",&op); }while(op==1); } 33
  • 35. Jéssica Soria PRUEBA DE ESCRITORIO 7 34
  • 36. Jéssica Soria /*Diseñar un Programa que mepermita realizar elPRODUCTO ALGEBRAICO de2 MATRICES validadas entre 1-23, utilizando FUNCIONES. */ ANALISIS Primero escribo las Librerías. Declaro Variables para usarlas en el programa Uso un ciclo DO{}WHILE(); para realizar un Nuevo programa cada vez que el usuario lo requiera. Realizo el diseño de pantalla. Posteriormente para realizar el ingreso de matrices necesito leer un límite propuesto por el usuario que en este caso será (lim). A lo posterior se usarán 4 FOR para el ingreso de la matriz1 y matriz2 i-> para fila y j-> para columna los que serán limitados hasta que i<=lim de igual modo j. A continuación se usaran 3 FOR para realizar el producto de la matriz. DESARROLLO #include<conio.h> #include<stdio.h> /*Declaración de variables a usar en el programa*/ int i,j,k,a,b,c,d,op,m1[10][10],m2[10][10],m3[10][10],lim,col,fila,b1[30]; void borde() { /* El TEXTCOLOR(); nos sirve para darle color al borde*/ textcolor(138); /*Estos lazos FOR usamos para dibujar el borde*/ for(i=3;i<=77;i++) { gotoxy(i,2);cprintf("Í"); gotoxy(i,24);cprintf("Í"); } 35
  • 37. Jéssica Soria for(i=3;i<=23;i++) { gotoxy(2,i);cprintf("º"); gotoxy(78,i);cprintf("º"); } gotoxy(2,2);cprintf("É"); gotoxy(2,24);cprintf("È"); gotoxy(78,2);cprintf("»"); gotoxy(78,24);cprintf("¼"); } void ingreso(int lim) { col=5;fila=10;a=4;b=9; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { do{ gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&m1[i][j]); }while(m1[i][j]<1||m1[i][j]>23); col=col+4;a=a+3; } fila=fila+2; col=5;b=b+3;a=4; 36
  • 38. Jéssica Soria } col=30;fila=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { do{ gotoxy(col,fila);printf(" "); gotoxy(col,fila);scanf("%d",&m2[i][j]); }while(m2[i][j]<1||m2[i][j]>23); col=col+4; } fila=fila+2; col=30; } } void bordeMatriz(int lim) { textcolor(125); a=5;b=9; for(i=1;i<=lim+1;i++) { for(j=1;j<=lim;j++) { gotoxy(a,b);cprintf("ÄÄÄÄ"); a=a+3; 37
  • 39. Jéssica Soria } b=b+2;a=5; } a=4;b=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim+1;j++) { gotoxy(a,b);cprintf("³"); a=a+4; } b=b+2;a=4; } a=30;b=9; for(i=1;i<=lim+1;i++) { for(j=1;j<=lim;j++) { gotoxy(a,b);cprintf("ÄÄÄÄ"); a=a+3; } b=b+2;a=30; } a=29;b=10; for(i=1;i<=lim;i++) { 38
  • 40. Jéssica Soria for(j=1;j<=lim+1;j++) { gotoxy(a,b);cprintf("³"); a=a+4; } b=b+2;a=29; } a=60;b=9; for(i=1;i<=lim+1;i++) { for(j=1;j<=lim;j++) { gotoxy(a,b);cprintf("ÄÄÄÄ"); a=a+3; } b=b+2;a=60; } a=59;b=10; for(i=1;i<=lim;i++) { for(j=1;j<=lim+1;j++) { gotoxy(a,b);cprintf("³"); a=a+4; } b=b+2;a=59; 39
  • 41. Jéssica Soria } } void producto(int lim) { for(i=0;i<=lim;i++) { for(k=0;k<=lim;k++) { m3[i][k]=0; for(j=0;j<=lim;j++) { m3[i][k]=m3[i][k]+m1[i][j]*m2[j][k]; } } } col=60;fila=10; for(i=1;i<=lim;i++) { for(k=1;k<=lim;k++) { gotoxy(col,fila);printf("%d",m3[i][k]); col=col+5; } fila=fila+2; col=60; 40
  • 42. Jéssica Soria } } void main() { /*Este DO{}WHILE(); servirá para realizar un Nuevo programa*/ do{ /*Cada que se repite el programa se borra la pantalla gracias al CLRSCR();*/ clrscr(); borde(); textcolor(110); gotoxy(27,5);cprintf("=> PRODUCTO DE MATRICES <="); /*Aquí gracias al SCANF(); ingresamos el límite*/ gotoxy(15,7);cprintf("Ingrese el L¡mite==> ");scanf("%d",&lim); bordeMatriz(lim); ingreso(lim); producto(lim); textcolor(122); gotoxy(55,21);cprintf(" =>J‚ssica Soria <="); gotoxy(15,21);printf("Desea volver==> ");scanf("%d",&a); }while(a==1); } 41
  • 43. Jéssica Soria PRUEBA DE ESCRITORIO 8 42