Criei este código para que o usuario possa entrar com o numerador e o denominador, e então o programa cria a representação grafica da fração na tela, além de responder em texto qual foi a fração inserida pelo usuario... todos os casos funcionaram muito bem... se eu pudesse acrescentar algo ao meu programa seria apenas um condicionante para garantir que o numerador nao fosse maior que o denominador... se alguem souber uma forma e puder compartihar eu agradeceria, afinal de contas, quebrei a cabeça aqui e não consegui rsrs.
Sds,
<meta charset="UTF-8">
<canvas width="600" height="100"></canvas>
<script>
var alerta = alert("Atenção! Para que a fração desejada possa ser representada, digite cada coisa em seu lugar: Primeiro, o NUMERADO. Em seguida o DENOMINADOR de sua fração! Bons estudos!");
//-------------------------------------------------
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'white';
pincel.fillRect(0, 0, 600, 100);
//-------------------------------------------------
function desenhaTexto(texto, x, y){
pincel.font = "20px Georgia";
pincel.fillStyle = 'black';
pincel.fillText(texto, x, y);
}
function desenhaN(x){
pincel.fillStyle = 'green';
pincel.fillRect(x, 30, 50, 50);
pincel.strokeStyle = 'black'
pincel.strokeRect(x, 30, 50, 50)
}
function desenhaD(x1){
pincel.strokeStyle = 'black'
pincel.strokeRect(x1, 30, 50, 50)
}
//--------------------------------------------------
var numerador = parseInt(prompt("Qual o NUMERADOR da sua fração?"));
while(isNaN(numerador)){
var numerador = parseInt(prompt("Por favor, insira o NUMERADOR da sua fração:"));
}
var denominador = parseInt(prompt("Digite agora o DENOMINADOR de sua fração:"));
while(isNaN(denominador)){
var denominador = parseInt(prompt("Por favor, insira o DENOMINADOR de sua fração:"));
}
//--------------------------------------------------
desenhaTexto("Qual é a sua fração?", 0, 15);
document.write('<br>Sua fração é ' + numerador + "/" + denominador + ".");
//--------------------------------------------------
var quantNumerador = numerador;
var quantDenominador = denominador;
var contadorN = 1;
var contadorD = 1;
var x = 25;
while(contadorN <= quantNumerador){
desenhaN(x);
x = x + 50;
contadorN++;
}
var x1 = 25;
while(contadorD <= quantDenominador){
desenhaD(x1);
x1 = x1 + 50;
contadorD++;
}
//-------------------------------------------------
</script>