Usuário inserir funções polinomiais e tabelas geradas

1. Usuário inserir funções polinomiais e tabelas geradas

Igor
Firerogi

(usa Linux Mint)

Enviado em 16/05/2020 - 13:36h

Boa tarde. Estou com um projeto pessoal de criar algumas "calculadoras" de métodos de cálculo numérico utilizando HTML e JAVASCRIPT e me deparei com dois problemas iniciais que não faço ideia de como resolver, sendo o primeiro mais crucial:

1. Como posso habilitar para o usuário digite uma função, como : x + cos(x) e o código em javascript aceite as variáveis e tudo mais como uma função polinomial ? Por exemplo:

<script>

function fx(x)
{
return x + 3;
}

alert (fx(1));
</script>
No código anterior, eu altero manualmente a função que quero direto no "return". Como faria em um script para o usuário digitar a função em um prompt ou input e seja reconhecido as variáveis e tudo mais ?



2. Como posso fazer uma tabela que gera linhas de acordo com o número que o usuário necessita ? Por exemplo: O usuário irá digitar o número de N repetições que ele deseja e a tabela precisa conter N linhas para armazenar as informações necessárias.

O maior exemplo do que estou precisando tem no seguinte site: https://keisan.casio.com/exec/system/1222999061

Bem, não sei se essas dúvidas são bem o foco do fórum ,mas ficaria muito agradecido por qualquer ajuda. Desde já agradeço qualquer contribuição




  


2. Re: Usuário inserir funções polinomiais e tabelas geradas

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/05/2020 - 18:23h


Firerogi escreveu:

Boa tarde. Estou com um projeto pessoal de criar algumas "calculadoras" de métodos de cálculo numérico utilizando HTML e JAVASCRIPT e me deparei com dois problemas iniciais que não faço ideia de como resolver, sendo o primeiro mais crucial:

1. Como posso habilitar para o usuário digite uma função, como : x + cos(x) e o código em javascript aceite as variáveis e tudo mais como uma função polinomial ? Por exemplo:

<script>

function fx(x)
{
return x + 3;
}

alert (fx(1));
</script>
No código anterior, eu altero manualmente a função que quero direto no "return". Como faria em um script para o usuário digitar a função em um prompt ou input e seja reconhecido as variáveis e tudo mais ?



2. Como posso fazer uma tabela que gera linhas de acordo com o número que o usuário necessita ? Por exemplo: O usuário irá digitar o número de N repetições que ele deseja e a tabela precisa conter N linhas para armazenar as informações necessárias.

O maior exemplo do que estou precisando tem no seguinte site: https://keisan.casio.com/exec/system/1222999061

Bem, não sei se essas dúvidas são bem o foco do fórum ,mas ficaria muito agradecido por qualquer ajuda. Desde já agradeço qualquer contribuição


Boa tarde Firerogi.
Qto a questão 01,
veja como fiz para "pegar" o valor das, linhas e colunas.

Questão 02:
Segue exemplo para criação de Tabela dinâmica.
<!DOCTYPE html>
<html>
<head>
<meta content="text/html" charset="UTF-8" http-equiv="Content-Type">
<style>
#principal{position:absolute;box-shadow:0 0 8px -2px rgba(0, 0, 0, 0.5);text-align:center;border-radius:8px;height:auto;top:2.5%;width:95%;left:2.5%;}

table, td {border:1px solid black;color:#616161;text-align:center;font-size:125%;}

input[type=text]{position: relative;display:unset;font-size: 0.85em;width:9%;border:1px solid #c5c5c5;text-align:center}
</style>
</head>
<body>
<div id="principal">
<p>Defina, Nº de Linhas x Nº de Colunas para "Gerar a Tabela"</p>

<input type="text" id="lines" autofocus placeholder="::Linhas::" onchange="pegapega(this.value, id)">
<input type="text" id="cols" placeholder="::Colunas::" onchange="pegapega(this.value, id)">
<h1 id="lincol">Tabela 10 (linhas) x 7 (colunas)</h1>
<div id="ex3"></div>
<p id="tst"></p>
</div>
<script>
var R=0, D=document, linhas=0, colunas=0, lin=0, col=0, count=0;

function geratable(){
var html="<table id=\"myTable_00\" align=\"center\" cellspacing=5 cellpadding=1 border=1 align=center>";
html+="<tr>";
for (lin=0;lin<linhas;lin++){
for (col=0;col<colunas;col++){
html+="<td id=\"lc:"+lin+""+col+"\">"+lin+":"+col+"</td>";
}
html+="</tr><tr>";
}
html+="</tr></table>"
D.getElementById("ex3").innerHTML=html;
R=D.getElementById('myTable_00').rows.length;
D.getElementById("myTable_00").deleteRow(linhas);
}

function pegapega(valor,id){
count++;
D.getElementById("tst").innerHTML='';
if(id=="lines"){linhas=valor;}else{colunas=valor;}
if(linhas>0 && colunas>0 && count>0 && count%2==0 ){
D.getElementById('lincol').innerHTML="Tabela "+linhas+" (linhas) x "+colunas+" (colunas)";
geratable();}
}

</script>
</body>
</html>



______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts