Está en la página 1de 13

TECNOLÓGICO NACIONAL DE MÉXICO

H INSTITUTO TECNOLÓGICO SUPERIOR


DE ALVARADO - Unidad A. Medellín

INGENIERÍA EN
SISTEMAS COMPUTACIONALES

Materia:
Estructura de Datos
Semestre - Grupo - Sistema:
5° – Único – Escolarizado.

Producto Académico:
Lenguajes de Programacion para la Estructura de Datos

Presenta(n):
Jorge Alberto Garduño Monterrosas
Axel Huber Aguilera
Josue Mojica Cortés
Sheyla Cartagena Bello
Erik García Leyva
• José David Cazarin Ba

• Alvarez Rivera David Orlando

Docente:
Dionisio

Medellín de Bravo, Ver. Feb. – Jun. 2022


1
Introducción

Pues las estructuras de datos son parte fundamental de este proceso evolutivo de la
programación, son la base para el desarrollo de programas complejos que se diseñan
cuidadosamente desde el punto en que se requiere no solo facilitar sino también aumentar la
eficiencia, inicialmente los programas no eran estructurados porque carecían de organización,
estructuras de control y datos complejos, estos fueron introducidos a medida que evolucionaban
los lenguajes, lo que permitió crear datos compuestos a partir de la agrupación de datos simples
por parte de los programadores y es por eso que en esta investigación abarcamos algunos
lenguajes de programación que nos facilitan las cosas en la estructuras de datos, como los son
Python, SQL, Matlab, Java, y entre otros que se verán a continuación, y la importancia que tienen
en la programación

2
Estructuras de Datos

Las estructuras de datos en programación son un modo de representar información en una


computadora, aunque además, cuentan con un comportamiento interno. ¿Qué significa? Que se
rige por determinadas reglas/restricciones que han sido dadas por la forma en que está construida
internamente.

¿Por qué es importante conocerlas? Cuando inicias en el mundo de la programación y te metes


de lleno en el mundo de JavaScript, las estructuras de datos son fundamentales. Conocer sobre
listas, árboles y grafos te permitirá organizar mejor la información y crear código más eficiente.
Además, es clave para mejorar tus habilidades técnicas y enfrentarte con éxito a cada challenge
en tus futuras entrevistas laborales.

Primero, debemos diferenciar entre estructura de dato estática y estructura de dato dinámica,
Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en memoria se
define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la
ejecución del programa, mientras que una estructura de datos dinámica es aquella en la que el
tamaño ocupado en memoria puede modificarse durante la ejecución del programa.

Cada tipo de estructura dependerá del tipo de aplicación que se requiera. Una típica dentro de
las estructuras de datos estáticas son los arrays

Arrays

¿Qué es un array en programación? Un array es un tipo de dato estructurado que permite


almacenar un conjunto de datos homogéneo y ordenado, es decir, todos ellos del mismo tipo y
relacionados. Su condición de homogéneo, indica que sus elementos están compuestos por el
mismo tipo de dato, y su condición de ordenado hace que se pueda identificar del primer al último
elemento que lo compone.

Estructura de datos dinámicas

Por otro lado, vimos que en programación existen estructuras de datos dinámicas, es decir, una
colección de elementos -nodos- que normalmente se utilizan para dejar asentados registros. A
diferencia de un array que contiene espacio para almacenar un número fijo de elementos,
una estructura dinámica de datos se amplía y contrae durante la ejecución del programa. Veamos
algunos casos:
3
Estructura de datos lineales

Las estructuras de datos lineales son aquellas en las que los elementos ocupan lugares
sucesivos en la estructura y cada uno de ellos tiene un único sucesor y un único predecesor, es
decir, sus elementos están ubicados uno al lado del otro relacionados en forma lineal.

Hay tres tipos de estructuras de datos lineales:

Listas enlazadas

Pilas

Colas

Listas enlazadas

En las estructuras de datos, las listas enlazadas se construyen con elementos que están ubicados
en una secuencia. Aquí, cada elemento se conecta con el siguiente a través de un enlace que
contiene la posición del siguiente elemento. De este modo, teniendo la referencia del principio de
la lista podemos acceder a todos los elementos de la misma.

4
Python

Las estructuras de datos en Python se pueden entender como un tipo de dato compuesto, debido
a que en una misma variable podemos almacenar una estructura completa con información.
Dichas estructuras, pueden tener diferentes características y funcionalidades. De hecho, existen
múltiples tipos de estructuras de datos en Python

Las estructuras de datos más comunes en Python son las listas, las tablas y los diccionarios.
Aunque tienen otro nombre, en otros lenguajes, son los arreglos o vectores, las matrices y los
arreglos indexados, respectivamente. Son en esencia lo mismo, aunque como es habitual en
Python, con varias facilidades y funcionalidades ya incluidas.

En esta serie de contenidos vamos entonces a explorar cada una de esas estructuras de datos
en Python (listas, tablas y diccionarios), en ese mismo orden.

Las estructuras de datos han sido creadas para solucionar una gran variedad de problemáticas
que no podrían ser resueltas con lo que conocemos hasta ahora, pues permiten agrupar
fácilmente un conjunto de datos (normalmente relacionados) para operar fácilmente con ellos.
Cosas como ordenar, agregar, eliminar, mostrar, recorrer, entre otras operaciones, son posibles
y fáciles en Python.

Sin la existencia de las estructuras de datos sería imposible o bastante complicado, por ejemplo,
conocer y manejar todos los números de identificación, nombres y direcciones de todos los
usuarios de un sistema (que normalmente serían muchísimos) pero ahora con las estructuras de
datos es muy simple definir una serie de posiciones para cada valor que deseamos guardar y
accediendo a ellos por medio de una única variable. No tendría sentido, tener que crear 500
variables para almacenar los nombres de 500 usuarios

5
R studio

R es un conjunto integrado de programas para manipulación de datos, cálculo y gráficos. Entre


otras características dispone de:

• Almacenamiento y manipulación efectiva de datos

, • Operadores para cálculo sobre variables indexadas (Arrays), en particular matrices,

• una amplia, coherente e integrada colección de herramientas para análisis de datos,

• Posibilidades gráficas para análisis de datos, que funcionan directamente sobre pantalla o
impresora
• un lenguaje de programación bien desarrollado, simple y efectivo, que incluye condicionales,
ciclos, funciones recursivas y posibilidad de entradas y salidas.

(Debe destacarse que muchas de las funciones suministradas con el sistema están escritas en
el lenguaje R) El término “entorno” lo caracteriza como un sistema completamente diseñado y
coherente, antes que como una agregación incremental de herramientas muy específicas e
inflexibles, como ocurre frecuentemente con otros programas de análisis de datos.

R es en gran parte un vehículo para el desarrollo de nuevos métodos de análisis interactivo de


datos. Como tal es muy dinámico y las diferentes versiones no siempre son totalmente
compatibles con las anteriores.

Algunos usuarios prefieren los cambios debido a los nuevos métodos y tecnología que los
acompañan, a otros sin embargo les molesta ya que algún código anterior deja de funcionar.
Aunque R puede entenderse como un lenguaje de programación, los programas escritos en R
deben considerarse esencialmente efímeros

6
Julia Computing
Julia es un lenguaje de programación dinámico de código abierto, de alto nivel y alto rendimiento
para computación numérica.

Se ha vuelto muy popular debido a sus paquetes de Machine Learning de alta velocidad y su
sintaxis expresiva.

Tiene la conveniencia de desarrollo de un lenguaje dinámico con el rendimiento de un lenguaje


compilado de tipado estático, gracias en parte a un compilador JIT basado en LLVM que genera
código de máquina nativo, y en parte a un diseño que implementa la estabilidad de tipos a través
de la especialización a través de múltiples dispatch, que facilita la compilación en código eficiente.

Julia es un trabajo sacado directamente del MIT, un lenguaje de alto nivel que tiene una sintaxis
tan amigable como Python y un rendimiento tan competitivo como C. Julia “tiene como objetivo
crear una combinación sin precedentes de facilidad de uso, potencia y eficiencia en un idioma
único.

Julia diseñado específicamente para cálculos y análisis numéricos, Aunque ha sido creado con
ese fin, ofrece versatilidad y admite la computación paralela y distribuida y es increíblemente
rápido. Es lo suficientemente rápido para la computación interactiva y puede cambiar a un
lenguaje de programación de bajo nivel si es necesario.

Si te e centras en la visualización de datos o el aprendizaje profundo, el análisis numérico o la


computación interactiva, el enfoque de nicho de Julia ofrece un rendimiento rápido

7
Java

Java es un lenguaje de programación ampliamente utilizado para codificar aplicaciones web. Ha


sido una opción popular entre los desarrolladores durante más de dos décadas, con millones de
aplicaciones Java en uso en la actualidad. Java es un lenguaje multiplataforma, orientado a
objetos y centrado en la red que se puede utilizar como una plataforma en sí mismo. Es un
lenguaje de programación rápido, seguro y fiable para codificar todo, desde aplicaciones móviles
y software empresarial hasta aplicaciones de macro datos y tecnologías del lado del servidor.

Debido a que Java es un lenguaje versátil y de uso gratuito, crea software localizado y distribuido.
Algunos usos comunes de Java incluyen:

Desarrollo de juegos: muchos juegos móviles, de ordenador y de video populares se crearon en


Java. Incluso los juegos modernos que integran tecnología avanzada, como el machine learning
o la realidad virtual, se crean con tecnología Java.

Computación en la nube: Java a menudo se conoce como WORA: escribir una vez y ejecutar en
cualquier lugar (por sus siglas en inglés “Write Once and Run Anywhere”), lo que lo hace perfecto
para aplicaciones descentralizadas basadas en la nube. Los proveedores de la nube eligen el
lenguaje Java para ejecutar programas en una amplia gama de plataformas subyacentes.

Macrodatos: Java se usa para motores de procesamiento de datos que pueden trabajar con
conjuntos de datos complejos y cantidades masivas de datos en tiempo real.

Inteligencia artificial: Java es una fuente inagotable de bibliotecas de machine learning. Su


estabilidad y velocidad lo hacen perfecto para el desarrollo de aplicaciones de inteligencia artificial
como el procesamiento del lenguaje natural y el aprendizaje profundo.

Internet de las cosas: Java se ha utilizado para programar sensores y hardware en dispositivos
de borde que pueden conectarse de forma independiente a Internet.

8
C++

C++ es un lenguaje de programación que proviene de la extensión del lenguaje C para que
pudiese manipular objetos. A pesar de ser un lenguaje con muchos años, su gran potencia lo
convierte en uno de los lenguajes de programación más demandados en 2019.

Las principales ventajas de programar en C++ son:

Alto rendimiento: Es una de sus principales características, el alto rendimiento que ofrece. Esto
es debido a que puede hacer llamadas directas al sistema operativo, es un lenguaje compilado
para cada plataforma, posee gran variedad de parámetros de optimización y se integra de forma
directa con el lenguaje ensamblador.

Lenguaje actualizado: A pesar de que ya tiene muchos años, el lenguaje se ha ido actualizando,
permitiendo crear, relacionar y operar con datos complejos y ha implementado múltiples patrones
de diseño.

Multiplataforma
Extendido: C y C++ están muy extendidos. Casi cualquier programa o sistema están escritos o
tienen alguna parte escrita en estos lenguajes (desde un navegador web hasta el propio sistema
operativo).

Las principales desventajas de C++ es que se trata de un lenguaje muy amplio (con muchos años
y muchas líneas de código), tiene que tener una compilación por plataforma y su depuración se
complica debido a los errores que surgen. Además el manejo de librerías es más complicado que
otros lenguajes como Java o .Net y su curva de aprendizaje muy alta. Puede consultarse más
información en esta Página de referencia de C++.

9
Matlab
La plataforma de MATLAB está optimizada para resolver problemas científicos y de ingeniería. El
lenguaje de MATLAB, basado en matrices, es la forma más natural del mundo para expresar las
matemáticas computacionales.

Las gráficas integradas facilitan la visualización de los datos y la obtención de información a


partir de ellos. Una vasta biblioteca de herramientas (Toolboxes) integradas le permite empezar
a trabajar inmediatamente con algoritmos esenciales para su dominio. El entorno de escritorio
invita a experimentar, explorar y descubrir. Todas estas herramientas y funciones de MATLAB
están probadas rigurosamente y diseñadas para trabajar juntas.

Es una plataforma de programación diseñada específicamente para los ingenieros y científicos,


para analizar y diseñar sistemas y productos que transforman nuestro mundo. MATLAB es un
lenguaje basado en matrices que permite la expresión más natural de las matemáticas
computacionales.

10
SQL
El Lenguaje de Consulta Estructurada (SQL) es un lenguaje gestor para el manejo de la
información en las bases de datos relacionales.

Este tipo de lenguaje de programación permite comunicarse con la base de datos y realizar
operaciones de acceso y manipulación de la información almacenada

Te ahorra mucho tiempo. Puedes descargarte datos con consultas ya codificadas para
automatizar procesos. Mejorarás tu lógica de programación, lo que te ayudará a aprender otros
lenguajes de programación como R o Python.

Programadores de R o Python deben saber SQL para descargarse los datos de diferentes bases
de datos SQL antes de empezar a limpiar, hacer análisis o crear modelos de aprendizaje
automático (machine learning).

11
Scala

Scala es una extensión de Java, un lenguaje fuertemente asociado a la ingeniería de datos, con
interoperabilidad gracias a la compilación del bytecode de Java y su ejecución en la máquina
virtual de Java.

Scala permite crear marcos de trabajo de alto rendimiento para el manejo de datos en silos,
perfectos para la ciencia de datos a nivel empresarial.

Con vastas bibliotecas y soporte en entornos de desarrollo integrados (IDE) comunes, es


funcional y escalable. Scala también admite el procesamiento concurrente y sincronizado.

Cuándo utilizar Scala en la ciencia de datos: Los desarrolladores de sistemas de datos que se
enfrentan regularmente a conjuntos de datos de gran volumen pueden utilizar Scala para analizar
sin sobrecarga.

12
Conclusión
Como ya hemos observado los diferentes tipos de lenguajes de programación se traducen
principalmente a métodos opcionales por que los lenguajes de alto nivel se desarrollaron con el
objetivo de ser más accesibles y entendibles por la mayoría de programadores, de manera que
los programadores pudieran concentrarse más en resolver la tarea o los problemas, y como lo
observamos existen varios tipos de lenguajes para la estructura de datos que nos ayudan
bastante y los cuales nos facilitan mas las cosas en estructura de datos

Referencias
Coding, K. (19 de agosto 2021 ). Lenguajes de programacion . mexico : Keepcoding.

https://www.google.com/search?q=lenguajes+de+programaci%C3%B3n&rlz=1C1CHBD_esMX913MX913&oq=leng
uajes+de+programaci%C3%B3n+&aqs=chrome..69i57j69i59j35i39j0i512l3j0i67j0i512l3.11727j0j9&sourceid=chro
me&ie=UTF-8

13

También podría gustarte