в этой книге, не являются
Упражнения, которые будут приведены в этой книге, не являются дополнительным приложением к тексту. Они составляют его неотъемлемую часть и должны стать неотъемлемой частью процесса освоения языка. Упражнения составлены так, чтобы служить четырем целям:
- тренировке,
- углублению понимания принципов, изложенных в этой книге,
- развитию техники программирования,
- иногда определению слов широкого практического применения.
Вы должны попытаться проделать все упражнения, но, если у вас возникнут затруднения, не стесняйтесь заглянуть в ответы : некоторые задачи бросают вам вызов. Упражнения также помогут вам продвигаться в изучении языка. Мы предлагаем серию упражнений после часа-двух интенсивного изучения текста. Наконец, попробуйте сами придумать собственные упражнения, связанные с вашими личными интересами. Один из лучших способов изучения какого-либо языка программирования -- писать собственные упражнения и программы.
Определите в уме, что будет выведено на экран следующими операциями:
- 20 2 / .
- 2 20 / .
- 1 2 3 * * .
- 3 2 1 + / .
- 100 5 DUP * / .
Преобразуйте следующие выражения в обратную постфиксную форму:
- 1 * 2
- 1 * 2 / 2
- 1 + 2 / 3
- (1 + 2) / 3
- 3 / (2 + 1)
- (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, которое ожидает данные из стека в обратном порядке (высота цилиндра -- на вершине, радиус -- вторым сверху). Какая программа имеет большую эффективность (с точки зрения быстродействия) ?
Содержание Назад Вперед