Laboratorio de Algoritmos y Estructuras de Datos
Enviado por rasecacmer • 4 de Diciembre de 2020 • Informe • 2.020 Palabras (9 Páginas) • 172 Visitas
[pic 1] | Laboratorio de Algoritmos y Estructuras de Datos | |
Página de 6 |
[pic 2]
CODIGO DEL CURSO:
Alumno(s) | Nota |
Guevara Layme Jonathan André | |
Grupo | Diseño y Desarrollo de Software C24-A |
Ciclo | III |
Fecha de entrega | 08/10/20 |
I.- OBJETIVOS:
- Definir las reglas básicas a seguir para la construcción y la correcta interpretación de los Diagramas de Flujo, resaltando las situaciones en que pueden, o deben, ser utilizados.
- Elaborar y Diseñar algoritmos con arreglos de una sola dimensión(unidimensional) denominada vectores
II.- SEGURIDAD:
[pic 3] | Advertencia: En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas. |
III.- FUNDAMENTO TEÓRICO:
- Revisar el texto guía que está en el campus Virtual.
IV.- NORMAS EMPLEADAS:
- No aplica
V.- RECURSOS:
- En este laboratorio cada alumno trabajará con un equipo con Windows 10.
VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:
- El desarrollo del laboratorio es individual.
VII.- PROCEDIMIENTO:
EJERCICIO DE APLICACIÓN
# Clase Nodo
class Nodo:
def __init__(self, info):
self.Info = info
self.sig = None
// En esta clase nodo tenemos un método especial __init__ que necesita un argumento y tiene dos atributos Info y sig, uno con valor Info y otro son información respectivamente
# Clase Lista
class Lista:
def __init__(self, *elem):
self.__primero = None
self.__ultimo = None
self.__ant_actual = None
for i in elem:
self.insertar_ultimo(i)
// En la clase lista tenemos un inicializador que no necesariamente va a necesitar un argumento, esto debido a *elem, tiene 3 variables de instancia que son privadas, todas con el valor de None. Luego tenemos un for que recorre todos los argumentos que hemos puesto y a cada uno lo inserta al final con la función insertar_ultimo(i).
def insertar_inicio(self, *elem):
for i in elem:
nodo = Nodo(i)
if (self.__primero != None):
nodo.sig = self.__primero
else:
self.__ultimo = nodo
self.__primero = nodo
# Este metodo de nombre insertar inicio que puede recibir ninguno o varios atributos
# gracias a la palabra *elem, tiene un for que recorre cada elemento recibido, crea un
# objeto nodo y le asigna del parámetro i. Tenemos un if que dice si la condición:
# si el atributo primero es diferente a None entonces nodo.sig = self.__primero y si no
# self.__ultimo sera igual al objeto nodo
def insertar_ultimo(self, *elem):
for i in elem:
nodo = Nodo(i)
if (self.__ultimo != None):
self.__ultimo.sig = nodo
self.__ant_actual = self.__ultimo
else:
self.__primero = nodo
self.__ultimo = nodo
# Este método llamado insertar_ultimo necesita ninguno, uno o varios elementos, seguido de un for
# que recorre cada elemento, crea un objeto: nodo y nos plantea una condicion, si último es diferente
# a None entonces ultimo.sig sera igual al objeto nodo y __ant_actual sera igual a ultimo. Sino primero
# sera igual a nodo, salimos de la condición y al último se le asignara el valor del objeto nodo
def elimina_primero():
if (self.__primero == None):
return
nodo = self.__primero
self.__primero = nodo.sig
del nodo
# Metodo que no recibe argumentos, entra a un if que nos retorna si es true o false, luego asigna a nodo
# el valor de primero, seguidamente a primero le asigna el valor de sig y finalmente elimina nodo
def __add__(self, list2):
list3 = Lista()
nodo = self.__primero
while (nodo != None):
list3.insertar_ultimo(nodo.Info)
nodo = nodo.sig
if (type(elem) == int):
list3.insertar_ultimo(elem)
return list3
nodo = list2.__primero
while (nodo != None):
list3.insertar_ultimo(nodo.Info)
nodo = nodo.sig
return list3
...