Listas en la Programacion

Page 1

EN LA PROGRAMACIÓN

El arte de las listas en el El arte de las listas en el desarrolllo de Software desarrolllo de Software

G U S T A V O P E R E I R A C I . 3 0 1 6 1 8 8 0 A N T H O N Y T O R R E S C . I 2 8 4 3 2 7 3 7 J U A N S A L A S C I . 2 9 6 5 0 8 4 8 P O L I T E C N I C O S A N T I A G O M A R I Ñ O
Revista informativa Revista informativa
REVISTA CODERS WORLD REVISTA CODERS WORLD REVISTA CODERS WORLD

CONTENIDO INFORMATIVO CONTENIDO INFORMATIVO

Las Listas

Esquemas de listas enlazadas

Página 3

Página 4

Operaciones con listas

Página 6

Ventajas de las listas

Página 7

Desventajas de las listas

Implementación las listas

Página 8

Página 9-19

¿QUE SON LAS ¿QUE SON LAS LISTAS? LISTAS?

Cuando nos referimos a las listas Cuando nos referimos a las listas dentro de lo que es el ámbito de dentro de lo que es el ámbito de la programación nos referimos a la programación nos referimos a una estructura de datos lineal una estructura de datos lineal que se puede representar que se puede representar simbólicamente como un simbólicamente como un conjunto de nodos enlazados conjunto de nodos enlazados entre sí. entre sí.

Permiten modelar diversas entidades del mundo real, por ejemplo, los datos de los alumnos de un grupo académico, los datos del personal de una empresa, los programas informáticos almacenados en un disco magnético, etc.

Pag-3

Como podemos observar en la figura, este esquema es el de la lista enlazada la cual hace uso de los apuntadores. La idea consiste en declarar un apuntador a un nodo que será el primero de la lista, cada nodo de la lista, (en memoria dinámica), tendrá su propia información y una referencia, (apuntador) al nodo siguiente. Así cada nodo de la lista apuntará al siguiente nodo, con excepción del último nodo de la lista; el apuntador de ese último nodo es un valor especial null.

E N L A F I G U R A S I G U I E N T E S E E N L A F I G U R A S I G U I E N T E S E M U E S T R A U N E J E M P L O D E L M U E S T R A U N E J E M P L O D E L E S Q U E M A D E L A L I S T A S E S Q U E M A D E L A L I S T A S C O M O E S T R C U T R A S D E C O M O E S T R C U T R A S D E D A T O S : D A T O S : Pag-4

Java, C++

Pag-5
Las listas se pueden emplear en muchos Lenguajes como Pyhton,

OPERACIONES CON LISTAS OPERACIONES CON LISTAS

Algunas operaciones comunes que se pueden realizar con listas incluyen:

Agregar un elemento a la lista (append)

Insertar un elemento en una posición específica (insert)

Remover un elemento específico (remove)

Acceder a un elemento en una posición específica (index)

Encontrar el número de elementos en la lista (length/size)

La sintaxis para crear una lista y utilizar algunas de estas operaciones varía entre los diferentes lenguajes de programación, pero en general las listas son una herramienta muy útil en la mayoría de los lenguajes para trabajar con colecciones de datos ordenadas.

En el próximo apartado de la revista indagaremos más en pronfundidad acerca de las ventajas y desventajas de la implementación de listas.

Pag-6

VENTAJAS DE LAS VENTAJAS DE LAS LISTAS LISTAS

Flexibilidad: Las listas en programación son muy flexibles, ya que pueden contener cualquier tipo de datos y su tamaño puede ser ajustado dinámicamente.

Ordenación: Las listas permiten un fácil acceso y manipulación de los elementos en un orden específico.

Iteración: Las listas son fáciles de iterar y procesar, lo que permite la realización de tareas repetitivas de manera eficiente.

Capacidad: Las listas pueden almacenar grandes cantidades de datos, lo que las hace adecuadas para solucionar problemas complejos.

Pag-7

DESVENTAJAS DE LAS DESVENTAJAS DE LAS LISTAS LISTAS

Lentitud: Las listas pueden ser lentas cuando se accede a elementos específicos en grandes listas debido a la necesidad de recorrer todos los elementos previos.

Uso de memoria: Las listas pueden requerir una gran cantidad de memoria, especialmente cuando se almacenan grandes cantidades de datos.

Dificultad para buscar elementos: Las listas pueden ser difíciles de buscar elementos específicos, especialmente cuando la lista es grande.

Dificultad para realizar operaciones avanzadas: Las listas pueden ser difíciles de usar para realizar operaciones más avanzadas, como ordenamiento o filtrado de datos, lo que puede requerir la escritura de código adicional.

Pag-8

TIPOS DE LISTAS TIPOS DE LISTAS

Hay tres tipos de listas enlazadas:

Listas enlazadas individuales: Cada nodo contiene solo un puntero/apuntador al siguiente nodo. Esto es de lo que hemos estado hablando hasta ahora.

Listas doblemente enlazadas: Cada nodo contiene dos punteros/apuntadores; un puntero/apuntador al siguiente nodo, y otro al nodo anterior.

Listas circulares enlazadas: Son una variación de la lista enlazada en donde el último nodo apunta al primer nodo o a otro nodo antes de ese, formando así un bucle.

Pag-9

IMPLEMENTACIÓN DE IMPLEMENTACIÓN DE LISTAS LISTAS

A continuación presentaremos una serie de ejercicios de como se implementan las listas dentro de un lenguaje de programación, usando el lenguaje de Python

Elaborar un registro para n alumnos de una universidad, con sus notas de Programación y estructura de Datos, estos se deben guardar en una Lista Lineal. Sabiendo que en la Universidad si un alumno reprueba las dos materias, es dado de baja en la Universidad.

A continuación mostramos las capturas del programa ya ejecutado

Como podemos ver nos pide que ingresemos el nombre del alumno y sus respectivas notas,y las mismas se han agregado de forma correcta.

Pag-10

Siguiendo con el ejercicio de la página anterior, podemos observar que ingresamos un nuevo alumno, el cual esta vez no cumple con las notas requeridas.

En esta siguiente captura de nuestro programa podemos observar el registro de los alumnos previamente realizados.

Pag-11

En la siguiente captura podemos ver el menú principal del programa, donde si elegimos Buscar alumno colocamos su nombre y saldrán los datos del alumno registrado.

Para finalizar con el ejercicio en esta última captura podemos observar que con la opción de Eliminar alumno podemos borrar su registro y una vez lo busquemos ya no se encontrará.

Pag-12

# Función para agregar un alumno al registro def agregar_alumno(registro):

nombre = input("Ingrese el nombre del alumno: ")

programacion = float(input("Ingrese la nota de Programación II: "))

estructuras = float(input("Ingrese la nota de Estructuras de Datos: "))

# Verifica si el alumno cumple con las notas mínimas requeridas if programacion >= 9.5 and estructuras >= 9.5:

alumno = {"nombre": nombre, "programacion": programacion, "estructuras": estructuras}

registro.append(alumno)

print("Alumno agregado correctamente.")

else:

print("El alumno no cumple con las notas mínimas requeridas.")

# Función para buscar un alumno en el registro def buscar alumno(registro):

nombre = input("Ingrese el nombre del alumno a buscar: ") for alumno in registro:

if alumno["nombre"] == nombre:

return alumno

return None

# Función para eliminar un alumno del registro def eliminar alumno(registro):

CÓDIGO CÓDIGO CÓDIGO DEL DEL DEL PROGRAMA PROGRAMA PROGRAMA

nombre = input("Ingrese el nombre del alumno a eliminar: ") for alumno in registro:

if alumno["nombre"] == nombre: registro.remove(alumno)

print("Alumno eliminado correctamente.")

return

print("El alumno no se encontró en el registro.")

Pag-13

n = int(input("Ingrese la cantidad de alumnos a registrar: "))

# Agrega n alumnos al registro for in range(n):

agregar alumno(registro alumnos)

# Muestra el registro de alumnos

print("Registro de Alumnos:") for alumno in registro alumnos:

print("Nombre:", alumno["nombre"])

print("Programación II:", alumno["programacion"])

print("Estructuras de Datos:", alumno["estructuras"])

print()

# Menú principal while True:

print("----- Menú -----")

print("1. Buscar alumno")

print("2. Eliminar alumno")

print("3. Salir")

opcion = int(input("Seleccione una opción: "))

# Buscar alumno en el registro if opcion == 1:

alumno encontrado = buscar alumno(registro alumnos) if alumno _ encontrado:

print("Nombre:", alumno _encontrado["nombre"])

print("Programación II:", alumno _encontrado["programacion"])

print("Estructuras de Datos:", alumno encontrado["estructuras"])

print()

else:

print("El alumno no se encontró en el registro.")

[]
registro alumnos =
Pag-14

elif opcion == 2: eliminar alumno(registro alumnos)

# Salir elif opcion == 3: break else: print("Opción inválida. Intente nuevamente.")

print("Fin del programa.")

Con esto damos por finalizado el primer ejercicio con su respectivo código.

A continuación vamos con el segundo ejercicio, el cual nos dice que una Biblioteca desea tener un registro de sus libros, sabiendo que existe un número no mayor a 100 libros y los datos para el registro son: nombre del autor, título del libro y existencias. Estos se deben guardar en una lista lineal.

# Eliminar alumno del registro
Pag-15
En las siguientes páginas observaremos todas las capturas del programa junto con su respectivo código para que todos nuestros lectores lo comprendan de la mejor forma posible.

En esta primera captura podemos observar el menú principal del programa y con la opción de Agregar libro, donde podemos ingresar los datos pedidos por el programa.

En la siguiente captura del programa elegimos la opción numero 2, Buscar libro, donde podemos buscar el libro por su título y observaremos los datos del libro registrado.

Pag-16

En esta captura elegimos la terca opción Actualizar libro, donde podemos actualizar las existencias del libro que ingresemos. Luego al buscar el libro, veremos las nuevas existencias.

En la última captura podemos ver con la quinta opción que si queremos agregar más de 100 libros, no se puede porque la biblioteca esta llena.

Pag-17

# Función para registrar libros def agregar_libro(biblioteca, autor, titulo, existencias):

# Como se estima que hay menos de 100 libros, se coloca un límite de 100

if len(biblioteca) >= 100:

print("La biblioteca está llena. No se pueden agregar más libros.")

else:

libro = {"autor": autor, "titulo": titulo, "existencias": existencias}

biblioteca.append(libro)

print("Libro agregado correctamente.")

# Función para buscar un libro en el registro def buscar libro(biblioteca, titulo):

for libro in biblioteca:

if libro["titulo"] == titulo:

return libro

return None

# Función para actualizar las existencias de un libro def actualizar _existencias(biblioteca, titulo, existencias):

libro = buscar libro(biblioteca, titulo)

if libro:

libro["existencias"] = existencias

print("Existencias actualizadas correctamente.")

else:

print("El libro no se encuentra en la biblioteca.")

# Crear una lista vacía para almacenar los libros

biblioteca = []

Pag-18
CÓDIGO CÓDIGO CÓDIGO DEL DEL DEL PROGRAMA PROGRAMA PROGRAMA

# Agregar libros de prueba a la biblioteca

agregar_libro(biblioteca, 'Autor 1', 'Libro 1', 10)

agregar libro(biblioteca, 'Autor 2', 'Libro 2', 5)

agregar_libro(biblioteca, 'Autor 3', 'Libro 3', 3)

# Menú principal

while True:

print("---- MENÚ PRINCIPAL ----")

print("1. Agregar libro")

print("2. Buscar libro")

print("3. Actualizar existencias")

print("4. Salir")

print("5. [DEBUG] Agregar 100 libros")

opcion = input("Seleccione una opción: ")

# Opción 1: Agregar libro

if opcion == "1":

autor = input("Ingrese el nombre del autor: ")

titulo = input("Ingrese el título del libro: ")

existencias = int(input("Ingrese las existencias del libro: "))

agregar libro(biblioteca, autor, titulo, existencias)

# Opción 2: Buscar libro

elif opcion == "2":

titulo = input("Ingrese el título del libro a buscar: ")

libro = buscar libro(biblioteca, titulo)

if libro:

print("Autor:", libro["autor"])

print("Existencias:", libro["existencias"])

Pag-19

else:

print("El libro no se encuentra en la biblioteca.")

# Opción 3: Actualizar existencias

elif opcion == "3":

titulo = input("Ingrese el título del libro a actualizar: ")

existencias = int(input("Ingrese las nuevas existencias del libro: "))

actualizar existencias(biblioteca, titulo, existencias)

# Opción 4: Salir del programa elif opcion == "4":

print("¡Hasta luego!")

break

# Opción 5: Agregar 100 libros para probar los límites elif opcion == "5": for i in range(1, 101):

agregar_libro(biblioteca, f"Autor {i}", f"Libro {i}", i)

# Opción inválida

else:

print("Opción inválida. Por favor, seleccione una opción válida.")

print("Fin del programa.")

Con esto damos por terminado el ejercicio y Con esto damos por terminado el ejercicio y la demostración de las listas en el lenguaje la demostración de las listas en el lenguaje de programación Python. de programación Python.

En el siguiente apartado veremos un En el siguiente apartado veremos un pequeño juego para el entretenimiento de pequeño juego para el entretenimiento de los lectores. los lectores.

Pag-20

SOPA DE LETRAS

PALABRAS A ENCONTRAR:

¡¡¡PRUEBA
ENTRELAZADA
TU HABILIDAD!!! ¡¡¡PRUEBA TU HABILIDAD!!! APUNTADORES DATO
ESTRUCTURAS LENGUAJES PYTHON
Pag-21
PUBLICIDAD VARIADA PUBLICIDAD VARIADA 0424-3172340 SÍGUENOS EN NUESTRAS REDES SOCIALES: @CODERSWORLD Pag-22

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.