Arreglos y Recursividad

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

ARREGLOS (UNIDIMENSIONALES Y BIDIMENSIONALES)

Un arreglo (array) es una secuencia finita y ordenada de posiciones de memoria que


almacena datos del mismo tipo (Ej. Caracter- char, entero- int o flotante float) y a los
cuales se puede acceder directamente haciendo uso de subndices.
Los tipos de arreglos que estudiaremos son:
1) Arreglos Unidimensionales
2) Arreglos Bidimensionales

1) Arreglos Unidimensionales
Es el tipo ms simple de arreglos, y est conformado por una sola dimensin con n
nmero de elementos del mismo tipo.
Arreglo unidimensional, se representa grficamente un arreglo llamado Demo con 3
posiciones, donde cada posicin representa un elemento que estar acompaado por
un nmero denominado subndice que indica la posicin del elemento dentro del
arreglo.
Elemento

Demo
Nombre del vector

99

10.4

120

Subndice

Figura No.1. Arreglo unidimensional.

Como el nombre del arreglo es Demo, entonces para referenciar el elemento en la


posicin 0 donde est almacenado el nmero 99, se utiliza la siguiente sintaxis:
Demo[0].
Para el elemento en la posicin 1, donde se almacena el nmero 10.4, la sintaxis es:
Demo[1].
Para el elemento en la posicin 2, donde se almacena el nmero 120, la sintaxis es:
Demo[2].
En ste ejemplo, el tamao o longitud del arreglo es de 3 elementos (0, 1, 2); ntese
que el primer elemento est ubicado en la posicin 0.

2) Arreglos Bidimensionales.
Los arreglos Bidimensionales tambin conocidos como tablas o matrices, consiste en
una composicin de filas y columnas de elementos del mismo tipo.

En la figura No. 2., se ilustra una matriz de 12 elementos (3x4) con 3 filas y 6 columnas.
Columna 3
Columna 2
Columna 1
Columna 0

Fila 0
Fila 1

Elemento

Fila 2
Figura No. 2.- Arreglo bidimensional

Para ubicar un elemento dentro de una matriz se utilizan dos subndices: el primer
subndice hace referencia a la fila y el segundo subndice hace referencia a la columna.

Columna
0

Fila
s

38

1
2

Demo
Por consiguiente para ubicar el elemento que contiene el nmero 38 dentro de la matriz
anterior, se denota de la siguiente manera: Demo [1,3] lo que significa que el elemento
que contiene el nmero 38 se encuentra en un matriz denominada Demo en la fila 1 y
la columna 3.
Inicializacin de arreglos bidimensionales:
Como en los arreglos unidimensionales, los arreglos bidimensionales pueden
inicializarse desde su declaracin en el programa. Esto se logra enlistando los valores

iniciales dentro de llaves y separndolo con comas. Adems las llaves pueden usarse
para separar filas individuales. Por ejemplo:
Int Demo[2][3] = {{4,5,6},
{8, 12, 88}};
La anterior instruccin declara que Demo es un arreglo de nmeros enteros con dos
filas y tres columnas, con los valores dados en la declaracin. El primer conjunto de
llaves internas contiene los valores para la fila 0 y el segundo conjunto de llaves internas
contiene los valores para la fila 1.
Aunque siempre se requieren las comas en las llaves de inicializacin, las llaves internas
pueden omitirse. Por tanto la inicializacin para Demo puede escribirse como:
Int Demo[2][3] = {4,5,6,
8, 12, 88};
O tambin:
Int Demo[2][3] = {4,5,6, 8, 12, 88}

RECURSIVIDAD
Una funcin recursiva es aquella funcin que puede resolver un problema llamndose
as misma varias veces hasta obtener la solucin al problema.
Aspectos a tener en cuenta en Recursividad.

La recursividad es un mtodo algortmico alternativo a la iteraccin, ya que toda


sentencia estructurada iterativa puede convertirse en un algoritmo recursivo y
viceversa

Para que un algoritmo recursivo sea correcto es que no genere una secuencia
infinita de llamadas sobre s mismo, siendo evidente que cualquier algoritmo que
genera esta secuencia no puede terminar nunca, para lo cual debe existir una
instruccin que permita salir de la recursividad.

La mayora de los problemas pueden resolverse de una manera directa usando


mtodos no recursivos. Sin embargo, unos problemas pueden resolverse de
manera ms lgica y original mediante la recursin1.

No todos los lenguajes de programacin admiten recursividad (C++, si).

La recursividad consume muchos recursos de memoria y tiempo de ejecucin, y


se debe aplicar a funciones que realmente le saquen provecho a stos recursos.

Tipos de recursividad 2:

La recursividad simple no final, donde el caso recursivo consiste en una sola


llamada a la funcin.

La recursividad mltiple, donde el caso recursivo consta de ms de una


llamada de la funcin.

La recursividad anidada en las que hay llamadas recursivas en el argumento


de la funcin.

La recursividad indirecta o cruzada, en la que una funcin llama a otra y esa


otra llama a la primera.

YEDIDYAH L, MOSHE J. A, AARON M. TENENBAUM. Estructura de Datos con C y C++. Pearson Education.
Mxico 1997.
2

BERLANGA LL. RAFAEL, IESTA Q. J OS MANUEL. Introduccin a la Programacin en Pascal.


Universitat Jaume I.

También podría gustarte