ReferatWorld.ru

Особенности языка Форт

Министерство образования Республики Беларусь

Учреждение образования

«Гомельский государственный университет им. Ф. Скорины»

Математический факультет

Кафедра МПУ

Курсовая работа

Особенности языка Форт

Исполнитель:

Пахоменко А.К.

Гомель 2007


Содержание

Введение

1 Краткое описание языка

2 Работа со стёком данных

3 Константы, переменные и работа с памятью

4 Логические операции

5 Примеры программ

6 Организация диалога в Форте

7 Определяющие слова

Заключение

Введение

Любой язык программирования начинается с идеи определяющей его функциональную структуру, набор команд и отличительные особенности от других языков. Главная идея языка Форт - это стёковая организация памяти. Для Форта стёк, не дополнительный вид памяти, как например, для языка Паскаль, а основной. Вспомним, что стёк это что-то вроде трубы, в которую можно бросать мячики. Мячик, который брошен последним, будет вынут первым. Чтобы вынуть десятый мячик, нужно вынуть девять первых. Это может показаться несколько сложным и неэкономичным, но давайте вспомним, что существует большой класс задач, которые легко решаются с помощью рекурсивных механизмов. А рекурсия как раз и предполагает наличие стековой памяти. Конечно, организация рекурсии не достаточно веский аргумент для создания специального языка. Существуют и достаточно обычные задачи, решение которых удобно с применением стёка. Например, попробуем упорядочить массив чисел в порядке возрастания. Для этого определим каким-либо образом процедуру ротации значений стека. При выполнении этой процедуры все значения, лежащие в стеке поднимаются на одну позицию вверх, а верхний элемент занимает место нижнего (такая операция имеется в языке Форт).

Тогда, для решения задачи необходимо описать два вложенных цикл, в котором на каждом шаге будут выполнятся следующие действия:

1. Ротация стека.

2. Взять с вершины два значения А, В

3. Если А>В то положить на вершину А, В Иначе положить В, А.

Примечание. Процедура ротации заключается в смещении всех элементов стёка, таким образом, что каждый элемент становится на место соседа. Например, каждый элемент занимает место предыдущего элемент, а первый становится на место последнего. Конечно, это не проще чем работа с массивами, но и не сложнее.


1. Краткое описание языка

Вычислительная модель, лежащая в основе языка Форт, состоит из адресного пространства, языка, оперативной памяти до 64 Кб, терминала и поля внешней памяти на магнитных дисках объёмом до 32 Кб блоков по 1 Кб. каждый. В пределах имеющегося адресного пространства располагаются стёк данных, словарь, буфер для ввода с терминала и буфер для обмена с внешней памятью. Примечание. Описанные выше ограничения по памяти не принципиальны. Просто в то время были такие машины. По меркам истории вычтехники ФОРТ достаточно старинный язык.

Стёк данных обычно располагается в старших адресах оперативной памяти и используется для передачи параметров и результатов между исполняемыми словами. Его элементами являются двухбайтные значения, которые в зависимости от ситуации могут рассматриваться различным образом: как целые числа со знаком в диапазоне от -32768 до +32767, как адреса оперативной памяти в диапазоне от 0 до 65535, как коды литер для обмена с терминалом, как номера блоков внешней памяти в диапазоне от 0 до 32767 или просто как 16-ти разрядные двоичные значения. В процессе исполнения слов значения перемещаются на стёк и снимаются с него. Переполнение и исчерпание стёка, как правило, не проверяется; его максимальный объём устанавливается реализацией. Стандарт предусматривает, что стёк растёт в сторону убывания адресов.

Примечание. Обратите внимание, что стёк имеет свое расположение в ОЗУ. Это означает, что не все ОЗУ есть стёк. Часть ОЗУ выделяется под различные системные потребности, и часть ОЗУ представляет собой обычную статическую память, в которой можно хранить обычные переменные. Для стековых данных понятие переменной отсутствует. Есть только понятие слова, которое может оказаться как командой, так и словом данных. Начальную часть адресного пространства обычно занимает словарь - хранилище слов и данных. По мере расширения исходного набора слов словарь растёт в сторону увеличения адресов. Специальные слова из обязательного набора позволяют управлять вершиной словаря - поднимать и опускать её.

Примечание. Поясню термин "словарь". Любой язык имеет возможности создавать подпрограммы, процедуры, функции, модули, переменные, константы и т.д. Любой из этих объектов характеризуется значением и именем. То есть, любой язык предполагает, что в процессе работы программист может создать новый объект языка имени для которого нет в языке. Вот СЛОВАРЬ Форта и занимается хранением таких новых имён.

2 Работа со стёком данных

Команды обработки стёка

- DUP - дублирует верхнее значение стёка и добавляет его копию на вершину.

- DROP - убирает верхнее значение стёка

- OVER - дублирует значение, лежащее на стёке непосредственно под верхним.

- ROT - переставляет по часовой стрелке три верхних значения стёка.

- SWAP - меняет местами два верхних значения стёка.

- PICKN - дублирует N-ый элемент стёка.

- ROLLN - прокручивает по часовой стрелке N верхних элементов стёка.

Чтобы увидеть верхнее

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Курсовые работы по информатике и программированию Министерство образования Республики Беларусь Учреждение образования «Гомельский государственный университет им. Ф. Скорины» Математический
Оценок: 1000 (Средняя 5 из 5)

Одними из наиболее популярных услуг на рынке IT-технологий являются создание и продвижение лендингов. Они способны положительно влиять на деятельность любого бизнес-проекта в интернете. Судя по многочисленным отзывам, заказавшие создание лендингов люди ни разу не пожалели о потраченных деньгах. Они вложили в будущее, которое неразрывно связано с интернетом. Всё больше и больше предпринимателей обращаются к услугам разных агентств, веб-студий, чтобы заказать создание лендинга у профессионалов.

© 2017 - 2022 ReferatWorld.ru