Извиняюсь за возникшие проблемы. Давайте попробуем разобраться, чтобы исправить ошибки и сделать код работающим. Я ценю ваше терпение и постараюсь сделать все возможное, чтобы помочь.
-
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)
-
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Если что-то все еще не так, пожалуйста, дайте мне знать, и я буду рад помочь разобраться дальше. Еще раз извините за возникшие трудности.