Este documento introduce los conceptos básicos de los vectores o arreglos unidimensionales en lenguaje C. Explica la definición de vectores, cómo declarar e inicializar vectores, y las operaciones básicas como asignación, lectura, escritura, actualización, búsqueda y ordenamiento. También incluye ejemplos de código para ilustrar el uso de vectores en la solución de problemas.
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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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