SlideShare uma empresa Scribd logo
1 de 15
Fundamentos de Programación

          Arreglos
Estructura de Datos
•   Se puede considerar un conjunto de datos,
     – Como una sola entidad…
     – Como un solo tipo de dato…
     De esta forma, se reduce la complejidad de un problema.
•   Un programa esta formado por:
     – Estructuras de control y llamadas a funciones (el
       algoritmo de nuestro programa).
     – Datos, con sus respectivos tipos, ya sean estos
       atómicos o complejos, juntos forman una jerarquía (la
       estructura de datos del programa).


    PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS
•
                 ¿Qué es un Arreglo?
                 Basándonos en los tipos de datos atómicos, podemos crear otros más
                 complejos.
            •    Un arreglo es una colección, o grupo de datos, donde:
                  – Cada dato tiene su posición (primero, segundo,
                    tercero…)
                  – Y todos los datos del grupo son del mismo tipo, es
                    decir, o todos son enteros, o todos son reales, etc.
                           NO EXISTEN ARREGLOS “MEZCLADOS”

Jamás olvidar
que un arreglo mejor forma de visualizar un arreglo es:
          • La
                                                                                      ..
 tiene un tipo – Como un grupo de cajas, una detrás de otra                           .
                 – Donde cada caja representa un dato del arreglo o un elemento.
        •       Podemos concluir que un arreglo tiene:
                 – Tamaño: cuantas cajas va a tener, el número de datos.
                 – Tipo: cuál es el tipo de todos los datos del arreglo.
                 – Nombre: el único nombre bajo el cual vamos a dirigirnos al
                   mismo.
Declaración de Arreglos
          •   Al declarar una variable cualquiera siempre indicamos: tipo y
              nombre. Por ejemplo: int a;
          •   Para declarar un arreglo, se debe indicar
                  – Tipo
                  – Nombre y
                  – Tamaño
          •   Un arreglo de 10 elementos enteros, se declara:
                  – int ArregloEnteros[10];                     Jamás olvidar,
                  – Y lo podemos visualizar:                     el tamaño de
ArregloEnteros                                                   un arreglo es
                                                                una constante

  0           1        2       3        4        5         6        7         8   9

      •   Cada elemento del grupo va a estar identificado por un valor
          numérico, llamado índice.
      •   En C el primer elemento de un arreglo tiene el índice 0.
      •   Siempre, para indicar el tamaño de un arreglo, se utilizara una
          constante, jamás una variable.
Manejo de Arreglos
•   Tenemos ahora 10 enteros bajo un mismo nombre
•   ¿Como accedemos a uno de esos datos?
     – Usamos el nombre del arreglo y el índice que identifica al elemento:
       nombre_arreglo[indice]
     – Si se desea asignar el valor de 2 al primer elemento del
       arreglo:
       arregloEntero[0] = 2;     ArregloEnteros
       arregloEntero[1] = 9;
                                  2      9                  1
       arregloEntero[4] = 1:
                                  0      1        2    3    4     5     6     7     8   9
    – Cada elemento es en efecto una variable del tipo declarado para el arreglo
    – Es muy importante recordar que:
        • El índice de un elemento, no es el valor (contenido) de dicho elemento.
        • El índice puede ser cualquier expresión que retorne un valor entero.
    – Para asignar a todos los elementos del arreglo, un mismo valor, lo mas
      práctico es usar un lazo for:
                                                      for(i = 0; i < 10; i++)
                                                      {
                                                         arregloEntero[ i ] = 0;
                                                      }
Leer e Imprimir un Arreglo
 •    Acabamos de ver un ejemplo para acceder a todos los elementos
      de una arreglo de una forma práctica.
 •    Si tenemos 10 elementos en un arreglo, y queremos pedir que
      los ingresen por teclado, debemos repetir el ingreso 10 veces:

                    for(i = 0; i < 10; i++)
                    {
                      scanf(“%d”,&a);
                      arregloEnteros[i] = a;
                    }
 •   Así mismo, para imprimir todos los elementos de un arreglo,
     deberíamos repetir el proceso de imprimir, pero diez veces:


     for(i = 0; i < 10; i++)
     {
         printf(“Elemento %d:%dn”, i, ArregloEnteros[i]);
     }
Ejercicio
• Programa que permite el ingreso de las notas de un
  curso de 20 alumnos. Una vez ingresados, debe
  mostrarse el promedio de las mismas.
             #include <stdio.h>
             #define MAX 20                                  El usuario del programa
                                                              no tiene porque saber
             void main(){                                       que los índices van
                      double notas[MAX];                      desde 0, se le pueden
                      double total, promedio;                    mostrar desde 1
                      int i,a;
                      total = 0;
                      for(i = 0; i < MAX; i++){
                                 printf("Ingrese Alumno %d:",i+1);
                                 scanf(“%d”,&a);
                                 notas[i]=a;
                      }
                      for(i = 0; i < MAX; i++)
                      {
                                 total = total + notas[i];
                      }
                      promedio = (double)total / (double)MAX;
                      printf("Promedio: %.2f",promedio);
                      getch();
             }
Arreglos Para Tabular
• En lugar de almacenar valores
  en los elementos de un arreglo,
  algunas aplicaciones usan los
  arreglos para almacenar
  “índices”, que permiten llevar
  estadísticas, de un dato en
  particular.
• Por ejemplo:
  Se pidió a 40 estudiantes que
  calificaran la calidad de la
  comida de la cafetería en una
  escala del 1 al 10 (1 es terrible y
  10 excelente).
  Escriba un programa en C que
  pida las 40 respuestas y luego
  muestre un resumen del
  resultado.
Inicialización de un Arreglo
• Un arreglo en C también se puede inicializar de
  las siguientes formas:
  – Crear un arreglo de 3 elementos
     • Inicializando cada elemento:
        int A[]={11,2,8}; ó
        int A[3]={11,2,8};
     • Inicializando todos los elementos con
       el mismo valor:
        int A[3]={0};
Arreglos Multidimensionales
• En C, los elementos de un arreglo pueden ser de cualquier tipo
• Esto quiere decir que los elementos de un arreglo pueden ser a
  su vez, arreglos.
• Arreglos de arreglos, se conocen como arreglos
  multidimensionales.
• El mas común de estos, es el de dos dimensiones, conocido
  también como Matriz o Tabla.
• Un ejemplo de una matriz, es un tablero de tres en raya.
• Este es un arreglo de 3 elementos, donde cada elemento es un
  arreglo, de tres elementos también.

         int A[3][3];
                           A[0]
       (0,0) (0,1) (0,2)                   A[0][0] A[0]1] A[0][2]
                           A[1]
       (1,0) (1,1) (1,2)                   A[1][0] A[1][1] A[1][2]
                           A[2]
       (2,0) (2,1) (2,2)                   A[2][0] A[2][1] A[2][2]
Inicialización
• Un arreglo multidimensional también se puede
  inicializar
   static double MatrizIdentidad[3][3] =
   {
     {1,0,0},
     {0,1,0}
     {0,0,1}
   };
• Así podemos inicializar todos los elementos de
  una matriz desde el inicio, sin necesidad de usar
  lazos anidados.
Búsqueda en un Arreglo
• Se refiere al proceso para encontrar un
  elemento particular en un arreglo.
• Una de las estrategias mas comunes y simples
  para buscar un dato en un arreglo es:
   – Revisar uno por uno los elementos del
     mismo, este método se conoce como
     búsqueda lineal.
• Escribir una función que determine si un valor
  dado se encuentra en un arreglo de elementos
  enteros, y si es así, indique su posición-
Solución
                        Dato a buscar: 58                 A[0] 19
                                                          A[1] 12
                                                          A[2] 1
                                                          A[3] 2
                                                          A[4] 58
                                                          A[5]100
int EncontrarElemento(int valor, int arreglo[ ] ,int n)   A[6] 3
{                                                         A[7] 4
        for(i=0; i <10; i++)                              A[8] 45
        {
                if (valor = = arreglo [ i ] )             A[9] 25
                   return(i);
        }
        return(-1);
}
Operador sizeof
• Un char ocupa un byte.
• ¿Cuantos bytes ocupa un entero? ¿un real?
  ¿una cadena?
   – Depende de cada máquina
     Podemos averiguarlo usando el
     operador sizeof.
        sizeof(int) devuelve el número de bytes que
        necesita un dato de tipo int.
   – CUIDADO: sizeof es un operador, no
     una función.
¿Cómo calcular el tamaño de un
            arreglo?1000
                                                       Arreglo[0]

                                1008
• Si inicializamos una                                   Arreglo[1]
  arreglo sin indicar su        1016
  ancho…                                                 Arreglo[2]

                                1024
                                                         Arreglo[3]
  ¿Cómo podemos saber
  el ancho, para futuros        1032
                                                         Arreglo[4]
  usos en el programa?
                           sizeof(Arreglo) devuelve 32
                           sizeof(Arreglo[0]) devuelve el desfase: 8
                           sizeof(Arreglo)/sizeof(Arreglo[0])
                           devuelve 4, justo el número de elementos
                           del arreglo.

Mais conteúdo relacionado

Mais procurados

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Sarai Gotopo
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do WhileJoshe Varillas
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAdamari Cortes
 
Min priority queue
Min priority queueMin priority queue
Min priority queue9854098540
 

Mais procurados (20)

Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
arreglos y matrices
arreglos  y matricesarreglos  y matrices
arreglos y matrices
 
Analisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacioAnalisis de algoritmos complejidad en tiempo y espacio
Analisis de algoritmos complejidad en tiempo y espacio
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Min priority queue
Min priority queueMin priority queue
Min priority queue
 

Destaque (20)

Estructura de un Programa en C++
Estructura de un Programa en C++Estructura de un Programa en C++
Estructura de un Programa en C++
 
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)Fundamentos de Programacion - Unidad 5 arreglos (vectores)
Fundamentos de Programacion - Unidad 5 arreglos (vectores)
 
Arreglos-Programacion
Arreglos-ProgramacionArreglos-Programacion
Arreglos-Programacion
 
Programacion arreglos diapositivas
Programacion arreglos diapositivasProgramacion arreglos diapositivas
Programacion arreglos diapositivas
 
Pseint taller 1
Pseint taller 1Pseint taller 1
Pseint taller 1
 
Ordenacion
OrdenacionOrdenacion
Ordenacion
 
Arreglos
ArreglosArreglos
Arreglos
 
IC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - EjerciciosIC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - Ejercicios
 
Metodo burbuja C++
Metodo burbuja C++Metodo burbuja C++
Metodo burbuja C++
 
Arreglos - Programación I
Arreglos - Programación IArreglos - Programación I
Arreglos - Programación I
 
Generalidades
GeneralidadesGeneralidades
Generalidades
 
Arreglos
ArreglosArreglos
Arreglos
 
unidad 1 INTRODUCCION A LAS ESTUCTURAS DE DATOS
unidad 1 INTRODUCCION A LAS ESTUCTURAS DE DATOSunidad 1 INTRODUCCION A LAS ESTUCTURAS DE DATOS
unidad 1 INTRODUCCION A LAS ESTUCTURAS DE DATOS
 
Manejo de bits -operadores de bits C++
Manejo de bits -operadores de bits C++Manejo de bits -operadores de bits C++
Manejo de bits -operadores de bits C++
 
Capitulo II
Capitulo IICapitulo II
Capitulo II
 
Estructura de datos c++
Estructura de datos c++ Estructura de datos c++
Estructura de datos c++
 
13 Instrucciones de manejo de bits
13  Instrucciones de manejo de bits13  Instrucciones de manejo de bits
13 Instrucciones de manejo de bits
 
Clase3
Clase3Clase3
Clase3
 
Clase 7
Clase 7Clase 7
Clase 7
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 

Semelhante a Fundamentos Arreglos

Semelhante a Fundamentos Arreglos (20)

Estructuras
Estructuras Estructuras
Estructuras
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Arreglos
ArreglosArreglos
Arreglos
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
ALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punterosALP Unidad 3: Tipos de datos estructurados y punteros
ALP Unidad 3: Tipos de datos estructurados y punteros
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
Clasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptxClasificación de las estructuras de datos.pptx
Clasificación de las estructuras de datos.pptx
 
arrays
arraysarrays
arrays
 
Arreglos Java
Arreglos JavaArreglos Java
Arreglos Java
 
ED 02 2_tda_arra_u
ED 02 2_tda_arra_uED 02 2_tda_arra_u
ED 02 2_tda_arra_u
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Unidad5
Unidad5Unidad5
Unidad5
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu generico
 
Transparencias8
Transparencias8Transparencias8
Transparencias8
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
7.arreglos en java
7.arreglos en  java7.arreglos en  java
7.arreglos en java
 
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++
 

Último

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
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.pdfNancyLoaa
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
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).docxlupitavic
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 

Último (20)

Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
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
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
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
 
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
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
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
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 

Fundamentos Arreglos

  • 2. Estructura de Datos • Se puede considerar un conjunto de datos, – Como una sola entidad… – Como un solo tipo de dato… De esta forma, se reduce la complejidad de un problema. • Un programa esta formado por: – Estructuras de control y llamadas a funciones (el algoritmo de nuestro programa). – Datos, con sus respectivos tipos, ya sean estos atómicos o complejos, juntos forman una jerarquía (la estructura de datos del programa). PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS
  • 3. ¿Qué es un Arreglo? Basándonos en los tipos de datos atómicos, podemos crear otros más complejos. • Un arreglo es una colección, o grupo de datos, donde: – Cada dato tiene su posición (primero, segundo, tercero…) – Y todos los datos del grupo son del mismo tipo, es decir, o todos son enteros, o todos son reales, etc. NO EXISTEN ARREGLOS “MEZCLADOS” Jamás olvidar que un arreglo mejor forma de visualizar un arreglo es: • La .. tiene un tipo – Como un grupo de cajas, una detrás de otra . – Donde cada caja representa un dato del arreglo o un elemento. • Podemos concluir que un arreglo tiene: – Tamaño: cuantas cajas va a tener, el número de datos. – Tipo: cuál es el tipo de todos los datos del arreglo. – Nombre: el único nombre bajo el cual vamos a dirigirnos al mismo.
  • 4. Declaración de Arreglos • Al declarar una variable cualquiera siempre indicamos: tipo y nombre. Por ejemplo: int a; • Para declarar un arreglo, se debe indicar – Tipo – Nombre y – Tamaño • Un arreglo de 10 elementos enteros, se declara: – int ArregloEnteros[10]; Jamás olvidar, – Y lo podemos visualizar: el tamaño de ArregloEnteros un arreglo es una constante 0 1 2 3 4 5 6 7 8 9 • Cada elemento del grupo va a estar identificado por un valor numérico, llamado índice. • En C el primer elemento de un arreglo tiene el índice 0. • Siempre, para indicar el tamaño de un arreglo, se utilizara una constante, jamás una variable.
  • 5. Manejo de Arreglos • Tenemos ahora 10 enteros bajo un mismo nombre • ¿Como accedemos a uno de esos datos? – Usamos el nombre del arreglo y el índice que identifica al elemento: nombre_arreglo[indice] – Si se desea asignar el valor de 2 al primer elemento del arreglo: arregloEntero[0] = 2; ArregloEnteros arregloEntero[1] = 9; 2 9 1 arregloEntero[4] = 1: 0 1 2 3 4 5 6 7 8 9 – Cada elemento es en efecto una variable del tipo declarado para el arreglo – Es muy importante recordar que: • El índice de un elemento, no es el valor (contenido) de dicho elemento. • El índice puede ser cualquier expresión que retorne un valor entero. – Para asignar a todos los elementos del arreglo, un mismo valor, lo mas práctico es usar un lazo for: for(i = 0; i < 10; i++) { arregloEntero[ i ] = 0; }
  • 6. Leer e Imprimir un Arreglo • Acabamos de ver un ejemplo para acceder a todos los elementos de una arreglo de una forma práctica. • Si tenemos 10 elementos en un arreglo, y queremos pedir que los ingresen por teclado, debemos repetir el ingreso 10 veces: for(i = 0; i < 10; i++) { scanf(“%d”,&a); arregloEnteros[i] = a; } • Así mismo, para imprimir todos los elementos de un arreglo, deberíamos repetir el proceso de imprimir, pero diez veces: for(i = 0; i < 10; i++) { printf(“Elemento %d:%dn”, i, ArregloEnteros[i]); }
  • 7. Ejercicio • Programa que permite el ingreso de las notas de un curso de 20 alumnos. Una vez ingresados, debe mostrarse el promedio de las mismas. #include <stdio.h> #define MAX 20 El usuario del programa no tiene porque saber void main(){ que los índices van double notas[MAX]; desde 0, se le pueden double total, promedio; mostrar desde 1 int i,a; total = 0; for(i = 0; i < MAX; i++){ printf("Ingrese Alumno %d:",i+1); scanf(“%d”,&a); notas[i]=a; } for(i = 0; i < MAX; i++) { total = total + notas[i]; } promedio = (double)total / (double)MAX; printf("Promedio: %.2f",promedio); getch(); }
  • 8. Arreglos Para Tabular • En lugar de almacenar valores en los elementos de un arreglo, algunas aplicaciones usan los arreglos para almacenar “índices”, que permiten llevar estadísticas, de un dato en particular. • Por ejemplo: Se pidió a 40 estudiantes que calificaran la calidad de la comida de la cafetería en una escala del 1 al 10 (1 es terrible y 10 excelente). Escriba un programa en C que pida las 40 respuestas y luego muestre un resumen del resultado.
  • 9. Inicialización de un Arreglo • Un arreglo en C también se puede inicializar de las siguientes formas: – Crear un arreglo de 3 elementos • Inicializando cada elemento: int A[]={11,2,8}; ó int A[3]={11,2,8}; • Inicializando todos los elementos con el mismo valor: int A[3]={0};
  • 10. Arreglos Multidimensionales • En C, los elementos de un arreglo pueden ser de cualquier tipo • Esto quiere decir que los elementos de un arreglo pueden ser a su vez, arreglos. • Arreglos de arreglos, se conocen como arreglos multidimensionales. • El mas común de estos, es el de dos dimensiones, conocido también como Matriz o Tabla. • Un ejemplo de una matriz, es un tablero de tres en raya. • Este es un arreglo de 3 elementos, donde cada elemento es un arreglo, de tres elementos también. int A[3][3]; A[0] (0,0) (0,1) (0,2) A[0][0] A[0]1] A[0][2] A[1] (1,0) (1,1) (1,2) A[1][0] A[1][1] A[1][2] A[2] (2,0) (2,1) (2,2) A[2][0] A[2][1] A[2][2]
  • 11. Inicialización • Un arreglo multidimensional también se puede inicializar static double MatrizIdentidad[3][3] = { {1,0,0}, {0,1,0} {0,0,1} }; • Así podemos inicializar todos los elementos de una matriz desde el inicio, sin necesidad de usar lazos anidados.
  • 12. Búsqueda en un Arreglo • Se refiere al proceso para encontrar un elemento particular en un arreglo. • Una de las estrategias mas comunes y simples para buscar un dato en un arreglo es: – Revisar uno por uno los elementos del mismo, este método se conoce como búsqueda lineal. • Escribir una función que determine si un valor dado se encuentra en un arreglo de elementos enteros, y si es así, indique su posición-
  • 13. Solución Dato a buscar: 58 A[0] 19 A[1] 12 A[2] 1 A[3] 2 A[4] 58 A[5]100 int EncontrarElemento(int valor, int arreglo[ ] ,int n) A[6] 3 { A[7] 4 for(i=0; i <10; i++) A[8] 45 { if (valor = = arreglo [ i ] ) A[9] 25 return(i); } return(-1); }
  • 14. Operador sizeof • Un char ocupa un byte. • ¿Cuantos bytes ocupa un entero? ¿un real? ¿una cadena? – Depende de cada máquina Podemos averiguarlo usando el operador sizeof. sizeof(int) devuelve el número de bytes que necesita un dato de tipo int. – CUIDADO: sizeof es un operador, no una función.
  • 15. ¿Cómo calcular el tamaño de un arreglo?1000 Arreglo[0] 1008 • Si inicializamos una Arreglo[1] arreglo sin indicar su 1016 ancho… Arreglo[2] 1024 Arreglo[3] ¿Cómo podemos saber el ancho, para futuros 1032 Arreglo[4] usos en el programa? sizeof(Arreglo) devuelve 32 sizeof(Arreglo[0]) devuelve el desfase: 8 sizeof(Arreglo)/sizeof(Arreglo[0]) devuelve 4, justo el número de elementos del arreglo.