You are on page 1of 24

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular para la Educacin Superior


Universidad Nacional Experimental Politcnica de las Fuerzas Armadas
(UNEFA)

Guillermo Ruiz
Miguel Romero C.I: 17.684.057
ngel Prez
Roberto Villarroel
Freddy Herrera

Definicin

de arreglos
Operaciones con arreglos
Ejemplos
Ordenamiento de arreglos
Arreglos multidimensionales o
matrices
Cadenas de Caracteres
Apuntadores

Un arreglo o vector se define como


un conjunto finito y ordenado de
elementos de un mismo tipo.

A
1

A [1]

...

A [I]

...

A [N]

Un vector de una dimensin denominado


Notas, contiene N elementos.
El ndice de un elemento [1,2n] designa
la posicin en el orden del vector y cada
elemento es referenciado por medio de
este.
El valor mnimo de un vector se denomina
limite inferior y el valor mximo permitido
es el limite superior.
Los ndices pueden ser expresiones,
constantes o variables.

Asignacin
Lectura/escritura
Acceso secuencial
Aadir, borrar o insertar un elemento
Ordenamientos
Bsqueda

int

A[10] = {0}
int B[5] = {5}
int C[5] = {1, 2, 15, 30, 25}
int D[5] = {1,2,3,4,5,6}
Error
al compilar
int E[] = {2,4,6,8,10}

Enteros[1]=Enteros[2]

Enteros[3]
Enteros[2]= (Enteros[2]<3)?
Enteros[2]:3
Enteros[5*j+1]=

1
Enteros[Enteros[1]+Enteros[2]]=4
Enteros[(i<4)]=i

14.0 12.0 8.0

7.0

6.41 5.23 6.15 7.25

Escribir X[1]
Visualiza el valor de X[1] esto es
14.0
X[4] 45
Almacena el valor 45 en
X[4]
SUMA X[1] + X[3]
Asigna el valor 22.0 en
SUMA
SUMA SUMA + X[4] Agrega al valor de SUMA
67.0
X[6] X[1] + X[2] El nuevo elemento de X[6] es

Algoritmo
Asignar_elemento_vector
Var i, vector[5]:entero
inicio
para(i=0; i<4; i++)
Leer vector[i]
fin_para
Fin

Los

elementos almacenados en un
arreglo no siempre estn ordenados.
Para realizar manipulacin de los
datos es conveniente ordenarlos
ascendente o descendentemente,
segn convenga.
Existen
varios
mtodos
de
ordenamiento, en este caso se
estudiar el de burbuja.

La tcnica consiste en pasar varias veces


por el arreglo.
Los valores ms pequeos burbujean
gradualmente hacia la parte alta del
arreglo y los ms grandes se van hacia el
fondo del arreglo.
Con
cada paso se comparan pares
sucesivos de elementos, si uno de los pares
est en orden ascendente o son iguales se
queda como tal, si estn descendente se
intercambian los valores en el arreglo.

Algoritmo orden_arreglo
Constante tam_arrg=10
Var i, aux, num_pasos, a[tam_arrg]:Entero
Inicio
para
(num_pasos=0;num_pasos<tam_arrg;num_pasos+
+)
para(i=0;i<tam_arrg-1; i++)
si a[i] > a[i+1]
aux=a[i];
a[i]=a[i+1];
a[i+1]=aux;
fin_si
fin_para

En muchas ocasiones se hace necesario ubicar


un valor clave en grandes cantidades de datos,
por ello es importante conocer al menos una
tcnica de bsqueda en un arreglo. En este
caso se estudiar la denominada lineal.
La bsqueda lineal consiste en comparar todos
los elementos del arreglo con la clave de
bsqueda.
Debido a que el arreglo no est en ningn
orden existe la misma posibilidad de que el
elemento este al principio al final del arreglo.

A[0][0]

A[0][1]

A[0][2]

A[0][3]

A[1][0]

A[1][1]

A[1][2]

A[1][3]

A[2][0]

A[2][1]

A[2][2]

A[2][3]

Subindice de Columna
Subindice de Fila
Nombre de la matriz

Algoritmo suma_elemento_matriz
Var fila, col, total, matriz[3][4]: entero
inicio
para(fila=0; fila<3; fila++)
para(col=0; col<4; col ++)
Escribir(Introduzca el elemento de la
matriz,matriz[fila][col]);
total=0;
para(fila=0; fila<3; fila++)
para(col=0; col<4; col ++)
total=total + matriz[fila][col]

Un carcter es un tipo de dato simple


que representa un nmero, una letra o
cualquier caracter especial disponible
en el teclado. Cuando se asigna una
carcter a una variable tipo char, este
siempre
se
debe
escribir
entre
apostrofos .

Una cadena de caracteres es un tipo de


datos
estructurado
compuesto
por
caracteres.
En el lenguaje C, una cadena de caracteres
se define como un arreglo de caracteres
que termina con el carcter nulo \0

Una cadena de caracteres se puede definir


como:
Un arreglo char cadena[ ]= Hola

En esta expresin se reserva espacio para


almacenar los siguientes caracteres:
H o l a \0

Un puntero (apuntador) es una variable


cuyo valor es la direccin o posicin de otra
variable, en esencia contiene la posicin de
memoria de un tipo dado. La representacin
grfica de un puntero consiste en una
flecha que sale del puntero y llega a la
variable apuntada.

Si una variable contiene la direccin de otra


variable,se dice que la primera variable es apunta a
la segunda.
Asignacin de punteros Un puntero puede utilizarse
a la derecha de una declaracin de asignacin para
asignarle su valor a otro puntero, ejemplo:
Int*p1,p2,
P1 =&x;
P2=p1
tanto p1 como p2 apuntan a X

puntero a un entero

Los punteros se declaran utilizando el


operador unitario, ejemplo: n es un entero y
p es un puntero a un entero.
int n;
//n es un tipo de dato entero
int *p;
//p es un puntero a un entero

Una vez declarado el puntero se puede fijar


la direccin o posicin de la memoria del
tipo al que apunta.
P= &n; //p se fija a la direccin de n
Un puntero se declara, escribiendo:
Nombre Tipo
*Nombre Variable

Los punteros son nmeros (direcciones)


que pueden ser manipulados por los
operadores aritmticos como la suma, resta
y comparacin:
Char *p;
Char a (10);
P= & a (0);
P ++;
P++;
p- - ;

// p contiene la direccin de un carcter


// array de diez caracteres
// p apunta al primer elemento del array
// p apunta al segundo elemento del array
// p apunta al tercer elemento del array
// p apunta al segundo elemento del array

Los apuntadores dan flexibilidad a los programas en C++ y


permiten que estos crezcan dinmicamente. Utilizando un
apuntador hacia un bloque de memoria que se asigna al
momento de ejecucin, un programa puede ser ms
flexible que uno que asigna toda su memoria de una sola
vez. Tambin, un apuntador es ms fcil de guardar que
una estructura grande o un objeto de una clase. Debido a
que un apuntador slo guarda una direccin, puede
fcilmente pasarse a una funcin. Uno de las desventajas
que pueden presentar los apuntadores es que un
apuntador sin control o no inicializado puede provocar
fallas en el sistema, adems de que su uso incorrecto
puede generar fallas muy complejas de hallar.