Arreglos (I): Arreglos unidimensionales - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Arreglos (I): Arreglos unidimensionales

Description:

Aprendimos a controlar el flujo de ejecuci n del programa ... 11. Llamando una funci n que recibe un arreglo de enteros como par metro: int prom, A[100], n; ... – PowerPoint PPT presentation

Number of Views:152
Avg rating:3.0/5.0
Slides: 12
Provided by: FelipeC2
Category:

less

Transcript and Presenter's Notes

Title: Arreglos (I): Arreglos unidimensionales


1
Arreglos (I)Arreglos unidimensionales
  • Clase 12
  • Introducción a la Programación
  • Marcos Sepúlveda(marcos_at_ing.puc.cl)

2
Resumen del capítulo anterior
  • Aprendimos a controlar el flujo de ejecución del
    programa (decisiones e iteraciones)
  • Aprendimos a hacer programas que resuelven
    problemas numéricos en forma iterativa.

3
Qué es un arreglo?
  • Los arreglos son estructuras de datos complejas
    (en el sentido de que no son atómicas)
  • Agrupan datos de un mismo tipo en particular,
    llamado el tipo base del arreglo.
  • El tipo base de un arreglo puede ser cualquiera
    de los tipos básicos de C, o incluso algunos
    tipos complejos como las estructuras.
  • Un arreglo puede considerarse como ejemplo de un
    variable compuesta, capaz de almacenar uno o más
    datos al mismo tiempo.

4
Arreglos
  • La cantidad de elementos del tipo base que
    contiene el arreglo es fijo
  • Debe especificarse al declararlo.
  • La sintaxis del lenguaje permite referirse a cada
    uno de los elementos que constituyen el arreglo
    empleando índices.
  • Esto es posible pues los elementos del arreglo
    están numerados en forma jerárquica y
    consecutiva, empezando en 0 en cada dimensión.
  • Detalle de programación El lenguaje C no
    controla la validez de los índices que se emplean
    para referenciar un arreglo.

5
Declaración de Arreglos Unidimensionales
(Vectores)
  • Declaración
  • lttipo-basegt ltidentificadorgtltNumElementosgt
  • Ej
  • int vec20
  • Declaración con asignación
  • lttipo-basegt ltidentificadorgtltNumElementosgt
    valor1, valor2, ...
  • Ej
  • int edades5 17,19,21,20,18

6
Ejemplos de uso
  • 1.   Declaración de un arreglo de 50 enteros
  •         int A50
  • 2.   Declaración de un arreglo de 100 caracteres
  •         char A100
  • 3.   Declaración e inicialización de un arreglo
    de 10 enteros
  •         int A10 2, 5, 8, 100, 1, 2, 100, 5,
    5, 5
  • 4.   Inicialización parcial El resto se
    inicializa en cero
  •         int A100 25, 5, 100, 25, 5
  • 5.   Declaración e inicialización de un arreglo
    de 10 caracteres
  •         char A10 'a','z','E','e',65,'\65','_at_'
    ,'U','','\n'
  • 6.   Determinación en forma implícita del tamaño
    de un arreglo
  •         int A 5, 10, 2, 15, 20

7
Más ejemplos de uso
  • 7.   Asignando un valor a la sexta posición de un
    arreglo de enteros
  •        A5 200
  • 8.   Imprimiendo un arreglo de 100 enteros
    mediante un ciclo for
  •         int i
  •         for (i0 ilt100 i)
  •            printf("d\n", Ai)
  • 9.   Leyendo del usuario el contenido de un
    arreglo de 20 enteros, mediante un ciclo for
  •         int i
  •         for (i0 ilt20 i)
  •            scanf("d", Ai)  / scanf()
    requiere puntero /
  • 10.  Una función que recibe un arreglo de enteros
    como argumento y calcula el promedio
  •         int Promedio(int A, int num_elementos)
  •            int prom 0
  •            int i
  •            for (i0 iltnum_elementos i)
  •               prom prom Ai

8
Y más ejemplos
  • 11.  Llamando una función que recibe un arreglo
    de enteros como parámetro
  •     int prom, A100, n
  •     ...
  •     prom promedio(A, n)
  • 12. Contando el número de caracteres de una
    cadena
  • int numero_caracteres (char s)
  •         int i0
  •         while (si ! \0)
  •            i
  •         return (i)
  •  

9
Uso de Arreglos Importante
  • Puesto que los arreglos son estructuras
    complejas, no es posible asignar un arreglo a
    otro mediante una simple asignación ().
  • Para hacer esto es necesario escribir un ciclo y
    asignar elemento a elemento.
  • El nombre de un arreglo también puede emplearse
    sin índice, por ejemplo, para pasar el arreglo
    completo como parámetro a una función.

10
Uso de Arreglos Importante
  • El lenguaje C no controla la validez de los
    índices que se emplean para referenciar un
    arreglo.
  • La siguiente porción de código compila sin
    problemas (es decir, sin errores sintácticos),
    pero se producirá un error en tiempo de ejecución
    al referenciar posiciones inexistentes del
    arreglo.
  • / Ejemplo de error por acceso fuera de rango a
    un arreglo /
  • / Posiciones con índices del 20 al 29 son
    inválidas. /
  • int i, arreglo20
  • for (i0 ilt30 i)
  • arregloi 0
  • También es común cometer estos errores olvidando
    que las posiciones de los arreglos están
    numeradas a partir del índice cero.
  • Es decir, en un arreglo de tamaño N, las
    posiciones están numeradas de 0 a N-1.

11
Ejercicio
  • Hacer un programa que pregunta 5 números y luego
    los imprime en orden inverso.
  • Hacer un programa que pregunta los ponderadores
    de un polinomio de grado 5(a0 a1x a2x2
    a3x3 a4x4 a5x5)y luego evalúa el polinomio
    desde x-10 a x10.
Write a Comment
User Comments (0)
About PowerShow.com