SlideShare a Scribd company logo
1 of 43
Download to read offline
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

More Related Content

What's hot (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
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Recently uploaded

2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
🦄💫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
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
NancyLoaa
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Recently uploaded (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
🦄💫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
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
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
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 

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