Subido por Marco Jordan

Arreglos 3 programacion

Anuncio
INSTITUTO TECNOLÓGICO DE MÉRIDA.
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA,
ELECTRÓNICA Y BIOMÉDICA.
Fundamentos de programación
Investigación
Arreglos
GRUPO: 3FA
UNIDAD: 3
Facilitador:
VILLALOBOS DIAZ, TOMAS HUMBERTO
INGENIERÍA ELÉCTRICA
Nombre:
KU DZIB MARCO YORDAN
3 Semestre
Fecha de entrega:
Mérida, Yucatán, México a 26/05/2021
INSTITUTO TECNOLÓGICO DE MÉRIDA
INGENIERÍA ELÉCTRICA
Curso:
FUNDAMENTOS DE PROGRAMACIÓN
NUM.TEMA
3
Actividad
Investigación 3
Participante:
Profesor(a):
Arreglos
KU DZIB MARCO YORDAN
Fecha:
26/05/2021
Semestre y Grupo:
VILLALOBOS DIAZ , TOMAS HUMBERTO
3FA
Arreglos:
3.1. Definición e importancia de los arreglos en la programación.
3.2. Declaración de arreglos unidimensionales y multidimensionales.
3.3. Lectura de arreglos unidimensionales y multidimensionales
3.4. Operaciones con arreglos.
Definición e importancia de los arreglos en la programación.
La investigación trata sobre los arreglos (arrays) sobre la serie de programación
en lenguaje C ++. Se dice que es una composición de datos algo más
complicados que lo observado hasta entonces sin embargo es cuestión de
practica y no muestran complejidad.
La importancia de mantener nuestros arreglos ordenados radica en que es mucho
más rápido tener acceso a un dato en un arreglo ordenado que en uno
desordenado. Existen muchos algoritmos para la ordenación de elementos en
arreglos, algunos de ellos son:
Selección directa: Este método consiste en seleccionar el elemento más pequeño
de nuestra lista para colocarlo al inicio y así excluirlo de la lista. Para ahorrar
espacio, siempre que vayamos a colocar un elemento en su posición correcta lo
intercambiaremos por aquel que la esté ocupando en ese momento.
Ordenación por burbuja: Es el método de ordenación más utilizado por su fácil
comprensión y programación, pero es importante señalar que es el más ineficiente
de todos los métodos. Este método consiste en llevar los elementos menores a la
izquierda del arreglo o los mayores a la derecha del mismo. La idea básica del
algoritmo es comparar pares de elementos adyacentes e intercambiarlos entre sí
hasta que todos se encuentren ordenados.
Ordenación por mezcla: Este algoritmo consiste en partir el arreglo por la mitad,
ordenar la mitad izquierda, ordenar la mitad derecha y mezclar las dos mitades
ordenadas en un array ordenado. Este último paso consiste en ir comparando
pares sucesivos de elementos (uno de cada mitad) y poniendo el valor más
pequeño en el siguiente hueco.
¿Qué es un arreglo?
Es un conjunto de datos que se
almacenan en memoria de manera
contigua con el mismo nombre.
Para diferenciar los elementos de
un arreglo se utilizan índices
detrás del nombre del arreglo y
encerrados por [ ].
Los arrays, arreglos o vectores, son utilizados para almacenar múltiples valores en
una única variable. En un aspecto más profundo, los arrays, permiten almacenar
muchos valores en posiciones de memoria continuas, lo cual permite acceder a un
valor u otro de manera rápida y sencilla. Estos valores pueden ser números, letras
o cualquier tipo de variable que deseemos incluso tipos de datos propios.
Algunas de sus características:

Tiene un nombre de variable único que representa a cada elemento dentro
de él y estos elementos son diferenciados por un índice.

Los elementos dentro del array son guardados en posiciones de memoria
de forma continua.

Se puede acceder a cada elemento individual del array de manera directa o
aleatoria
Declaración de arreglos unidimensionales y multidimensionales.
Dependiendo de la forma como se declaran o construyen los arrays, se pueden
clasificar en: unidimensional, bidimensional o multidimensional.
Los más utilizados son los arrays estructurados como un vector
(unidimensionales) o como una matriz (bidimensionales), aunque se pueden crear
estructuras de más de 2 dimensiones (multidimensionales) sin ningún problema.
Para declarar un array
unidimensional en C++, la
sentencia a utilizar es:
Tipo_dato nombre_array
[número_elementos];
Donde número de elementos debe
ser mayor o igual a 1.
Un ejemplo podría ser: int ejemplo
[7];
Para acceder a cualquier posición
dentro dicho array, la sentencia a
utilizar es:
Nombre_array[posición];
Donde “posición” debe encontrarse en el rango desde 0 a “número_elementos”-1.
Por tanto, si por ejemplo quisiéramos acceder a la posición 6 de dicho array, la
sentencia a utilizar sería ejemplo [5]; ya que, como dijimos anteriormente, los
índices en los arrays comienzan en la posición 0.
En el caso de los arrays bidimensionales y multidimensionales, la declaración es
igual que para los unidimensionales aumentando el número de “corchetes” donde
quedan especificadas las dimensiones del array.
Por ejemplo, para un array bidimensional un ejemplo de declaración sería: char
palabras [4][5]; mientras que si queremos declarar un array de 4 dimensiones un
ejemplo sería: bool elección[3][2][3][2];
A la hora de acceder estamos ante la misma situación aumentando las
dimensiones en la consulta. Por ejemplo: palabras [2][0]; o elección[0][0][1][2];
ARREGLOS UNIDIMENSIONALES
Un arreglo unidimensional es la estructura natural para modelar listas de
elementos iguales. Están formados por una colección finita y ordenada de datos
del mismo tipo. Los datos que se guarden en los arreglos todos deben ser del
mismo tipo.
Se caracteriza por ser un acceso directo, es decir, podemos acceder a cualquier
elemento del arreglo sin tener que consultar a elementos anteriores o posteriores,
esto mediante el uso de un índice para cada elemento del arreglo que nos da su
posición relativa.
La declaración de un arreglo se hace de la siguiente
forma: TipoDeDato nombre[] = new TipoDeDato [n];
Donde n es la capacidad (tamaño) del arreglo.
Ejemplos:
String nombres[ ] = new String [4];
double notas[ ] = new double [5];
int edadEstudiantes[ ] = new int [3];
String nombres[] = new String [4];
Define un arreglo llamado nombres, que almacena cadenas de texto y puede
contener máximo 4 elementos (con índices 0, 1, 2 y 3).
double notas[] = new double [5];
Define un arreglo llamado notas, que almacena números reales y puede tener
máximo 5 elementos (con índices 0, 1, 2, 3 y 4).
int edadEstudiantes[] = new int [3];
Define un arreglo llamado edadEstudiantes, que almacena números enteros y
puede tener máximo 3 elementos (con índices 0, 1 y 2).
TipoDeDato nombre[] = new TipoDeDato [n];
Los arreglos definidos de esta forma no están inicializados, es decir, no contienen
ningún valor, lo cual se representa con null si es String o con 0 si es int o double.
ARREGLOS MULTIDIMENSIONALES
Los arreglos multidimensionales tienen más de una dimensión. En C++, las
dimensiones se manejan por medio de un par de corchetes, dentro de los que se
escriben los valores de cada dimensión, separados por comas.
Operaciones:
Para manejar un arreglo, las operaciones a efectuarse son:
Declaración del arreglo
Creación del arreglo
Inicialización de los elementos del arreglo
Acceso a los elementos del arreglo.
La sintaxis para declarar un arreglo multidimensional es la siguiente:
<tipo> [ , …] < identificador > ;
Donde:
Tipo indica el tipo correspondiente a los elementos del arreglo, identificador es el
nombre del arreglo, y el par de corchetes, la coma y las diéresis, [ , …],
representan las dimensiones del arreglo. Los corchetes encierran todas las comas
necesarias para separar las dimensiones del arreglo.
Ejemplos:
double [ , ] bidim; // Dos dimensiones.
int [ , , ] tridim ; // Tres dimensiones.
char [ , , , ] enciclopedia; // Cuatro dimensiones.
Observe que, en la declaración, el espacio entre los corchetes está vacío. Esto se
debe a que, durante dicha operación, no se reserva espacio en la memoria.
La creación de un arreglo multidimensional consiste en reservar espacio en la
memoria para todos sus elementos, utilizando la siguiente sintaxis:
< identificador > = new <tipo> [ dim1, dim2 … dimN ] ;
Donde:
new es el operador para gestionar espacio de memoria, en tiempo de ejecución,
dim1 , dim2 , dimN son valores enteros que representan las dimensiones del
arreglo.
El tamaño del arreglo es el resultado de multiplicar los valores de las dimensiones
y representa el número de elementos del arreglo.
Ejemplos:
bidim = new double [2, 3] ;
tridim = new int[ 2, 3, 4] ;
enciclopedia = new char[30, 80, 500, 10] ;
Las operaciones de declaración y creación anteriores se pueden agrupar en una
sola instrucción, como se muestra enseguida:
double [ , ] bidim = new double [2,3] ;
int [ , , ] tridim = new int[2, 3, 4] ;
char [ , , , ] enciclopedia = new char[ 30, 80, 500, 10 ] ;
Un arreglo es un objeto que, cuando es creado por el compilador, se le asignan
automáticamente valores iniciales predeterminados a cada uno de sus elementos,
de acuerdo a los siguientes criterios:

Si el tipo del arreglo es numérico, a sus elementos se les asigna el
valor cero. Si el tipo del arreglo es char, a sus elementos se les asigna
el valor ‘\u0000’. Si el tipo del arreglo es bool, a sus elementos se les
asigna el valor false.

Si el tipo del arreglo es una clase, a sus elementos se les asigna el valor null.
Cuando se requiere asignar valores iniciales diferentes de los predeterminados, es
posible agrupar las operaciones de declaración, creación e inicialización en una
sola instrucción
Ejemplo:
int [ , , ] tridim={{{12, 59, 70, 45} , {20, 16, 29, 48} , {93, 75, 43, 10}},
{{44, 72, 30, 24} , {60, 89, 39, 61} , {99, 52, 34, 47}}};
Acceso.
Se puede acceder a los valores de los elementos de un arreglo bidimensional a
través del nombre del arreglo y dos subíndices. Los subíndices deben escribirse
entre corchetes y representa la posición del elemento en el arreglo. Así, podemos
referirnos a un elemento del arreglo escribiendo el nombre del arreglo y los
subíndices del elemento entre corchetes. Los valores de los subíndices empiezan
en cero para el primer elemento, hasta el tamaño del arreglo menos uno.
Lectura de los arreglos
Las operaciones con arreglos ejecutan operaciones elemento por elemento en los
elementos correspondientes de los vectores, las matrices y los arreglos
multidimensionales. Si los operandos tienen el mismo tamaño, cada elemento del
primer operando coincide con el elemento de la misma ubicación en el segundo
operando. Si los operandos tienen tamaños compatibles, cada entrada se amplía
de manera implícita según sea necesario para hacer que coincida con el tamaño
del otro. Para obtener más información, consulte Tamaños de arreglos
compatibles para operaciones básicas.
Sobre un arreglo es posible realizar una variedad de operaciones, las cuales
permiten manipular el arreglo de acuerdo a las necesidades, que se presenten al
administrar información con este tipo de estructura:

Ingresar

Sumar y Promedio

Mayor y Menor

Buscar y Reemplazar

Ordenar e Invertir

Insertar y Eliminar
Entre otras que facilitarían las acciones sobre un arreglo, luego podría ampliarse a
operaciones entre dos arreglos.
Importante:
Para resolver los problemas con arreglos, se deberán tener en cuenta la siguiente
consideración: Al ser un problema muy amplio, cada operación sobre los arreglos
será considerada como un subproblema, por lo tanto se realizará el análisis, diseño,
e implementación de cada uno de ellos y al final se integrarán todas sus partes en
un solo programa.

Variables del programa

Arreglo: variable para manipular el arreglo

Tamaño: cantidad máxima de datos del arreglo

ind: posición inicial del arreglo
Referencias:
http://www.utn.edu.ec/reduca/programacion/arreglos/utilidades1.htm
l
https://clasesadsi.wordpress.com/2017/03/07/arreglos-unidimensionales-y- multidimensionales/
http://www.ganimides.ucm.cl/haraya/doc/arreglos_1.pdf
http://odin.fib.unam.mx/salac/prcticasFP/fp_p10.pdf
https://sites.google.com/site/portafoliosenati/fundamentos-de-programacion/15- ejecutaroperaciones-con-arreglos
Descargar