SShoalMetric
Робоче середовище з ШІ для коду

Орієнтована площа багатокутника

Поверніть подвоєну орієнтовану площу для 3–256 цілочислових вершин із модулями координат до 1000000.

● ● ●ShoalMetric●
Сценарії · Орієнтована площа багатокутника ×
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]))
✳Поверніть подвоєну орієнтовану площу для 3–256 цілочислових вершин із модулями координат до 1000000.
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
  1. Перевірте перед застосуванням

    Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

  2. Моделі

    Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

  3. Проєкт

    Перевірте зворотний порядок і колінеарність, трактуйте самоперетини алгебраїчно та відхиляйте некоректні координати.

Сценарії

Орієнтована площа багатокутника

Сценарії ↗
Сценарії
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]))
Робоче середовище з ШІ для коду

Пов’яжіть координатні домовленості з кодом, який їх використовує

ShoalMetric — робоче середовище програмування з ШІ для Windows, у якому можна обговорювати обчислення в контексті програми, що використовує їхні результати. Виберіть теку проєкту й опишіть координатну домовленість, очікуваний результат і випадки, які програма має відхиляти. Попросіть підключеного помічника перевірити валідацію та код споживачів перед пропозицією змін. Це задає геометричному завданню конкретні програмні межі, замість залишати його зміст в ізольованій формулі.

У завданні з polygon.py можна запитати, чому зворотний порядок точок змінює результат обчислення знакової площі. Надайте приклад багатокутника й укажіть, чи потрібна коду виклику орієнтація, модуль величини або інше подання. Оцініть запропоновану зміну щодо цієї вимоги, зокрема порядку надходження вершин. Корисний результат — код, значення результату якого узгоджене всюди, де програма його використовує.

Після аналізу запустіть перевірки проєкту з простою фігурою, зворотним порядком і виродженими випадками, передбаченими вашим контрактом. Порівняйте обчислення та подальшу поведінку, а розбіжності поверніть до обговорення. ShoalMetric підтримує підключення моделей через сумісні з OpenAI кінцеві точки або Anthropic з обліковими даними за потреби. Можна вибрати модель без обмежень, якщо вона доступна й це відповідає правилам постачальника; інструменти, місткість контексту та обмеження відповідей усе одно залежать від налаштованої моделі й сервера. Перевірка очікуваної геометричної поведінки залишається вашим завданням.

Геометричні припущення, які слід узгодити в середовищі

Чи слід вважати від’ємну площу помилкою?

Це залежить від того, чи використовує код виклику знакову величину для збереження орієнтації. Визначте потрібне значення перед зміною знака або взяттям модуля, а потім перевірте вплив на код, що використовує результат.

Навіщо включати зворотний порядок вершин до тесту?

Він показує, чи є орієнтація частиною контракту та чи зберігає її реалізація. Використайте фігуру з незалежно відомим результатом, а потім перевірте числовий результат і поведінку коду виклику для зворотної послідовності.

Чи перевіряє приклад усі можливі багатокутники?

Не робіть такого висновку з обчислення площі. Якщо програмі потрібні перевірки перетинів або інших геометричних властивостей, сформулюйте ці вимоги окремо й дослідіть відповідну реалізацію, не припускаючи, що обчислення їх установлює.

Як вибрати межі координат?

Виходьте з обмежень програми та числового подання. Повідомте помічнику ці межі, перевірте їх застосування й протестуйте близькі до них значення. Межі в прикладі коду не підтверджують точність або продуктивність для іншого масштабу даних.

Завантажити для Windows ↗

ShoalMetric · Оновлено 2026-10-25