Está en la página 1de 5

UNIVERSIDAD TECNOLOGICA DE SANTIAGO

UTESA, RECINTO MOCA

Carrera: Ing. Sistema Computacionales.

Trabajo presentado como requisito de la materia


Lab. De Programación.

PRESENTADO POR:
Luz Del Alba Durán Liriano. 1-22-8051.

PRESENTADO A:
.

Moca, provincia Espaillat


República Dominicana
Abril, 2023
Investigaciones.
1-Que es un arreglo
2-importancia de los arreglos
3-Ventajas y desventajas de usar arreglos en c
4-Que son los punteros
5-Para qué sirven los punteros en c
6- Explique y defina que son las estructuras en c
7-Realizar ejemplos de estructuras en c

 Desarrollo.

1. ¿Qué es un arreglo?
En programación, un arreglo es una estructura de datos que permite
almacenar una colección de elementos del mismo tipo. Los elementos de un
arreglo son accesibles a través de un índice numérico, que comienza en cero
para el primer elemento.

Los arreglos son esenciales en la programación ya que proporcionan una


manera eficiente de almacenar y procesar datos en una colección, ya que
permite acceder a los elementos mediante un índice, lo que facilita su
manipulación.

Por ejemplo en Java, un arreglo se declara de la siguiente manera:

int[] numeros = {1, 2, 3, 4, 5};


en python

numeros = [1, 2, 3, 4, 5]
Los arreglos tienen un tamaño fijo que se establece al momento de su
creación, y no se pueden agregar o eliminar elementos una vez que han sido
creados. Sin embargo, en algunos lenguajes de programación, se tiene
estructuras similares a los arreglos pero con la posibilidad de modificar
tamaño como son las listas o los vectores.
Los arreglos son útiles para trabajar con colecciones de datos, como
conjuntos de números, cadenas de texto, objetos, etc. Por ejemplo, se pueden
usar para almacenar los valores de una tabla, para guardar los resultados de
una consulta a una base de datos, para almacenar una lista de objetos, entre
otros.

2. Importancia de los arreglos.

Los arreglos son importantes ya que su uso durante el aprendizaje en


programación nos aproxima a lo que es la realidad de programar
aplicaciones complejas que satisfacen necesidades de procesamiento de
datos almacenados en grandes bases de datos en la industria, oficinas, etc.

3. Ventajas de los arreglos.

 Almacenamiento de datos: Los arreglos permiten almacenar una gran


cantidad de datos en una estructura de datos unificada.

 Acceso a los datos: Los arreglos permiten acceder a los datos de manera
rápida y eficiente mediante un índice numérico.

 Organización de datos: Los arreglos permiten organizar los datos de una


manera ordenada y coherente, facilitando su manejo y manipulación.

 Funciones integradas: Muchos lenguajes de programación tienen funciones


integradas para trabajar con arreglos, lo que permite realizar operaciones
complejas con ellos de manera sencilla.

Desventajas de los arreglos.

 Tamaño fijo: Una vez creado un arreglo, su tamaño no se puede cambiar, lo


que puede ser un problema si se necesita almacenar más datos en el futuro.
 Dificultad para agregar o eliminar elementos: Es más complicado agregar o
eliminar elementos de un arreglo en comparación con otras estructuras de datos,
como las listas enlazadas.

 Dificultad para manejar datos heterogéneos: Los arreglos suelen requerir


que todos los elementos sean del mismo tipo, lo que puede ser un problema si
se necesitan almacenar diferentes tipos de datos en una misma estructura.

 Desperdicio de espacio: Si se necesitan almacenar menos datos de los que se


especificaron al crear el arreglo, se desperdiciará espacio en la memoria.

4. ¿Qué son los punteros?

Un puntero es un objeto de lenguaje de programación que almacena la


dirección de memoria de otro valor ubicado en la memoria de la
computadora. Un puntero hace referencia a una ubicación en la memoria, y
obtener el valor almacenado en esa ubicación se conoce como diferenciar el
puntero.
Como analogía, un número de página en el índice de un libro podría
considerarse un puntero a la página correspondiente; la des referenciación de
dicho puntero se haría volteando a la página con el número de página dado y
leyendo el texto que se encuentra en esa página.

El uso de punteros mejora significativamente el rendimiento para


operaciones repetitivas como el desplazamiento de estructuras de datos
iterables, por ejemplo: cadenas, tablas de búsqueda, tablas de control y
estructuras de árbol. En general, a menudo es mucho más barato en tiempo y
espacio copiar y desviar punteros que copiar y acceder a los datos apuntados
por los punteros.

Los punteros también se utilizan para mantener las direcciones de los puntos
de entrada para las subrutinas llamadas en la programación de
procedimientos y para el enlace en tiempo de ejecución a las bibliotecas de
vínculos dinámicos (DLL).
En la programación orientada a objetos, los punteros a las funciones se
utilizan para métodos de enlace, a menudo utilizando lo que se llama tablas
de métodos virtuales.

Un puntero es una implementación simple y más concreta del tipo de datos


de referencia más abstracto.

Varios idiomas, especialmente los de bajo nivel, admiten algún tipo de


puntero, aunque algunos tienen más restricciones de uso que otros.

Debido a que los punteros permiten el acceso protegido y desprotegido a las


direcciones de memoria, existen riesgos asociados con su uso,
particularmente en este último caso.

Los punteros primitivos a menudo se almacenan en un formato similar a un


número entero; sin embargo, intentar diferenciar o "buscar" un puntero cuyo
valor no sea una dirección de memoria válida hará que un programa falle.

Para aliviar este problema potencial, como una cuestión de seguridad de


tipo, los punteros se consideran un tipo separado parametrizado por el tipo
de datos que señalan, incluso si la representación subyacente es un número
entero. También se pueden tomar otras medidas (como validación y
comprobación de límites) para verificar que la variable del puntero contenga
un valor que sea tanto una dirección de memoria válida como dentro del
rango numérico que el procesador puede abordar.

5. Para que sirven los punteros en C

Los punteros se pueden utilizar para referencia y manipular estructuras de


datos, para referenciar bloques de memoria asignados dinámicamente y para
proveer el paso de argumentos por referencias en las llamadas a funciones.
Muchas de las funciones estándares de C, trabajan con punteros, como es el
caso del scanf o strcpy.

6.

También podría gustarte