Quatro pessoas precisam de uma mesa. A quinta pessoa precisa, de repente, de uma segunda. É precisamente em saltos como estes que um modelo ajustável explica mais do que um número decimal suave. Não vês apenas um resultado, mas também a regra que o produz.
Em interfaces compatíveis, o ChatGPT pode apresentar explicações e calculadoras interativas. A disponibilidade depende, entre outros fatores, da conta e da interface. Uma única relação basta para um começo sensato. O modelo de mesas abaixo é uma ilustração da nossa autoria; não foi gerado numa sessão do ChatGPT nem testado como aplicação.
O pressuposto pertence ao lado do controlo deslizante
O nosso modelo simplificado pressupõe quatro lugares por mesa. O que procuramos é um número inteiro de mesas para um número inteiro não negativo de participantes. A forma da sala, as vias de evacuação, a acessibilidade e necessidades específicas de espaço não são calculadas. O âmbito mantém-se legível mesmo ao lado da apresentação.
A regra é: divide o número de pessoas por quatro e arredonda para cima. Com zero pessoas, este modelo dá zero. De uma a quatro pessoas resulta uma mesa; de cinco a oito, duas. Estes valores decorrem matematicamente da regra escolhida; não são resultados observados de uma avaliação do modelo.
Uma pequena função torna a regra visível
function tische(personen) {
if (!Number.isInteger(personen) || personen < 0) {
throw new Error("Number of participants must be a whole number from zero.");
}
return Math.ceil(personen / 4);
}
A nossa própria função JavaScript contém deliberadamente apenas a relação de conteúdo. Não sabe nada sobre uma sala ou reservas. Este alcance restrito é útil: o cálculo pode ser lido independentemente das cores, do movimento e dos controlos.
Para a interface, pode bastar um campo numérico com um valor visível. Um controlo deslizante é uma forma adicional de o operar, não um substituto do resultado exato. O seguinte excerto HTML da nossa autoria mostra a etiquetagem e uma área para o feedback.
<label for="personen">Number of participants</label>
<input id="personen" type="number" min="0" max="200" step="1" value="0">
<p>Assumption: four places per table.</p>
<output id="bedarf" aria-live="polite">0 tables</output>
Liga a entrada e o cálculo de forma deliberada
Um pedaço de código de ligação lê o texto do campo numérico, verifica se se trata de um número inteiro admissível e só então chama a função de cálculo. Um campo vazio deve originar um feedback compreensível, em vez de ser tratado, sem intenção, como um zero introduzido de propósito.
const eingabe = document.querySelector("#personen");
const ausgabe = document.querySelector("#bedarf");
eingabe.addEventListener("input", () => {
const text = eingabe.value.trim();
const n = Number(text);
if (text === "" || !Number.isInteger(n) || n < 0 || n > 200) {
ausgabe.textContent = "Please enter a whole number from 0 to 200.";
return;
}
const anzahl = tische(n);
ausgabe.textContent = `${anzahl} ${anzahl === 1 ? "table" : "tables"}`;
});
O limite superior de 200 é um limite que escolhemos para esta interface de aprendizagem. Não é uma prova factual de capacidade. Coloca a parte executável do script depois do campo numérico e da saída. Disponibiliza a função e o excerto no mesmo pequeno documento se fizeres experiências com eles; trata-se de componentes legíveis, não de uma entrega já executada.
O movimento não deve substituir o único texto que mostra o resultado. Quem reduz as animações ou lê apenas o número deve conseguir compreender a mesma regra. Por isso, mantém o pressuposto e o resultado calculado permanentemente visíveis.
Verifica os saltos e os controlos separadamente
Calcula tu mesmo os casos de zero, uma, quatro, cinco e oito pessoas. Observa também um campo vazio, um número negativo e um valor decimal. Assim, examinas tanto a regra como o tratamento da entrada. Depois disso, verifica a operação com o teclado e a legibilidade do feedback.
Se quiseres reutilizar o mesmo componente próprio num website, o modo de programador do KENJTEC WebSiteBuilder ai, por exemplo, oferece um espaço para o teu próprio HTML, CSS e JavaScript, com pré-visualização e publicação de código separada. A transferência acontece deliberadamente como código; uma visualização do chat não é transferida automaticamente.
No fim, o modelo responde exatamente à sua própria pequena pergunta. A sua força reside no facto de a entrada, a fórmula e o limite estarem visíveis em conjunto. Um planeamento real de salas precisa de mais informação, que esta apresentação explicitamente não fornece.
Fontes e estado da documentação: 25 de outubro de 2026.

