Skip to content

Instantly share code, notes, and snippets.

@Manjago
Created October 12, 2024 16:18
Show Gist options
  • Select an option

  • Save Manjago/80f8f4ecff26619e070de14f5c4ec46f to your computer and use it in GitHub Desktop.

Select an option

Save Manjago/80f8f4ecff26619e070de14f5c4ec46f to your computer and use it in GitHub Desktop.

Извиняюсь за возникшие проблемы. Давайте попробуем разобраться, чтобы исправить ошибки и сделать код работающим. Я ценю ваше терпение и постараюсь сделать все возможное, чтобы помочь.

Исправление кода

  1. S3D:

    Давайте убедимся, что функция правильно вычисляет площадь поверхности:

    : S3D ( a b c -- S )
    2DUP * >R           \ a*b, сохраняем в R
    SWAP OVER * R> +    \ b*c + a*b
    ROT * +             \ a*c + (b*c + a*b)
    2* ;                \ 2 * (a*b + b*c + a*c)
  2. B6:

    Убедимся, что B6 правильно вычисляет и объем, и площадь:

    : B6 ( a b c -- S V )
    2DUP * >R           \ a*b, сохраняем в R
    2DUP SWAP OVER *    \ b*c
    R> +                \ a*b + b*c
    ROT OVER * + 2*     \ S = 2 * (a*b + b*c + a*c)
    SWAP ROT * * ;      \ V = a*b*c

Проверка

Пожалуйста, попробуйте проверить код с тестами еще раз:

S" test/ttester.fs" included

t{ 2 3 5 V3D -> 30 }t
t{ 2 3 5 S3D -> 62 }t
t{ 2 3 5 B6 -> 62 30 }t
t{ 1 2 3 B6 -> 22 6 }t

Если что-то все еще не так, пожалуйста, дайте мне знать, и я буду рад помочь разобраться дальше. Еще раз извините за возникшие трудности.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment