SShoalMetric
Ambiente di sviluppo con IA

Area orientata dei poligoni

Restituisci il doppio dell’area orientata di 3–256 vertici interi con coordinate di valore assoluto massimo 1000000.

● ● ●ShoalMetric●
Flussi di lavoro · Area orientata dei poligoni ×
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
✳Restituisci il doppio dell’area orientata di 3–256 vertici interi con coordinate di valore assoluto massimo 1000000.
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
  1. Controlla prima di applicare

    Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.

  2. Modelli

    Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.

  3. Progetto

    Prova ordine inverso e collinearità, tratta algebricamente gli incroci e rifiuta coordinate malformate.

Flussi di lavoro

Area orientata dei poligoni

Flussi di lavoro ↗
Flussi di lavoro
def signed_double_area(points):
    if type(points) not in (list, tuple) or not 3 <= len(points) <= 256:
        raise ValueError("polygon.count")
    for p in points:
        if type(p) not in (list, tuple) or len(p) != 2 or any(type(v) is not int or abs(v) > 10**6 for v in p):
            raise ValueError("polygon.coordinate")
    return sum(a[0]*b[1]-a[1]*b[0] for a,b in zip(points, points[1:]+points[:1]))
Ambiente di sviluppo con IA

Collega le convenzioni sulle coordinate al codice che le usa

ShoalMetric è un ambiente di programmazione con IA per Windows per discutere i calcoli nel contesto dell'applicazione che ne usa i risultati. Seleziona la cartella del progetto e descrivi la convenzione sulle coordinate, il risultato atteso e i casi che l'applicazione deve rifiutare. Chiedi all'assistente collegato di esaminare la validazione e il codice utilizzatore prima di suggerire modifiche. Così il compito geometrico ha un confine software concreto e il suo significato non resta racchiuso in una formula isolata.

Un'attività su polygon.py potrebbe chiedere perché invertire l'ordine dei punti cambia il risultato di un'area con segno. Fornisci un poligono di esempio e specifica se al chiamante serve l'orientamento, il valore assoluto o un'altra rappresentazione. Valuta la modifica proposta rispetto a tale requisito, compreso l'ordine in cui arrivano i vertici. Il risultato utile è un codice il cui output ha un significato concordato ovunque l'applicazione lo utilizzi.

Dopo l'esame, esegui i controlli del progetto con una forma semplice, l'ordine invertito e i casi degeneri previsti dal contratto. Confronta il calcolo e il comportamento a valle, poi riporta nella conversazione le discrepanze. ShoalMetric supporta connessioni a modelli compatibili con OpenAI o Anthropic, con credenziali dove richieste. Puoi scegliere un modello senza restrizioni ove disponibile, nel rispetto delle regole del fornitore; strumenti, capacità di contesto e restrizioni delle risposte dipendono comunque dal modello e dal server configurati. Spetta a te verificare il comportamento geometrico atteso.

Ipotesi geometriche da definire nell'ambiente di lavoro

Un risultato negativo per l'area va considerato un errore?

Dipende dal fatto che il chiamante usi una quantità con segno per conservare l'orientamento. Specifica il significato richiesto prima di cambiare il segno o prendere il valore assoluto, quindi verifica l'effetto sul codice che usa il risultato.

Perché includere in un test l'ordine invertito dei vertici?

Rivela se l'orientamento fa parte del contratto e se l'implementazione lo conserva. Usa una forma con un risultato noto indipendentemente, quindi esamina sia l'output numerico sia il comportamento del chiamante per la sequenza invertita.

L'esempio convalida ogni possibile poligono?

Non dedurlo da un calcolo dell'area. Se l'applicazione richiede controlli sulle intersezioni o altre proprietà geometriche, indica tali requisiti separatamente ed esamina l'implementazione pertinente anziché presumere che il calcolo li garantisca.

Come dovrei scegliere i limiti delle coordinate?

Usa i vincoli della tua applicazione e della rappresentazione numerica. Comunica questi limiti all'assistente, esamina come vengono applicati e verifica valori vicini a essi. I limiti nel codice di esempio non garantiscono precisione o prestazioni per una scala di dati diversa.

Scarica per Windows ↗

ShoalMetric · Aggiornato 2026-10-25