Escolar Documentos
Profissional Documentos
Cultura Documentos
ARREGLO, PUNTEROS,
CADENA Y FUNCION
Prof. Rossana Surga
Computacin Avanzada
Integrantes:
Paola Cardozo CI: 25.621.294
Vernica Centeno CI: 21.095.599
Eberyck Crdova CI: 23.923.010
Jess Mrquez CI: 20.063.569
Yatnelys Hernndez CI 20.346.167
Fernando Segura CI 18.211.167
6to Semestre/ Seccin 01
Ing. De Telecomunicaciones
INTRODUCCIN.
Las estructuras de datos que hemos visto hasta ahora (listas, tuplas,
diccionarios, conjuntos) permiten manipular datos de manera muy flexible.
Combinndolas y anidndolas, es posible organizar informacin de manera
estructurada para representar sistemas del mundo real.
En muchas aplicaciones de Ingeniera, por otra parte, ms importante que
la organizacin de los datos es la capacidad de hacer muchas operaciones a la
vez sobre grandes conjuntos de datos numricos de manera eficiente. Algunos
ejemplos de problemas que requieren manipular grandes secuencias de nmeros
son: la prediccin del clima, la construccin de edificios, y el anlisis de
indicadores financieros entre muchos otros.
1- Definicin de Arreglos.
Un arreglo es un conjunto finito y ordenado de elementos homogneos. Los
arreglos son los equivalentes en programacin de las matrices y vectores de las
matemticas. Precisamente, una gran motivacin para usar arreglos es que hay
mucha teora detrs de ellos que puede ser usada en el diseo de algoritmos para
resolver problemas verdaderamente interesantes.
La estructura de datos que sirve para almacenar estas grandes secuencias de
nmeros (generalmente de tipo float) es el arreglo.
Los arreglos tienen algunas similitudes con las listas:
2 - Definicin de Vector.
Es una zona de almacenamiento continuo, que contiene una serie de
elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista
lgico una matriz se puede ver como un conjunto de elementos ordenados en fila
(o filas y columnas si tuviera dos dimensiones).
Ejemplo:
Ejemplo:
4 - Inicializacin de un Arreglo.
La inicializacin de un arreglo unidimensional puede llevarse a cabo
mientras se le declara. La lista de datos de inicio se encierra entre llaves y
contiene datos separados por comas. C++ le permite incluir menos datos que los
que corresponden al tamao del arreglo. En este caso, el compilador
automticamente
asigna
ceros
los
elementos
que
no
se
inicializan
Ejemplo:
Declaracin:
int arreglo[10][10];
float matriz[10][10];
Tambin podemos utilizar constantes para definir la dimensin del arreglo
de dos dimensiones:
const int N = 10;
int arreglo[N][N];
7 Definicin de Arreglo Tridimensional.
El arreglo tridimensional o de tres dimensiones, est formado por un
conjunto de elementos de un mismo tipo de datos que se almacenan bajo un
mismo nombre y que, al igual que en los unidimensionales y bidimensionales, se
diferencian por la posicin que tiene cada elemento dentro del arreglo de datos,
con la aclaracin de que la disposicin de los elementos es una combinacin del
arreglo unidimensional y bidimensional. La primera dimensin se podra
esquematizar como el arreglo unidimensional, un conjunto de elementos; la
segunda y tercera dimensin es un arreglo de dos dimensiones que constituye a
cada elemento de la primera dimensin. Tridimensional de tipo entero. Como
podemos observar lo que antes era una msera lista se va convirtiendo en un cubo
de impresionantes proporciones. Ahora tenemos tres ndices con los que acceder
a los datos X, Y, Z. La forma en la que accedemos y almacenamos datos en esta
matriz puede parecernos un poco abstracta, lo que hacemos es acceder a la
interseccin de los tres ndices. Al ser tridimensional tenemos que tomarnos los
ndices como coordenadas que nos dan un punto fijo, y es ese punto el que
nuestra maquina va a reconocer como el valor global.
8 Ejemplo de un Arreglo Tridimensional.
Planos filas columnas
Var c:array[3..5, 1..2, 1..4]of integer;
LS-LI+1
Planos
Filas
= 5-3+1= 3
= 2-1+1= 2
Columnas
= 4-1+1= 4
24 elementos
<identificador de puntero>;
*<identificador de puntero>;
La nica diferencia es que el primer caso sugiere que * forma parte del tipo
de dato y en el segundo caso que * forma parte del identificador. Lo
recomendable es adoptar la primera forma, ya que la segunda se presta a
confundir el operador * con el operador de indireccin, y es muy importante
comprender que aqu no hay nada de indireccin, es solo una declaracin de un
identificador, ligado a un tipo (<Tipo de Dato>*). Es el mensaje del compilador el
que nos indica esta ltima interpretacin.
Ejemplos:
int*ptr1; \\ Puntero a un tipo de dato entero (int)
long*ptr2; \\ Puntero a un tipo de dato entero largo (long)
char*ptr3; \\ Puntero aun tipo de dato char
float*ptr4; \\ Puntero aun tipo de dato float
NOTA: Un puntero a cualquier tipo de variable es una direccin en memoria, la
cual es una direccin entera, pero un puntero no es un entero.
11- Inicializacin de Punteros.
C++ no inicializa los punteros cuando se declaran y es necesaria
inicializarlos antes de poder utilizarlos. Para asignar una direccin de memoria a
un puntero se utiliza el operador de referencia (&). Ejemplo: &var1, sigifica la
direccin de la variable var1. Por tal razn la inicializacin de un puntero requiere:
Sin embargo, en C las cadenas son simplemente arrays de tipo char. Eso
no quiere decir que manejar cadenas en C sea ms difcil que con otros lenguajes.
Simplemente, es distinto.
Ejemplo:
Ejemplo:
Ejemplo:
factorial de x - 1
}
CONCLUSIONES.
Despus de haber realizado el presente trabajo de investigacin y de haber
conocido las caractersticas principales de los arreglos, vectores, punteros y
cadenas, se logr llegar a las siguientes conclusiones:
Los
arreglos
son
los
equivalentes
en
programacin
de
BIBLIOGRAFA.