На нашем сайте вы можете читать онлайн «Язык программирования Форт (Forth). Решение задач по программированию». Эта электронная книга доступна бесплатно и представляет собой целую полную версию без сокращений. Кроме того, доступна возможность слушать аудиокнигу, скачать её через торрент в формате fb2 или ознакомиться с кратким содержанием. Жанр книги — Знания и навыки, Компьютерная литература, Программирование. Кроме того, ниже доступно описание произведения, предисловие и отзывы читателей. Регулярные обновления библиотеки и улучшения функционала делают наше сообщество идеальным местом для любителей книг.
Язык программирования Форт (Forth). Решение задач по программированию

Автор
Дата выхода
11 декабря 2023
Краткое содержание книги Язык программирования Форт (Forth). Решение задач по программированию, аннотация автора и описание
Прежде чем читать книгу целиком, ознакомьтесь с предисловием, аннотацией, описанием или кратким содержанием к произведению Язык программирования Форт (Forth). Решение задач по программированию. Предисловие указано в том виде, в котором его написал автор (Arsen Gonian) в своем труде. Если нужная информация отсутствует, оставьте комментарий, и мы постараемся найти её для вас. Обратите внимание: Читатели могут делиться своими отзывами и обсуждениями, что поможет вам глубже понять книгу. Не забудьте и вы оставить свое впечатие о книге в комментариях внизу страницы.
Описание книги
Программирование – это легко и просто! Не верите?! Правильно делаете, проверяйте сами, насколько это может быть легко, если правильно выбрать язык и среду. Данный курс программирования основан на решении практических задач.
Язык программирования Форт (Forth). Решение задач по программированию читать онлайн полную книгу - весь текст целиком бесплатно
Перед вами текст книги, разбитый на страницы для удобства чтения. Благодаря системе сохранения последней прочитанной страницы, вы можете бесплатно читать онлайн книгу Язык программирования Форт (Forth). Решение задач по программированию без необходимости искать место, на котором остановились. А еще, у нас можно настроить шрифт и фон для комфортного чтения. Наслаждайтесь любимыми книгами в любое время и в любом месте.
Текст книги
: B5 ( A -> V S ) DUP 2DUP * * SWAP DUP * 6 * ; \ V=A^3 S=6*A^2
Поясним код:
DUP 2DUP ( A -> A A A A )
2DUP, в отличие от DUP дублирует сразу 2 верхних элемента
* * ( A A A A -> A A*A*A=A^3 )
двойное применение операции умножения дает в результате куб
SWAP ( A A^3 -> A^3 A )
SWAP просто поменял местами два верхних элемента на стеке
DUP * (A^3 A -> A^3 A*A )
возвели в квадрат число на вершине стека
6 * (A^3 A*A -> A^3 6*A^2)
и умножили его на 6, число сторон куба
Вызовем написанное слово с параметром 15 (сторона куба):
15 B5
Ok ( 3375 1350 )
3375=15*15*15 и 1350=6*15*15, все верно, слово работает корректно.
То же самое в вещественных числах:
: B5 ( A -> V S ) \ V=A^3 S=6*A^2
FDUP FDUP FDUP ( A -> A A A A ) \ 2FDUP SP-Forth не понимает
F* F* ( A A A A -> A A*A*A=A^3 )
FSWAP ( A A^3 -> A^3 A )
FDUP F* (A^3 A -> A^3 A*A )
6E F* ; (A^3 A*A -> A^3 6*A^2)
Проверим написанный код, возьмем куб со стороной 1,5:
15E-1 B5 F.
13.500000 3.3750000 Ok \ 6*1.5^2 = 13.5 1.5^3 = 3.375
Помните, что оператор «F.» печатает то, что лежит на вершине стека. Если вам нужен другой порядок можно применить FSWAP, так при необходимости вывести сперва объем, как в стековой нотации, можно набрать следующее:
15E-1 B5 FSWAP F. F.
3.3750000 13.500000 Ok
Пример 6. Здесь необходимо вычислить объем и площадь поверхности прямоугольного параллелепипеда, через его ребра.
: B6 ( A B C -> S V ) \ S=2*(A*B+B*C+A*C) V=A*B*C )
DUP 2OVER \ A B C -> A B C C A B
DUP 2OVER \ A B C C A B -> A B C C A B B C A
ROT * \ A B C C A B B C A -> A B C C A B C A*B
ROT ROT * + \ A B C C A B C A*B -> A B C C A (A*B+B*C)
ROT ROT * \ A B C C A A*B+B*C -> A B C (A*B+B*C) C*A
+ 2* \ A B C (A*B+B*C) C*A -> A B C (A*B+B*C+C*A)*2
SWAP 2SWAP \ A B C (A*B+B*C+C*A)*2 -> (A*B+B*C+C*A)*2 C A B
* * ; \ (A*B+B*C+C*A)*2 (C*A*B)
Где (A*B+B*C+C*A)*2 – это площадь поверхности, а (C*A*B) – объем.
В данном примере появляется 3 параметра, что не слишком усложняет задачу, и по-прежнему мы не будем использовать переменные в явном виде, манипулируя только с числами на стеке.
В коде для вещественных чисел надо, чтобы число элементов не превышало максимума, из-за его ограниченности произойдет ошибка.





