Язык программирования Форт



             

Упражнения


Упражнения, которые будут приведены в этой книге, не являются дополнительным приложением к тексту. Они составляют его неотъемлемую часть и должны стать неотъемлемой частью процесса освоения языка. Упражнения составлены так, чтобы служить четырем целям:

  1. тренировке,
  2. углублению понимания принципов, изложенных в этой книге,
  3. развитию техники программирования,
  4. иногда определению слов широкого практического применения.

Вы должны попытаться проделать все упражнения, но, если у вас возникнут затруднения, не стесняйтесь заглянуть в ответы : некоторые задачи бросают вам вызов. Упражнения также помогут вам продвигаться в изучении языка. Мы предлагаем серию упражнений после часа-двух интенсивного изучения текста. Наконец, попробуйте сами придумать собственные упражнения, связанные с вашими личными интересами. Один из лучших способов изучения какого-либо языка программирования -- писать собственные упражнения и программы.

  • Определите в уме, что будет выведено на экран следующими операциями:

    1. 20 2 / .
    2. 2 20 / .
    3. 1 2 3 * * .
    4. 3 2 1 + / .
    5. 100 5 DUP * / .

  • Преобразуйте следующие выражения в обратную постфиксную форму:

    1. 1 * 2
    2. 1 * 2 / 2
    3. 1 + 2 / 3
    4. (1 + 2) / 3
    5. 3 / (2 + 1)
    6. (3 + 4) / (2 + 1)

  • Опишите слово POWER4 для возведения числа в четвертую степень, используя слово CUBE.
  • Опишите слово NEWPOWER4 (возведение_в_четвертую_степень) используя слово SQUARE вместо CUBE.
  • Согласно теореме Пифагора квадрат гипотенузы прямоугольного треугольника равен сумме квадратов прилежащих сторон. Определите слово PYTHAGORUS для определения квадрата гипотенузы по заданным в стеке длинам его сторон. Вам может потребоваться слово SWAP (переставить), которое переставляет между собой два числа, находящиеся на верху стека. Так, например,

    4 5 SWAP

    оставит два верхних числа:

    5 4

  • Определите слово AREA (площадь), которое должно вычислять площадь круга, помноженную на 100, если задан радиус. Используйте число 314 вместо значения числа Пи, помноженного на 100.
  • Используя слово AREA, определите слово VOLUME (объем) для вычисления объема цилиндра, помноженного на 100. В стеке должны лежать значения радиуса -- на вершине и значение высоты цилиндра вторым сверху. Переделайте VOLUME в XVOLUME, которое ожидает данные из стека в обратном порядке (высота цилиндра -- на вершине, радиус -- вторым сверху). Какая программа имеет большую эффективность (с точки зрения быстродействия) ?




    Содержание  Назад  Вперед