Click HERE to return to our International home page
Концепты Заметки МЕТА Флэнг Онлайн Модули Библио Форум



ГлавнаяФлэнг > Описание > Факториаля
 






Факториал
Арифметика
Пример логической программы
Структуры и термы
Атомы
Списки во Флэнге
XML- документы
Векторы
Таблицы
Перечисления
XML-документы (продолжение)



Описание встроенных функций

 



Факториал (factorial.fln)

Описание: факториал - стандартный пример функции, допускающей рекурсивное определение. Всем известное определение факториала:
X! = 1*2*...*X.
0!=1.

Программа на Флэнге (factorial.fln):

  /* определение функции факториал */
fact(0) :- 1;
fact(X) :- X>>0, X*fact(X-1);


mПримечания

  • Флэнг-программа состоит из правил, имеющих вид
        /заголовок/ :- /тело правила/;
    Определение функции может состоять из нескольких правил. При вычислении функции Флэнг-система перебирает правила для функции "сверху-вниз", пока не найдет подходящее.
  • Переменные во Флэнге начинаются либо с заглавной буквы, либо со знака подчеркивания "_". Слова, начинающиеся со строчных букв являются константами специального вида - атомами.
  • В отличие от стандартных (императивных) языков программирования, на переменных во Флэнге работает операция подстановки. Подстановка применяется к переменной только один раз, после чего переменная "исчезает", а вместо нее везде подставляется значение.
  • Поскольку во Флэнге символы "<" и ">" используются для определения XML- и HTML-тегов, отношения "больше" и "меньше" обозначаются двойными значками - ">>" и "<<".
  • В программу можно включать комментарии, имеющие стандартный формат /*...*/. Комментарии могут быть включены в программу везде, где может быть включен пробел. Парсер и понимает комментарии как пробел, игнорируя их содержимое.


Работа в интерпретаторе:

?- load(factorial);
true

?- fact(0);
1

?- fact(7);
5040

?- fact(-1);
fail


m Что делалось

  1. загружаем программу (функция load). Результат true означает, что загрузка программы прошла успешно.
  2. вычисляем факториал 0.
  3. вычисляем факториал 7.
  4. пытаемся вычислить факториал -1. Поскольку ни одно правило не подходит флэнг возвращает fail (неудача)







Контакты
664003 Иркутск, ул. К. Маркса, 1, Иркутский государственный университет, Центр новых информационных технологий

email

 

Заметки*
Открытая система
Пакетирование
XML
Тексты
Естественнонаучные ресурсы
Ресурсы как модели
Форматы ресурсов
Информационные уровни
Трудности
Учебные объекты
"Опыт человечества"
Коммуникативные системы
О пользе RSS
Проблема интернета
Осмысленный интернет
Идентификация ресуров
Метаданные и будущее
Дублинское ядро
Метаданные и знания
Онтологии
*Набор кратких заметок и высказываний, посвященных различным аспектам информатизации образования. Что называется - "заметок по поводу...".

Онлайн-сервисы**
• Сайт кафедры математического анализа
Форум с поддержкой математических формул.
• Flang-online
• TeX->MathML->GIF.
• MathML->GIF.
• Flang-Meta.
QTI-тестирование с поддержкой математических формул.
• Meta-ZIP
• UDC
• Font-Test
**список эксперементальных сервисов, на которых апробировались реализуемые группой технологии. Сервисы созданы на основе базовых модулей.

Библиотека***
Онтологии и метаописания
Учебные объекты
Языки программирования и логика
eLearning and Knowledge
Digital Libraries and Repositories
Книжки и учебники
***Коллекция публикаций по тематике, собранная из открытых интернет-источников.




.



Copyright ® 2002-2005, TeaCODE.com