RRectDelta
Ambiente de programação com IA

Área da união de dois retângulos

Calcule a área da união de dois retângulos alinhados aos eixos com limites inteiros estritamente crescentes.

● ● ●RectDelta●
Fluxos de trabalho · Área da união de dois retângulos ×
def union_area(first, second):
    if any(type(v) not in (list, tuple) or len(v) != 4 for v in (first, second)):
        raise ValueError("rectangle.container")
    first, second = tuple(first), tuple(second)
    for rectangle in (first, second):
        if len(rectangle) != 4 or any(type(v) is not int for v in rectangle):
            raise ValueError("rectangle.integer")
        x0, y0, x1, y1 = rectangle
        if x0 >= x1 or y0 >= y1:
            raise ValueError("rectangle.bounds")
    a, b, c, d = first
    e, f, g, h = second
    overlap = max(0, min(c, g) - max(a, e)) * max(0, min(d, h) - max(b, f))
    return (c - a) * (d - b) + (g - e) * (h - f) - overlap
✳Calcule a área da união de dois retângulos alinhados aos eixos com limites inteiros estritamente crescentes.
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
  1. 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.

  2. Projeto

    Teste sobreposição, contenção e contato, rejeitando área zero ou limites invertidos antes da aritmética e preservando as entradas.

  3. 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.

Fluxos de trabalho

Área da união de dois retângulos

Fluxos de trabalho ↗
Fluxos de trabalho
def union_area(first, second):
    if any(type(v) not in (list, tuple) or len(v) != 4 for v in (first, second)):
        raise ValueError("rectangle.container")
    first, second = tuple(first), tuple(second)
    for rectangle in (first, second):
        if len(rectangle) != 4 or any(type(v) is not int for v in rectangle):
            raise ValueError("rectangle.integer")
        x0, y0, x1, y1 = rectangle
        if x0 >= x1 or y0 >= y1:
            raise ValueError("rectangle.bounds")
    a, b, c, d = first
    e, f, g, h = second
    overlap = max(0, min(c, g) - max(a, e)) * max(0, min(d, h) - max(b, f))
    return (c - a) * (d - b) + (g - e) * (h - f) - overlap
Ambiente de programação com IA

Conecte o código geométrico aos dados que ele recebe

RectDelta oferece um ambiente de programação para Windows para discutir código geométrico como parte de uma aplicação, incluindo os limites de entrada em torno do cálculo. Abra o projeto e descreva de onde vêm as coordenadas e para que o resultado é usado. Peça ao assistente conectado que examine essas relações antes de propor uma implementação diferente da aritmética.

Para uma tarefa de união de retângulos, especifique a ordem das coordenadas, o tipo numérico aceito e o tratamento de formas que apenas se tocam. Traga retângulos contidos e sobrepostos como exemplos de entrada e discuta como limites inválidos devem ser informados. Essas decisões dão à revisão de código um objetivo concreto sem transformar o cálculo ilustrativo em uma alegação de um mecanismo geométrico integrado.

Revise a validação e a aritmética juntas e execute as verificações do projeto com formas comuns e rejeitadas. Confirme que o código chamador recebe o resultado pretendido e que as entradas permanecem disponíveis sem alterações para trabalho posterior. RectDelta se conecta a serviços suportados compatíveis com OpenAI ou da Anthropic, com credenciais quando necessário. Um modelo sem restrições pode ser escolhido onde o endpoint configurado o oferecer; as regras do provedor e as capacidades do servidor continuam regendo a conexão. Mantenha os exemplos de aceitação na conversa para que cada edição sugerida possa ser avaliada em relação ao mesmo requisito da aplicação.

Contratos geométricos antes de alterar a implementação

O que devo especificar sobre uma entrada de retângulo?

Informe a ordem das coordenadas, os tipos numéricos aceitos e se ambas as dimensões devem ser positivas. Inclua como contêineres malformados devem falhar. Assim, o assistente pode revisar todo o limite de entrada em vez de presumir que qualquer entrada de quatro valores descreve uma forma aceitável.

Por que incluir retângulos que se tocam nos casos de teste?

Eles diferenciam limites compartilhados de uma sobreposição com área positiva. Informe o resultado esperado da união e teste-o diretamente, junto com casos separados e contidos, para que a correção reflita a convenção geométrica usada pelo restante da aplicação.

A validação pode mudar durante uma limpeza da aritmética?

Pode mudar acidentalmente, por isso ambas merecem revisão. Compare casos de entradas aceitas e rejeitadas antes de manter a correção. Um cálculo mais curto não deve admitir silenciosamente limites invertidos ou tipos numéricos excluídos pelo contrato original.

Como verificar a preservação das entradas?

Guarde cópias dos contêineres de coordenadas originais e compare-os após a chamada. Se etapas posteriores da aplicação os reutilizarem, uma área correta por si só não é evidência suficiente de que a implementação proposta respeita o contrato completo.

Baixar para Windows ↗

RectDelta · Atualizado 2026-10-25