Приветствую Вас ГостьСреда, 04.02.2026, 19:57:29

Сайт посвящен проектированию и управлению модульной образ...


Каталог статей

Главная » Статьи » Мои статьи

Перевод Торбаев Н.С. 221-231
8.3.4 Пример: Тестирование предположения
В Мышление Форт (переиздание издание, стр. 219), Броди котировки Мур:
"В книгах вы часто видите много кусочно-линейной аппроксимации, что не выражает вещи ясно. Например, выражение
х = 0 при * <0
х = 1 при £> 0
"Это было бы эквивалентно:
т 0 <1 и
"Как одно выражение, а не часть выражения."
Правило:
7. Проверьте ее, даже если это очевидно.
8.3.5 Пример: ЕСЛИ Избегание
Форт программисты стремятся избежать, если, причем некоторые из них так далеко, что прецедентов, когда это возможно. Вот два примера, начиная от четвертых, И. Ф. уклонения от уплаты налогов:
Первые версии IF (второе издание, стр. 183):
: КАТЕГОРИЯ (вес-на-десятка - категория #)
DUP 18 <IF 0 ELSE DUP 21 <1 IF ELSE DUP 24 <IF 2 ELSE DUP 27 <IF 3 ELSE DUP 30 <ЕСЛИ ЕЩЕ 4
5
Зато потом THEN THEN THEN SWAP DROP;
(Примечание: "официальный стол", на котором основана КАТЕГОРИИ неоднозначно См. стр. 85.).
: LABEL (около Егорий # -)
DUP 0 = я. "Отклонить" ELSE
DUP 1 = я. "Малые" ELSE
DUP 2 = IF. "Средние" ELSE
DUP 3 = IF. "Большие" ELSE
DUP 4 = IF. "Очень большие" ELSE
. "Ошибка"
Зато потом THEN THEN THEN DROP;

Сейчас "простые и элегантные для специалистов" версии (с. 189 и 253):
CREATE РАЗМЕРЫ 18 С, 21 С, 24 С, 27 С, 30 С, 255 С,: категории (вес-на-десятка - категория #)
6 0 DO DUP РАЗМЕРЫ I + C @
<IF DROP я оставляю THEN LOOP;
CREATE "LABEL"
ASCII "STRING Отклонить, маленькая, средняя, большая, очень большая ошибка"
: LABEL (категория # -)
8 * "LABEL" + 8 ТИП пространства;
: LABEL 0 MAX 5 MIN LABEL;
Это может показаться несправедливым с моей стороны давать код без объяснений, но:
• Экспертам не нужно объяснений.
• Я упомянул ошибки в компоненте LABEL.
Какие версии вы предпочли бы сохранить?
Правило:
8. Не избегают Сцилла, упав в Харибду.
8.3.6 Пример: Stack Музыка
Что такое стек шума для вас и меня это музыка для стека машины. Пора лицо музыки.
В Мышление-четвертых, Броди дает решение (репринт издания, стр. 222) для телефона курса поставленной задачи и проанализированы ранее в книге (стр. 45-51):
\ Телефон ставки 03/30/84
CREATE 30 полных, 20, 12,
CREATE LOWER 22, 15, 10,
CREATE цены 12, 9, 6,

Переменная скорость \ очки в полном объеме, или ниже цены
\ В зависимости от времени суток Full Rate! \ Так
: Заряд (о -) CREATE,
DOES> (- скорость) @ СКОРОСТЬ @ + @;
0 CHARGE 1 минуту \ Цена на первой минуте 2 БЕСПЛАТНО + МИНУТ \ Цена на каждую дополнительную минуту
4 CHARGE / миль \ Цена за каждые 100 миль
\ Телефон ставки 03/30/84
Переменного оператора? \ 90, если с помощью оператора, иначе 0 переменной # MILES \ Сотни миль
: ПОМОЩЬ (с прямым набором заряд - полный заряд) ОПЕРАТОР? @ +;
: Пробег (- заряд) # @ миль / миль *;
: ПЕРВЫЙ (- заряд) 1 минуту ПОМОЩЬ ПРОБЕГ +?
;
: ДОПОЛНИТЕЛЬНЫЕ (- заряд) + МИНУТ ПРОБЕГ +;
: TOTAL (# минут - полный заряд)
1 - ДОПОЛНИТЕЛЬНЫЕ * ПЕРВЫЙ +;
Нет стек шума. Читаемые?
Вот попробуйте на решение, которое требует стека манипуляции:
\ Phone курса таблицу из Броди, мышление-четвертых,
\ Перепечатка издание, стр. 51 \ цены используются в качестве смещения в массивах
0 КЛЕТОК постоянный полный
1 клеток постоянном LOWER
2 клеток постоянном цены \ массивов определяющее слово
: ДЛЯ CREATE DOES> (ставка - плата за минуту) + @; \ Таблица состоит из трех массивов
\ Заряда в минуту на ПОЛНЫЙ LOWER цены скорости
ПЕРВЫЙ НА 30, 22, 12,
FO + МИНУТ 20, 15, 9,
ДЛЯ ДИСТАНЦИОННОГО 12, 10, 6,

90 постоянной помощи \ Плата за оператором помощь: помощь (флаг - заряд) ПОМОЩЬ И;?
: ДОПОЛНИТЕЛЬНЫЕ (# минут-1 ставка - плата) + МИНУТ *;
: МИНУТЫ (# минут ставка - бесплатно)
ПЕРВЫЙ DUP ROT 1 - ROT ДОПОЛНИТЕЛЬНЫЕ +;
: Миль (расстояние # минут ставка - бесплатно) Расстояние * *
;
: TOTAL (расстояние # минут скорость помощи флага - заряд) ПОМОЩЬ> R 2DUP МИНУТ> R MILES 2R> + +;
Стек музыки. Читается?
Правило:
9. Функция стека машины.
8.3.7 Основная информация
Как мы относимся к этим правилам? Кто-нибудь из них вам полезна? Hurtful? Существуют ли более эффективные правила? Хотим ли мы правила так или иначе? Это те вопросы, для вас необходимого ответа, если вы того пожелаете.
8,4 Соглашения по именованию
Таблица 15 представлены некоторые соглашения об именах, которые широко используются в Форт течение многих лет. Эти преимущества гибкого использования Форт правилами использовать специальные символы для придания дополнительного значения.
В этой таблице слово название относится к некоторым словом программист выбрал для представления Форт рутины.
Где это возможно, префикс перед названием указывает на тип или точность значения выполняется операция, в то время как индекс после названия указывает, что значение или там, где он хранится.
Таблица 15: Соглашение об именах
Примеры Формат Значение
! Название магазина в имени! ДАННЫХ
# Размер имя или количество пикселей #
Выходной цифровой оператор # S
Буфер имя # я
'Имя Адрес имя' S
Адрес указателя на тип имя '
(Имя) Внутренние компоненты имя, как правило, не доступных для пользователя (IF)
(FIND)
Во время выполнения процедуры имя (:)
Файл индекса (люди)
Имя * Умножение * DIGIT
Принимает входной параметр масштабируется * нарисовать
+ Имя Сложение + LOOP
Advance + BUF
Включить + ЧАСЫ
Более мощная + INITIALIZE
Принимает относительные параметры вход + НИЧЬЯ
Имя-вычитание, удаления-тянущий
Disable-ЧАСОВ
Не имя (напротив названия)-СОВЕРШЕНО
Возвращает обратное правда флаг (1 неверно, 0 верно)-МАТЧ
Указатели, особенно в файлы-JOB
. Имя печати имени пункта. S
Печать из стека в имени формата. R. $
Печать следующую строку. "Строка"
Может быть, дальше с префиксом типа данных, Д. У. U.R
/ Название отдела / DIGIT
Инициализировать плановым или устройство / СЧЕТЧИК
"За" / SIDE

Таблица 15: Соглашение об именах (продолжение)
Примеры Формат Значение
1name Первый элемент из группы 1SWITCH
Integer 1 1 +
Один-байтовый размер 1 @
2name Второй элемент из группы 2SWITCH
Целое 2 2 /
Двухкамерные размером 2 @
; Имя Конец чего-то, S
Конец чего-то, начало чего-то еще; КОД
<Имя Менее LIMIT <
Открытое кронштейн <#
От имени устройства <TAPE
<name> Название внутренняя часть рутинной <TYPE> драйвер устройства
> Имя К имя> R,> TAPE
Индекс указатель> В
Exchange, особенно байт> <(байты своп)
> MOVE <(перемещение, swappi нг байт)
? Имя условия Проверьте, возвращает истину, если да? ТЕРМИНАЛ
Условный оператор? DUP
Проверить состояние, прервать, если плохо? STACK
Fetch содержание и отображать имя? N
@ Имя Fetch с именем @ INDEX
CNAME Однобайтовая размер символов, целое C @
Dname Дважды клетка целого D +
MNAME Смешанные одно-и двухместных оператора М *
TName Три размера ячейки T *
Uname неподписанных кодирования U.
[Имя] Выполняет во время компиляции [']
\ Имя неподписанных вычитания (выбег) \ LOOP

Таблица 15: Соглашение об именах (продолжение)
Примеры Формат Значение
имя! Магазин на имя B!
Название "String следует, разделенных" ABORT "XXX"
Название: положи что-то в словаре С,
Название: CASE Начать определение:
имя> Закрыть кронштейн #>
Вдали от названия R>
имя? То же, что? Имя Б?
имя @ Fetch из названия B @


ПРИЛОЖЕНИЕ: Литература
Американский национальный стандарт для информационных систем: Языки программирования - Форт (ANSI X3.215-1994). Американский национальный институт стандартов, 11 Вт сорок втором, ул New York, NY 10036, (212) 642 ¬ 4900.
Это официальная ссылка для стандартных Форт. Она включает в DEF-initions для всех стандартных слов, а также специальные правила использования и пояснительные приложения. Последний проект этого документа можно ознакомиться на Интернет.
Бейли Г., Сандерсон, Д., скорее, Е. "clusterFORTH, высокого уровня Чистая ¬ работы протокола" Труды 1984 FORTH конференции. Рочестер, Нью-Йорк: Институт прикладных исследований Форт, 1984.
Это трудно найти, но описывает интересный и сложный протокол, разработанный для сложных приложений в аэропорту Эр-Рияд, Саудовская Аравия.
Броди, Л. Начиная FORTH, Мир, Нью-Джерси: Prentice-Hall, 1981, 2 изд. 1987 год. Контакты: Форт Interest Group, 100 Санкт-Долорес, Suite 183, Кармель, Калифорния 93923.
Эта книга была написана для читателей, которые не обязательно являются компьютерные знающим и одновременно доступным и интересным. К сожалению, это также очень устарела по отношению к современной практике. Частично обновленные версии доступны в Интернете.
Броди, Л. Мышление FORTH, Мир, Нью-Джерси: Prentice-Hall, 1984; перепечатано Группа Форт Интерес, 100 Санкт-Долорес, Suite 183, Кармель, Калифорния 93923, 1994.
Эта книга также весьма устарели, но является очень ценным для понимания хорошего стиля Форт.
FORTH, Inc SwiftForth Reference Manual. Hawthorne, Калифорния: FORTH, Inc, 1998-2006. Эта запатентованная документ включен в качестве PDF со всеми SwiftForth систем (включая ознакомительные версии) и описывает FORTH, Инк "Форт Windows, в деталях.
FORTH, Inc SwiftX Reference Manual. Hawthorne, Калифорния: FORTH, Inc, 1998-2006. Эта запатентованная документ включен в качестве PDF со всеми SwiftX кросс-компиляторы (в том числе ознакомительные версии) и описывает FORTH, Инк "Форт кросс-компиляторы в деталях. Отдельные документы охватывают процессора определенным темам.
ISO / IEC 15145:1997: Информационные технологии, языки программирования-FORTH. Это международный стандарт эквивалент ANS Форт. В США, она доступна через Американским Национальным Институтом Стандартов, 11 Вт сорок вторая улица, New York, NY 10036, (212) 642-4900. Для источников в других странах или он-лайн заказа ¬ ING см. http://www.iso.ch.
Этот документ является технически идентичны ANSI документе упомянуто выше.
Koopman, П. Стек Компьютеры, новая волна. Чичестер, Западный Сассекс, Англия. Эллис Horwood ООО, 1989.
Koopman аппаратными адресами реализации Форт виртуальной машине.
Мур, CW "Эволюция Вперед - Необычные языка" Byte, августе 1980 года.
В первую очередь исторический интерес, эта статья была крышка статья в выпуске, посвященном Форт. Это было первое широкое распространение публикации на Forth.
Благородный, Дж. В. Научно Форт. Шарлоттсвилль, Вирджиния: Mechum банки публикуют ¬ ING, 1992 год.
Доктор Благородный описывает использует-оф-Форт в области математики и других наук ¬ entific приложений.
Pountain, Р. объектно-ориентированного Форт. Нью-Йорк: Academic Press, 1987.
Многие расширения ООП в Форте были разработаны. Эта книга описывает один из ранних.
Pelc, Стивен. Программирование Forth. Саутгемптон, Англия: микропроцессорным ¬ cessor Инжиниринг, 2005.
Хороший современный текст, управляющий директор одного из ведущих ¬ ING Форт поставщиков. Загружаемые из www.mpeforth.com.
Скорее, E.D. Форт прикладные методы. Hawthorne, Калифорния: FORTH, Inc, 2003.
Вводный текст на Форт используется для курсов в FORTH, Inc Включает в себя множество примеров и домашних заданий. Идеальная книга для программистов начала Форт.
Скорее, E.D. "Язык программирования Форт" Энциклопедия физической науки и технологий (В. 5) Academic Press, Inc, 1987, 1992.
В этом обзорном-оф-Форт для технической аудитории.
Скорее, E.D. "Пятнадцать Программисты, 400 Компьютеры, 36000 Датчики и
Форт "Журнал-оф-Форт приложений и исследований (V. 3, № 2, 1985), PO Box 27686, Rochester, NY 14627.
Этот документ описывает общую проект, для которого протокол в бумагу Бейли упомянутое выше был использован.
Скорее, E.D., Колберн, D.R., и Мур, C.H. "Эволюция-оф-Форт" ACM SIGPLANNotices, Vol. 28, № 3, март 1993 года.
Эта статья представляет подробную историю развития оф-Форт, с начала 1970-х годов до начала 1990-х. Она доступна на www.forth.com.
Категория: Мои статьи | Добавил: Nureke (12.10.2011) | Автор: Торбаев Н.С. E
Просмотров: 543 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Категории раздела
Мои статьи [5]
Наш опрос
Как мы учимся?
Всего ответов: 13
Поиск
Друзья сайта
  • Блог веб-мастера
  • Альянс студентов
  • Онлайн кинотеатр
  • Бизнес-клуб
  • Компьютеры
  • Программирование
  • www.ComLogia.Su

  • Добро пожаловать на сайт специальности "Информационные системы" Карагандинского государственного технического университета!
    Последние новости Учебные материалы для студентов Самые активные пользователи В социальные сети
    Матрица компетентност... (22) [05.11.2011]
    Информация (0) [11.10.2011]
    Открытие сайта специа... (1) [12.04.2011]
    Как написать курсовую... (1) [13.04.2011]
    Скачать клавиатурный ... (4) [13.04.2011]
    Скачать Adobe Photosh... (2) [13.04.2011]
    Скачать книгу "К... (1) [10.10.2011]
  • Adikoff
  • young
  • Sid_MC_aka_Destroy
  • Евгений
  • АК_47
  • na3bka
  • Анна
  • zev$
  • CrazyLittleBit
  • Jokerkz