Blog

  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

  • E309. Calcular letra de DNI en Java

    E309. Calcular letra de DNI en Java

    El DNI consta de un entero de 8 dígitos seguido de una letra que se obtiene a partir del número de la siguiente forma:

     letra = número DNI módulo 23

     Basándote en esta información, elige la letra a partir de la numeración de la siguiente tabla:

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

    T R W A G M Y F P D  X  B  N  J  Z  S  Q  V  H  L  C  K  E

     y diseña una aplicación en la que, dado un número de DNI, calcule la letra que le corresponde. Observa que un número de 8 dígitos está dentro del rango del tipo int

    package U03;
    
    import java.util.Scanner;
    
    /*
     * .  El DNI consta de un entero de 8 dígitos seguido de una letra que se 
     * obtiene a partir del número de la siguiente forma:
     letra = número DNI módulo 23
     Basándote en esta información, elige la letra a partir de la numeración de la siguiente tabla:
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
    T R W A G M Y F P D  X  B  N  J  Z  S  Q  V  H  L  C  K  E
    
     */
    
    
    public class E3_09 {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("DNI(solo los números): ");
    		int dni = sc.nextInt();
    		
    		int resto=dni%23;
    		
    		String letra=switch(resto) {
    		case 0-> {yield "T";}
    		case 1-> {yield "R";}
    		case 2-> {yield "W";}
    		case 3-> {yield "A";}
    		case 4-> {yield "G";}
    		case 5-> {yield "M";}
    		case 6-> {yield "Y";}
    		case 7-> {yield "F";}
    		case 8-> {yield "P";}
    		case 9-> {yield "D";}
    		case 10-> {yield "X";}
    		case 11-> {yield "B";}
    		case 12-> {yield "N";}
    		case 13-> {yield "J";}
    		case 14-> {yield "Z";}
    		case 15-> {yield "S";}
    		case 16-> {yield "Q";}
    		case 17-> {yield "V";}
    		case 18-> {yield "H";}
    		case 19-> {yield "L";}
    		case 20-> {yield "C";}
    		case 21-> {yield "K";}
    		case 22-> {yield "E";}
    		default -> {yield "ERROR";}
    		};
    		
    		System.out.println("DNI: " +dni + letra);
    	}
    }
    

  • E305. Calculadora en Java

    E305. Calculadora en Java

    E305.  (https://youtu.be/EGh-_RK5atY) Crea una aplicación llamada Calculadora, nos pedirá 2 operandos (int) y un signo aritmético (char), según este último se realizará la operación correspondiente. Al final mostrara el resultado en un cuadro de dialogo.

    Los signos aritméticos disponibles son:

    ·+: suma los dos operandos.

    ·-: resta los operandos.

    ·*: multiplica los operandos.

    ·/: divide los operandos, este debe dar un resultado con decimales (double)

    ·^:  1º operando como base y 2º como exponente.

    ·%:  módulo, resto de la división entre operando1 y operando2.

    package U03;
    /*
     * E305.  Crea una aplicación llamada Calculadora, 
     * nos pedirá 2 operandos (int) y un signo aritmético (char), 
     * según este último se realizará la operación correspondiente. 
     * Al final mostrara el resultado en un cuadro de dialogo.
     */
    import java.util.Scanner;
    
    public class E3_05 {
    
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		System.out.println("Dato 1:");
    		int dato1=sc.nextInt();
    		
    		System.out.println("Dato 2:");
    		int dato2=sc.nextInt();
    
    		System.out.println("Oper:");
    		char oper=sc.next().charAt(0);
    		
    		int res=switch(oper) {
    		case '+' -> {yield dato1+dato2;}
    		case '-' -> {yield dato1-dato2;}
    		case '*' -> {yield dato1*dato2;}
    		case '/' -> {yield dato1/dato2;}
    		default -> {yield -9999;}
    		};
    		
    		System.out.println("Resultado: "+ res);
    
    
    	}
    
    }
    
  • U2 Ejercicios Java

    U2 Ejercicios Java

    A continuación se ponen 10 ejercicios de java. Al final están todos los códigos que se ven en el video.

    /*
     * P2.1) Declara dos variables numéricas (con el valor que desees), 
     * muestra por consola la suma, resta, multiplicación, división y 
     * módulo (resto de la división).
     */
    package U02;
    
    public class E2_01 {
    
    	public static void main(String[] args) {
    		
    		int num1=10;
    		int num2=5;
    		
    		System.out.println("suma: " + (num1+num2));
    		System.out.println("resta: " + (num1-num2));
    		System.out.println("multiplicación: " + (num1*num2));
    		System.out.println("división: " + (num1/num2));
    		System.out.println("módulo: " + (num1%num2));
    		
    		
    
    	}
    
    }
    
    /*
     * P2.2) Declara un String que contenga tu nombre, 
     * después muestra un mensaje de bienvenida por consola. 
     * Por ejemplo: si introduzco «Javi», me aparezca «Bienvenido Javi».
     */
    package U02;
    
    public class E2_02 {
    
    	public static void main(String[] args) {
    		String nombre="Javi";
    		System.out.println("Bienvenido: " + nombre);
    
    	}
    
    }
    
    /*
     * P2.3) Modifica la aplicación anterior, para que nos pida el nombre que queremos introducir
     */
    
    package U02;
    
    import java.util.Scanner;
    
    public class E2_03 {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("Introduce el nombre: ");
    		String nombre = sc.nextLine();
    		System.out.println("Bienvenido: " + nombre);
    		sc.close();
    	}
    
    }
    
    /*
     * P2.4) Haz una aplicación que calcule el área de un círculo(pi*R2). 
     * El radio se pedirá por teclado (recuerda pasar de String a double con Double.parseDouble). 
     * Usa la constante PI y el método pow de Math.
     */
    package U02;
    
    import java.util.Scanner;
    
    public class E2_04 {
    
    	public static void main(String[] args) {
    		
    		Scanner sc = new Scanner(System.in);
    		System.out.println("Introduce el radio:");
    		double radio = sc.nextDouble();
    		double area = Math.PI*Math.pow(radio,2);
    		
    		System.out.println("El area del círculo es: " + area);
    		
    
    	}
    
    }
    
    /*
     * P2.5) Lee un número por teclado y muestra por consola, 
     * el carácter al que pertenece en la tabla ASCII. 
     * Por ejemplo: si introduzco un 97, me muestre una a.
     */
    package U02;
    
    import java.util.Scanner;
    
    public class E2_05 {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.println("Introduce un número");
    		int num=sc.nextInt();
    		char car= (char)num;
    		
    		System.out.println("El caracter es: " + car);
    		
    		
    
    	}
    
    }
    
    /*
     * P2.6) Modifica el ejercicio anterior, para que, en lugar de pedir un número, 
     * pida un carácter (char) y muestre su código en la tabla ASCII.
     */
    package U02;
    
    import java.util.Scanner;
    
    public class E2_06 {
    
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		
    		System.out.println("Introduce un caracter:");
    		char car=sc.next().charAt(0);
    		int cod=(int)car;
    		
    		System.out.println("El código es: " + cod);
    
    	}
    
    }
    
    /*
     * P2.7) Lee un número por teclado que pida el precio de un producto (puede tener decimales) 
     * y calcule el precio final con IVA. El IVA será una constante que será del 21%.
     */
    package U02;
    
    import java.util.Scanner;
    
    public class E2_07 {
    
    	public static void main(String[] args) {
    		final double IVA=0.21;
    		Scanner sc = new Scanner(System.in);
    		
    		System.out.println("Introduce el precio:");
    		double precio = sc.nextDouble();
    		
    		double precioFinal= precio+(precio*IVA);
    		
    		System.out.println("El precio final es: " + precioFinal);
    				
    		
    		
    
    	}
    
    }
    
    /*
     * P2.8) Reemplaza todas las a del String  por una e.
     */
    package U02;
    
    public class E2_08 {
    
    	public static void main(String[] args) {
    		String cadena="Por diez cañones por banda, viento en popa a toda vela";
    		
    		String cadena2=cadena.replace('a', 'e');
    		
    		System.out.println(cadena2);
    		
    
    	}
    
    }
    
    /*
     * P2.9) Mostrar la longitud de una cadena.
     */
    package U02;
    
    public class E2_09 {
    
    	public static void main(String[] args) {
    		String cad="12345";
    		
    		System.out.println("La longitud es:" + cad.length());
    
    	}
    
    }
    
    /*
     * P2.10) Dada una cadena, extraer la cuarta y quinta letra usando el método substring.
     */
    package U02;
    
    public class E2_10 {
    
    	public static void main(String[] args) {
    		String cad="Camino";
    		
    		String c=cad.substring(3, 5);
    		System.out.println("El caracter 3 y 4 es: " + c);
    
    	}
    
    }
    

  • A1.24 Algoritmo que calcule la suma de N números pares a partir de N

    A1.24 Algoritmo que calcule la suma de N números pares a partir de N

    Se pide representar el algoritmo que nos calcule la suma de los N primeros números pares a partir de número N introducido. Es decir, si insertamos un 5, nos haga la suma de 6+8+10+12+14. Si se mete un 3 el resultado será: 4+6+8 y si es 4 el resultado es 4+6+8+10

    Algoritmo sin_titulo
    	Escribir "Introducir dimensión:"
    	Leer n
    	
    	si n%2=0
    		ini=n
    	SiNo
    		ini=n+1
    	FinSi
    	s=0
    	para i=ini hasta n+n*2-1 Con Paso 2
    		Escribir sin saltar "+" i
    		s=s+i
    	FinPara
    	Escribir ""
    	Escribir "Suma: " s
    FinAlgoritmo
    
  • setInterval() y setTimeout()

    setInterval() y setTimeout()

    Se ilustra como utilizar estas dos funciones para retardar la ejecución de funciones en Javascript.

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Tiempos</title>
    </head>
    <body>
        <div id="info"></div>
        <div id="periodo"></div>
    
    <script>
        setTimeout(carga,5000)
        setTimeout(quitar,10000)
        let intervalo
        function carga(){
            document.getElementById("info").innerHTML+="5s"
            intervalo=setInterval(periodico,2000)
        }
        function periodico(){
            document.getElementById("periodo").innerHTML+="2s"
        }
        function quitar(){
            document.getElementById("info").innerHTML+=" QUITAR "
            clearInterval(intervalo)
        }
    </script>
    </body>
    </html>

  • DAFO con HTML, CSS y JS

    En el siguiente video se ilustra como crear una web que permita realizar un DAFO sencillo, en donde se elige la categoría que se quiere para el concepto y se incluye en ella.

  • 06. PSeInt – EJ 10 Array Aleatorios pseInt

    06. PSeInt – EJ 10 Array Aleatorios pseInt

    En este artículo y video se crea un array de 10 posiciones y se carga con número aleatorios. Luego se recorre de principio a final y luego de final al principio.

    Algoritmo sin_titulo
    	Dimensionar lista[10]
    	para i=1 Hasta 10
    		lista[i]=azar(100)
    	FinPara
    	
    	para i=1 hasta 10
    		escribir sin saltar " " lista[i]
    	FinPara
    Escribir ""
    	para i=10 hasta 1
    		Escribir Sin Saltar " " lista[i]
    	FinPara
    Escribir ""
    FinAlgoritmo
  • Códigos sencillos de Python

    Códigos sencillos de Python

    Grabar un registro en un fichero de texto

    Leer el archivo de texto separando los dos campos

    Leer el archivo y sacar el registro que tenga el valor mas alto

    Leer un texto por pantalla y escribirlo al revés

    Pedir un número por pantalla y validar que sea número

    Pedir datos por pantalla hasta que se introduzca 0

    Acumular las veces que aparece un dato

    Crear una clase que uno de sus atributos sea una lista de elementos de otra clase

  • 07.04 Python – Archivos de texto Context Manager

    __enter__ y __exit__ son métodos especiales en Python que permiten a un objeto actuar como un “context manager”. Los context managers son objetos que definen un contexto de ejecución y pueden utilizarse con la declaración with para establecer y liberar recursos de manera adecuada.

    Cuando se utiliza la declaración with, Python llamará automáticamente a los métodos __enter__ y __exit__ del objeto. Esto es útil para garantizar que los recursos se inicialicen correctamente antes de entrar en el bloque de código dentro del with y que se liberen adecuadamente al salir del bloque.

    __enter__(self): Este método se llama al entrar en el bloque with. Se utiliza para configurar y preparar los recursos o el contexto necesario antes de ejecutar el código dentro del bloque with. Si el método __enter__ devuelve algún valor, este valor se asigna a la variable después de la palabra clave as en la declaración with.

    __exit__(self, exc_type, exc_value, traceback): Este método se llama al salir del bloque with, ya sea cuando se ejecutó el código dentro del bloque sin errores o cuando ocurrió una excepción. Se utiliza para realizar tareas de limpieza y liberación de recursos. Los parámetros exc_type, exc_value y traceback contienen información sobre cualquier excepción que haya ocurrido dentro del bloque with.

    class miContexto:
        def __init__(self,path):
            self.path=path
    
        def __enter__(self):
            print("--Inicio contexto--")
            self.archivo=open(self.path,"r",encoding="utf-8")
            return self.archivo
    
        def __exit__(self, exc_type, exc_val, exc_tb):
            print("--Fin contexto--")
            if self.archivo:
                self.archivo.close()
    
    with miContexto("a.txt") as archivo:
        print(archivo.read())