Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

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

Тип: курсовая работа
Категория: Информатика
Скачать
Купить
Министерство образования Республики БеларусьУчреждение образования«Гомельский государственный университет им. Ф. Скорины»Математический факультетКафедра МПУКурсовая работаОсобенности языка ФортИсполнитель:Пахоменко А.К.Гомель 2007СодержаниеВведение1 Краткое описание языка2 Работа со стёком данных3 Константы, переменные и работа с памятью4 Логические операции5 Примеры программ6 Организация диалога в Форте7 Определяющие словаЗаключениеВведениеЛюбой язык программирования начинается с идеи определяющей его функциональную структуру, набор команд и отличительные особенности от других языков. Главная идея языка Форт - это стёковая организация памяти. Для Форта стёк, не дополнительный вид памяти, как например, для языка Паскаль, а основной. Вспомним, что стёк это что-то вроде трубы, в которую можно бросать мячики. Мячик, который брошен последним, будет вынут первым. Чтобы вынуть десятый мячик, нужно вынуть девять первых. Это может показаться несколько сложным и неэкономичным, но давайте вспомним, что существует большой класс задач, которые легко решаются с помощью рекурсивных механизмов. А рекурсия как раз и предполагает наличие стековой памяти. Конечно, организация рекурсии не достаточно веский аргумент для создания специального языка. Существуют и достаточно обычные задачи, решение которых удобно с применением стёка. Например, попробуем упорядочить массив чисел в порядке возрастания. Для этого определим каким-либо образом процедуру ротации значений стека. При выполнении этой процедуры все значения, лежащие в стеке поднимаются на одну позицию вверх, а верхний элемент занимает место нижнего (такая операция имеется в языке Форт).Тогда, для решения задачи необходимо описать два вложенных цикл, в котором на каждом шаге будут выполнятся следующие действия:
  • Ротация стека.
  • Взять с вершины два значения А, В
  • Если А>В то положить на вершину А, В Иначе положить В, А.
  • Примечание. Процедура ротации заключается в смещении всех элементов стёка, таким образом, что каждый элемент становится на место соседа. Например, каждый элемент занимает место предыдущего элемент, а первый становится на место последнего. Конечно, это не проще чем работа с массивами, но и не сложнее.1. Краткое описание языкаВычислительная модель, лежащая в основе языка Форт, состоит из адресного пространства, языка, оперативной памяти до 64 Кб, терминала и поля внешней памяти на магнитных дисках объёмом до 32 Кб блоков по 1 Кб. каждый. В пределах имеющегося адресного пространства располагаются стёк данных, словарь, буфер для ввода с терминала и буфер для обмена с внешней памятью. Примечание. Описанные выше ограничения по памяти не принципиальны. Просто в то время были такие машины. По меркам истории вычтехники ФОРТ достаточно старинный язык.Стёк данных обычно располагается в старших адресах оперативной памяти и используется для передачи параметров и результатов между исполняемыми словами. Его элементами являются двухбайтные значения, которые в зависимости от ситуации могут рассматриваться различным образом: как целые числа со знаком в диапазоне от -32768 до +32767, как адреса оперативной памяти в диапазоне от 0 до 65535, как коды литер для обмена с терминалом, как номера блоков внешней памяти в диапазоне от 0 до 32767 или просто как 16-ти разрядные двоичные значения. В процессе исполнения слов значения перемещаются на стёк и снимаются с него. Переполнение и исчерпание стёка, как правило, не проверяется; его максимальный объём устанавливается реализацией. Стандарт предусматривает, что стёк растёт в сторону убывания адресов.Примечание. Обратите внимание, что стёк имеет свое расположение в ОЗУ. Это означает, что не все ОЗУ есть стёк. Часть ОЗУ выделяется под различные системные потребности, и часть ОЗУ представляет собой обычную статическую память, в которой можно хранить обычные переменные. Для стековых данных понятие переменной отсутствует. Есть только понятие слова, которое может оказаться как командой, так и словом данных. Начальную часть адресного пространства обычно занимает словарь - хранилище слов и данных. По мере расширения исходного набора слов словарь растёт в сторону увеличения адресов. Специальные слова из обязательного набора позволяют управлять вершиной словаря - поднимать и опускать её.Примечание. Поясню термин "словарь". Любой язык имеет возможности создавать подпрограммы, процедуры, функции, модули, переменные, константы и т.д. Любой из этих объектов характеризуется значением и именем. То есть, любой язык предполагает, что в процессе работы программист может создать новый объект языка имени для которого нет в языке. Вот СЛОВАРЬ Форта и занимается хранением таких новых имён.2 Работа со стёком данныхКоманды обработки стёка
  • DUP - дублирует верхнее значение стёка и добавляет его копию на вершину.
  • DROP - убирает верхнее значение стёка
  • OVER - дублирует значение, лежащее на стёке непосредственно под верхним.
  • ROT - переставляет по часовой стрелке три верхних значения стёка.
  • SWAP - меняет местами два верхних значения стёка.
  • PICK N - дублирует N-ый элемент стёка.
  • ROLL N - прокручивает по часовой стрелке N верхних элементов стёка.<...
  • Другие файлы:

    Проектирование и программная реализация экспертных систем на персональных ЭВМ
    В книге доступно изложены основные методы и приемы программирования экспертных систем. Технология программирования экспертных систем описана с примене...

    Начальный курс программирования на языке Форт
    Книга является практическим руководством по программированию на приобретающем все большую популярность языке Форт. Рассматриваются основные принципы о...

    Анализ торгово-технологического процесса в магазине "Форт-Нокс"
    Торгово-технологический процесс в магазине как завершающая стадия всего торгово-технологического процесса товародвижения. Организационная структура пр...

    Гендерные особенности речевого поведения японцев
    Дифференциация языка по полу говорящего. Особенности мужской и женской речи в языках мира. Фонетические и лексические особенности речи на материале яп...

    Особенности современного языка SMS
    История возникновения SMS языка, "плюсы" и "минусы" общения на данном языке. Особенности современной письменной речи, опосредованной средствами связи....