Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - thebus4k

#31
Desarrollo Web / Re: javascript
11 Mayo 2020, 17:58 PM
Cita de: @XSStringManolo en 11 Mayo 2020, 17:26 PM
Debes crear una función para factorizar. Le añado un tercer parámetro opcional para ver las operaciones de distintas formas.

La comprobación de si lo introducido por el usuario es válido también lo metería aquí.

Código (javascript) [Seleccionar]
function Factorizar(num1, num2, info) {

if(num1 < 0 || isNaN(+num1) || /\s/gm.test(num1) || num1 === null || num1 === "") {
throw new error("El número no puede ser factorizado");
}

var numero1 = num1, numero2 = num2;
while(n1) {
num2 = num1 * num2;
--num1;
switch(info) {
case 1:
console.log(numero1 + " - " + numero2 + " es igual a " + num2);
break;

case 2:
alert(numero1 + " - " + numero2 + " es igual a " + num2);
break;
}
}
}


Este archivo lo guardas tal cual, sin las etiquetas <script> como Factorizar.js


Ahora, donde hacías la factorización lo remplazas por la llamada a la nueva función. Lo guardas como codigo.js o main.js, index.js, programaFactorizar.js... Algo que se pueda deducir que es el script.

Código (javascript) [Seleccionar]
/* Declara 2 variables y las define en una sola expresión */
var n1 = prompt("Introduce un número"),
n2 = 1;

/* Declara otra variable. Aquí para indicar hoisting */
var div;

/* Muestra en consola que puso el usuario. */
console.log("El usuario ha introducido:" + n1);

/*
Mientras el numero sea negativo, sea NaN, contenga espacios, sea null o un string sin valor ... */
while(n1 < 0 || isNaN(+n1) || /\s/gm.test(n1) || n1 === null || n1 === "") {

console.log("El número " + n1 + " introducido no es factorizable.");
n1 = prompt("El número introducido no es factorizable.\nInténtalo de nuevo");
}

/* Coherce a número. */
n1 = +n1;

Factorizar(n1, n2, 1);

div = document.createElement("div");
div.id = "respuesta";
div.innerHTML = "El factorial es: " + n2;

document.body.appendChild(div);


Por último añades los scripts a tu html, a mi me gusta meter las librerías y funciones puras al final de la etiqueta head y el código al final del body.

Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Factorial</title>
<script src="Factorizar.js"></script>
</head>
<body>
<script src="codigo.js"></script>
</body>
</html>



El primero de los códigos me genera 5 errores, en la línea 1, 4, 8, 13 y 17.
#32
Desarrollo Web / Re: javascript
11 Mayo 2020, 13:20 PM
Cita de: @XSStringManolo en 11 Mayo 2020, 04:08 AM
Código (javascript) [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Factorial</title>
</head>
<body>
<script>
/* Declara 2 variables y las define en una sola expresión */
var n1 = prompt("Introduce un número"),
n2 = 1;

/* Declara otra variable. Aquí para indicar hoisting */
var div;

/* Muestra en consola que puso el usuario. */
console.log("El usuario ha introducido:" + n1);

/*
Mientras el numero sea negativo, sea NaN, contenga espacios, sea null o un string sin valor ... */
while(n1 < 0 || isNaN(+n1) || /\s/gm.test(n1) || n1 === null || n1 === "") {

console.log("El número " + n1 + " introducido no es factorizable.");
n1 = prompt("El número introducido no es factorizable.\nInténtalo de nuevo");
}

/* Coherce a número. */
n1 = +n1;

while(n1) {
n2 = n1 * n2;
--n1;
console.log("Valor de n2 = " + n2 + "\nValor de n1 = " + n1);
}

div = document.createElement("div");
div.id = "respuesta";
div.innerHTML = "El factorial es: " + n2;

document.body.appendChild(div);

</script>
</body>
</html>
Te modifiqué un poco el código. Los temas de javascript van a desarollo web, Java no tiene lo más minimo que ver con javascript. Se le puso ese nombre para aprovecharse del tirón comercial de Java.

Muchas gracias por responder,  la próxima vez que tenga otra pregunta lo pondré es su debido foro.

Tengo otra cuestión.
Como puedo separa el contenido del script de forma que queden 2 archivos js, el primero de ellos solo debe tener el cálculo del factorial y el otro que contenga la parte de la consola?
#33
Desarrollo Web / javascript
10 Mayo 2020, 19:19 PM
Hola a todos, tengo que hacer un script que calcule el factorial de un número.
Aparte debe mostrar por consola toda la operación, por ejemplo si se introduce un 4:
1.Calculando Factorial de 4
2.Operación = 4x3x2x1
3.Factorial = 24

La parte del script que lo calcule ya lo tengo y funciona
Código:

<script>
var n1,n2;
   n1=parseInt(prompt("Introduce un número"));
   n2=1;
if(n1<0){
   while(n1<0){
       n1=parseInt(prompt("El valor del número introducido debe ser mayor que 0"));
   }
}
while (n1>1){
   n2=n1*n2;
   n1=n1-1;
}

document.write("El factorial es: "+n2);
</script>

La parte de la consola no sé como implementarlo.

Espero que alguien pueda ayudarme, un saludo.
#34
Hola a todos.
Tengo un problema en un programa que debe unir el contenido de dos archivos txt en un archivo nuevo. El programa que tengo es que me crea bien el archivo, pero no copia el contenido de los dos archivos iniciales.

Código:

import java.io.*;
import javax.swing.JOptionPane;
public class Ejercicio3{

    public static void main(String[] args) {

        //Introducimos los datos
        String rutaFichero1=JOptionPane.showInputDialog("Indica la ruta del primer fichero");
        String rutaFichero2=JOptionPane.showInputDialog("Indica la ruta del segundo fichero");
        String rutaDestino=JOptionPane.showInputDialog("Indica la ruta donde quieres guardarlo");

        //Creamos dos objetos File para que nos sea mas sencillo manejarlos
        File fichero1=new File(rutaFichero1);
        File fichero2=new File(rutaFichero2);

        //Troceamos el el nombre del primer fichero para que se quede sin extension
        String primerFichero=fichero1.getName().substring(0, fichero1.getName().length()-4);

        //Crear el nombre de salida del fichero
        String nombreFicheroFinal=primerFichero+"_"+fichero2.getName();

        rutaDestino+=nombreFicheroFinal;

        File destino=new File(rutaDestino);

        UneFicheros(fichero1, fichero2, destino);

    }

    public static void UneFicheros (File fich1, File fich2, File destino){

        try (BufferedReader br=new BufferedReader(new FileReader(fich1));
            BufferedReader br2=new BufferedReader(new FileReader(fich2))){

            int eleccion=-1;

            if(destino.exists()){
                eleccion=JOptionPane.showConfirmDialog(null, "El fichero ya existe, ¿Quieres sobrescribir el fichero "+destino.getName()+"?",
                        "Sobrescribir",
                        JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
            }
            if(eleccion!=JOptionPane.CANCEL_OPTION){

                /*
                 * Lo creamos aquí, ya que si lo hacemos arriba
                 * siempre existira porque se crea al abrir el Stream
                 */

                BufferedWriter bw=new BufferedWriter(new FileWriter(destino));

                //Copiamos el contenido al fichero destino
                copiar(bw, br);
                copiar(bw, br2);

            }
        }catch(IOException e){
            JOptionPane.showMessageDialog(null, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }

    }

    private static void copiar(BufferedWriter bw, BufferedReader br) throws IOException{

            String linea=br.readLine();
            while(linea!=null){

                bw.write(linea);

                linea=br.readLine();
            }

    }
}



Espero que alguien sepa ayudarme, un saludo.
#35
Bases de Datos / Sentencia sql
8 Mayo 2020, 01:54 AM
Hola, buenas a todos, tengo una pequeña duda respecto a un select.

Tengo lo siguiente: SELECT ABS(x2 - x1) + ABS(y2-y1) FROM coordenadas
Mi pregunta es, ¿como puedo redondear con ROUND el resultado final?

Espero que alguien sepa ayudarme.

Un saludo.
#36
Bases de Datos / Re: Consulta SQL
29 Abril 2020, 21:22 PM
Cita de: ThunderCls en 29 Abril 2020, 20:44 PM
Esto te debe funcionar con MySQL, PostgreSQL

Código (sql) [Seleccionar]
SELECT ABS(
   (SELECT COUNT(nombre) FROM NOMBRE_TABLA WHERE CHAR_LENGTH(nombre) > 0) -
   (SELECT COUNT(apellido) FROM NOMBRE_TABLA WHERE CHAR_LENGTH(apellido) > 0)
)
AS Diferencia


Saludos
Gracias por responder, me ha funcionado correctamente.
Un saludo.
#37
Bases de Datos / Consulta SQL
29 Abril 2020, 17:51 PM
Buenas tardes.
Tengo que realizar una consulta con SELECT y no sé muy bien como plasmarlo.
Por ejemplo:
En una tabla con id_empleado, nombre, apellido, DNI.
Obtener el número total de campos de la columna nombre, obtener el número total de campos de la columna apellido y realizar la diferencia de esos dos datos.
No sé muy bien como realizarlo.

Espero que alguien sepa como ayudarme.
Un saludo.
#38
Cita de: .:UND3R:. en 11 Abril 2020, 19:56 PM
Y cual es tu avance? Yo leo a un ignorante pidiendo la respuesta para copiar y pegar, sería ideal leer a una persona con interés de aprender, demostrar sus avances y que el resto sienta las ganas de ayudarte
Estoy pidiendo ayuda porque NO SÉ HACERLO , no quiero que nadie me lo haga sólo quiero ayuda crack mastodonte
#39
Bases de Datos / Ejercicio Álgebra Relacional
11 Abril 2020, 19:21 PM
Muy buenas. Tengo un ejrcicio de álgebra relacional lioso y que no se me ocurre como hacerlo.
El ejercicio es el siguiente:
Se pide conocer el nombre de los Proveedores que han suministrado artículos de color rojo y verde dadas las siguientes tablas:
PROVEEDORES(#Cod_Prov, Nombre, Ciudad, Calle, Número)
ARTÍCULOS(#Cod_Art, Nombre_a, Precio, Descr, Color)
PEDIDOS(#Cod_Prov, #Cod_Art, Cantidad)
*Para la realización del ejercicio 1 se prohíbe el uso de condiciones complejas en las selecciones, es decir, se permiten operaciones como σ(nombre=Federico)(PERSONAS) pero está prohibido usar expresiones del tipo σ(nombre="Federico" ⋀ ciudad="Madrid")(PERSONAS).

Espero que alguien pueda ayudarme, un saludo.