SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Lenguaje de Programación I
          (L101)
          Sesión: 5
           Arreglos
      Ing. José C. Benítez P.
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización
           Arreglos de caracteres. Lectura de
           caracteres .
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   2
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización
           Arreglos de caracteres. Lectura de
           caracteres .
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   3
Arreglos. Concepto


         Un array es un identificador que referencia un
         conjunto de datos del mismo tipo.
         Imagina un tipo de dato int; con un array
         podremos crear un conjunto de datos de tipo
         int y utilizar uno u otro con sólo cambiar el
         índice que lo referencia.
         El índice será un valor entero y positivo.
         En C los arrays comienzan por la posición 0.




               Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   4
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización
           Arreglos de caracteres. Lectura de
           caracteres
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   5
Arrays. Declaración. Inicialización

         Un vector es un array unidimensional, es decir,
         sólo utiliza un índice para referenciar a cada uno
         de los elementos.
         Declaración:
                      tipo nombre [tamaño];
         El tipo puede ser cualquiera de los ya conocidos.
         El tamaño indica el número de elementos del
         vector ( se debe indicar entre corchetes [ ] ).




                 Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   6
Arrays. Declaración. Inicialización

  En el ejemplo se puede                   Archivo: array1.c
  observar que la variable i
                                           /* Declaración de un array. */
  es utilizada como índice, el
  primer for sirve para                    #include <stdio.h>
                                           main() /* Rellenamos del 0 - 9 */
  rellenar el vector y el                  {
  segundo para visualizarlo.                 int vector[10],i; /* Declaramos el array */
                                             for (i=0;i<10;i++) vector[i]=i; /* Inicializamos el array */
  Como se ve, las posiciones                 for (i=0;i<10;i++) printf(" %d",vector[i]); /* Imprime array */
                                           }
  van de 0 a 9 ( total 10
  elementos ).




                  Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.                           7
Arrays. Declaración. Inicialización

   Podemos inicializar (asignarle valores) un vector en el
   momento de declararlo.
   Si lo hacemos así no es necesario indicar el tamaño.
   Sintaxis:
           tipo nombre []={ valor 1, valor 2...};
   Ejemplos:
           int vector[]={1,2,3,4,5,6,7,8};
           char vector[]={'p','r','o','g','r','a','m','a','d','o','r‘, ‘0‘ };




                      Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   8
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización.
           Arreglos de caracteres. Lectura de
           caracteres
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   9
Arrays de caracteres.
    Declaración:
         char vector[]={'p','r','o','g','r','a','m','a','d','o','r‘, '0' };
         char vector[]="programador";
    En los vectores de tipo char (cadena de caracteres), se debe
    indicar en que elemento se encuentra el fin de la cadena
    mediante el caracter nulo (0).
    Esto no lo controla el compilador, y tendremos que insertar
    este caracter al final de la cadena.
    En un vector de 10 elementos de tipo char podremos
    rellenar un máximo de 9, es decir, hasta vector[8].
    Si sólo rellenamos los 5 primeros, hasta vector[4], debemos
    asignar el caracter nulo a vector[5]: vector[5]='0'; .

                   Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   10
Arrays de caracteres.
Ejemplo: Como se rellena un vector de tipo char.
 Podemos ver que en el for se encuentran dos
 condiciones:
                                                                          Archivo: arrays2.c
 1.- Que no se hayan rellenado todos los elementos (i<99).
 2.- Que el usuario no haya pulsado la tecla ENTER, cuyo
                                                                          /* Vector de tipo char. */
 código ASCII es 13. (cadena[x-i]!=13).
 También podemos observar una nueva función llamada
                                                                          #include <stdio.h>
 getche( ), que se encuentra en conio.h.
                                                                          #include <conio.h>
 Esta función permite la entrada de un caracter por
                                                                          main() /* Rellenamos un vector char */
 teclado.
                                                                          {
 Después se encuentra un if, que comprueba si se ha
                                                                            char cadena[100];
 rellenado todo el vector.
                                                                            int i;
 Si es cierto, coloca el caracter nulo en el elemento nº100
                                                                            for (i=0;i<99 && cadena[i-1]!=13;i++)
 (cadena[99]).
                                                                                       cadena[i]=getche( );
 En caso contrario tenemos el else, que asigna el caracter
                                                                            if (i==99) cadena[i]='0';
 nulo al elemento que almacenó el caracter ENTER.
                                                                            else cadena[i-1]='0';
                                                                            printf("n%s",cadena);
 Nota: Al declarar una cadena deberemos reservar una
                                                                          }
 posición adicional (para '0') a la longitud que queremos
 que tenga dicha cadena.

                             Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.                     11
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización.
           Arreglos de caracteres. Lectura de
           caracteres .
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   12
Arrays multimensionales

    Una matriz es un array multidimensional. Se definen
    igual que los vectores excepto que se requiere un
    índice por cada dimensión.
    Sintaxis:
    tipo nombre [tamaño 1][tamaño 2]...;
    Una matriz bidimensional se podría representar
    gráficamente como una tabla con filas y columnas.
    La matriz tridimensional se utiliza, por ejemplo, para
    trabajos gráficos con objetos 3D.



                 Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   13
Arrays multimensionales
                                                             Archivo: arrays4.c
En el ejemplo:
Se puede ver como se rellena y                               /* Matriz bidimensional. */
                                                             #include <stdio.h>
visualiza una matriz bidimensional.                          main() /* Rellenamos una matriz */
                                                             {
Se necesitan dos bucles para cada                               int x,i,numeros[3][4];
una de las operaciones (relleno y                               /* rellenamos la matriz */
                                                                for (x=0;x<3;x++)
visualización).                                                   for (i=0;i<4;i++)
Un bucle controla las filas y otro las                              scanf("%d",&numeros[x][i]);
                                                                /* visualizamos la matriz */
columnas.                                                       for (x=0;x<3;x++)
                                                                  for (i=0;i<4;i++)
                                                                     printf("%d",numeros[x][i]);
                                                             }




                     Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.                    14
Arrays multimensionales

  Si al declarar una matriz también queremos inicializarla, habrá
  que tener en cuenta el orden en el que los valores son
  asignados a los elementos de la matriz.

  Ejemplos:
  int numeros[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

  quedarían asignados de la siguiente manera:
  numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4
  numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8
  numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12



                   Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   15
Sesión 5. Temas

         Arreglos
           Concepto
           Vector o array unidimensional.
           Declaración. Inicialización.
           Arreglos de caracteres. Lectura de
           caracteres .
           Matriz o array multimensional.
           Declaración. Inicialización
           Arreglos de cadenas. Lectura de cadenas




              Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   16
Arrays de cadenas

     También se pueden inicializar cadenas de texto:

     char dias[7][10] = {"lunes", "martes", "miércoles",
     "jueves","viernes","sábado","domingo"};

     Para referirnos a cada palabra bastaría con el
     primer índice:

     printf("%s", dias[i] );




                  Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   17
Recordar siempre:
                                                     Colocar en su código el encabezado.
Tarea (T4)                                           Los reportes deben empezar con un titulo.

Hacer un programa en C utilizando arrays para los siguientes enunciados:
1. Hacer una tabla que muestre los días de la semana y las temperaturas promedio, y la
     desviación estándar por día en grados centígrados. Solicitar día y tres temperaturas (mañana,
     tarde y noche), para los 07 días.
    El reporte debe ser el siguiente:
    Día TM         TT TN T. media (oC)             Desviación estándar de T.
2. Hacer una tabla que muestre los meses del año, los días del mes, los días feriados por mes y
     las semanas por mes.        Solicitar mes, feriados y numero de semanas para ese mes, para
     los 12 meses del año.
    El reporte debe ser el siguiente:
    Mes               Días del mes      Feriados Numero de Semanas
3. Hacer una tabla que muestre los nombres, apellidos y cumpleaños de sus familiares.
    Solicitar los nombres, apellidos y cumpleaños de sus padres, y los nombres y cumpleaños de
    sus hermanos. El reporte debe ser el siguiente:
    Nombres Apellidos Parentesco Fecha Cumpleaños
4. Solicitar un numero entero (n). Escribir una matriz de n x n. Mostrar la matriz y su transpuesta.
5. Solicitar un numero entero (n), generar un vector aleatorio de tamaño n, ordenar el vector de
     menor a mayor y presentarlo.
    Ejemplo: n=12 a[n]=[5, 8, 0, 1, 11, 2, 9, 3, 7, 4, 10, 6]
    Reporte:
    n=12 a[n]=[5, 8, 0, 1, 11, 2, 9, 3, 7, 4, 10, 6] A[n]=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
                           Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.            18
Presentación

   Todas las fuentes y tareas deben presentarse en su
   carpeta personal del Dropbox, dentro de una carpeta
   que lleve sus Apellidos, guion bajo y luego el número
   de la tarea. Ejemplo:
                BenitezP_T4
   Si para el desarrollo de las tareas utilizó otras fuentes,
   agregarlas en el Dropbox. La fuente debe conservar
   el nombre original y añadir al final _T4.


                 Las Tareas que no cumplan las
                     indicaciones no serán
                 considerados por el profesor.


               Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   19
Sesión 5. Arreglos

       Lenguaje de Programación I




           http://utplpi.blogspot.com
             Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P.   20

Más contenido relacionado

La actualidad más candente

Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
Jitle Noriega
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
diego MC
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
Johanna Marin
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
infobran
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
luisabn
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en c
Diego Maxdj Chicaiza
 

La actualidad más candente (20)

Mars
MarsMars
Mars
 
Fundamentos de java I
Fundamentos de java IFundamentos de java I
Fundamentos de java I
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
Arreglos
ArreglosArreglos
Arreglos
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Introduccions a java
Introduccions a javaIntroduccions a java
Introduccions a java
 
Arrays 8
Arrays 8Arrays 8
Arrays 8
 
Introducción a C SHARP
Introducción a C SHARPIntroducción a C SHARP
Introducción a C SHARP
 
Manual de c
Manual de cManual de c
Manual de c
 
Tema 9: Declaraciones de tipos y clases en Haskell
Tema 9: Declaraciones de tipos y clases en HaskellTema 9: Declaraciones de tipos y clases en Haskell
Tema 9: Declaraciones de tipos y clases en Haskell
 
Apuntadores
ApuntadoresApuntadores
Apuntadores
 
Arreglos en c++2020
Arreglos en c++2020Arreglos en c++2020
Arreglos en c++2020
 
Programar en c
Programar en cProgramar en c
Programar en c
 
Punteros2
Punteros2Punteros2
Punteros2
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C
 
Arreglos
ArreglosArreglos
Arreglos
 
Funciones con arrays y vectores en c
Funciones con arrays y vectores en cFunciones con arrays y vectores en c
Funciones con arrays y vectores en c
 
Implementacion de punteros
Implementacion de punterosImplementacion de punteros
Implementacion de punteros
 

Destacado

Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2
jcbenitezp
 
Utp lpi_s2y3_elementos del lenguaje c nuevo
 Utp lpi_s2y3_elementos del lenguaje c nuevo Utp lpi_s2y3_elementos del lenguaje c nuevo
Utp lpi_s2y3_elementos del lenguaje c nuevo
jcbenitezp
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
jcbenitezp
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2
jcbenitezp
 
Utp sirn_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2
jcbenitezp
 
Utp pro_s2y3_elementos del lenguaje c nuevo
 Utp pro_s2y3_elementos del lenguaje c nuevo Utp pro_s2y3_elementos del lenguaje c nuevo
Utp pro_s2y3_elementos del lenguaje c nuevo
jcbenitezp
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
jcbenitezp
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdma
jcbenitezp
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje c
jcbenitezp
 

Destacado (9)

Utp sirn_sl7 conjuntos difusos i 2012-2
 Utp sirn_sl7 conjuntos difusos i 2012-2 Utp sirn_sl7 conjuntos difusos i 2012-2
Utp sirn_sl7 conjuntos difusos i 2012-2
 
Utp lpi_s2y3_elementos del lenguaje c nuevo
 Utp lpi_s2y3_elementos del lenguaje c nuevo Utp lpi_s2y3_elementos del lenguaje c nuevo
Utp lpi_s2y3_elementos del lenguaje c nuevo
 
Utp i_ay_se_sistemas difusos i 2013-3
 Utp i_ay_se_sistemas difusos i 2013-3 Utp i_ay_se_sistemas difusos i 2013-3
Utp i_ay_se_sistemas difusos i 2013-3
 
Utp lpi_s4_instrucciones de control 2012-2
 Utp lpi_s4_instrucciones de control 2012-2 Utp lpi_s4_instrucciones de control 2012-2
Utp lpi_s4_instrucciones de control 2012-2
 
Utp sirn_sl3 salidas de rna 2012-2
 Utp sirn_sl3 salidas de rna 2012-2 Utp sirn_sl3 salidas de rna 2012-2
Utp sirn_sl3 salidas de rna 2012-2
 
Utp pro_s2y3_elementos del lenguaje c nuevo
 Utp pro_s2y3_elementos del lenguaje c nuevo Utp pro_s2y3_elementos del lenguaje c nuevo
Utp pro_s2y3_elementos del lenguaje c nuevo
 
Utp ia_sl4 la rna perceptron
 Utp ia_sl4 la rna perceptron Utp ia_sl4 la rna perceptron
Utp ia_sl4 la rna perceptron
 
Uni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdmaUni fiee ci sesion 09 cdma
Uni fiee ci sesion 09 cdma
 
Utp lpi_s1_introduccion al lenguaje c
 Utp lpi_s1_introduccion al lenguaje c Utp lpi_s1_introduccion al lenguaje c
Utp lpi_s1_introduccion al lenguaje c
 

Similar a Utp lpi_s5_arreglos 2012-2

Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
diego MC
 
ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++
die_dex
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
Jefferson Sarmiento
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
Gabriel Romero
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
zousbabastre
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
laryenso
 

Similar a Utp lpi_s5_arreglos 2012-2 (20)

Tema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdfTema 5 - Estructuras de datos.pdf
Tema 5 - Estructuras de datos.pdf
 
VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++VECTORES UNIDIMENCIONALES EN C++
VECTORES UNIDIMENCIONALES EN C++
 
Array
Array Array
Array
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
 
Arreglos
ArreglosArreglos
Arreglos
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Vectores en power point [recuperado]
Vectores en power point [recuperado]Vectores en power point [recuperado]
Vectores en power point [recuperado]
 
Trabajo en grupo
Trabajo en grupo Trabajo en grupo
Trabajo en grupo
 
Arrays C++
Arrays C++Arrays C++
Arrays C++
 
Transparencias8
Transparencias8Transparencias8
Transparencias8
 
Fundamentos de programacion en java
Fundamentos de programacion en javaFundamentos de programacion en java
Fundamentos de programacion en java
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
array
arrayarray
array
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
02 Bases Del Lenguaje Java
02   Bases Del Lenguaje Java02   Bases Del Lenguaje Java
02 Bases Del Lenguaje Java
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Arreglos en C++
Arreglos en C++Arreglos en C++
Arreglos en C++
 

Más de jcbenitezp

Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
jcbenitezp
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
jcbenitezp
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
jcbenitezp
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
jcbenitezp
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
jcbenitezp
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
jcbenitezp
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
jcbenitezp
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
jcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
jcbenitezp
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
jcbenitezp
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
jcbenitezp
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
jcbenitezp
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
jcbenitezp
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
jcbenitezp
 

Más de jcbenitezp (20)

Cap4 jc benitez
Cap4 jc benitezCap4 jc benitez
Cap4 jc benitez
 
Tarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimientoTarea 1 tesis i filosofia y conocimiento
Tarea 1 tesis i filosofia y conocimiento
 
It526 2017 2 ep
It526 2017 2 epIt526 2017 2 ep
It526 2017 2 ep
 
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 gUni rdsi 2016 1 sesion 13-14 redes moviles 4 g
Uni rdsi 2016 1 sesion 13-14 redes moviles 4 g
 
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 gUni rdsi 2016 1 sesion 12 redes moviles 3 g
Uni rdsi 2016 1 sesion 12 redes moviles 3 g
 
It526 2015 2 pc3
It526 2015 2 pc3 It526 2015 2 pc3
It526 2015 2 pc3
 
Calendario academico 2015 02 g
Calendario academico 2015   02 gCalendario academico 2015   02 g
Calendario academico 2015 02 g
 
Db vsa-011 registro de asistencia docente ago2015
Db vsa-011 registro de asistencia docente  ago2015Db vsa-011 registro de asistencia docente  ago2015
Db vsa-011 registro de asistencia docente ago2015
 
Utp 2015-2_pdi_lab3
 Utp 2015-2_pdi_lab3 Utp 2015-2_pdi_lab3
Utp 2015-2_pdi_lab3
 
Utp sirn_2015-2 lab3
 Utp sirn_2015-2 lab3 Utp sirn_2015-2 lab3
Utp sirn_2015-2 lab3
 
Pdi paterno m_lab2c
Pdi paterno m_lab2cPdi paterno m_lab2c
Pdi paterno m_lab2c
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp 2015-2_sirn_s7_r_competitivas
 Utp 2015-2_sirn_s7_r_competitivas Utp 2015-2_sirn_s7_r_competitivas
Utp 2015-2_sirn_s7_r_competitivas
 
Utp 2015-2_sirn_s6_adaline y backpropagation
 Utp 2015-2_sirn_s6_adaline y backpropagation Utp 2015-2_sirn_s6_adaline y backpropagation
Utp 2015-2_sirn_s6_adaline y backpropagation
 
Utp ia_s1_introduccion ia
 Utp ia_s1_introduccion ia Utp ia_s1_introduccion ia
Utp ia_s1_introduccion ia
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Utp sirn_2014-1 lab1
 Utp sirn_2014-1 lab1 Utp sirn_2014-1 lab1
Utp sirn_2014-1 lab1
 
Utp sirn_s1_introduccion ia 2014-2
 Utp sirn_s1_introduccion ia 2014-2 Utp sirn_s1_introduccion ia 2014-2
Utp sirn_s1_introduccion ia 2014-2
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Utp lpi_s5_arreglos 2012-2

  • 1. Lenguaje de Programación I (L101) Sesión: 5 Arreglos Ing. José C. Benítez P.
  • 2. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización Arreglos de caracteres. Lectura de caracteres . Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 2
  • 3. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización Arreglos de caracteres. Lectura de caracteres . Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 3
  • 4. Arreglos. Concepto Un array es un identificador que referencia un conjunto de datos del mismo tipo. Imagina un tipo de dato int; con un array podremos crear un conjunto de datos de tipo int y utilizar uno u otro con sólo cambiar el índice que lo referencia. El índice será un valor entero y positivo. En C los arrays comienzan por la posición 0. Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 4
  • 5. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización Arreglos de caracteres. Lectura de caracteres Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 5
  • 6. Arrays. Declaración. Inicialización Un vector es un array unidimensional, es decir, sólo utiliza un índice para referenciar a cada uno de los elementos. Declaración: tipo nombre [tamaño]; El tipo puede ser cualquiera de los ya conocidos. El tamaño indica el número de elementos del vector ( se debe indicar entre corchetes [ ] ). Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 6
  • 7. Arrays. Declaración. Inicialización En el ejemplo se puede Archivo: array1.c observar que la variable i /* Declaración de un array. */ es utilizada como índice, el primer for sirve para #include <stdio.h> main() /* Rellenamos del 0 - 9 */ rellenar el vector y el { segundo para visualizarlo. int vector[10],i; /* Declaramos el array */ for (i=0;i<10;i++) vector[i]=i; /* Inicializamos el array */ Como se ve, las posiciones for (i=0;i<10;i++) printf(" %d",vector[i]); /* Imprime array */ } van de 0 a 9 ( total 10 elementos ). Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 7
  • 8. Arrays. Declaración. Inicialización Podemos inicializar (asignarle valores) un vector en el momento de declararlo. Si lo hacemos así no es necesario indicar el tamaño. Sintaxis: tipo nombre []={ valor 1, valor 2...}; Ejemplos: int vector[]={1,2,3,4,5,6,7,8}; char vector[]={'p','r','o','g','r','a','m','a','d','o','r‘, ‘0‘ }; Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 8
  • 9. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización. Arreglos de caracteres. Lectura de caracteres Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 9
  • 10. Arrays de caracteres. Declaración: char vector[]={'p','r','o','g','r','a','m','a','d','o','r‘, '0' }; char vector[]="programador"; En los vectores de tipo char (cadena de caracteres), se debe indicar en que elemento se encuentra el fin de la cadena mediante el caracter nulo (0). Esto no lo controla el compilador, y tendremos que insertar este caracter al final de la cadena. En un vector de 10 elementos de tipo char podremos rellenar un máximo de 9, es decir, hasta vector[8]. Si sólo rellenamos los 5 primeros, hasta vector[4], debemos asignar el caracter nulo a vector[5]: vector[5]='0'; . Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 10
  • 11. Arrays de caracteres. Ejemplo: Como se rellena un vector de tipo char. Podemos ver que en el for se encuentran dos condiciones: Archivo: arrays2.c 1.- Que no se hayan rellenado todos los elementos (i<99). 2.- Que el usuario no haya pulsado la tecla ENTER, cuyo /* Vector de tipo char. */ código ASCII es 13. (cadena[x-i]!=13). También podemos observar una nueva función llamada #include <stdio.h> getche( ), que se encuentra en conio.h. #include <conio.h> Esta función permite la entrada de un caracter por main() /* Rellenamos un vector char */ teclado. { Después se encuentra un if, que comprueba si se ha char cadena[100]; rellenado todo el vector. int i; Si es cierto, coloca el caracter nulo en el elemento nº100 for (i=0;i<99 && cadena[i-1]!=13;i++) (cadena[99]). cadena[i]=getche( ); En caso contrario tenemos el else, que asigna el caracter if (i==99) cadena[i]='0'; nulo al elemento que almacenó el caracter ENTER. else cadena[i-1]='0'; printf("n%s",cadena); Nota: Al declarar una cadena deberemos reservar una } posición adicional (para '0') a la longitud que queremos que tenga dicha cadena. Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 11
  • 12. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización. Arreglos de caracteres. Lectura de caracteres . Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 12
  • 13. Arrays multimensionales Una matriz es un array multidimensional. Se definen igual que los vectores excepto que se requiere un índice por cada dimensión. Sintaxis: tipo nombre [tamaño 1][tamaño 2]...; Una matriz bidimensional se podría representar gráficamente como una tabla con filas y columnas. La matriz tridimensional se utiliza, por ejemplo, para trabajos gráficos con objetos 3D. Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 13
  • 14. Arrays multimensionales Archivo: arrays4.c En el ejemplo: Se puede ver como se rellena y /* Matriz bidimensional. */ #include <stdio.h> visualiza una matriz bidimensional. main() /* Rellenamos una matriz */ { Se necesitan dos bucles para cada int x,i,numeros[3][4]; una de las operaciones (relleno y /* rellenamos la matriz */ for (x=0;x<3;x++) visualización). for (i=0;i<4;i++) Un bucle controla las filas y otro las scanf("%d",&numeros[x][i]); /* visualizamos la matriz */ columnas. for (x=0;x<3;x++) for (i=0;i<4;i++) printf("%d",numeros[x][i]); } Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 14
  • 15. Arrays multimensionales Si al declarar una matriz también queremos inicializarla, habrá que tener en cuenta el orden en el que los valores son asignados a los elementos de la matriz. Ejemplos: int numeros[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; quedarían asignados de la siguiente manera: numeros[0][0]=1 numeros[0][1]=2 numeros[0][2]=3 numeros[0][3]=4 numeros[1][0]=5 numeros[1][1]=6 numeros[1][2]=7 numeros[1][3]=8 numeros[2][0]=9 numeros[2][1]=10 numeros[2][2]=11 numeros[2][3]=12 Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 15
  • 16. Sesión 5. Temas Arreglos Concepto Vector o array unidimensional. Declaración. Inicialización. Arreglos de caracteres. Lectura de caracteres . Matriz o array multimensional. Declaración. Inicialización Arreglos de cadenas. Lectura de cadenas Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 16
  • 17. Arrays de cadenas También se pueden inicializar cadenas de texto: char dias[7][10] = {"lunes", "martes", "miércoles", "jueves","viernes","sábado","domingo"}; Para referirnos a cada palabra bastaría con el primer índice: printf("%s", dias[i] ); Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 17
  • 18. Recordar siempre: Colocar en su código el encabezado. Tarea (T4) Los reportes deben empezar con un titulo. Hacer un programa en C utilizando arrays para los siguientes enunciados: 1. Hacer una tabla que muestre los días de la semana y las temperaturas promedio, y la desviación estándar por día en grados centígrados. Solicitar día y tres temperaturas (mañana, tarde y noche), para los 07 días. El reporte debe ser el siguiente: Día TM TT TN T. media (oC) Desviación estándar de T. 2. Hacer una tabla que muestre los meses del año, los días del mes, los días feriados por mes y las semanas por mes. Solicitar mes, feriados y numero de semanas para ese mes, para los 12 meses del año. El reporte debe ser el siguiente: Mes Días del mes Feriados Numero de Semanas 3. Hacer una tabla que muestre los nombres, apellidos y cumpleaños de sus familiares. Solicitar los nombres, apellidos y cumpleaños de sus padres, y los nombres y cumpleaños de sus hermanos. El reporte debe ser el siguiente: Nombres Apellidos Parentesco Fecha Cumpleaños 4. Solicitar un numero entero (n). Escribir una matriz de n x n. Mostrar la matriz y su transpuesta. 5. Solicitar un numero entero (n), generar un vector aleatorio de tamaño n, ordenar el vector de menor a mayor y presentarlo. Ejemplo: n=12 a[n]=[5, 8, 0, 1, 11, 2, 9, 3, 7, 4, 10, 6] Reporte: n=12 a[n]=[5, 8, 0, 1, 11, 2, 9, 3, 7, 4, 10, 6] A[n]=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 18
  • 19. Presentación Todas las fuentes y tareas deben presentarse en su carpeta personal del Dropbox, dentro de una carpeta que lleve sus Apellidos, guion bajo y luego el número de la tarea. Ejemplo: BenitezP_T4 Si para el desarrollo de las tareas utilizó otras fuentes, agregarlas en el Dropbox. La fuente debe conservar el nombre original y añadir al final _T4. Las Tareas que no cumplan las indicaciones no serán considerados por el profesor. Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 19
  • 20. Sesión 5. Arreglos Lenguaje de Programación I http://utplpi.blogspot.com Lenguaje de Programación I - Prof. Ing. Jose C. Benitez P. 20