Soluciones ejercicios

Crear una variable para almacenar el nombre de un producto y asignarle el valor ‘Tuerca’, otra para la referencia y asignar el valor ‘RF445’ y mostrad los valores por la consola.
Crear una variable para almacenar la cantidad de tuercas que tenemos y asignarle el valor 125. Crear otra variable para almacenar el precio que es 0.1. Calculad el total e imprimidlo.
Cread dos variables a y b, poned los valores que queráis y con un if imprimir cual es el valor mayor.
Modificad lo anterior para pedir los valores al usuario
Pedid el nombre y la edad al usuario y si es mayor de edad escribid ‘Bienvenido ‘+nombre y si es menor escribid Nombre+’ No puedes pasar’

console.log("Ejercicios JS");

let nombreProducto="Tuerca";
let referencia="RF445";

console.log(nombreProducto,referencia);

let cantidad=125;
let precio=0.1;
let total=cantidad*precio;
console.log("Total: "+total);

let a=15;
let b=88;

if (a>b){
    console.log("A es mayor que B. A: "+a+" y b: "+b);
}
if (b>a){
    console.log("B es mayor que A. A: "+a+" y b: "+b);
}

a=Number(prompt("Introduce un número",0));
b=Number(prompt("Introduce otro número",0));

if (a>b){
    console.log("A es mayor que B. A: "+a+" y b: "+b);
}
if (b>a){
    console.log("B es mayor que A. A: "+a+" y b: "+b);
}

let nombre=prompt("Dime tu nombre","Anónimo");
let edad=Number(prompt("Dime tu edad",18));

if (edad>=18){
    console.log("Bienvenido: "+nombre);
}else{
    console.log(nombre+" no puedes entrar");
}

Interaccionar con el usuario

// Lanzar un mensaje al usuario
alert("Hola");

// Pedir una confirmación al usuario

let hasZapatillas=confirm("¿LLevas zapatillas");
console.log(hasZapatillas);
if (hasZapatillas){
    alert("No puedes entrar con zapatillas");
}

// Pedir un valor al usuario

let nombre=prompt("¿Cómo te llamas?");
console.log(nombre);

// Valor por defecto
nombre=prompt("¿Cómo te llamas?","Anonimo");
console.log(nombre);

// Si pedimos números hay que convertir
let precio=Number(prompt("Precio por unidad",20));
console.log(precio);
console.log(precio+100);

Ejemplos variables e If

let precio=100;
let cantidad=15;
let total=precio * cantidad;

if (total>1000){
    console.log("Tienes un 10% de descuento");
    console.log(total)
    console.log("Descuento: ",total*.1); // total*10/100 -> total*.1
    console.log("Importe total:", total*.9); // total * (100-10)/100 ->total*.9
}else{
    console.log("Importe total: ", total);
}

let hasZapatillas=false;

if (hasZapatillas){
    console.log("Con zapatillas no se entra en la discoteca");
}else{
    console.log("Puedes entrar");
}

let horasDiarias=8;
let diasTrabajados=30;
let totalHoras=horasDiarias*diasTrabajados;
let precioHora=20;

if (diasTrabajados>=30){
    precioHora=21;
}

console.log("Sueldo: ",totalHoras*precioHora);

let sueldo=totalHoras*precioHora;

// Si el sueldo es mayor de 10000->irpf=30  Si es mayor de 5000 ->20 (ok) En otro caso->15 (ok)
sueldo=16000;
let irpf=15;

// El siguiente código tiene un error ¿Cual? y ¿Cómo lo arreglo?
if(sueldo>5000){
    irpf=20;
}
if (sueldo>10000){
    irpf=30;
} 


console.log("IRPF: ",sueldo*irpf/100);

JS If

// Estructura de control

let edad=10;

// Instrucción if 
// if (condicion){...}
// La condición es un valor booleano que será cierto o falso
// Yo he utilizado una comparación
// >, >= mayor mayor igual, < <= menor menor igual, == igual, != diferente
if (edad>=18){
    // Lo que se ejecuta si la condición se cumple
    console.log("Puedes entrar");
    console.log("Porque eres mayor de edad");
    console.log("Bienvenido");
} else {
    // Lo que se ejecuta si la condición NO se cumple
    console.log("No puedes entrar");
}

// Lo mismo de antes pero solo daremos aviso si no es mayor de edad
if (edad<18){
    console.log("No puedes entrar")
}

let precio=100;

if (precio==100){
    console.log("Felicidades porque el PRECIO es redondo");
}

if (precio!=10){
    console.log("El precio no es 10")
}

let cantidad=18;

if (cantidad*precio>1000){
    console.log("Es muy caro");
}

Operaciones

// Operadores de JS
// Todas las operaciones de toda la vida

let a=5;
let b=6;

let suma=a+b;
let resta=a-b;
let multiplicacion=a*b;
let division=a/b;

console.log(suma);
console.log(resta);
console.log(multiplicacion);
console.log(division);

console.log(a**b); // 5 elevado a la sexta potencia 5^6

// Resto de la división (%)

console.log(52 % 3); // Divido 52 entre 3, me da 17 y me sobra 1. Pues el resto es el 1

// Operadores incremento y decremento
a++; // le suma uno a 'a'
b--; // Le resta uno a 'b'
console.log(a,b);

// Atajos de las operaciones

a=a+10; // Le sumo 10 a 'a'
a+=10; // Es lo mismo

a+=b; // Le estoy sumando 'b' a 'a'

console.log(a)

let nombre="Ana";
let apellido="Pi";

// En cadenas el '+' nos concatena las cadenas
let nombreCompleto=nombre+" "+apellido;
console.log(nombreCompleto);

let numero="10";
console.log(numero);
console.log(typeof(numero));

console.log(typeof(a));

console.log(a+numero); // Malo 3110  41  
console.log(numero+a); // Error 1031 41

// Conversión entre tipos

let precio=Number(numero); // Convierto a número
let producto=String(a); // Convierto a cadena
let descuento=Boolean(b); // Convierto a booleano

console.log(precio,producto,descuento);

console.log(Number("13a"));
console.log(Number("a13a"));

Tipos de datos en JS

// Números
let precio=8.5;
let cantidad=8;
let total=precio*cantidad;

console.log(precio);
console.log(cantidad);
console.log(total)

// Tienen una precisión, no son ilimitados
console.log(9007199254740991 + 1); // 9007199254740992
console.log(9007199254740991 + 2);
console.log(0.1+0.2) // Esto no lo hace bien

let grande=7982739182391832719283131238123791238n;
console.log(grande+1n);

// Cadenas
let nombre="Ana";
let apellido='Pi';
let calculo=`el total es ${total}`;
console.log(nombre);
console.log(apellido);
console.log(calculo);

// Booleanos (cierto o falso)

let cierto=true;
let falso=false;

console.log(cierto);
console.log(falso);

// Valores especiales

// Inifinito
let a=9/0;
console.log(a);

// Valor nulo
a=null;
console.log(a);

// Valor indefinido
let b;
console.log(b);

let c="";

JS Variables


// Escribir en la consola de la página
console.log("Hola que tal")
console.log("Yo muy bien")

// Programación
/*

Comentarios de varias líneas

*/

// Pongamos ; siempre al final de cada sentencia

/* Variables */

// Crea una variable llamada 'nombre' cuyo valor es 'juan'
let nombre="Juan";
console.log(nombre)
// Cambio el valor de una variable ya creada
nombre="Ana";
console.log(nombre);

// Las variables en JS no tienen tipo: lenguaje no tipado
nombre=80;
console.log(nombre)

// Las mayúsculas importan
let Nombre="Pepe";
let NOMBRE="Rosa";
console.log(nombre);
console.log(Nombre);
console.log(NOMBRE);
// Como nombrar una variable
let na="Eva Pi"; // na es nombre alumno ESTO NO
let nombreAlumno="Eva Pi"; // ESTO SÍ
// Utilizamos camel case: empezamos en minúsculas y cada palabra nueva mayúsculas
let precioPorUnidad=9;
let nombreDepartamento="Administracion";

// Una variable no puede empezar por un número pero si tener números
// let 5nombre="www";
let nombre5="www";
let $nombre="Ana";
let _pepe="pepe";
let nombre_completo="Ana Pi";

// Esto se puede pero no es aconsejable
let camión="renault";
let añoVenta=2024;

// Esto no está permiido
// let let=9;

let apellido="Pérez";

// Esto se permite pero está mal, tened mucho cuidado
Apellido="Martínez";

Acceder a la API de OpenAI con node

https://www.sitepoint.com/ai-javascript-research-assistant/

const { OpenAI } = require("openai");

const openai = new OpenAI({
      apiKey: "YOUR_OPENAI_API_KEY",
      dangerouslyAllowBrowser: true,
});

async function queryAIModel(question) {
  try {
    const completion = await openai.chat.completions.create({
      model: "gpt-4",
      messages: [
        { role: "system", content: "You are a helpful research assistant." },
        { role: "user", content: question }
      ],
    });
    return completion.choices[0].message.content.trim();
  } catch (error) {
    console.error("An error occurred while querying GPT-4:", error);
    return "Sorry, an error occurred. Please try again.";
  }
}

async function queryResearchAssistant() {
  const query = "What is the role of JavaScript in building AI Applications?";
  const answer = await queryAIModel(query);
  console.log(`Question: ${query}\nAnswer: ${answer}`);
}

queryResearchAssistant();