Arreglos y Recursividad

4
 ARREGLOS (UNIDIMENSIONA LES Y BIDIMENSIONALES) Un arreglo (array) es una secuencia finita y ordenada de posiciones de memoria que almacena d atos del mi smo tipo (Ej. Carac ter- char , entero- int o flotante  float ) y a los cuales se puede acceder directamente haciendo uso de subíndices. Los tipos de arreglos que estudiaremos son: 1) Arreglos Unidimensionales 2) Arreglos Bidimensio nales 1) Arreglos Unidimensionales Es el tipo más simple de arreglos, y está conformado por una sola dimensión con n  número de elementos del mismo tipo.  Arreglo unidimensional, se representa gráficamente un arreglo llamado Demo con 3 posiciones, donde cada posición representa un elemento que estará aco mpaña do por un número denominado subíndice  que indica la posición del elemento dentro del arreglo. Demo 99 10.4 120 0 1 2 Figura No.1. Arreglo unidimensional. Como el nombre del arreglo es Demo, entonces para referenciar el elemento en la posición 0 donde está almacenado el número 99, se utiliza la siguiente sintaxis: Demo[0]. Para el elemento en la posición 1, donde se almacena el número 10.4, la sintaxis es: Demo[1]. Para el elemento en la posición 2, donde se almacena el número 120, la sintaxis es: Demo[2]. En éste ejemplo, el tamaño o longitud del arreglo es de 3 elementos (0, 1, 2); nótese que el primer elemento está ubicado en la posición 0. Elemento Subíndice Nombre del vector

description

Documento de prueba sin fines comerciales

Transcript of Arreglos y Recursividad

Page 1: Arreglos y Recursividad

7/21/2019 Arreglos y Recursividad

http://slidepdf.com/reader/full/arreglos-y-recursividad 1/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 loscuales se puede acceder directamente haciendo uso de subíndices.

Los tipos de arreglos que estudiaremos son:

1) Arreglos Unidimensionales

2) Arreglos Bidimensionales

1) Arreglos Unidimensionales

Es el tipo más simple de arreglos, y está conformado por una sola dimensión con n  

número de elementos del mismo tipo.

 Arreglo unidimensional, se representa gráficamente un arreglo llamado Demo con 3

posiciones, donde cada posición representa un elemento que estará acompañado por

un número denominado subíndice  que indica la posición del elemento dentro del

arreglo.

Demo99 10.4 120

0 1 2

Figura No.1. Arreglo unidimensional.

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

posición 0 donde está almacenado el número 99, se utiliza la siguiente sintaxis:

Demo[0].

Para el elemento en la posición 1, donde se almacena el número 10.4, la sintaxis es:

Demo[1].

Para el elemento en la posición 2, donde se almacena el número 120, la sintaxis es:

Demo[2].

En éste ejemplo, el tamaño o longitud del arreglo es de 3 elementos (0, 1, 2); nótese

que el primer elemento está ubicado en la posición 0.

Elemento

SubíndiceNombre del vector

Page 2: Arreglos y Recursividad

7/21/2019 Arreglos y Recursividad

http://slidepdf.com/reader/full/arreglos-y-recursividad 2/4

 

2) Arreglos Bidimensionales.

Los arreglos Bidimensionales también conocidos como tablas o matrices, consiste en

una composición 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.

Figura No. 2.- Arreglo bidimensional

Para ubicar un elemento dentro de una matriz se utilizan dos subíndices: el primer

subíndice hace referencia a la fila y el segundo subíndice hace referencia a la columna.

0 1 2 3

0

1 38

2

Por consiguiente para ubicar el elemento que contiene el número 38 dentro de la matriz

anterior, se denota de la siguiente manera: Demo  [1,3] lo que significa que el elemento

que contiene el número 38 se encuentra en un matriz denominada Demo en la fila 1 y

la columna 3.

Inicialización de arreglos bidimensionales:

Como en los arreglos unidimensionales, los arreglos bidimensionales pueden

inicializarse desde su declaración en el programa. Esto se logra enlistando los valores

Fila 0

Columna 0

Fila 1

Fila 2

Columna 1

Columna 2

Columna 3

Elemento

Fila 

Columna

Demo

Page 3: Arreglos y Recursividad

7/21/2019 Arreglos y Recursividad

http://slidepdf.com/reader/full/arreglos-y-recursividad 3/4

 

iniciales dentro de llaves y separándolo con comas. Además las llaves pueden usarse

para separar filas individuales. Por ejemplo:

Int Demo[2][3] = {{4,5,6},

{8, 12, 88}};

La anterior instrucción declara que Demo es un arreglo de números enteros con dos

filas y tres columnas, con los valores dados en la declaración. 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 inicialización, las llaves internas

pueden omitirse. Por tanto la inicialización para Demo puede escribirse como:

Int Demo[2][3] = {4,5,6,

8, 12, 88};

O también:

Int Demo[2][3] = {4,5,6, 8, 12, 88}

Page 4: Arreglos y Recursividad

7/21/2019 Arreglos y Recursividad

http://slidepdf.com/reader/full/arreglos-y-recursividad 4/4

 

RECURSIVIDAD

Una función recursiva es aquella función que puede resolver un problema llamándose

así misma varias veces hasta obtener la solución al problema.

Aspectos a tener en cuenta en Recursividad.

  La recursividad es un método algorítmico alternativo a la iteracción, 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

instrucción que permita salir de la recursividad.

  La mayoría de los problemas pueden resolverse de una manera directa usandométodos no recursivos. Sin embargo, unos problemas pueden resolverse de

manera más lógica y original mediante la recursión1.

  No todos los lenguajes de programación admiten recursividad (C++, si).

  La recursividad consume muchos recursos de memoria y tiempo de ejecución, yse debe aplicar a funciones que realmente le saquen provecho a éstos recursos.

Tipos de recursividad2:

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

llamada a la función.

  La recursividad múltiple, donde el caso recursivo consta de más de una

llamada de la función.

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

de la función.

  La recursividad indirecta o cruzada, en la que una función llama a otra y esa

otra llama a la primera.

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

México 1997.

2

 BERLANGA LL. RAFAEL, IÑESTA Q. J OSÉ MANUEL. Introducción a la Programación en Pascal.Universitat Jaume I.