
Actividades

Clase:
LosClase 1:
https://www.programiz.com/python-programming/online-compiler/
orden de magnitud
n=int(input("ingresa un numero"))
s=0
i=1
while i<= n:
s=s+i
i=i+1
print ("La suma de los numeros hasta n es:", s)
constante:
n=int(input("ingresa un numero"))
s= n*(n+1)/2
print ("La suma de los numeros hasta n es:", s)
_________________________________________
Proceso sin_titulo
Escribir "ingresa un numero"
Leer n
s<-n*(n+1)/2
Escribir "La suma de los numeros hasta n es:",s
FinProceso
—----_______________________
Proceso sumatoria_de_numeros_naturales
Escribir "ingresa un numero"
Leer n
s<-0
i<-1
Mientras i<=n Hacer
s<-s+i
i<-i+1
FinMientras
Escribir "La suma de los numeros hasta n es:",s
FinProceso
______________________________
SubProce noso Busqueda_binaria ( vec,v )
li=1
ls=vec
sw=0
Escribir "Ingresa el numero a buscar"
leer D //dato
Mientras li<=ls y sw==0 Hacer
m=trunc((li+ls)/2)
Si v(m)=D Entonces
sw=1
Sino
Si v(m)<D Entonces
li=m+1
Fin Si
Fin Si
Fin Mientras
Si sw=1 Entonces
Escribir "El data esta en la posicion: ",m
Sino
Escribir "El dato, ", D , " no existe"
Fin Si
Fin SubProceso
SubProceso Busqueda_secuencial ( vec,v )
Escribir "Ingresa el numero a buscar"
leer D //dato
i=1
Mientras i<= vec y v(i)!=D Hacer
i=i+1
Fin Mientras
Si i>vec Entonces
Escribir "El dato, ", D , " no existe"
Sino
Escribir "El data esta en la posicion: ",i
Fin Si
Fin SubProceso
SubProceso llenar_vector (vec,v )
Para i<-1 Hasta vec Con Paso 1 Hacer
Escribir "Ingresa los numeros del vector: ",i
Leer v(i)
Fin Para
Fin SubProceso
Proceso sin_titulo
Escribir "ingresa el tamaño del vector:"
leer vec
Dimension v(vec)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1=Llenar vector"
Escribir "2=Busqueda secuencial"
Escribir "3=Busqueda binaria"
Escribir "4=Salir"
Escribir "ingresa una opción"
LEER opc
Segun opc Hacer
1:
llenar_vector(vec,v )
2:
Busqueda_secuencial( vec,v )
3:
Busqueda_binaria( vec,v )
De Otro Modo:
Escribir "Opción invalida"
Fin Segun
Hasta Que OPCION = 4
FinProceso
_____________________________________________________________________
SubProceso bb(n,v)
li<-1
ls<-n
sw<-Falso
Escribir ""
Escribir "Ingrese el número que quiere buscar"
Leer d
si d >= v(li) entonces
Mientras li<=ls Y sw==Falso Hacer
m<-trunc((li+ls)/2)
Si v(m)== d Entonces
sw=Verdadero
Sino
Si v(m)< d Entonces
li=m+1
SiNo
ls<-m-1
Fin Si
Fin Si
Fin Mientras
finsi
Si sw==Verdadero Entonces
Escribir ""
Escribir "Su número está en la posición: ", m
Sino
Escribir ""
Escribir "El número ", d, " no está en el vector"
Fin Si
Fin SubProceso
SubProceso bs(n,v)
Escribir ""
Escribir "Ingrese el número que quiere buscar"
Leer d
i<-1
Mientras i <= n y v(i)<> d Hacer
i=i+1
Fin Mientras
Si i>n Entonces
Escribir ""
Escribir "El número ", d, " no está en el vector"
Sino
Escribir ""
Escribir "Su número está en la posición: ", i
Fin Si
Fin SubProceso
SubProceso imp(n,v)
Para i<-1 Hasta n con Paso 1 Hacer
Escribir v(i)
Fin Para
Fin SubProceso
SubProceso llenar(n,v)
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir ""
Escribir "Digite dato número ", i
Leer v(i)
Fin Para
Fin SubProceso
Proceso Algoritomos_II
Mientras n<= 0 Hacer
Escribir ""
Escribir "Cantidad de datos en el vector"
Leer n
si n<=0 entonces
Escribir "La cantidad de datos en el vector no puede ser igual o menor que cero"
finsi
Fin Mientras
sw1<-0
sw<-0
Dimension v(n)
Mientras sw==0 Hacer
Escribir ""
Escribir "___MENU___"
Escribir "1-LLENAR VECTOR"
Escribir "2-BUSQUEDAD SECUENCIAL"
Escribir "3-BUSQUEDAD BINARIA"
Escribir "4-SALIR"
Escribir "5-IMPRIMIR VECTOR"
Escribir ""
Leer opc
Segun opc Hacer
1:
llenar(n,v)
sw1<-1
2:
si sw1==1 entonces
bs(n,v)
SiNo
Escribir""
escribir"No a rellenado los datos"
finsi
3:
si sw1==1 entonces
bb(n,v)
SiNo
Escribir""
escribir"No a rellenado los datos"
finsi
4:
sw<-1
5:
si sw1==1 entonces
Escribir ""
imp(n,v)
Escribir ""
SiNo
Escribir ""
escribir"No a rellenado los datos"
finsi
De Otro Modo:
Escribir ""
Escribir ""
Fin Segun
Fin Mientras
Escribir ""
Escribir "ESO ES TODO"
FinProceso
______________________________________________________
SubProceso imprimi(v,vec)
i<-1
mientras i<=vec Hacer
Escribir " El vetor es: ", i, " es igual", v(i)
i<-i+1
FinMientras
Fin SubProceso
SubProceso ordenamiento_selecion( vec,v )
i<-1
Mientras i<vec Hacer
k<-i
j<-i+1
Mientras j<=vec Hacer
si (v(j)>v(k))Entonces
k<-j
FinSi
j<-j+1
Fin Mientras
intercambio( v,i,k)
i<-i+1
Fin Mientras
Fin SubProceso
SubProceso intercambio( v,i,k)
aux<-v(i)
v(i)<-v(k)
v(k)<-aux
Fin SubProceso
SubProceso llenar_vector( vec,v )
Para i<-1 Hasta vec Con Paso 1 Hacer
Escribir "ingresa los numeros del vector: ", i
leer v(i)
FinPara
Fin SubProceso
Proceso sin_titulo
Escribir "ingresa la cantida de espacios en vector"
leer vec
Dimension v(vec)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1.llenar vetor"
Escribir "2.ordenamiento por selecion"
Escribir "3. salir"
Escribir "Ingresa una opción"
leer opc
Segun opc Hacer
1:
llenar_vector( vec,v )
2:
ordenamiento_selecion( vec,v )
3:
imprimi(v,vec)
De Otro Modo:
Escribir "intentalo de nuevo"
Fin Segun
Hasta Que opc=4
______________________________________
ESTE ES EL BUENO ORDENAMIENTO POR SELECCIÓN
SubProceso ordenamiento_selecion( vec,v )
i<-1
Mientras i<vec Hacer
k<-i
j<-i+1
Mientras j<=vec Hacer
si (v(j)>v(k))Entonces
k<-j
FinSi
j<-j+1
Fin Mientras
intercambio( v,i,k)
i<-i+1
Fin Mientras
i<-1
mientras i<=vec Hacer
Escribir " El vetor en pusicion: ", i, " es igual: ", v(i)
i<-i+1
FinMientras
Fin SubProceso
SubProceso intercambio( v,i,k)
aux<-v(i)
v(i)<-v(k)
v(k)<-aux
Fin SubProceso
SubProceso llenar_vector( vec,v )
Para i<-1 Hasta vec Con Paso 1 Hacer
Escribir "ingresa los numeros del vector: ", i
leer v(i)
FinPara
Fin SubProceso
Proceso sin_titulo
Mientras vec=0 Hacer
Escribir "ingresa la cantida de espacios en vector"
leer vec
Si vec<=0 Entonces
Escribir "OPCIÒN NO VALIADA, INTENTALO DE NUEVO"
Escribir ""
Fin Si
FinMientras
Dimension v(vec)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1.llenar vetor"
Escribir "2.ordenamiento por selecion"
Escribir "3. salir"
Escribir "Ingresa una opción"
leer opc
Segun opc Hacer
1:
llenar_vector( vec,v )
sw=1
2:
si sw==1 Entonces
ordenamiento_selecion( vec,v )
SiNo
Escribir""
escribir"No a rellenado los datos"
FinSi
De Otro Modo:
Fin Segun
Hasta Que opc=3
Escribir "Chaooo"
FinProceso
______________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
def retonar_dato(self):
return self.dato
def retonar_liga(self):
return self.liga
def asigna_dato(self,d):
self.dato=d
def asigna_liga(self,l):
self,liga=l
d=input("ingrese un dato")
x=Nodo(d)
d=input("ingresa un dato")
y=Nodo(d)
d=input("ingresa un dato")
z=Nodo(d)
x.asigna_liga(y)
y.asina_liga(z)
d=input("ingresa un dato")
y=Nodo(d)
p=x.retonar_liga()
print(p.retorna_dato)
#14
x.retorna_liga().asigna_liga(y)
y.asigna_liga(Z)
#16,17
y=None
z=None
p=x
#19,20,21,22, imprimir los datos ingresados
while (p!=None):
print(p.dato)
p=p.retorna_liga()
____________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
#quiero sacar una copia:
X=Nodo("Maria")
y=Nodo("Pedro")
z=Nodo("Luis")
X.liga=y
y.liga=z
y=None
z=None
p=X
while (p!=None):
print(p.dato)
p=p.liga
#para mostrar el valor de liga
print(X.liga)
y=X.liga
print(y.liga)
_________________–___________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
x=Nodo("carlos")
y=Nodo("maria")
z=Nodo("lucas")
x.liga=y
y.liga=z
p=x
while (p!=None):
print(p.dato)
p=p.liga
print(x.liga)
y=x.liga
print(y.liga)
z=y.liga
print(z.liga)
__________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
x=Nodo("maria")
y=Nodo("carlos")
z=Nodo("lucas")
g=Nodo("yeison")
x.liga=y
y.liga=z
z.liga=g
p=x
while (p!=None):
print(p.dato)
p=p.liga
print(x.liga)
y=x.liga
print (y.liga)
z=y.liga
print(z.liga)
___________________________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
def retorna_liga(self):
return self.liga
def retorna_dato(self):
return self.dato
def asigna_liga(self,l):
self.liga=l
def asigna_dato(self,d):
self.dato=d
d=input("ingrese un dato")
x=Nodo(d)
d=input("ingresa dato")
y=Nodo(d)
d=input("ingresa dato")
z=Nodo(d)
x.liga=y
y.liga=z
d=input("ingresa un dato")#aqui el nodo=y va guardar un dato distinto a =b y ahora tendrá a =F, el nodo que contiene a =b ya va ser tambien x.
y=Nodo(d)
p=x.retorna_liga()
print(p.retorna_dato)
x.retorna_liga().asigna_liga(y)#unimos las ligas de x y la de y
y.asigna_liga(z)
y=None
z=None
p=x
while (p!=None):
print(p.retorna_dato)
p=p.retorna_liga
y.asigna_liga(x.retorna_liga().retorna_liga())
_______________________________________________________________
Inicio
Leer n
Para i = 1 hasta n hacer
Para j = 1 hasta i hacer
Escribir i sin salto de línea
Fin Para
Escribir salto de línea
Fin Para
Fin
__________________________________________________________________
SubProceso llenar_vector(v,n)
c<-0
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
c<-c+1
v(c)<-i
Fin Para
Fin Para
Fin SubProceso
SubProceso mostrar_v( v,n )
c<-0
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
c<-c+1
v(c)<-i
Escribir i
Fin Para
Fin Para
Fin SubProceso
Proceso sin_titulo
Escribir "ingresa numero que quieras llegar"
leer n
Si n<=0 Entonces
Escribir "OPCIÒN NO VALIADA, INTENTALO DE NUEVO"
Escribir ""
Fin Si
Dimension v(n^2)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1.llenar vector"
Escribir "2.mostrar vector"
Escribir "3. salir"
Escribir "Ingresa una opción"
leer opc
Segun opc Hacer
1:
llenar_vector(v,n)
2:
mostrar_v(v,n)
De Otro Modo:
Fin Segun
Hasta Que opc=3
Escribir "Chaooo"
FinProceso
__________________________________________________________________
SubProceso imprimi_r( vec,v )
i<-1
Mientras i<vec Hacer
k<-i
j<-i+1
Mientras j<=vec Hacer
si (v(j)>v(k))Entonces
k<-j
intercambio( v,i,k)
FinSi
j<-j+1
Fin Mientras
i<-i+1
Fin Mientras
i<-1
mientras i<=vec Hacer
Escribir " El vetor en pusicion: ", i, " es igual: ", v(i)
i<-i+1
FinMientras
Fin SubProceso
//2.Ordenamiento de vector
SubProceso ordenamiento_selecion( vec,v )
i<-1
Mientras i<vec Hacer
k<-i
j<-i+1
Mientras j<=vec Hacer
si (v(j)>v(k))Entonces
k<-j
intercambio( v,i,k)
FinSi
j<-j+1
Fin Mientras
i<-i+1
Fin Mientras
i<-1
Fin SubProceso
SubProceso intercambio( v,i,k)
aux<-v(i)
v(i)<-v(k)
v(k)<-aux
Fin SubProceso
SubProceso llenar_vector( vec,v )
Para i<-1 Hasta vec Con Paso 1 Hacer
Escribir "ingresa los numeros del vector: ", i
leer v(i)
FinPara
Fin SubProceso
Proceso sin_titulo
Mientras vec=0 Hacer
Escribir "ingresa la cantida de espacios en vector"
leer vec
Si vec<=0 Entonces
Escribir "OPCIÒN NO VALIADA, INTENTALO DE NUEVO"
Escribir ""
Fin Si
FinMientras
Dimension v(vec)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1.llenar vetor"
Escribir "2.ordenamiento por selecion"
Escribir "3.imprimir"
Escribir "4.Salir"
Escribir "Ingresa una opción"
leer opc
Segun opc Hacer
1:
llenar_vector( vec,v )
sw=1
2:
si sw==1 Entonces
ordenamiento_selecion( vec,v )
SiNo
Escribir ""
escribir "No a rellenado los datos"
FinSi
3:
imprimi_r( vec,v )
De Otro Modo:
Fin Segun
Hasta Que opc=4
Escribir "Chaooo"
FinProceso
_______________________________________________________________________
//1.Elabora un Algoritmo que imprima los nùmeros enterosdesde 1 hasta N esando un vector de la siguiente manera. 1,22,333,4444,55555
SubProceso llenar_vector(v,n)
c<-0
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
c<-c+1
v(c)<-i
Fin Para
Fin Para
Fin SubProceso
SubProceso mostrar_v( v,n )
c<-0
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta i Con Paso 1 Hacer
c<-c+1
v(c)<-i
Escribir i
Fin Para
Fin Para
Fin SubProceso
Proceso sin_titulo
Escribir "ingresa numero al que quieras llegar"
leer n
Si n<=0 Entonces
Escribir "OPCIÒN NO VALIADA, INTENTALO DE NUEVO"
Escribir ""
Fin Si
Dimension v(n^2)
Repetir
Escribir ""
Escribir "____Menu____"
Escribir "1.llenar vector"
Escribir "2.mostrar vector"
Escribir "3. salir"
Escribir "Ingresa una opción"
leer opc
Segun opc Hacer
1:
llenar_vector(v,n)
sw=1
2:
si sw==1 Entonces
mostrar_v( v,n )
SiNo
Escribir ""
escribir "No a rellenado los datos"
FinSi
De Otro Modo:
Fin Segun
Hasta Que opc=3
Escribir "Chaooo"
FinProceso
________________________________________________________
#primera lista:
lista1=[]
respuesta =input("¿deseas ingresar datos a la lista 1? (s/n)->")
while respuesta=="s" or respuesta=="S":
lista1.append(input("ingresa un nombre->"))
respuesta =input("¿deseas ingresar datos a la lista 1? (s/n)->")
print("los elementos que ha ingresado a la lista 1 son:",lista1)
#segunda lista
lista2=[]
respuesta =input("¿deseas ingresar datos a la lista 2? (s/n)->")
while respuesta=="s" or respuesta=="S":
lista2.append(input("ingresa un nombre->"))
respuesta =input("¿deseas ingresar datos a la lista 2? (s/n)->")
print("los elementos que ha ingresado a la lista 2 son:",lista2)
#union entre las dos listas: palabras que aparecen en las dos listas
union==list(set(lista1) | set(lista2))
print("los elementos que aparecen en ambas listas son: ",union)
#solo palabras de lista 1 o solo A:palabras que aparecen solo en listas1
soloA=list(set(lista1) -set(lista2))
print("los elementos que aparecen en listas 1 son: ",soloA)
#solo palabras de lista 2 o solo B:palabras que aparecen solo en listas2
soloB=list(set(lista2) -set(lista1))
print("los elementos que aparecen en listas 2 son: ",soloB)
#Interseccciòn: palabras que aparecen en ambas listas, osea que estan en lista1 y 2 a la ves.
interseccion=list(set(lista) & set(lista2))
print("los elementos que estan en ambas listas o que se intersetan son: ",interseccion)
___________________________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
def retor_dato(self):
return self.dato
def retor_liga(self):
return self.liga
#x=Nodo(10)
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def crear_lista(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def sumar(self):
p=self.primero
suma=0
while(p!=None):
suma=suma+p.dato
p=p.liga
return suma
def mostrar(self):
p=self.primero.
while(p!=None) :
print("los datos son: ", p.dato)
p=p.retor_liga
lista=LSL()
while(True):
print(" 1.crear lista: ")
print(" 2.sumar los datos de la lista: ")
print(" 3.mostrar la lista: ")
opc=int(input(" digite opcion: "))
if(opc==1):
d=int(input(" ingrese dato: "))
x=Nodo(d)
lista.crear_lista(x)
elif(opc==2):
print(" la suma de los datos es: ",lista.sumar())
elif(opc==3):
lista.mostrar()
else:
print(" hasta pronto: ")
break
_________________________________________________________________________
class Nodo:
def init(self,d):
self.dato=d
self.liga=None
def retorna_liga(self):
return self.liga
def retorna_dato(self):
return self.dato
#x=Nodo(10)
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def crear_lista(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def sumar(self):
p=self.primero
suma=0
while(p!=None):
suma=suma+p.retorna_dato()
p=p.retorna_liga()
return suma
def mostrar(self):
p=self.primero
while(p!=None):
print("los datos son: ", p.retorna_dato())
print("")
p=p.liga
lista=LSL()
while(True):
print("___MENU___")
print(" 1.crear lista: ")
print(" 2.sumar los datos de la lista: ")
print(" 3.mostrar la lista: ")
print(" 4.: ")
opc=int(input(" digite opcion: "))
if(opc==1):
d=int(input(" ingrese dato: "))
x=Nodo(d)
lista.crear_lista(x)
elif(opc==2):
print(" la suma de los datos es: ",lista.sumar())
elif(opc==3):
lista.mostrar()
elif(opc==4):
print("Chaoo BB")
break;
else:
print(" hasta pronto: ")
break
_____________________________________________________________
solito, bueno casi:
class Nodo:
def init(self,d):
self.dato=d
self.liga=None
def retorna_liga(self):
return self.liga
def retorna_dato(self):
return self.dato
#x=Nodo(10)
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def crear_lista(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def sumar(self):
p=self.primero
suma=0
while(p!=None):
suma=suma+p.retorna_dato()
p=p.retorna_liga()
return suma
def mostrar(self):
p=self.primero
while(p!=None):
print("los datos son: ", p.retorna_dato())
print("")
p=p.liga
lista=LSL()
while(True):
print("___MENU___")
print(" 1.crear lista: ")
print(" 2.sumar los datos de la lista: ")
print(" 3.mostrar la lista: ")
print(" 4.: ")
opc=int(input(" digite opcion: "))
if(opc==1):
d=int(input(" ingrese dato: "))
x=Nodo(d)
lista.crear_lista(x)
elif(opc==2):
print(" la suma de los datos es: ",lista.sumar())
elif(opc==3):
lista.mostrar()
elif(opc==4):
print("Chaoo BB")
break;
else:
print(" hasta pronto: ")
break
______________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def agregar(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def mostrar(self):
p=self.primero
if(p==None):
print("los datos son: ",p.dato)
print("")
p=p.liga
lista1=LSL()
lista2=LSL()
x.Nodo()
while(True):
print("___MENU___")
print(" 1.contenido lista 1: ")
print(" 2.contenido lista 2: ")
print(" 3.mostrar lista 1: ")
print(" 4.mostrar lista 2: ")
print("5.salir")
opc=int(input("ingresa la opción"))
if(opc==1):
elif(opc==2):
elif(opc==3):
elif(opc==4):
else:
print(" hasta pronto: ")
break
break;
__________________________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def agregar(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def mostrar(self):
p=self.primero
while(p!=None):
print(p.dato)
print("")
p=p.liga
lista1=LSL()
lista2=LSL()
while(True):
print("___MENU___")
print(" 1.contenido lista 1: ")
print(" 2.contenido lista 2: ")
print(" 3.mostrar lista 1: ")
print(" 4.mostrar lista 2: ")
print("5.salir")
opc=int(input("ingresa la opción"))
if(opc==1):
d=int(input(" ingrese dato para la lista 1: "))
x=Nodo(d)
lista1.agregar(x)
elif(opc==2):
d=int(input(" ingrese datopara la lista 2: "))
y=Nodo(d)
lista2.agregar(y)
elif(opc==3):
lista1.mostrar()
elif(opc==4):
lista2.mostrar()
elif(opc==5):
print("chaoo")
break;
else:
print(" hasta pronto: ")
break
#print(lista1.primero)
#print(lista2.primero)
_______________________________________________________
creale las seguientes funciones al siguiente codigo de python:
nodoSimple buscaDondeInsertar (Objeto d)
*void insertar (Objeto d, nodoSimple y)
*void conectar (nodoSimple x, nodoSimple y)
nodoSimple buscar Dato (Objeto d, nodoSimple y)
*void borrar (nodoSimple x, nodoSimple y)
*void desconectar (nodoSimple x, nodoSimple y)
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def agregar(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def mostrar(self):
p=self.primero
while(p!=None):
print(p.dato)
print("")
p=p.liga
lista1=LSL()
lista2=LSL()
while(True):
print("___MENU___")
print(" 1.contenido lista 1: ")
print(" 2.contenido lista 2: ")
print(" 3.mostrar lista 1: ")
print(" 4.mostrar lista 2: ")
print("5.salir")
opc=int(input("ingresa la opción"))
if(opc==1):
d=int(input(" ingrese dato para la lista 1: "))
x=Nodo(d)
lista1.agregar(x)
elif(opc==2):
d=int(input(" ingrese datopara la lista 2: "))
y=Nodo(d)
lista2.agregar(y)
elif(opc==3):
lista1.mostrar()
elif(opc==4):
lista2.mostrar()
elif(opc==5):
print("chaoo")
break;
else:
print(" hasta pronto: ")
break
_____________________
class Nodo:
def __init__(self, d):
self.dato = d
self.liga = None
class LSL:
def __init__(self):
self.primero = None
self.ultimo = None
def agregar(self, x):
if self.primero is None:
self.primero = x
if self.ultimo is not None:
self.ultimo.liga = x
self.ultimo = x
def mostrar(self):
p = self.primero
while p is not None:
print(p.dato)
print("")
p = p.liga
def buscaDondeInsertar(self, d):
p = self.primero
y = None
while p is not None and p.dato < d:
y = p
p = p.liga
return y
def insertar(self, d, y=None):
x = Nodo(d)
self.conectar(x, y)
def conectar(self, x, y=None):
if y is None:
if self.primero is None:
self.ultimo = x
else:
x.liga = self.primero
self.primero = x
else:
x.liga = y.liga
y.liga = x
if y == self.ultimo:
self.ultimo = x
def buscarDato(self, d, y=None):
x = self.primero if y is None else y.liga
while x is not None and x.dato < d:
y = x
x = x.liga
return x, y
def borrar(self, x, y=None):
if x is not None:
self.desconectar(x, y)
def desconectar(self, x, y=None):
if y is None:
if self.primero == self.ultimo:
self.ultimo = None
self.primero = x.liga
else:
if x == self.ultimo:
self.ultimo = y
y.liga = x.liga
lista1=LSL()
lista2=LSL()
while True:
print("___MENU___")
print(" 1.contenido lista 1: ")
print(" 2.contenido lista 2: ")
print(" 3.mostrar lista 1: ")
print(" 4.mostrar lista 2: ")
print("5.salir")
opc=int(input("ingresa la opción"))
if opc==1:
d=int(input(" ingrese dato para la lista 1: "))
lista1.agregar(Nodo(d))
elif opc==2:
d=int(input(" ingrese datopara la lista 2: "))
lista2.agregar(Nodo(d))
elif opc==3:
lista1.mostrar()
elif opc==4:
lista2.mostrar()
elif opc==5:
print("chaoo")
break;
else:
print(" hasta pronto: ")
break
________________________________________________________
oeee
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
def retorna_liga(self):
return self.liga
def retorna_dato(self):
return self.dato
def asigna_liga(self,l):
self.liga=l
def asigna_dato(self,d):
self.dato=d
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def agregar(self,x):
if(self.primero==None):
self.primero=x
if(self.ultimo!=None):
self.ultimo.liga=x
self.ultimo=x
def mostrar(self):
p=self.primero
while(p!=None):
print(p.dato)
print("")
p=p.liga
def Bucar_d_i(self,d):
p=self.primero()
y=None
while(p!=None and p.dato<d):
y=p
p=p.liga
return y
def insertar(self, d, y):
x=Nodo(d)
self.conectar(x,y)
def conectar(self,x,y):
if(y!=None):
y.asigna_liga(y.retorna_liga())
y.asigna_liga(x)
if(y==self.ultimo):
self.ultimo=x
else:
y.asigna_liga(self.primero)
if(self.primero==None):
self.ultimo=x
self.primero=x
def Buscar_dato(self,d,y):
x=self.primero()
y=anterior(x)
lista1=LSL()
lista2=LSL()
while(True):
print("___MENU___")
print(" 1.contenido lista 1: ")
print(" 2.contenido lista 2: ")
print(" 3.mostrar lista 1: ")
print(" 4.mostrar lista 2: ")
print("5.salir")
opc=int(input("ingresa la opción"))
if(opc==1):
d=int(input(" ingrese dato para la lista 1: "))
x=Nodo(d)
lista1.agregar(x)
elif(opc==2):
d=int(input(" ingrese datopara la lista 2: "))
y=Nodo(d)
lista2.agregar(y)
elif(opc==3):
lista1.mostrar()
elif(opc==4):
lista2.mostrar()
elif(opc==5):
print("chaoo")
break;
else:
print(" hasta pronto: ")
break
_______________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def mostrar(self):
p=self.primero
while(p!=None):
print(p.dato)
print("")
p=p.liga
def Buscar_donde_in(self, dato):
p = self.primero
y = None
while p and p.dato < dato:
y = p
p = p.liga
return y
def insertar(self,d,y):
x=Nodo(d)
self.conectar(x,y)
def conectar(self, x, y):
if y != None:
x.liga = y.liga
y.liga = x
if y == self.ultimo:
self.ultimo = x
else:
x.liga = self.primero
if (self.primero==None):
self.ultimo = x
self.primero = x
lista=LSL()
while (True):
d= input(" ingrese el numero de 6 dígitos: ")
if len(d)==6:
break
else:
print("El numero ingresado no es de 6 dígitos.")
print("intentalo de nuevo")
c=0
while c < 6:
digito=d[c]
lista.insertar(digito,lista.Buscar_donde_in(digito))
c=c+1
lista.mostrar()
while(True):
print("")
print(" __MENU__ ")
print(" 1.Mostrar ")
print(" 2.Salir ")
print("")
opc=int(input(" digite opcion: "))
if(opc==1):
lista.mostrar()
break
elif(opc==2):
print("Chaoo BB")
break
else:
print(" opciòn no valida, intentalo de nuevo: ")
_________________________________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL():
def __init__(self):
self.primero=None
self.ultimo=None
def insertar(self):
p=self.primero
y=None
while(p==None and p.dato>=x.dato):
y=p
p=p.liga
def ordenar(self):
if(self.primero==None):
self.primero=x
self.ultimo=x
elif(self.primero!=None):
p=self.primero
y=None
if(y==None):
x.liga=self,primero
self.primero=x
elif(y==self.ultimo):
self.ultimo.liga=x
self.ultimo=x
else:
x=y.liga
y.liga=x
def borra(self,x,y):
if(x==None):
print("dato no existe")
return
def mostrar(self):
p=self.primero
if(p==None):
print("los datos son: ",p.dato)
print("")
p=p.liga
_______________________________________________________
class Nodo:
def __init__(self, dato):
self.dato = dato
self.siguiente = None
class ListaSimplementeLigada:
def __init__(self):
self.cabeza = None
def agregar(self, dato):
if not self.cabeza:
self.cabeza = Nodo(dato)
else:
actual = self.cabeza
while actual.siguiente:
actual = actual.siguiente
actual.siguiente = Nodo(dato)
def ordenar(self):
if self.cabeza is None:
return
actual = self.cabeza
while actual.siguiente:
siguiente = actual.siguiente
while siguiente:
if actual.dato > siguiente.dato:
actual.dato, siguiente.dato = siguiente.dato, actual.dato
siguiente = siguiente.siguiente
actual = actual.siguiente
def buscar(self, dato):
if self.cabeza is None:
return False
actual = self.cabeza
while actual:
if actual.dato == dato:
return True
actual = actual.siguiente
return False
def eliminar(self, dato):
if self.cabeza is None:
return
if self.cabeza.dato == dato:
self.cabeza = self.cabeza.siguiente
return
actual = self.cabeza
while actual.siguiente:
if actual.siguiente.dato == dato:
actual.siguiente = actual.siguiente.siguiente
return
actual = actual.siguiente
# Ejemplo de uso
lista = ListaSimplementeLigada()
lista.agregar(3)
lista.agregar(1)
lista.agregar(2)
lista.ordenar()
print(lista.buscar(2)) # Devuelve True
lista.eliminar(2)
print(lista.buscar(2)) # Devuelve False
__________________________________________________________________
class Nodo:
def __init__(self,d):
self.dato=d
self.liga=None
class LSL:
def __init__(self):
self.primero=None
self.ultimo=None
def insertar(self,x):
p=self.primero
y=None
while(p==None and p.dato>=x.dato):
y=p
p=p.liga
return y
def Ordenar(self,x):
if(self.primero==None):
self.primero=x
self.ultimo=x
elif(self.primero!=None):
y=self.insertar(x)
if(y==None):
x.liga=self.primero
self.primero=x
elif(y==self.ultimo):
self.ultimo.liga=x
self.ultimo=x
else:
x=y.liga
y.liga=x
def Buscar(self,d):
p=self.primero
y=None
while(p!=None and p.dato!=d):
y=p
p=p.liga
def Mostrar(self,d):
p=self.primero
while(p!=None):
print(p.dato)
p=p.liga
def Desconectar(self,d):
d.liga=d.liga.liga
def Borrar(self.x):
if(self.primero==None):
print("No hay datos en su lista")
break
elif(self.primero==self.ultimo):
if(x==p.dato):
self.primero=None
self.ultimo=None
print("Dato borrado")
else:
print("No hay ningun dato que coinsida con el valor digìtado")
break
else:
y=self.Buscar(x)
if(y==None):
self.primero=self.primero.liga
print("Dato borrado")
elif(y==self.ultimo):
print("No hay ningun dato que coinsida con el valor digìtado")
elif(y.liga==self.ultimo):
y.liga=None
self.ultimo=y
print("Dato borrado")
else:
self.Desconectar(y)
break
pass=0
lista=LSL()
while(True):
print("")
print("\___MENÙ___\")
print("")
print("\1.Rellanar lista")
print("/2.Mostrar lista")
print("3.Borra dato\")
print("4.Borrar lista")
print("5.Salir")
print("")
opc(int(input("Ingrese opciòn"))
if(opc==1):
elif(opc==2):
lista.Mostrar()
elif(opc==3):
d=int(input("Ingrese el dato a borrar: "))
lista.Borrar(d)
elif(opc==4):
lista=LSL()
else:
print("Chao te cuidas")
break
_______________________________________________________
pino
print("No puedes mostrar datos que NO EXISTEN.")
print("Vuelva a intentar")
print("")
elif(opc==3):class Nodo:
def _init_(self,d):
self.dato=d
self.liga=None
class LSD:
def _init_(self):
self.primero=None
self.ultimo=None
def insertar(self,x):
p=self.primero
y=None
while(p==None and p.dato>=x.dato):
y=p
p=p.liga
return y
def Ordenar(self,x):
if(self.primero==None):
self.primero=x
self.ultimo=x
elif(self.primero!=None):
y=self.insertar(x)
if(y==None):
x.liga=self.primero
self.primero=x
elif(y==self.ultimo):
self.ultimo.liga=x
self.ultimo=x
else:
x=y.liga
y.liga=x
def Buscar(self,d):
p=self.primero
y=None
while(p!=None and p.dato!=d):
y=p
p=p.liga
def Mostrar(self,d):
p=self.primero
while(p!=None):
print(p.dato)
p=p.liga
def Desconectar(self,d):
d.liga=d.liga.liga
def Borrar(self.x):
if(self.primero==None):
print("No hay datos en su lista")
break
elif(self.primero==self.ultimo):
if(x==p.dato):
self.primero=None
self.ultimo=None
print("Dato borrado")
else:
print("No hay ningun dato que coinsida con el valor digìtado")
break
else:
y=self.Buscar(x)
if(y==None):
self.primero=self.primero.liga
print("Dato borrado")
elif(y==self.ultimo):
print("No hay ningun dato que coinsida con el valor digìtado")
elif(y.liga==self.ultimo):
y.liga=None
self.ultimo=y
print("Dato borrado")
else:
self.Desconectar(y)
break
def ResetList(self):
self.primero=None
self.ultimo=None
k=0
list=LSD()
while(True):
print("/******/")
print("\------MENÙ------\")
print("/******/")
print("\1.Rellanar list/")
print("/2.Mostrar list/")
print("\3.Borra nùmero\")
print("/4.Borrar lista/")
print("\______\"
print("")
opc(int(input("Ingrese opciòn "))
print("")
if(opc==1):
while(True):
print("¿Comò desea rellenar el nodo?")
print("1-Manual")
print("2-Automatico")
print("")
opc(int(input("Ingrese opciòn "))
print("")
try:
n=(int(input"cuantos datos va a digìtar "))
if(opc==1):
if(n!=0):
i=1
for i in range(n):
d=(int(input("ingrese dato "))
x=Nodo(d)
list.ordenar(x)
k=1
break
else:
print("ERROR Usted a digìtado un cero")
print("")
if(opc==2):
if(n!=0):
aux=n%2
for i in range(n):
d=int((n+aux*3)/i)
x=Nodo(d)
list.ordenar(x)
aux=i%2
k=1
break
else:
print("ERROR Usted a digìtado un cero")
print("")
elif(opc==2):
if(k==1):
list.Mostrar()
else: