Arreglos unidimensionales

780
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
780
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
32
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arreglos unidimensionales

  1. 1. LOGO UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO FACULTAD DE INGENIERÍA COORDINACIÓN DE MATERIAS PROPEDÉUTICAS PROGRAMACIÓN BÁSICA VECTORES Mtra. Leticia Palma Rosales M. en I. María de los Ángeles Contreras Flores
  2. 2. www.themegallery.com LOGO C O N T E N I D O Objetivos General y Particulares Introducción Definición Declaración de vectores, e inicialización Operaciónes con arreglos Ejemplos
  3. 3. www.themegallery.com LOGO OBJETIVO GENERAL Y PARTICULARES OBJETIVO GENERAL  Utilizar arreglos unidimensionales para la solución de problemas OBJETIVOS PARTICULARES  Comprender el concepto de los arreglos unidimesionales (vectores)  Declarar en inicalizar arreglos unidimesionales  Leer, imprimir y modificar el contenido de los vectores  Realizar exitosamente programas que hagan uso de arreglos unidimensionales.
  4. 4. www.themegallery.com LOGO INTRODUCCIÓN Un arreglo es una secuencia de datos del mismo tipo que ocupan un lugar continuo em memoria. Las posiciones que ocupan se denominan elementos del arreglo y se enumeran sucesivamente 0,1,2,3,etc. El tipo de información que se almacena en un arreglo puede ser cualquiera de los tipos básicos de C, es decir, char, int, float o double. En un arreglo de tamaño N, la primera posición corresponde al índice 0 y la ultima al índice N-1 Si el identificador del arreglo es b, entonces b[0] es el nombre del elemento que esta en la posición 0, b[1] es el nombre del elemento que esta en la posición 1
  5. 5. www.themegallery.com LOGO DEFINICIÓN ARREGLOS UNIDIMENSIONALES Un arreglo unidimensional es un conjunto de n elementos del mismo tipo almacenados en memoria continua en un vector o lista. ” (Corona N., 2011). ÍNDICES Los índices representan la posición en la que se encuentra un elemento. ÍNDICE
  6. 6. www.themegallery.com LOGO DECLARACIÓN DE VECTORES Al igual que todas las variables se debe declarar ANTES de utilizar Un arreglo se declara de forma similar a otros tipos de datos, excepto que se debe indicar su tamaño o longitud (número de elementos). SINTAXIS PSEUDOCODIGO LENGUAJE C Tipo_dato indentif_arreglo [tam_arreglo] Tipo_dato indentif_arreglo [tam_arreglo] Tipo_dato: Tipo de datos que se introducirán en el aaaaaaaaaarreglo. indentif_arreglo: Nombre del arreglo. tam_arreglo: Es el número de elementos del arreglo. Ejemplo: int A[10]
  7. 7. www.themegallery.com LOGO INICIALIZACIÓN DE VECTORES Al declarar un arreglo es posible especificar los valores ¨Pseudocódigo¨ tipo_dato indentif[tam_arreglo] {valores} Ejemplo: entero lista[5] {10,17,8,4,9} ¨Lenguaje C¨ tipo_dato indentif[tam_arreglo] = {valores} Ejemplo: int lista[5] = {10,17,8,4,9}
  8. 8. www.themegallery.com LOGO OPERACIONES CON ARREGLOS OPERACIONES BÁSICAS Asignación Lectura y Escritura Actualización Inserción Eliminación Modificación Ordenamiento Búsqueda
  9. 9. www.themegallery.com LOGO OPERACIÓNES BÁSICAS Asignación… Pseudocódigo identif_arreglo[posición] valor Ejemplo: A [5] 12 identif_arreglo[posición] = valor Ejemplo: A [5] = 12 Lenguaje C
  10. 10. www.themegallery.com LOGO OPERACIÓNES BÁSICAS Lectura Consiste en leer el valor de cada uno de sus componentes Ejemplo: leer A[2] Entero calif[200] Para (i 0; i<199; i++) Leer calif [i] fin Para Declaración del vector Ciclo ‘Para’ : Lo utilizamos para recorrer 200 veces el arreglo Lectura de vector, en la posición i [0] [1] [2] … [199] [198] Posiciones del arreglo 10 9 6 7 9 8 Contenido del arreglo
  11. 11. www.themegallery.com LOGO OPERACIÓNES BÁSICAS Escritura El proceso es parecido al de lectura, sólo que en este caso; en lugar de leer el componente se va a escribir. Ejemplo: calif [2] 10 int calif [200] Para (i 0; i<199; i++) calif [i] 10 fin Para Declaración del vector Ciclo ‘Para’ : Lo utilizamos para escribir en los 200 elementos del arreglo Escritura en la posición i del vector
  12. 12. www.themegallery.com LOGO OPERACIÓNES BÁSICAS Actualización Dentro de esta operación se encuentran las operaciones de eliminar, insertar y modificar datos. INSERCIÓN DE UN SÓLO ELEMENTO 7 8 10 9 8 [0] [1] [2] [3] [4] [5] [6] [7] Vector Actual Vector A A[5] 10 7 8 10 9 8 10 [0] [1] [2] [3] [4] [5] [6] [7] Vector Nuevo
  13. 13. www.themegallery.com LOGO OPERACIÓNES BÁSICAS CÓDIGO PARA INSERCIÓN POR ELEMENTOS int calif [5] calif [0] 10 calif[3] 9 [0] [1] [2] [3] [4] 5 9 [0] [1] [2] [3] [4] ANTES DESPUÉS CÓDIGO PARA INSERCIÓN EN UN CICLO int calif [10] Para (i 0; i<10; i++) calif [i] 10 fin Para [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 10 10 10 10 10 10 10 10 10 10 [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] ANTES DESPUÉS
  14. 14. www.themegallery.com LOGO OPERACIÓNES BÁSICAS ELIMINACIÓN 7 8 10 9 8 10 [0] [1] [2] [3] [4] [5] [6] [7] Vector Actual Vector A A[3] null 7 8 10 null 8 10 [0] [1] [2] [3] [4] [5] [6] [7] Vector Nuevo Primero se busca el elemento en el arreglo.
  15. 15. www.themegallery.com LOGO OPERACIÓNES BÁSICAS CÓDIGO PARA ELIMINAR UN ELEMENTO DE UNA POSICIÓN DETERMINADA int calif [5] borrar calif [2] 5 7 5 9 9 [0] [1] [2] [3] [4] 5 7 9 9 [0] [1] [2] [3] [4] ANTES DESPUÉS CÓDIGO PARA BUSCAR UN ELEMENTO Y ELIMINARLO Int calif[5] Escribe “numero a buscar” Lee (numero) Para (i 0; i<5 ; i++) Lee calif[i] Si (calif [i] = numero) entonces borrar calif[i] finSi finPara
  16. 16. www.themegallery.com LOGO OPERACIÓNES BÁSICAS MODIFICACIÓN Primero se busca el elemento en el arreglo. 7 8 10 9 8 10 [0] [1] [2] [3] [4] [5] [6] [7] Vector A 7 8 10 10 8 10 [0] [1] [2] [3] [4] [5] [6] [7] Vector Actual Vector Nuevo A[3] 10
  17. 17. www.themegallery.com LOGO OPERACIÓNES BÁSICAS CÓDIGO PARA MODIFICAR UN ELEMENTO DE UNA POSICIÓN DETERMINADA int calif [5] calif [2] 7 5 7 5 9 9 [0] [1] [2] [3] [4] 5 7 7 9 9 [0] [1] [2] [3] [4] ANTES DESPUÉS CÓDIGO PARA BUSCAR UN ELEMENTO Y MODIFICARLO Int calif[5] Escribe “numero a buscar” Lee (numero) Para (i 0; i<5 ; i++) Lee calif[i] Si (calif [i] = numero) entonces calif[i] 7 finSi finPara
  18. 18. www.themegallery.com LOGO BÚSQUEDA Se recorre desde el primero hasta el último, de uno en uno. El resultado será la posición del elemento buscado y si no, aparecerá el mensaje respectivo o cero (no se encontró). SECUENCIAL BINARIA Se basa en el algoritomo “DIVIDE Y VENCERÁS”. Para este tipo de búsqueda el vector debe estar ordenado. 1.- Se divide el arreglo a la mitad, comparando el elemento central con el número a buscar. •Si es igual, el valor fue encontrado •Si el elemento a buscar es menor, se hace la búsqueda en los • elementos de la izquerda. • Si es mayor se busca a su derecha
  19. 19. www.themegallery.com LOGO ORDENACIÓN S u finalidad es clasificar datos (arreglos/archivo), en un orden ascendente o descendente mediante un criterio. De acuerdo con el tipo de elemento que se quiera la ordenación puede ser: INTERNA EXTERNA Los datos se encuentran en memoria (arreglos) y pueden ser de acceso aleatorio o directo Los datos se encuentran en un dispositivo de lamacenamiento externo (archivo) y su ordenación es más lenta. DIRECTOS Burbuja Selección Inserción directa Etc. INDIRECTOS Shell Ordenación Rapida Ordenación por Mezcla
  20. 20. www.themegallery.com LOGO EJEMPLOS #include <conio.h> #include <stdio.h> main () { int n,i; int v[5]; printf("digite 5 numeros en vector:"); for (i=0; i<5;i++) { printf ("n Posicion numero [%d]= ",i); scanf ("%d",&v[i]); } printf ("nn Datos en el vector son :nn"); i=0; while (i<5) { printf ("t %d",v[i]); i+=1; } getch (); } LIBRERIAS VARIABLES IMPRIMIR EN PANTALLA CICLO QUE PIDE DATOS Y GUARDA EN EN EL VECTOR CICLO QUE IMPRIME LOS DATOS DATOS DEL VECTOR PROGRAMA QUE CAPTURA E IMPRIME 5 NÚMEROS
  21. 21. www.themegallery.com LOGO EJEMPLOS #include <iostream> using namespace std; #include <conio.h> main () { int n,i; cout <<"PROGRAMA PARA ORDENAR ELEMENTOS DEL ARREGLO <ORDEN ASCENDENTE>t"; cout << "nDE CAUNTOS NUMEROS QUIERE SU ARREGLO (1-20)"; cin >> n; int arreglo [n]; cout <<"Ingrese datos del arreglo n"; for (i=0; i<n; i++) { cout <<"Ingrese el elemento ("<<i+1<<"):"; cin >> arreglo [i]; } Pidiendo al usuario tamaño del arreglo Pidiendo datos del vector Declaración del vector USO PRÁCTICO DE UN VECTOR
  22. 22. www.themegallery.com LOGO EJEMPLOS // ordenamiento ascendente int k, l, mayor; int cont =n; mayor =0; for (k=1;k<cont;++k) { for (l=cont-1; l>=k; --l) { //intercambio de posiciones if(arreglo[l-1]>arreglo [l]) { mayor = arreglo[l-1]; arreglo [l-1]=arreglo [l]; arreglo[l]=mayor; } } } Variables a usar para el ordenamiento Comparación de números Indices de los vectores
  23. 23. www.themegallery.com LOGO EJEMPLOS //impresión de vector ordenado cout << "n Salida de datos del arreglo ordenadon"; for (int j=0;j<n;j++) { cout << "elemento ("<<j+1<<")=t"<<arreglo [j]<<"n"; cout <<"n"; getch(); } } Ciclo que recorre todo el vector Impresión a pantalla de cada elemento
  24. 24. Bibliografía 1. Corona Nakamura A. y Ancona Valdez María de los Ángeles. (2011), Diseño de Algoritmos y su Codificación en Lenguaje C. 1ª. edición. México. McGrawHill 2. Cairó Battistuti O. (2006), Fundamentos de Programación, Piensa en C, Pearson 3. Joyánes Aguilar L y Zahonero Martínez I. (2003), Programación Orientada a Objetos. 2ª. Edición. Madrid. McGrawHill 4. Joyánes Aguilar L y Zahonero Martínez I. (2010), Programación en C, C++, Java y UML. 1ª. Edición. México. McGrawHill www.themegallery.com LOGO
  25. 25. LOGO www.themegallery.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×