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:

  1. nodoSimple buscaDondeInsertar (Objeto d)

*void insertar (Objeto d, nodoSimple y)

*void conectar (nodoSimple x, nodoSimple y)

  1. 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:


algoritmos II / Actividades / Todos los derechos reservados
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar