SlideShare una empresa de Scribd logo
DIEGO RODRIGO JURADO
 TERCERO INFORMATICA
•   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
• Arreglos unidimensionales
• Un arreglo de una dimensión es una lista de variables,
  todas de un mismo tipo a las que se hace referencia por
  medio de un nombre común. Una variable individual del
  arreglo se llama elemento del arreglo. Para declarar un
  arreglo de una sola dimensión se usa el formato general:
• tipo_dato identificador[tamaño];
• Un elemento del arreglo se accede indexando el arreglo por
  medio de un número del elemento. En C++ todos los arreglos
  empiezan en 0, esto quiere decir que si se desea acceder al
  primer elemento del arreglo debe usar el índice igual a 0. Para
  indexar un arreglo se especifica el índice del elemento que
  interesa dentro de un corchete, ejemplo;
                        valor = arreglo[1];
• Los arreglos empiezan en 0, de manera que el índice 1 se
  refiere al segundo elemento. Para asignar el valor a un
  elemento de un arreglo, ponga el elemento en el lado
  izquierdo de una sentencia de asignación.
                     • mi_arreglo[0] = 100;
•   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 forma de visualizar un arreglo es:
         La mejor
          • Como un grupo de cajas, una detrás de otra
que un arreglo                                                             ...
 tiene un tipo – 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.
•   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
                                                                    un arreglo es
                                                                    una constante
ArregloEnteros



  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.
• 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;
                                                      }
• 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]);
    }
• 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 desde
                       double notas[MAX];                     0, se le pueden mostrar
                       double total, promedio;                         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();
              }
• Operaciones con arreglos multidimensionales
• En matemáticas, una matriz es una tabla de números
  consistente en cantidades abstractas que pueden
  sumarse y multiplicarse. Las matrices se utilizan para
  describir sistemas de ecuaciones lineales, realizar un
  seguimiento de los coeficientes de una aplicación lineal y
  registrar los datos que dependen de varios parámetros.
  Pueden sumarse, multiplicarse y descomponerse de
  varias formas, lo que también las hace un concepto clave
  en el campo del álgebra lineal. Las matrices son
  utilizadas ampliamente en la computación, por su
  facilidad para manipular información. En este contexto,
  son la mejor forma para representar grafos, y son muy
  utilizadas en el cálculo numérico.
•   /*Extracto de código fuente*/
•   float A[3][3],B[3][3],C[3][3];
•   for (int i=0;i<2;++)
•   {
•   for (int j=0;j<3;j++)
•   {
•   A[i][j] = (2*i+1)/3; // Asignación de valores para el arreglo A
•   B[i][j] = 2*j; // Asignación de valores para el arreglo B
•   C[i][j]=A[i][j]+B[i][j]; // Asignación de valores para el arreglo C
•   }
•   }
•    #include <stdio.h>
•   int main()
•    {
•   char competidores [4][40]; /*Matriz de nombres de competidores*/
•    float carreras[4][3]; /*Matriz de tiempos en cada vuelta de los competidores*/
•    float prom_competidores[4]; /*Vector de tiempos promedio de los competidores*/
•   float acumulador=0;
•   cout << "Información del tiempo de cada competidor en el chequeo" << endl;
•    /*Llenando el vector de nombres de participantes*/
•   for (int i=0;i<4;i++)
•    {
•   cout<<"Ingrese el nombre del competidor del carril "<<i+1<<endl;
•   gets(competidores [i]);
•    }
•    /*Llenando la matriz de tiempos en cada chequeo*/
•    for (int j=0;j<4;j++)
•    {
•    acumulador=0;
•    cout<<"Indique el tiempo del Competidor "<<competidores[j]<<endl;
•    for(int k=0;k<3;k++)
•   {
•    cout<<"En la prueba "<<k+1<<endl;
•    cin>>carreras[j][k];
•    acumulador=acumulador+carreras[j][k];
•    }
•    /*Guardando el promedio de las dos carreras en el vector*/
•    prom_competidores[j]=acumulador/3;
•    }
•    /*Imprimiendo los resultados*/
•    for (int j=0;j<4;j++)
•    {
•    cout<<"El tiempo del Competidor "<<competidores[j];
•    for(int k=0;k<3;k++)
•    {
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]
• 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.
• 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-
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);
}
• 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.
1000
                                                         Arreglo[0]

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

 ¿Cómo podemos saber              1024
                                                           Arreglo[3]
 el ancho, para futuros
 usos en el programa?             1032
                                                           Arreglo[4]


                             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.

Más contenido relacionado

La actualidad más candente

Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
Leticia Hernández
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
ashildir
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
Jesùs Osorio
 
Cap06
Cap06Cap06
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
Simeon Bordones
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programaciondiego MC
 
arrays
arraysarrays
Arreglos
ArreglosArreglos
Arreglos
Vannesa Salazar
 
Arreglos
ArreglosArreglos
Arreglos
Orija Zenemij
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++tacubomx
 

La actualidad más candente (18)

Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Arreglos java
Arreglos javaArreglos java
Arreglos java
 
7.arreglos y vectores en c++
7.arreglos y vectores en c++7.arreglos y vectores en c++
7.arreglos y vectores en c++
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Arreglos C#
Arreglos C#Arreglos C#
Arreglos C#
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
 
Cap06
Cap06Cap06
Cap06
 
7.arreglos en java
7.arreglos en  java7.arreglos en  java
7.arreglos en java
 
Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Arreglos Java
Arreglos JavaArreglos Java
Arreglos Java
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
arrays
arraysarrays
arrays
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 

Destacado

Workshops de PsicoPedagogia
Workshops de PsicoPedagogiaWorkshops de PsicoPedagogia
Workshops de PsicoPedagogiaEDUCATE
 
Publicidad movil 2004
Publicidad movil 2004Publicidad movil 2004
Publicidad movil 2004
mariajosenavarretetrigo
 
Presentación Informática UCE
Presentación Informática UCEPresentación Informática UCE
Presentación Informática UCEKaren Bazán
 
Locais onde vende o Orelio Cearense
Locais onde vende o Orelio CearenseLocais onde vende o Orelio Cearense
Locais onde vende o Orelio Cearense
Andréa Saraiva
 
Semiconductoresintrnsecosydopados
SemiconductoresintrnsecosydopadosSemiconductoresintrnsecosydopados
Semiconductoresintrnsecosydopadoswilder mendez
 
Confiança alimentar abril 2012 Pedro Graça
Confiança alimentar abril 2012 Pedro GraçaConfiança alimentar abril 2012 Pedro Graça
Confiança alimentar abril 2012 Pedro GraçaEDUCATE
 
Confraternização CENFOP - 2012
Confraternização CENFOP - 2012 Confraternização CENFOP - 2012
Confraternização CENFOP - 2012
elianehistoriarte
 
Orientacao sexual mec
Orientacao sexual mecOrientacao sexual mec
Orientacao sexual mecAdao Farias
 
Tema5
Tema5Tema5
Bases Concurs Logotip Súria Municipi Lector
Bases Concurs Logotip Súria Municipi LectorBases Concurs Logotip Súria Municipi Lector
Bases Concurs Logotip Súria Municipi Lectoralsinafont
 
Educar para proteger[1]
Educar para proteger[1]Educar para proteger[1]
Educar para proteger[1]
mruvactualidad
 
Calendario DH Juvenil completo 1415
Calendario DH Juvenil completo 1415Calendario DH Juvenil completo 1415
Calendario DH Juvenil completo 1415
mariodelasanta
 
Evolução do ser humano
Evolução do ser humanoEvolução do ser humano
Evolução do ser humanoClaudia Rossi
 
Presentación1
Presentación1Presentación1
Presentación1
princesitakarla
 
Perfil profesional
Perfil profesionalPerfil profesional
Perfil profesional
guty077
 

Destacado (20)

Workshops de PsicoPedagogia
Workshops de PsicoPedagogiaWorkshops de PsicoPedagogia
Workshops de PsicoPedagogia
 
Publicidad movil 2004
Publicidad movil 2004Publicidad movil 2004
Publicidad movil 2004
 
Presentación Informática UCE
Presentación Informática UCEPresentación Informática UCE
Presentación Informática UCE
 
N 2608
N 2608N 2608
N 2608
 
Paginas web cadena y cesar (1)
Paginas web cadena y cesar (1)Paginas web cadena y cesar (1)
Paginas web cadena y cesar (1)
 
Locais onde vende o Orelio Cearense
Locais onde vende o Orelio CearenseLocais onde vende o Orelio Cearense
Locais onde vende o Orelio Cearense
 
Semiconductoresintrnsecosydopados
SemiconductoresintrnsecosydopadosSemiconductoresintrnsecosydopados
Semiconductoresintrnsecosydopados
 
Confiança alimentar abril 2012 Pedro Graça
Confiança alimentar abril 2012 Pedro GraçaConfiança alimentar abril 2012 Pedro Graça
Confiança alimentar abril 2012 Pedro Graça
 
Confraternização CENFOP - 2012
Confraternização CENFOP - 2012 Confraternização CENFOP - 2012
Confraternização CENFOP - 2012
 
Presentación
PresentaciónPresentación
Presentación
 
Orientacao sexual mec
Orientacao sexual mecOrientacao sexual mec
Orientacao sexual mec
 
Revista programar 2
Revista programar 2Revista programar 2
Revista programar 2
 
Tema5
Tema5Tema5
Tema5
 
Bases Concurs Logotip Súria Municipi Lector
Bases Concurs Logotip Súria Municipi LectorBases Concurs Logotip Súria Municipi Lector
Bases Concurs Logotip Súria Municipi Lector
 
Educar para proteger[1]
Educar para proteger[1]Educar para proteger[1]
Educar para proteger[1]
 
Calendario DH Juvenil completo 1415
Calendario DH Juvenil completo 1415Calendario DH Juvenil completo 1415
Calendario DH Juvenil completo 1415
 
Evolução do ser humano
Evolução do ser humanoEvolução do ser humano
Evolução do ser humano
 
Presentación1
Presentación1Presentación1
Presentación1
 
Calendário março
Calendário marçoCalendário março
Calendário março
 
Perfil profesional
Perfil profesionalPerfil profesional
Perfil profesional
 

Similar a Estructuras

Arreglos
ArreglosArreglos
Arregloslichic
 
Arreglos
ArreglosArreglos
Arreglos
Ant Jfr
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
Anaida Escalona Tona
 
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
 
Transparencias8
Transparencias8Transparencias8
Transparencias8
karlalopezbello
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
Zamantha Gonzalez Universidad Nacional Abierta
 
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
Franklin Parrales Bravo
 
Arreglos En C ++
Arreglos En C ++Arreglos En C ++
Arreglos En C ++tacubomx
 
11 arreglos-multidimensionales
11 arreglos-multidimensionales11 arreglos-multidimensionales
11 arreglos-multidimensionales
Lulu Litardo
 
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
Ram Vazquez
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
Miguel Garcia Garcia
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu genericoAna Ocaña
 
09 arreglos
09 arreglos09 arreglos
09 arreglos
Jorge Luis Chalén
 
ED 02 2_tda_arra_u
ED 02 2_tda_arra_uED 02 2_tda_arra_u
ED 02 2_tda_arra_uA J
 
c++_ECCI.pptx
c++_ECCI.pptxc++_ECCI.pptx
c++_ECCI.pptx
nicol271369
 
Arreglos
ArreglosArreglos
ArreglosClariza
 

Similar a Estructuras (20)

Arreglos
ArreglosArreglos
Arreglos
 
Arreglos
ArreglosArreglos
Arreglos
 
Estructura de Datos: Arreglos
Estructura de Datos: Arreglos Estructura de Datos: Arreglos
Estructura de Datos: Arreglos
 
ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++ARRAYS (LISTAS Y TABLAS) EN C++
ARRAYS (LISTAS Y TABLAS) EN C++
 
11 arreglos-multidimensionales
11 arreglos-multidimensionales11 arreglos-multidimensionales
11 arreglos-multidimensionales
 
Transparencias8
Transparencias8Transparencias8
Transparencias8
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
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 8
Arrays 8Arrays 8
Arrays 8
 
Arreglos En C ++
Arreglos En C ++Arreglos En C ++
Arreglos En C ++
 
11 arreglos-multidimensionales
11 arreglos-multidimensionales11 arreglos-multidimensionales
11 arreglos-multidimensionales
 
Luis Gamboa
Luis  GamboaLuis  Gamboa
Luis Gamboa
 
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
 
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
 
09 arreglos
09 arreglos09 arreglos
09 arreglos
 
ED 02 2_tda_arra_u
ED 02 2_tda_arra_uED 02 2_tda_arra_u
ED 02 2_tda_arra_u
 
c++_ECCI.pptx
c++_ECCI.pptxc++_ECCI.pptx
c++_ECCI.pptx
 
Arreglos
ArreglosArreglos
Arreglos
 

Más de Riki Tapia

ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++Riki Tapia
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosRiki Tapia
 
Elemento3
Elemento3Elemento3
Elemento3
Riki Tapia
 

Más de Riki Tapia (7)

ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++ESTRUCTURAS ARRAYS Y DATOS C++
ESTRUCTURAS ARRAYS Y DATOS C++
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Steve jobs
Steve jobsSteve jobs
Steve jobs
 
Steve jobs
Steve jobsSteve jobs
Steve jobs
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 
TAREA 6
TAREA 6TAREA 6
TAREA 6
 
Elemento3
Elemento3Elemento3
Elemento3
 

Último

Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
SandroNava1
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 

Último (20)

Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 

Estructuras

  • 1. DIEGO RODRIGO JURADO TERCERO INFORMATICA
  • 2. 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. • Arreglos unidimensionales • Un arreglo de una dimensión es una lista de variables, todas de un mismo tipo a las que se hace referencia por medio de un nombre común. Una variable individual del arreglo se llama elemento del arreglo. Para declarar un arreglo de una sola dimensión se usa el formato general: • tipo_dato identificador[tamaño];
  • 4. • Un elemento del arreglo se accede indexando el arreglo por medio de un número del elemento. En C++ todos los arreglos empiezan en 0, esto quiere decir que si se desea acceder al primer elemento del arreglo debe usar el índice igual a 0. Para indexar un arreglo se especifica el índice del elemento que interesa dentro de un corchete, ejemplo; valor = arreglo[1]; • Los arreglos empiezan en 0, de manera que el índice 1 se refiere al segundo elemento. Para asignar el valor a un elemento de un arreglo, ponga el elemento en el lado izquierdo de una sentencia de asignación. • mi_arreglo[0] = 100;
  • 5. 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 forma de visualizar un arreglo es: La mejor • Como un grupo de cajas, una detrás de otra que un arreglo ... tiene un tipo – 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.
  • 6. 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 un arreglo es una constante ArregloEnteros 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.
  • 7. • 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; }
  • 8. • 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]); }
  • 9. • 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 desde double notas[MAX]; 0, se le pueden mostrar double total, promedio; 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(); }
  • 10. • Operaciones con arreglos multidimensionales • En matemáticas, una matriz es una tabla de números consistente en cantidades abstractas que pueden sumarse y multiplicarse. Las matrices se utilizan para describir sistemas de ecuaciones lineales, realizar un seguimiento de los coeficientes de una aplicación lineal y registrar los datos que dependen de varios parámetros. Pueden sumarse, multiplicarse y descomponerse de varias formas, lo que también las hace un concepto clave en el campo del álgebra lineal. Las matrices son utilizadas ampliamente en la computación, por su facilidad para manipular información. En este contexto, son la mejor forma para representar grafos, y son muy utilizadas en el cálculo numérico.
  • 11. /*Extracto de código fuente*/ • float A[3][3],B[3][3],C[3][3]; • for (int i=0;i<2;++) • { • for (int j=0;j<3;j++) • { • A[i][j] = (2*i+1)/3; // Asignación de valores para el arreglo A • B[i][j] = 2*j; // Asignación de valores para el arreglo B • C[i][j]=A[i][j]+B[i][j]; // Asignación de valores para el arreglo C • } • }
  • 12. #include <stdio.h> • int main() • { • char competidores [4][40]; /*Matriz de nombres de competidores*/ • float carreras[4][3]; /*Matriz de tiempos en cada vuelta de los competidores*/ • float prom_competidores[4]; /*Vector de tiempos promedio de los competidores*/ • float acumulador=0; • cout << "Información del tiempo de cada competidor en el chequeo" << endl; • /*Llenando el vector de nombres de participantes*/ • for (int i=0;i<4;i++) • { • cout<<"Ingrese el nombre del competidor del carril "<<i+1<<endl; • gets(competidores [i]); • } • /*Llenando la matriz de tiempos en cada chequeo*/ • for (int j=0;j<4;j++) • { • acumulador=0; • cout<<"Indique el tiempo del Competidor "<<competidores[j]<<endl; • for(int k=0;k<3;k++) • { • cout<<"En la prueba "<<k+1<<endl; • cin>>carreras[j][k]; • acumulador=acumulador+carreras[j][k]; • } • /*Guardando el promedio de las dos carreras en el vector*/ • prom_competidores[j]=acumulador/3; • } • /*Imprimiendo los resultados*/ • for (int j=0;j<4;j++) • { • cout<<"El tiempo del Competidor "<<competidores[j]; • for(int k=0;k<3;k++) • {
  • 13. 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]
  • 14. • 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.
  • 15. • 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-
  • 16. 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); }
  • 17. • 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.
  • 18. 1000 Arreglo[0] 1008 • Si inicializamos una arreglo Arreglo[1] sin indicar su ancho… 1016 Arreglo[2] ¿Cómo podemos saber 1024 Arreglo[3] el ancho, para futuros usos en el programa? 1032 Arreglo[4] 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.