Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
Docente:
Dionisio
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
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
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.
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
• 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.
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.
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.
7
Java
Debido a que Java es un lenguaje versátil y de uso gratuito, crea software localizado y distribuido.
Algunos usos comunes de Java incluyen:
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.
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.
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.
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.
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