function generarString() {
    const letras = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    let arrayStrings = [];

    while (arrayStrings.length <20) { // Generar 100 strings
        let numeroAleatorio = Math.floor(Math.random() * 100000000); // Generar número de 8 dígitos
        let letraAleatoria = letras.charAt(Math.floor(Math.random() * letras.length)); // Generar letra aleatoria

        let stringGenerado = numeroAleatorio.toString().padStart(8, '0') + letraAleatoria;

        if (!arrayStrings.includes(stringGenerado)) {
            arrayStrings.push(stringGenerado);
        }
    }

    return arrayStrings;
}

let stringsGenerados = generarString();
// console.log(stringsGenerados);

function generarListaNombres() {
    const nombresHombres = ['Antonio', 'Manuel', 'José', 'Francisco', 'David', 'Juan', 'Javier', 'Daniel', 'José Antonio', 'José Luis', 'Francisco Javier', 'Carlos', 'Miguel Ángel', 'Alejandro', 'Miguel', 'Rafael', 'Pedro', 'Ángel', 'Pablo', 'Sergio'];
    const nombresMujeres = ['María Carmen', 'María', 'Carmen', 'Ana', 'Isabel', 'Laura', 'María Pilar', 'María Dolores', 'María Teresa', 'Ana María', 'Cristina', 'Marta', 'Elena', 'Francisca', 'María Isabel', 'Dolores', 'Antonia', 'Rosa María', 'Lucía', 'Juana'];

    let listaNombres = [];

    for (let i = 0; i < 10; i++) { // Generar 10 nombres aleatorios de hombres y 10 de mujeres
        let nombreHombre = nombresHombres[Math.floor(Math.random() * nombresHombres.length)];
        let nombreMujer = nombresMujeres[Math.floor(Math.random() * nombresMujeres.length)];

        listaNombres.push(nombreHombre);
        listaNombres.push(nombreMujer);
    }

    return listaNombres;
}

let nombresGenerados = generarListaNombres();
// console.log(nombresGenerados);

function generarListaApellidos() {
    const apellidos = [
        'García', 'González', 'Rodríguez', 'Fernández', 'López', 'Martínez', 'Sánchez', 'Pérez', 'Gómez', 'Martín',
        'Jiménez', 'Ruiz', 'Hernández', 'Díaz', 'Moreno', 'Álvarez', 'Muñoz', 'Romero', 'Alonso', 'Gutiérrez',
        'Navarro', 'Torres', 'Domínguez', 'Vázquez', 'Ramos', 'Gil', 'Ramírez', 'Serrano', 'Blanco', 'Suárez',
        'Molina', 'Morales', 'Ortega', 'Delgado', 'Castro', 'Ortiz', 'Rubio', 'Marín', 'Sanz', 'Iglesias',
        'Nuñez', 'Medina', 'Garrido', 'Cortés', 'Redondo', 'Guerrero', 'Cabrera', 'Santos', 'Lozano', 'Castillo'
    ];

    let listaApellidos = [];

    for (let i = 0; i < 20; i++) { // Generar 20 apellidos aleatorios
        let apellido = apellidos[Math.floor(Math.random() * apellidos.length)];
        listaApellidos.push(apellido);
    }

    return listaApellidos;
}

let apellidosGenerados = generarListaApellidos();
// console.log(apellidosGenerados);


function obtenerNumerosAleatorios( quants, min, max) {
    let numerosAleatorios = [];

    for (let i = 0; i < quants; i++) {
        let numeroAleatorio = Math.floor(Math.random() * (max - min + 1)) + min; // Generar número aleatorio del 1 al 10
        numerosAleatorios.push(numeroAleatorio);
    }

    return numerosAleatorios;
}

let numerosGenerados = obtenerNumerosAleatorios();


let sortida = ""

for (let i = 0; i < 20 ; i++) {

    sortida += ` 
('${nombresGenerados[i]}', '${apellidosGenerados[i]}', '${stringsGenerados[i]}', ${numerosGenerados[i]}),
`
}


function obtenerAnyosAleatorios( quants, min, max) {
    let numerosAleatorios = [];

    for (let i = 0; i < quants; i++) {
        // Math.floor((Math.random() * (max - min + 1)) + mi
        let numeroAleatorio = Math.floor(Math.random() * (max -min +1)) + min; // Generar número aleatorio del 1 al 10
        numerosAleatorios.push(numeroAleatorio);
    }

    return numerosAleatorios;
}

let numsRandom1 = obtenerNumerosAleatorios(20, 1, 5)
console.log(numsRandom1);

let numsRandom2 = obtenerNumerosAleatorios(20, 1, 6)
console.log(numsRandom2);

let anyosAletorios = obtenerAnyosAleatorios(20, 2016, 2020)
console.log(anyosAletorios);

let sortida2 = ""

let quants = 20
for (let i = 0; i < quants ; i++) {

    sortida2 += ` 
('${obtenerNumerosAleatorios(quants, 1, 5)[i]}', '${obtenerNumerosAleatorios(quants, 1, 6)[i]}', '${obtenerAnyosAleatorios(quants, 2016, 2020)[i]}'),
`
sortida2 += ` 
('${obtenerNumerosAleatorios(quants, 6, 10)[i]}', '${obtenerNumerosAleatorios(quants, 1, 6)[i]}', '${obtenerAnyosAleatorios(quants, 2016, 2020)[i]}'),
`
sortida2 += ` 
('${obtenerNumerosAleatorios(quants, 11, 15)[i]}', '${obtenerNumerosAleatorios(quants, 1, 6)[i]}', '${obtenerAnyosAleatorios(quants, 2016, 2020)[i]}'),`

sortida2 += ` 
('${obtenerNumerosAleatorios(quants, 16, 20)[i]}', '${obtenerNumerosAleatorios(quants, 1, 6)[i]}', '${obtenerAnyosAleatorios(quants, 2016, 2020)[i]}'),
`
}

console.log(sortida2);