anun1

domingo, 23 de marzo de 2025

Crear el triangulo de pascal en python y javascript

Hola ahora veremos como crear el triangulo de pascal, primero lo haremos en python despues en html y javascript.

como dije primero en python asi que pedimos el numero de lineas asi

try: #aqui ponemos un try por si el usuario ingresa un valor no numerico

lineas=int(input("Dame el numero de lineas: "))

 despues creamos un for el ciclo se repetira segun el numero de lineas del triangulo

for x in range(lineas):

dentro de este se encuentran 2 for anidados, el primero es para poner los espacios en blanco asi

for e in range(lineas-x+1):

         print(end=" ") 

despues inicializamos la variable valor a 1 y el segundo for imprime la linea de la piramide correspondiente con el comado print y el valor de la variable valor mas un espacio y se calcula el siguiente valor de la linea con la formula dentro del for

valor=1 

      for y in range(0,x+1):  #for anidado

         print(valor," ",end="") #imprime la variable valor

         valor=int(valor*(x-y)/(y+1)) #formula para calcular el valor siguiente de la linea de la piramide

saliendo del for se usa print para un salto de linea y mas abajo la excepción

 print("")     

except ValueError:

   print("Error al ingresar algun dato") 

bueno aqui les dejare el codigo completo

try:
   lineas=int(input("Dame el numero de lineas: "))
   for x in range(lineas):              
      for e in range(lineas-x+1):
         print(end=" ") 
      valor=1 
      for y in range(0,x+1):  
         print(valor," ",end="") 
         valor=int(valor*(x-y)/(y+1))
      print("")     
except ValueError:
   print("Error al ingresar algun dato")

bueno ami no me gusta ese asunto de usar la formula y otra cosa se distorciona si pones valores altos asi quedaria como se muestra en la imagen si lo ejecutamos




asi que hice mi version en html y javascript y un poco mas visual aqui el codigo y este no usa la formula de python

asi que primero creamos el cuadro de texto, el boton, el div y la marquesina y lo centramos asi

<html>

<head><title>triangulo de pascal</title>

</head>

<body>

<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>

<br><br>

<center>

Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>

<div id="tri"></div> 

dentro de la etiqueta <script> creamos la funcion generar

<script>

function Generar() //funcion generar

{

   var largo=document.getElementById("long").value //inicializamos la variable valor a el numero dado por el usuario

   var code="",a=0,b=0,c="",d="" //declaramos las variables a usar mas adelante

   

  for(var x=0;x<largo;x++) //ciclo for y otro ciclo for anidado para crear los cuadros de textos

  {

     for(var y=0;y<=x;y++) //for anidado

{

    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>" //creo los cuadros de textos y se almasenan en la variable code

}

code+="<br>" //inserto un salto de linea

  }

  document.getElementById("tri").innerHTML=code //inserto los cuadros de texto creados en el div


bueno ahora creamos otros for y for anidados para ingresar los valores a la piramide de pascal

for(x=0;x<largo;x++) //este for se repite segun la cantidad de lineas

  {

     for(y=0;y<=x;y++) //este for anidado se repite segun el valor de x, o sea segun el numero de cuadros de la linea

{

    if(y==0) //if que pregunta si la variable "y" es igual a cero si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==x)//if que pregunta si la variable "y" es igual a "x" si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==1 || (y+1)==x) //if que pregunta si la variable "y" es igual a 1 o si la variable "y+1" es igual a "x" si es asi el cuadro especifico de la piramide valdra x, si se cumple alguna de las condiciones entra al if

{

  document.getElementById(x + "-" + y).value=x //ingresa el valor de x a el cuadro

}

else if(document.getElementById(x + "-" + y).value=="") //if que pregunta si el cuadro a seguir esta vacio, si es asi entra

{

   a=x-1 //le resta 1 a x

   b=y-1 //le resta 1 a y

   c=document.getElementById(a + "-" + b).value //le pasa el valor de ese cuadro a la variable c

   d=document.getElementById(a + "-" + y).value //le pasa el valor de ese cuadro a la variable d

   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d) //suma los cuadros que se encuentran arriba de el cuadro que estamos para calcular el valor de este

}

}

 

  }  

bueno aqui el codigo completo

<html>
<head><title>triangulo de pascal</title>
</head>
<body>
<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>
<br><br>
<center>
Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>
<div id="tri"></div>

<script>
function Generar()
{
   var largo=document.getElementById("long").value
   var code="",a=0,b=0,c="",d=""
   
  for(var x=0;x<largo;x++)
  {
     for(var y=0;y<=x;y++)
	 {
	    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>"
	 }
	 code+="<br>"
  }
  document.getElementById("tri").innerHTML=code
  
  for(x=0;x<largo;x++)
  {
     for(y=0;y<=x;y++)
	 {
	    if(y==0)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==x)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==1 || (y+1)==x)
		{
		  document.getElementById(x + "-" + y).value=x 
		}
		else if(document.getElementById(x + "-" + y).value=="")
		{
		   a=x-1
		   b=y-1
		   c=document.getElementById(a + "-" + b).value
		   d=document.getElementById(a + "-" + y).value
		   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d)
		}
	 }
	 
  }  
}
</script>
</center>
</body>
</html>


ahora una imagen de este


 nota: no ingresen valores muy altos por que no caberan en pantalla

bueno saludos y espero les halla gustado flamer




No hay comentarios.:

Publicar un comentario