#MATH AND CODING PROBLEMS

24 messages · Page 1 of 1 (latest)

dense axle
#

I recently in math I study the parable, specifically, how to calculate the equation of the lines tangent to a known parabola AX^2 + BX +C (A , B , C ) INSERT BY USER and passing through a point P P(XP;YP) INSERT BY USER of known coordinates so the prof ask to create a js script to calculate it.

To summarize the procedure, take the coordinates entered by the user and insert them into the equation: y- yP = m(x - xP)
to find the equation of the generic straight line passing through P;

at this point the procedure involves equating the parabola of which we know the coefficients A, B, C in this way:
AX^2+BX+C = mX -mXP +YP

solve and then set the descriminant ( Δ = b^2 - 4 a c ) equal to 0

the problem arises here because I can't find a way to solve it in js.

I'll start by saying that I know the basics of js and so I apologize for any misunderstandings

somber pollen
#

mhm vedo che sei anche italiano, quindi ti posso dare una mano piu facilmente ahah, anche io sono 07

#

suppongo che l'input sia A, B, C

somber pollen
#

Se stai utilizzando js normale, ti spiego.

Ci sono 2 metodi che conosco per chiedere l'input all'utente, il primo e quello di chiedere 3 input all'utente e il secondo di chiedere solo un input ma che richiede una formattazione separata da una virgola: a,b,c
In questo caso useremo la seconda

Allora, per prima cosa dobbiamo inanzitutto chiedere l'input all'utente per poi processare l'input, usando la funzione prompt(), quindi

let _in = prompt("Inserisci i valori 'a', 'b', e 'c' separati da una virgola")

Tieni in mente che la variabile _in restituisce un valore di tipo string, questo sara utile per dopo

Poi, dobbiamo processare i dati che vengono chiesti e dobbiamo formattarli con la regola che abbiamo detto, ovvero quella di prendere i valori numerici separati da una vigola, per fare cio useremo la funzione split(). La funzione split() si trova all'interno della classe String, e restituisce un Array, ovvero una lista. In questo caso la list e di tipo String, che poi andremo a trasformare in numeri.

let abc = _in.split(",") // Separiamo i valori da una virgola.

In questo modo abbiamo ottenuto la nostra lista dei dati numerici. Ora andremo a convertire questo tipo di lista in attuali numeri.

// Trasformiamo l'input dell'utente in valori numerici, in modo da poterli calcolare senza errori
let a = Number(abc[0]) 
let b = Number(abc[1])
let c = Number(abc[2])

Ora calcoliamo la parabola, assumento che X = 2

const x = 2;
let parabola = a*(x**2)+(b*x)+c

Ora che abbiamo assemblato i dati, possiamo usare console.log(parabola) per vedere il risultato

#

Ecco il codice completo:

let _in = prompt("Inserisci i valori 'a', 'b', e 'c' separati da una virgola")
let abc = _in.split(",") // Separiamo i valori da una virgola.
// Trasformiamo l'input dell'utente in valori numerici, in modo da poterli calcolare senza errori
let a = Number(abc[0]) 
let b = Number(abc[1])
let c = Number(abc[2])
const x = 2;
let parabola = a*(x**2)+(b*x)+c
console.log(parabola)

Per quanto riguarda il resto, dimmelo in italiano cosi ti spiego. Non ho capito bene la parte delle coordinate

somber pollen
#

poi anche se io tutti i linguaggi che ho imparato gli ho imparati da solo senza corsi, documentazioni ne nulla, ti dico solo di capire le parole chiave di qualsiasi linguaggio di programmazione orientato agli oggetti, ti basta solo quello per imparare tutti gli altri (oltre alla sintassi 🙂 )

#

l'unico modo per imparare i linguaggi e il fallimento, errori costanti e riprovarci piu volte a risolvere un problema da solo senza alcun tipo di aiuto

#

i corsi durano fino a poco, un paio di mesetti e ti scordi del tutto di cosa serve X e Y

dense axle
#

ciao ofc.angel il mio problema di fatto non sta nel inserimento da parte dell utente ma e puramente teorico:

#

se in ingresso ho solo i coefficienti della parabola (chiamati comunemente A,B,C) e le coordinate di un punto generico P (per comodità Xp,Yp) come posso risolvere l' equazione che ho scritto sopra (y- yP = m(x - xP))

somber pollen
#

in che senso teoretico

dense axle
# somber pollen in che senso teoretico

vedi gli umani moltiplicano lettere e numeri senza crearsi problemi farlo con un pc e piu complicato dato che cio che moltiplica vuole abbia un valore ben definito

dense axle
#

poniamo che p sia P(3;2) allora io umano y - 2 = m(x - 3) quindi faro y=mx -3m +2

dense axle
somber pollen
#

ah, quindi dici che risolvere l'equazione per noi e piu facile?

dense axle
#

bhe noi interpetriamo le incognite come numeri di cui non sappiamo i valori ma sappiamo moltiplicarli; invece un pc non ne ho idea se è capace di moltiplicare un incognita per un numero

dense axle
somber pollen
#

non ho mai fatto matematica con un linguaggio di programmazione onestamente, quindi non seprei risponderti

dense axle
#

lunica cosa che mi viene in mente per facilitare la realizazione è che mx c'è in ogni caso -xpm si potrebbe concatenare? e yP ce lo abbiamo

#

poi petro il procecdimento andrebbe avanti e si complicherebbe in modo assurdo

somber pollen
#

un computer non puo risolvere un'equazione come per esempio 2x + 1 = 5, devi trovare tu la formula per calcolare x