You are on page 1of 22

CONTENIDO

Objetivos General y Particulares

Introducción

Definición

Declaración de vectores, e inicialización

Operaciónes con arreglos

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.

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

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).

ÍNDICE
ÍNDICES

Los índices representan la posición


en la que se encuentra un
elemento.

www.themegallery.com LOGO
DECLARACIÓN DE VECTORES
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. Ejemplo: int A[10]

indentif_arreglo: Nombre del arreglo.


tam_arreglo: Es el número de elementos del Al igual que todas las
arreglo. variables se debe declarar
ANTES de utilizar

www.themegallery.com LOGO
INICIALIZACIÓN DE VECTORES

Al declarar un
arreglo es ¨Pseudocódigo¨
posible
especificar los
valores 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}

www.themegallery.com LOGO
OPERACIONES CON ARREGLOS

Búsqueda
Ordenamiento

OPERACIONES
Asignación
BÁSICAS

Inserción
Lectura y
Escritura
Actualización

Eliminación
Modificación

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

Asignación…
Pseudocódigo

identif_arreglo[posición] valor

Ejemplo:
A [5] 12

Lenguaje C

identif_arreglo[posición] = valor

Ejemplo:
A [5] = 12

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

Lectura
Consiste en leer el valor de cada uno de sus componentes

Ejemplo:
Declaración del vector
leer A[2]
Entero calif[200]

Para (i 0; i<199; i++)

Leer calif [i]


8 Lectura de vector, en la
[199] 9 posición i fin Para
[198] 7
… 6
Ciclo ‘Para’ :
[2] 9 10 Lo utilizamos para recorrer 200
[1] Contenido del arreglo
[0] veces el arreglo

Posiciones del arreglo


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:
Declaración del vector
calif [2] 10

int calif [200]


Ciclo ‘Para’ :
Para (i 0; i<199; i++)
Lo utilizamos para
escribir en los 200
elementos del arreglo calif [i] 10

fin Para
Escritura en la
posición i del vector

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.
Vector A
INSERCIÓN DE UN SÓLO ELEMENTO

7 8 10 9 8
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Actual
A[5] 10

7 8 10 9 8 10
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Nuevo

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

CÓDIGO PARA INSERCIÓN POR ELEMENTOS

ANTES
int calif [5] [0] [1] [2] [3] [4]
calif [0] 10
DESPUÉS 5 9
calif[3] 9
[0] [1] [2] [3] [4]

CÓDIGO PARA INSERCIÓN EN UN CICLO

ANTES
int calif [10]
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

Para (i 0; i<10; i++)


10 10 10 10 10 10 10 10 10 10
calif [i] 10 [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]

fin Para
DESPUÉS
www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

ELIMINACIÓN

Primero se busca el elemento en el arreglo. Vector A

7 8 10 9 8 10
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Actual

A[3] null

7 8 10 null 8 10
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Nuevo

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

CÓDIGO PARA ELIMINAR CÓDIGO PARA BUSCAR UN


UN ELEMENTO DE UNA ELEMENTO Y ELIMINARLO
POSICIÓN DETERMINADA

int calif [5] Int calif[5]


borrar calif [2]
Escribe “numero a buscar”
Lee (numero)
ANTES
Para (i 0; i<5 ; i++)
5 7 5 9 9
[0] [1] [2] [3] [4] Lee calif[i]
Si (calif [i] = numero) entonces
DESPUÉS borrar calif[i]
finSi
5 7 9 9
[0] [1] [2] [3] [4] finPara

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

MODIFICACIÓN
Primero se busca el elemento en el arreglo. Vector A

7 8 10 9 8 10
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Actual

A[3] 10

7 8 10 10 8 10
[0] [1] [2] [3] [4] [5] [6] [7]

Vector Nuevo

www.themegallery.com LOGO
OPERACIÓNES BÁSICAS

CÓDIGO PARA MODIFICAR


CÓDIGO PARA BUSCAR UN
UN ELEMENTO DE UNA
ELEMENTO Y MODIFICARLO
POSICIÓN DETERMINADA

int calif [5] Int calif[5]


calif [2] 7
Escribe “numero a buscar”
Lee (numero)
ANTES
Para (i 0; i<5 ; i++)
5 7 5 9 9
[0] [1] [2] [3] [4] Lee calif[i]
Si (calif [i] = numero) entonces
DESPUÉS calif[i] 7
finSi
5 7 7 9 9
[0] [1] [2] [3] [4] finPara

www.themegallery.com LOGO
BÚSQUEDA
SECUENCIAL

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ó).

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

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 Los datos se encuentran en un


memoria (arreglos) y pueden ser dispositivo de lamacenamiento
de acceso aleatorio o directo externo (archivo) y su ordenación
es más lenta.

DIRECTOS INDIRECTOS

Burbuja Shell
Selección Ordenación Rapida
Inserción directa Ordenación por Mezcla
Etc.
www.themegallery.com LOGO
EJEMPLOS
#include <conio.h>
LIBRERIAS
#include <stdio.h>

main () {
int n,i;
VARIABLES
int v[5];
IMPRIMIR EN PANTALLA
printf("digite 5 numeros en vector:");

for (i=0; i<5;i++) {


CICLO QUE PIDE DATOS Y GUARDA
printf ("\n Posicion numero [%d]= ",i);
EN EN EL VECTOR
scanf ("%d",&v[i]);
}

printf ("\n\n Datos en el vector son :\n\n");

i=0; CICLO QUE IMPRIME LOS DATOS


while (i<5) { DATOS DEL VECTOR
printf ("\t %d",v[i]);
i+=1;
}

getch ();
}
PROGRAMA QUE CAPTURA
E IMPRIME 5 NÚMEROS
www.themegallery.com LOGO
EJEMPLOS
#include <iostream>
using namespace std;
#include <conio.h> Pidiendo al usuario tamaño del
arreglo
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]; Declaración del vector

cout <<"Ingrese datos del arreglo \n";

for (i=0; i<n; i++)


{
cout <<"Ingrese el elemento ("<<i+1<<"):";
cin >> arreglo [i];

}
USO PRÁCTICO
DE UN VECTOR
Pidiendo datos del vector

www.themegallery.com LOGO
EJEMPLOS

// ordenamiento ascendente
int k, l, mayor;
int cont =n; Variables a usar para el ordenamiento
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];
Indices de los
arreglo [l-1]=arreglo [l]; vectores
arreglo[l]=mayor;
}
Comparación de
números
}
}
www.themegallery.com LOGO
EJEMPLOS
//impresión de vector ordenado

cout << "\n Salida de datos del arreglo ordenado\n";

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

www.themegallery.com LOGO