CConvergeHazel
Ambiente de programação com IA

Convergentes de frações contínuas

Retorne cada convergente de uma fração contínua com um a 32 coeficientes inteiros de módulo até 1000.

● ● ●ConvergeHazel●
Fluxos de trabalho · Convergentes de frações contínuas ×
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
✳Retorne cada convergente de uma fração contínua com um a 32 coeficientes inteiros de módulo até 1000.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. Projeto

    Teste primeiro termo negativo e 3-7-16, rejeitando termos posteriores não positivos e mantendo pares exatos de numerador e denominador.

  2. Revise antes de aplicar

    Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

  3. Modelos

    Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

Fluxos de trabalho

Convergentes de frações contínuas

Fluxos de trabalho ↗
Fluxos de trabalho
def convergents(terms):
    terms = tuple(terms)
    if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
        raise ValueError("fraction.terms")
    if any(a <= 0 for a in terms[1:]):
        raise ValueError("fraction.tail")
    p0, p1, q0, q1, out = 0, 1, 1, 0, []
    for a in terms:
        p, q = a*p1+p0, a*q1+q0
        out.append((p, q))
        p0, p1, q0, q1 = p1, p, q1, q
    return out
Ambiente de programação com IA

Revise trabalho numérico sem perder o propósito da aplicação

ConvergeHazel é um ambiente de programação com IA para Windows para discutir alterações de código numérico junto do projeto que precisa delas. Abra a pasta e explique como a aplicação usa o cálculo. Peça ao modelo conectado para examinar a função, seus chamadores e os testes relevantes antes de recomendar uma edição. Esse contexto ajuda a manter uma reescrita matematicamente plausível alinhada ao contrato real do software.

O exemplo convergents.py pode fundamentar uma tarefa sobre uma sequência de aproximações racionais. Forneça uma entrada curta e os pares exatos de numerador e denominador esperados; depois pergunte como os resultados intermediários chegam ao consumidor. Trate os limites aceitos dos termos e a ordenação da saída como requisitos explícitos. O exemplo oferece um alvo concreto de revisão, enquanto implementação e verificação continuam sendo tarefas realizadas sobre os arquivos do seu projeto.

Um modelo de IA sem filtros pode ser escolhido por um endpoint compatível com OpenAI ou Anthropic aceito que o ofereça. Configure a conexão e as credenciais conforme necessário; capacidade de contexto e disponibilidade de ferramentas variam por serviço. Revise as alterações propostas e compare resultados com casos estabelecidos independentemente. Mantenha visíveis os requisitos de aritmética exata se código posterior converter a saída para decimal. Uma correção fica mais fácil de avaliar quando cada transformação tem um propósito declarado e uma verificação no limite em que o significado pode mudar.

Como tornar verificável uma correção numérica

Por que fornecer pares exatos em vez de exemplos decimais?

Decimais podem ocultar diferenças de representação ou arredondamento. Se o contrato da função retorna pares de numerador e denominador, verifique-os diretamente primeiro. Depois avalie qualquer conversão decimal posterior como etapa separada, com requisitos próprios de precisão.

O modelo pode decidir quais limites de entrada remover?

Ele pode propor motivos, mas os requisitos do projeto devem determinar as entradas aceitas. Examine a validação e os chamadores antes de ampliar o intervalo. Valores maiores ou sequências mais longas podem exigir verificações adicionais de recursos e saída que a tarefa original não incluía.

Devo verificar apenas a última aproximação?

Não se os chamadores usam a sequência intermediária. Inclua a ordem esperada e resultados anteriores representativos, além do último par. Uma função pode chegar a um valor final plausível e retornar entradas intermediárias incorretas ou reordenadas.

E se a explicação numérica e os testes discordarem?

Suspenda a decisão sobre a correção e rastreie um caso pequeno pelo código. Verifique o valor esperado independentemente e examine as premissas do teste. Nem um raciocínio fluente nem uma asserção existente devem se sobrepor a uma divergência demonstrada sem investigação.

Baixar para Windows ↗

ConvergeHazel · Atualizado 2026-10-25