Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Описание переменных среды





Имя Тип Описание Значение по умолчанию
E.BELL Логический Раздается звонок, если вводится недействительное значение TRUE
E.DECI Числовой Устанавливает количество цифр справа от десятичной точки  
Е.HRES Числовой Устанавливает степень ответа на команду НОW от 0 (нет ответа) до 6 (наиболее подробный ответ)  
E.LLOG Числовой Задает длину логического шаблона по умолчанию (максимум - 5)  
Е.LSTR Числовой Задает длину символьного шаблона (максимум - 255)  
E.LNUM Числовой Задает длину для числового шаблона (максимум - 14)  
Е.ОСОН Логический Вывод данных на дисплей TRUE
Е.OPRN Логический Вывод всех выходных данных на принтер FALSE
E.PDEP Числовой Длина печатной страницы  
E.WHN Символьный Указывает, когда появляются команды FIND при нахождении неизвестной переменной: N - никогда; L - только как последнее средство; F - прежде чем будет сделана попытка оценить значение неизвестных переменных L

 


Приложение 2

 

Основные команды "GURU"

 

BUILD <имя набора правил> - используется для создания, моди­фикации и компиляции набора правил.

COMPILE <имя набора правил> - создает файл откомпилированно­го набора правил.

CONSULT <имя экспертной системы> - обращение к ЭС за консуль­тацией.

WHY <выражение> - объясняет, почему "GURU" использовала конк­ретное правило.

HOW <выражение> - объясняет, как "GURU" нашла значение переме­нной.

TEXT <имя файла> - запускается текстовый редактор "GURU".

CLEAR - очистить экран.

INPUT <переменная> <USING шаблон><WITH выражение> - ввод дан­ных в переменную с использованием шаблона (USING) и с подсказ­кой (WITH). Шаблоны:

а - для буквенных символов (латинский шрифт);

с - для буквы или числа;

d - для цифры, знака (+ или -) или десятичной точки;

е - преобразование в символы нижнего регистра;

n - символ шаблона, который воспринимает только цифры в зани­маемой им позиций;

r - для символов ASCII;

u - преобразует в символы верхнего регистра. Например:

INPUT num USING "dddd" with "Введите номер"

На экране появляется текст:

Введите номер __

Рассмотрим еще одну команду "GURU".

OUTPUT <имя переменной><USING шаблон> - выводит на экран переменную или строку.

Шаблоны в этой команде аналогичны шаблонам для команды INPUT.

Например:

OUTPUT ''Лабораторная работа N1"

Выводит на экран:

Лабораторная работа N1

Другой пример:

OUTPUT num

Выводит на экран значение переменной num. Приведем также перечень следующих команд "GURU":

HELP - выводит справочную информацию;

RUN — выполняет внешнюю программу;

DIR - просматривает директорию;

BYE - выходит из режима;

RELEASE - освобождает память, удаляя данные и программы "GURU";

PEPFORM - выполняет процедуру;

WAIT - приостанавливает обработку до нажатия любой клавиши.

 


Приложение 3

 

Выражения и функции "GURU"

 

 

Арифметические:

 

+ - сложение;

- - вычитание;

* - умножение;

/ - деление;

** - возведение в степень;

MOD - деление по модулю.

 

Сравнение:

 

EQ = - равно;

NЕ, <> - не равно;

GT, > - больше чем;

LT, < - меньше чем;

GE, < = - меньше или равно;

LE, > = - больше или равно.

 

Логические:

 

NОТ - нет;

AND, & - и;

OR - или;

XОR - исключающее "или";

= - присвоение;

() - индексы массива.

 

Строковые:

 

+ - сцепление строк;

' - кавычка;

$ - символ соответствия символа;

* - символ соответствия строки.

 

Числовые функций:

 

ABS - абсолютное значение;

ARCSIN - арксинус;

ЕХР – е в степени;

INIT - инициализирует массив;

LEN - определяет длину строки;

LN - вычисляет натуральный логарифм;

LOG - вычисляет логарифм с основанием 10;

МАХ - наибольшее из двух чисел;

MENU - создает меню;

MIN - меньшее из двух чисел;

RAND - случайное число;

SIN - синус;

SQRT - квадратный корень.

 

Символьные функции:

 

CHR - преобразует код ASCII в его символьный эквивалент;

VAL - преобразует символ в его код ASCII;

INIT - инициализирует массив;

SUBSTR - выделяет подстроку из строки;

TIME - возвращает текущее время;


TOSTR - преобразует числа в символы;

TONUM - преобразует строку в число;

TRIM - отсекает конечные пробелы;

ТУРЕ - тип переменной.

 

Логические функции:

 

ALPHASTR - вся ли строка состоит из букв;

INIT - инициализирует массив.

 


Приложение 4

Варианты заданий к лабораторной работе 1

 

 

Вариант 1

GOAL: ways

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */
/* УСТРАНЕНИЮ НЕПОЛАДОК ВАШЕГО ЛЮБИМОГО АВТОМОБИЛЬЧИКА И */
/* ПРИЧИН ИХ ПОЯВЛЕНИЯ. КОНЕЧНО, ЭТО МАЛЕНЬКИЙ И НЕ ПОЛНЫЙ */
/* НАБОР, НАПИСАННЫЙ ПЛОХО ЗНАЙЩИМ ЭТУ ОТРАСЛЬ ЧЕЛОВЕКОМ, НО */
/* ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ */
/*СРЕДСТВ GURU. ТАК ЧТО ИЗВИНИТЕ, ПОЖАЛУЙСТА, ЗА НЕКОРРЕКТНЫЕ */
/* СОВЕТЫ. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-TRUE, HET-FALSE) */

 

INITIAL:

Clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output "ДОБРЫЙ ДЕНЬ, МИСТЕР (МИССИС)."

output

output "ВЫ, ПУТЕШЕСТВУЯ НА СВОЕМ АВТОМОБИЛЕ, ОСТАНОВИЛИСЬ ПЕРЕ-"

output "ДОХНУТЬ. А КОГДА НАБРАЛИСЬ СИЛ, ТО ОБНАРУЖИЛИ, ЧТО

output "ВАША МАШИНА НЕ ЗАВОДИТСЯ. MЫ ПОСТАРАЕМСЯ ДАТЬ ВА СОВЕТ"

output "ПО УСТРАНЕНИЮ И ПРИЧИНАМ ПОЯВЛЕНИЯ НЕИСПРАВНОСТЕЙ."

output "НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ ВНЕ ВСЮ ИНФОРМАЦИЮ."

output " ИТАК, ПОЕХАЛИ"

output

fires = true

input fires logic with "ЕСТЬ ЛИ ИСКРА В БЛОКЕ ЗАЖИГАНИЯ?"

 

DO:

clear

output "ВОТ ЧТО Я ВАМ СКАЖУ, ЛЮБЕЗНЕЙШИЙ."

output

output reasons

output

output "А ВОТ ЧТО ВАМ СЛЕДУЕТ СДЕЛАТЬ В ДАННОЙ СИТУАЦИИ."

output

output ways

 

RULE: Rl

IF: fires

THEN: output

input petrol logic with " ПОСТУПАЕТ ЛИ БЕНЗИН В КАРБЮРАТОР?"

REASON: ЕСЛИ ЕСТЬ ИСКРА, ТО НУЖЕН ЕЩЕ И БЕНЗИН.

COMMENT: ПОСТУПАЕТ ЛИ БЕНЗИН В КАРБЮРАТОР.

 

RULE: R2

IF: not fires

THEN: output

input acommulate logic with " ОКИСЛЕНЫ КЛЕММЫ АККУМУЛЯТОРА?"

REASON: ЕСЛИ НЕТ ИСКРЫ, ТО СКОРЕЕ ВСЕГО ОКИСЛИЛИСЬ КЛЕММЫ АК-РА.

COMMENT: ОКИСЛИЛСЯ ЛИ АККУМУЛЯТОР.

 

RULE: R3

IF: not petrol

THEN: output "ЕСТЬ ЛИ БЕНЗИН В БАКЕ ВАШЕГО АВТОМОБИЛЯ?"

input ptrltank logic

REASON: ЕСЛИ БЕНЗИН В КАРБЮРАТОР НЕ ПОСТУПАЕТ, ТО СКОРЕЕ ВСЕГО, ОН ПРОСТО КОНЧИЛСЯ. COMMENT: НЕТ БЕНЗИНА В БАКЕ АВТОМОБИЛЯ.

 

RULE: R4

IF: not ptrltank

THEN: rasons="KOHЧИЛСЯ БЕНЗИН В БАКЕ ВАШЕГО АВТОМОБИЛЯ."

ways=" ЗАПРАВЬТЕ МАШИНУ ГОРЮЧИМ."

REASON: ЕСЛИ НЕТ БЕНЗИНА, ТО НАДО ЗАПРАВИТЬСЯ.

COMMENT: ПУСТОЙ БАК.

 

RULE: R5

IF: ptrltank

THEN: геаsons="ЗАСОРИЛАСЬ ТРУБКА БЕНЗОНАСОСА."

wavs="ОТСОЕДИНИТЕ ТРУБКУ И ПРОДУЙТЕ. ЗАТЕМ, УСТАНОВИВ"

ways=ways+" НА МЕСТО, ПОПРОБУЙТЕ СНОВА ЗАВЕСТИ."

REASON: ЕСЛИ БЕНЗИН В БАКЕ ЕСТЬ, А В КАРБЮРАТОРЕ ЕГО НЕТ, ТО НА­ДО ПРОЧИСТИТЬ ТРУБКИ, ПОСТАВЛЯЮЩИЕ ТОПЛИВО В КАРБЮРАТОР

COMMENT: ЗАСОРИЛИСЬ КАНАЛЫ ПОДАЧИ БЕНЗИНА.

 

RULE: R6

IF: acommulate

THEN: reasons="ПЛОХОЙ КОНТАКТ ЦЕПИ ЗАЖИГАНИЯ С АККУ-РОМ"

ways="ЗАЧИСТИТЕ КЛЕММЫ НАЖДАЧНОЙ ШКУРКОЙ И ПОПЫТАЙТЕСЬ"


ways=ways+" ЗАВЕСТИ ВНОВЬ."

REASON: ЕСЛИ ОКИСЛЕНЫ КОНТАКТЫ, ТО ИХ НАДО ЗАЧИСТИТЬ.

COMMENT: ПЛОХОЙ КОНТАКТ АККУМУЛЯТОРА С ПРОВОДКОЙ.

 

RULE: R7

IF: not acommulate

THEN: output "АККУМУЛЯТОР ВЫРАБОТАЛ СВОЙ РЕСУРС?"

input lowenergy logic

REASON: ЕСЛИ НЕТ ИСКРЫ И КОНТАКТ В ПОРЯДКЕ, ТО СКОРЕЕ ВСЕГО ВАШ АККУМУЛЯТОР ПРИШЕЛ В НЕГОДНОСТЬ.

COMMENT: РЕСУРС АККУМУЛЯТОРА.

 

RULE: R8

IF: lowenergy

THEN: reasons="ВАШ АККУМУЛЯТОР СТАЛ НЕПРИГОДНЫМ."

ways=" ЕСЛИ ЕСТЬ ВОЗМОЖНОСТЬ, ТО ЗАМЕНИТЕ СВОЙ АККУМУ-"

ways=ways+"ЛЯТOP. B ПРОТИВНОМ СЛУЧАЕ ВАМ ПРИДЕТСЯ"

ways=ways+" ЗАВОДИТЬ СВОИ АППАРАТ 'РУЧКОЙ' (ИЗОГНУТЫЙ "

wауs=wауs+" КУСОК ЖЕЛЕЗКИ)"

REASON: ЕСЛИ СЕЛ АККУМУЛЯТОР, ТО ЕГО НАДО МЕНЯТЬ ЛИБО ЗАВОДИТЬ МАШИНУ 'РУЧКОЙ'

COMMENT: СЕЛ АККУМУЛЯТОР.

 

 

VAR: fires

LABEL: НАЛИЧИЕ ИСКРЫ В БЛОКЕ ЗАЖИГАНИЯ

 

VAR: WAYS

FIND: reasons="ПРИЧИНА ПОЯВЛЕНИЯ ЭТИХ НЕПОЛАДОК НЕИЗВЕСТНА."

ways="ПОПРОБУЙТЕ ОБРАТИТЬСЯ В АВТОСЕРВИС."

LABEL: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК

 

END:

 

В варианте 1 предлагается предусмотреть изменения, учитыва­ющие ситуации:

а) автомобиль заводится, но не едет;

б) автомобиль заводится, едет, но не туда, куда его направляет водитель.

 

 

Вариант 2

GOAL: computer

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ, */

/* КАК ДЕЙСТВОВАТЬ, ЕСЛИ ВДРУГ ВАШ КОМПЬЮТЕР ПРИ ВКЛЮЧЕНИИ */

/* ЕГО В СЕТЬ ВЕДЕТ СЕБЯ НЕ ТАК, КАК ОБЫЧНО. И ВОТ, В ЗАВИСИ- */

/* МОСТИ ОТ ВНЕШНЕГО ПРОЯВЛЕНИЯ ЭТИХ СТРАННОСТЕЙ ВАМ БУДЕТ */

/* ДАН СОВЕТ, КАКОЕ ДЕЙСТВИЕ ПРЕДПРИНЯТЬ. КОНЕЧНО, ЭТО МАЛЕНЬ- */

/* КИИ И ДАЛЕКО НЕПОЛНЫЙ НАБОР, И, ВОЗМОЖНО, СОВЕТЫ ВАМ ПОКА- */

/* ЖУТСЯ НЕУМЕСТНЫМИ, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА */

/* САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */
/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-TRUE, HET-FALSE) */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output

output " ПРИ ВКЛЮЧЕНИИ КОМПЬЮТЕРА ВЫ НЕ ПОЛУЧАЕТЕ ОБЫЧНОГО"

output " РЕЗУЛЬТАТА. МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ В ЭТОМ НЕ-"

output "ПРОСТОМ ДЕЛЕ. НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ"

output " МНЕ ВСЮ ИНФОРМАЦИЮ. ИТАК, НАЧНЕМ"

power=true

output "ЗАГОРАЕТСЯ ЛИ ИНДИКАТОР ПИТАНИЯ НА ВАШЕМ КОМПЬЮТЕРЕ?"

input power logic

 

DO:

clear

output " ВОТ ЧТО Я ВАМ СКАЖУ, ЛЮБЕЗНЕЙШИЙ."

output

output computer

 

RULE: R1

IF: power

THEN: output

output "НУ ХОТЬ ПИТАНИЕ В ПОРЯДКЕ, И ТО ХОРОШО!"


output "ИСПРАВЕН И ПРАВИЛЬНО ЛИ ПОДКЛЮЧЕН ДИСПЛЕЙ?"

input displ logic

REASON: ЕСЛИ В ПОРЯДКЕ ПИТАНИЕ, ТО В ПОРЯДКЕ ЛИ ДИСПЛЕЙ.

COMMENT: ДЛЯ, ТОГО ЧТОБЫ ЧТО-ТО УВИДЕТЬ, НЕОБХОДИМО УС­ТРОЙСТВО ОТОБРАЖЕНИЯ ИНФОРМАЦИИ.

 

RULE: R2

IF: not power

THEN: output

computer="ПРОВЕРЬТЕ НАПРЯЖЕНИЕ В СЕТИ. ВКЛЮЧИТЕ ПИТА-"

computer=computer+"HИE ИЛИ ПОЧИНИТЕ БЛОК ПИТАНИЯ И"

computer=computer+"ПОПРОБУЙTE ЕЩЕ РАЗ."

REASON: ЕСЛИ НЕТ ПИТАНИЯ, ТО НЕОБХОДИМО ЕГО ОБЕСПЕЧИТЬ

COMMENT: БЕЗ НОРМАЛЬНОГО ПИТАНИЯ НИКТО ВАМ РАБОТАТЬ НЕ БУДЕТ.

 

RULE: R3

IF: not displ

THEN: output

computer= EPbTE НАПРЯЖЕНИЕ СЕТИ. ВКЛЮЧИТЕ ДИСПЛЕИ"

computer=computer+"ИЛИ УСТРОИТЕ ТАК, ЧТОБЫ ОН РАБОТАЛ"

computer=computer+"И ПОПРОБУЙТЕ ЕЩЕ РАЗ."

"ПPOB

REASON: HE РАБОТАЕТ ДИСПЛЕИ. НЕОБХОДИМО, ЧТОБЫ ОН РАБОТАЛ.

COMMENT: БЕЗ РАБОТАЮЩЕГО ДИСПЛЕЯ - НЕ ЖИЗНЬ.

 

RULE: R4

IF: displ

THEN: output "ЕСТЬ ЛИ У ВАШЕГО КОМПЬЮТЕРА ЖЕСТКИЙ ДИСК?"

input harddisk logic

REASON: ЕСЛИ ПИТАНИЕ КОМПЬЮТЕРА И ДИСПЛЕИ В ПОРЯДКЕ, ТО НАДО ЗНАТЬ, ПОДКЛЮЧЕН ЛИ К ВАШЕЙ МАШИНЕ ЖЕСТКИЙ ДИСК.

COMMENT: ПОДКЛЮЧЕН ЛИ ЖЕСТКИЙ ДИСК.

 

RULE: R5

IF: harddisk

THEN: output "ПРОИСХОДИТ ОБРАЩЕНИЕ К ДИСКУ (ИНДИКАТОР "

output "ГОРИТ)?"

input HDtest logic

REASON: ЕСЛИ УСТАНОВЛЕН "ВИНЧЕСТЕР", ТО ПРОВЕРИМ ПОДКЛЮЧЕНИЕ.

COMMENT: ЕСЛИ "ВИНТ" НА МЕСТЕ, ТО ЗАМЕЧАЕТ ЛИ ЕГО СИСТЕМА.

 

RULE: R6

IF: not harddisk

THEN: output "УСТАНОВЛЕНЫ НА ВАШЕЙ МАШИНЕ ДИСКОВОДЫ ГИБ-"

output "КИХ ДИСКОВ (1 И БОЛЕЕ)? "

input diskete logic

REASON: ЕСЛИ НЕТ "ВИНТА", ТО ДИСКОВОДЫ НА МАШИНЕ УСТАНОВЛЕНЫ?

COMMENT: ЕСТЬ ЛИ ДИСКОВОДЫ.

 

RULE: R7

IF: not HDtest

output "УСТАНОВЛЕНЫ ЛИ НА ВАШЕЙ МАШИНЕ ДИСКОВОДЫ"

output " ГИБКИХ ДИСКОВ (1 И БОЛЕЕ)?

THEN: input diskete logic

REASON: УСТАНОВЛЕНЫ ЛИ ДИСКОВОДЫ НА МАШИНЕ?

COMMENT: ЕСТЬ ЛИ ДИСКОВОДЫ.

 

RULE: R8

IF: HDtest

THEN: output "ВЫДАЕТСЯ ЛИ СООБЩЕНИЕ ОБ ОШИБКЕ ЧТЕНИЯ 'ВИ-"

output "НЧЕСТЕРА'?"

input HDerror logic

REASON: БЕЗ ОШИБОК ЛИ ПРОХОДИТ ОПЕРАЦИЯ ТЕСТИРОВАНИЯ.

COMMENT: НАЛИЧИЕ ОШИБОК ТЕСТИРОВАНИЯ ДИСКА.

 

RULE: R9

IF: HDerror

THEN: output "УСТАНОВЛЕНЫ ЛИ НА ВАШЕЙ МАШИНЕ ДИСКОВОДЫ ГИ-"

output "БКИХ ДИСКОВ (1 И БОЛЕЕ)? "

input diskete logic

REASON: ЕСЛИ ЕСТЬ ОШИБКИ В РАБОТЕ "ВИНТА", ТО ИНТЕРЕСНО, УСТАНО­ВЛЕНЫ ЛИ ДИСКОВОДЫ НА МАШИНЕ? COMMENT: ЕСТЬ ЛИ ДИСКОВОДЫ.

 

RULE: R10

IF: diskete

THEN: computer="BAM СЛЕДУЕТ ВСТАВИТЬ В ДИСКОВОД СИСТЕМНУЮ "

computer=computer+"ДИСКЕТУ СООТВЕТСТВУЮЩЕГО ФОРМАТА "

computer=computer+" И ПЕРЕЗАГРУЗИТЬ КОМПЬЮТЕР."

REASON: ЕСЛИ "ВИНТ" НЕ В ПОРЯДКЕ, ТО СЛЕДУЕТ ИСПОЛЬЗОВАТЬ ГИБКИЙ ДИСК ДЛЯ ЗАГРУЗКИ СИСТЕМЫ.

COMMENT: СЛЕДУЕТ ИСПОЛЬЗОВАТЬ ГИБКИЙ ДИСК ДЛЯ ЗАГРУЗКИ СИСТЕМЫ.

 

RULE: R11

IF: not diskete

THEN: computer="BAM ЛУЧШЕ ВСЕГО ДАЛЬШЕ НЕ УГЛУБЛЯТЬСЯ В "

computer=computer+"ЭТУ ПРОБЛЕМУ, А ВЫЗВАТЬ МАСТЕРА."

REASON: ЕСЛИ НЕ РАБОТАЮТ (ОТСУТСТВУЮТ) ДИСК И ДИСКОВОДЫ, ТО НЕ СТОИТ ПЫТАТЬСЯ ПЕРЕЗАГРУЗИТЬ МАШИНУ.

COMMENT: HE РАБОТАЮТ ДИСК И ДИСКОВОДЫ, СЛЕДОВАТЕЛЬНО, НЕ СТОИТ ПЫТАТЬСЯ ПЕРЕЗАГРУЗИТЬ МАШИНУ.

 

RULE: R12

IF: not HDerror

THEN: computer="ECЛИ HE ПОЯВЛЯЕТСЯ ПРИГЛАШЕНИЕ ОПЕРАЦИОННОЙ"

computer=computer+" СИСТЕМЫ, ТО ПРОВЕРЬТЕ СОДЕРЩИМОЕ"

computer=computer+"ФАЙЛОВ autoexec.bat И config.sys,"

computer=computer+'3AГРУЗИВШИСЬ С ДИСКЕТЫ. И ЕСЛИ ТАМ"

computer=computer+" ВСЕ В ПОРЯДКЕ, ПЕРЕЗАПИШИТЕ ОС."

REASON: ЕСЛИ НЕТ ОШИБКИ ЧТЕНИЯ "ВИНЧЕСТЕРА" ТО ВСЕ ЕЩЕ МОЖНО ИСПРАВИТЬ, ЛИШЬ БЫ ДИСКОВОД ГИБКИХ ДИСКОВ БЫЛ ИСПРАВЕН.

COMMENT: НЕТ ОШИБКИ ЧТЕНИЯ "ВИНТА".

 

 

VAR: POWER

LABEL: СРАБАТЫВАНИЕ СВЕТОВОЙ ИНДИКАЦИИ ПРИ ВКЛЮЧЕНИИ КОМПЬЮТЕРА

END:

 

В варианте 2 предлагается предусмотреть изменения, учитыва­ющие ситуации:

а) неисправность клавиатуры компьютера;

б) неисправность манипулятора типа "мышь".

 

 

Вариант 3

GOAL: ways

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */

/* УСТРАНЕНИЮ НЕКОТОРЫХ ДЕФЕКТОВ ВОДНЫХ КРАСОК И СООБЩИТ */

/* ПРИЧИНЫ ИХ ПОЯВЛЕНИЯ. КОНЕЧНО, ЭТО МАЛЕНЬКИЙ И НЕ ПОЛНЫЙ */

/* НАБОР, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА САМЫХ */

/* ТРИВИАЛЬНЫХ СРЕДСТВ GURU. ТАК ЧТО НЕ ОЖИДАЙТЕ */

/* ЧЕГО-ЛИБО СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ*/

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ. (ДА-TRUE, HET-FALSE) */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output

output " ПОСЛЕ ОКРАСКИ ПОВЕРХНОСТИ ВОДНЫМИ КРАСКАМИ МОГУТ"

output " ПРОЯВИТЬСЯ ДЕФЕКТЫ."

output " МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ ПО ИХ УСТРАНЕНИЮ И"

output " ПРИЧИНАМ ПОЯВЛЕНИЯ."

output " НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ "

output "ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ..."

defects=true

output " ПОЯВИЛИСЬ ЛИ ДЕФЕКТЫ НА ОКРАШЕННОЙ ПОВЕРХНОСТИ?"

input defects logic

 

DO:

clear

output " ВОТ ЧТО Я ВАМ СКАЖУ, ЛЮБЕЗНЕЙШИЙ."

output

output reasons

output

output "А ВОТ ЧТО ВАМ СЛЕДУЕТ СДЕЛАТЬ В ДАННОЙ СИТУАЦИЙ."

output

output ways

 

RULE: Rl

IF: defects

THEN: output

input circle logic with " ЭТИ ДЕФЕКТЫ - ПЯТНА?"

REASON: ЕСЛИ ЕСТЬ ДЕФЕКТЫ, ТО СКОРЕЕ ВСЕГО ЭТО ПЯТНА.

COMMENT: ЯВЛЯЮТСЯ ЛИ ДЕФЕКТЫ ПЯТНАМИ.

 

RULE: R2

IF: not defects

THEN: output

reasons="HET ДЕФЕКТОВ НА ПОВЕРХНОСТИ, ЗНАЧИТ ВЫ "

reasons=reasons+"BCE СДЕЛАЛИ ПРАВИЛЬНО."

ways="ПОЙДИТЕ ЛУЧШЕ ОТДОХНИТЕ. ВЕДЬ У ВАС"

ways=ways+" ВСЕ В ПОРЯДКЕ."

REASON: ЕСЛИ НЕТ ДЕФЕКТОВ, ТО НИЧЕГО ДЕЛАТЬ НЕ НУЖНО.

COMMENT: НЕТ ДЕФЕКТОВ - ОТДЫХАЙ.

 

RULE: R3

IF: not circle

THEN: output

input lines logic with " ЭТИ ДЕФЕКТЫ - ПОЛОСЫ? "

REASON: ЕСЛИ ДЕФЕКТЫ НЕ ПЯТНА, ТО СКОРЕЕ ВСЕГО ЭТО ПОЛОСЫ.

COMMENT: ЯВЛЯЮТСЯ ЛИ ДЕФЕКТЫ ПОЛОСАМИ.

 

RULE: R4

IF: circle

THEN: output

input fatcrcl logic with "ЭТО ЖИРНЫЕ ПЯТНА?"

REASON: ЕСЛИ ДЕФЕКТЫ ПЯТНА, ТО СКОРЕЕ ВСЕГО ЭТО ЖИРНЫЕ ПЯТНА.

COMMENT: ЯВЛЯЮТСЯ ЛИ ПЯТНА ЖИРНЫМИ.

 

RULE: R5

IF: fatcrcl

THEN: output

output "ОКРАШЕННАЯ ПОВЕРХНОСТЬ ЯВЛЯЕТСЯ "

output " ШТУКАТУРКОЙ?"

input sfcshtkr logic

output

REASON: ЕСЛИ ПЯТНА ЖИРНЫЕ, ТО ВАЖНО ЗНАТЬ, КАКАЯ ПОВЕРХНОСТЬ ОКРАШЕНА. COMMENT: НА ШТУКАТУРКЕ ЖИРНЫЕ ПЯТНА.

 

RULE: R6

IF: not sfcshtkr

THEN: output

output "ОКРАШЕННАЯ ПОВЕРХНОСТЬ ЯВЛЯЕТСЯ"

output " ЖЕЛЕЗОБЕТОННОЙ?"

input sfcsteel logic

REASON: ЕСЛИ ПЯТКА ЖИРНЫЕ, ТО ВАЖНО ЗНАТЬ, КАКАЯ ПОВЕРХНОСТЬ ОКРАШЕНА.

COMMENT: НА ЖЕЛЕЗОБЕТОНЕ ЖИРНЫЕ ПЯТНА.

 

RULE: R7

IF: not sfcsteel

THEM: output

reasons="ПPИЧИHA ПОЯВЛЕНИЯ ЭТИХ ЖИРНЫХ ПЯТЕН"

reasons=reasons+" МНЕ НЕИЗВЕСТНА."

ways="ПОПРОБУКТЕ ОБРАТИТЬСЯ К БОЛЕЕ ОПЫТНОМУ"

ways=ways+" СПЕЦИАЛИСТУ."

REASON: ЕСЛИ ЖИРНЫЕ ПЯТНА ПОЯВИЛИСЬ НА КАКОЙ-ТО ДРУГОЙ ПОВЕРХНОСТИ, ТО НИЧЕГО ПУТНОГО ПОСОВЕТОВАТЬ ВАМ Я НЕ МОГУ.

COMMENT: ЖИРНЫЕ ПЯТНА НА НЕЗАРЕЗЕРВИРОВАННОЙ ПОВЕРХНОСТИ.

 

RULE: E8

IF: sfcsteel

THEN: reasons="HA ЖЕЛЕЗОБЕТОНЕ СЛЕДЫ НЕВЫСЫХАЮЩИХ "

reasons=reasons+"MACEЛ ОТ СМАЗКИ ФОРМ."

wауs="ОЧИСТИТЬ ПОВЕРХН. ОТ СЛОЯ КРАСКИ ВМЕСТЕ СО"

ways=ways+" ШПАКЛЕВКОЙ, ПРОМЫТЬ 5%-НЫМ РАСТВ. "

ways=ways+"ТРИНАТРИЙФОСФАТА ИЛИ КАЛЬЦ-ОЙ "

ways=ways+"СОДЫ, НЕЙТРАЛИЗОВАТЬ ПОВЕРХНОСТЬ 5%-НЫМ"

ways=ways+" PACTB. СОЛЯНОЙ КИСЛОТЫ И ВНОВЬ ОКРАСИТЬ."

REASON: ЕСЛИ ЖИРНЫЕ ПЯТНА НА ЖЕЛЕЗОБЕТОНЕ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ ЖИРНЫХ ПЯТЕН НА ЖЕЛЕЗОБЕТОНЕ.

 

RULE: R9

IF: sfcshtkr

THEN: reasons="HA ШТУКАТУРКЕ ОСТАЛИСЬ ПЯТНА НЕВЫСЫХАЮЩИХ"

reasons=reasons+" МИНЕРАЛЬНЫХ И ЖИВОТНЫХ МАСЕЛ."

ways="ВЫРУБИТЬ ШТУКАТУРКУ НА УЧАСТКЕ ПЯТНА, ВНОВЬ "

ways=ways+"ОТШТУКАТУРИТЬ И ОКРАСИТЬ, ПРОМЫТЬ ПОВЕР-"

ways=ways+"XHOCTb ЩЕЛОЧНОЙ ВОДОЙ И ВНОВЬ ОКРАСИТЬ."

REASON: ЕСЛИ ЖИРНЫЕ ПЯТНА НА ШТУКАТУРКЕ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ ЖИРНЫХ ПЯТЕН НА ШТУКАТУРКЕ.

 

RULE: R10

IF: not fatcrcl

THEN: output

output "ЭТО ЖЕЛТЫЕ РЖАВЫЕ ПЯТНА?"

input rsvcrcl logic

REASOH: ЕСЛИ ДЕФЕКТЫ НЕ ЖИРНЫЕ ПЯТНА, ТО СКОРЕЕ ВСЕГО ЭТО РЖАВЫЕ ПЯТНА.

COMMENT: ЯВЛЯЮТСЯ ЛИ ПЯТНА РЖАВЫМИ.

 

RULE: R11

IF: not rsvcrcl

THEN: reasons="ПРИЧИНА ПОЯВЛЕНИЯ ЭТИХ ПЯТЕН МНЕ"

reasons=reasons+" НЕИЗВЕСТНА."

ways="ПОПРОБУЙТЕ ОБРАТИТЬСЯ К БОЛЕЕ ОПЫТНОМУ"

ways=ways+" СПЕЦИАЛИСТУ."

REASOH: ЕСЛИ ПОЯВИЛИСЬ КАКИЕ-ТО ДРУГИЕ ПЯТНА,ТО НИЧЕГО ПУТНОГО ПОСОВЕТОВАТЬ ВАМ Я НЕ МОГУ.

СОММЕНТ: КАКИЕ-ТО НЕЗАРЕЗЕРВИРОВАННЫЕ ПЯТНА НА ПОВЕРХНОСТИ.

 

RULE: R12

IF: rsvcrcl

ТНЕН: reasons="ПРОИСХОДИТ ПРОСАЧИВАНИЕ СМОЛИСТЫХ ВЕЩЕСТВ "

reasons=reasons+"ЧЕРЕЗ ШТУКАТУРКУ И КРАСКУ."

ways="УДАЛИТЬ СТАРЫЙ НАБЕЛ, ПРОМЫТЬ ТЕПЛЫМ З% РАСТВ."

ways=ways+"СОЛЯНОЙ КИСЛОТЫ И, ЕСЛИ ПЯТНА НЕВЕЛИКИ"

ways=ways+", ОТГРУHTOBATЬ МЕДНОКУПОРОСНОЙ ГРУНТОВКОЙ"

ways=ways+" БЕЗ МЕЛА, А ПРИ БОЛЬШИХ РАЗМЕРАХ - ЩЕЛ"

ways=ways+"ОЧНЫМ, СПИРТОВЫМ ИЛИ КАНИФОЛЬНЫМ ЛАКОМ."

REASON: ЕСЛИ ЖИРНЫЕ ПЯТНА НА ШТУКАТУРКЕ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ ЖИРНЫХ ПЯТЕН НА ШТУКАТУРКЕ.

 

RULE: R13

IF: lines

THEN: reasons="НЕДОСТАТОЧНО ПЕРЕМЕШАНЫ ПИГМЕНТЫ В КОЛЕРЕ,"

reasons=reasons+" ПЛОХОРАСТУШЕВАН КОЛЕР."

ways="ПРОМЫТЬ ПОВЕРХНОСТЬ И ОКРАСИТЬ ИЗ "

ways=ways+"KPACKOПУЛЬТА."

REASON: ЕСЛИ ПОЛОСЫ НА ОКРАШЕННОЙ ПОВЕРХНОСТИ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ ПОЛОС.

 

RULE: R14

IF: not lines

THEN: reasons="ПРИЧИНА ПОЯВЛЕНИЯ ДРУГИХ ДЕФЕКТОВ МНЕ"

reasons=reasons+" НЕИЗВЕСТНА."

ways="ПОПРОБУЙТЕ ОБРАТИТЬСЯ К БОЛЕЕ ОПЫТНОМУ"

ways=ways+"СПЕЦИАЛИСТУ."

REASON: ЕСЛИ ПОЯВИЛИСЬ КАКИЕ-ТО ДРУГИЕ ДЕФЕКТЫ, ТО НИЧЕГО ПУТНОГО ПОСОВЕТОВАТЬ ВАМ Я НЕ МОГУ.

COMMENT: КАКИЕ-ТО НЕЗАРЕЗЕРВИРОВАННЫЕ ДЕФЕКТЫ НА ПОВЕРХНОСТИ.

 

VAR: defects

LABEL: НАЛИЧИЕ ДЕФЕКТОВ НА ОКРАШЕННОЙ ПОВЕРХНОСТИ.

 

END:

 

В Варианте 3 предлагается предусмотреть изменения, учитывающие ситуации:

а) появление пузырей на окрашенной поверхности;

б) отслаивание краски после высыхания.

 

 

Вариант 4

GOAL: breaking

 

/*ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */

/*ОРГАНИЗАЦИИ ОГРАБЛЕНИЯ БАНКА. КОНЕЧНО, ЭТО МАЛЕНЬКИЙ */

/*НАБОР И ОН ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА САМЫХ */

/*ТРИВИАЛЬНЫХ СРЕДСТВ GURU. ТАК ЧТО НЕ ОЖИДАЙТЕ ЧЕГО-ЛИБО */

/*МОЩНОГО. НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ */

/*СООТВЕТСТВУЮЩЕЕ ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕНКОЙ */

/*(ДА-TRUE, HET-FALSE) */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output "ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output

output " ВСЕ ХОТЯТ ОГРАБИТЬ БАНК, ДА НЕ ВСЕ МОГУТ..."

output "МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ В ЭТОМ НЕПРОСТОМ ДЕЛЕ."

output " НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ"

output " ИНФОРМАЦИЮ."

output " ИТАК, ПОЕХАЛИ..."

output

at 17,10 output "СКОЛЬКО У ВАС ВЕРНЫХ ЛЮДЕЙ?"

input people num using "nn"

at 19,10 output "СКОЛЬКО У ВАС 'СТВОЛОВ'?"

input guns num using "nn"

at 21,10 output " А СКОЛЬКО ВЫ ХОТИТЕ ВЗЯТЬ?"

input nmoney num

output

clear

 

DO:

clear

output

output " ВОТ ЧТО Я ВАМ СКАЖУ, ЛЮБЕЗНЕЙШИЙ."

output

output breaking

 

RULE: R1

IF: nmoney >=10000000

THEN: output

output "A У ВАС ГУБА НЕ ДУРА!"

output "А СКОЛЬКО ДЕНЕГ ХРАНИТСЯ В БАНКЕ "

output "НАЛИЧНЫМИ?"

input emoney num

REASON: ЕСЛИ ВЫ ТАК МНОГО ХОТИТЕ ВЗЯТЬ, ТО СЛЕДУЕТ ЗНАТЬ, РАСПОЛАГАЕТ ЛИ БАНК ТАКОЙ СУММОЙ.

COMMENT: ВЫ ТАК МНОГО ХОТИТЕ ВЗЯТЬ, СЛЕДОВАТЕЛЬНО. СЛЕДУЕТ ЗНАТЬ, РАСПОЛАГАЕТ ЛИ БАНК ТАКОЙ СУММОЙ.

 

RULE: R2

IF: nmoney<10000000

THEN: output "A СКОЛЬКО ДЕНЕГ ХРАНИТСЯ В БАНКЕ НАЛИЧНЫМИ?"

input emoney num

REASON: ЕСЛИ ВЫ ХОТИТЕ ОГРАБИТЬ БАНК, ТО СЛЕДУЕТ ЗНАТЬ, РАСПОЛАГАЕТ ЛИ ОН ТАКОЙ СУММОЙ.

COMMENT: ВЫ ХОТИТЕ ВЗЯТЬ ЧУЖИЕ ДЕНЬГИ, СЛЕДОВАТЕЛЬНО, СЛЕДУЕТ ЗНАТЬ, РАСПОЛАГАЕТ ЛИ БАНК ТАКОЙ СУММОЙ.

 

RULE: R3

IF: nmoney<emoney

THEN: output

output "И ТАК, ВЫ РЕШИЛИСЬ НА ДЕЛО, А КАК ОБСТОЯТ"

output "ДЕЛА С ОХРАНОЙ?"

output

output "ОХРАНЯЕТСЯ ЛИ БАНК ДНЕМ?"

input dayctrl logic

output

output "ОХРАНЯЕТСЯ ЛИ БАНК ПОЛИЦЕЙСКИМИ НОЧЬЮ?"

input nitectrl logic

REASON: ЕСЛИ В БАНКЕ ДОСТАТОЧНО ДЕНЕГ, ТО НАЧИНАЕМ СОБИРАТЬ ИНФОРМАЦИЮ ОБ ОХРАНЕ.

COMMENT: БАНК ИМЕЕТ ДОСТАТОЧНО СРЕДСТВ ДЛЯ УДОВЛЕТВОРЕНИЯ ВАШИХ ПОТРЕБНОСТЕЙ. УЗНАЕМ, ОХРАНЯЕТСЯ ЛИ ОН ДНЕМ И НОЧЬЮ.

 

RULE: R4

IF: dayctrl

THEN: output

output "СКОЛЬКО ЧЕЛОВЕК СТОИТ НА ОХРАНЕ БАНКА ДНЕМ?"

input dayсol num using "nn"

output

output "ПРОСМАТРИВАЕТСЯ ЛИ ПОМЕЩЕНИЕ БАНКА"

output "ВИДЕОКАМЕРОЙ?"

input kamera logic

REASON: ЕСЛИ ДНЕМ БАНК ОХРАНЯЕТСЯ, ТО НАДО УЗНАТЬ КОЛ-ВО ОХРАНЫ И ПОЛУЧИТЬ ИНФОРМАЦИЮ О НАЛИЧИИ В ПОМЕЩЕНИИ БАНКА ВИДЕОКАМЕРЫ.

COMMENT: ЕСЛИ У ВХОДА ДНЕМ СТОЯТ ПОЛИЦЕЙСКИЕ, ТО НАДО УЗНАТЬ СКОЛЬКО ИХ, И ПРОСМАТРИВАЕТСЯ ЛИ ПОМЕЩЕНИЕ ВИДЕОКАМЕРОЙ

 

RULE: R5

IF: nitectrl

THEN: output

output"СКОЛЬКО ЧЕЛОВЕК СТОИТ НА ОХРАНЕ БАНКА НОЧЬЮ?"

input nitecol num using "nn"

output

output "МОЖЕТЕ ЛИ ВЫ ОТКЛЮЧИТЬ СИГНАЛИЗАЦИЮ,"

output "ЧТОБЫ ОНА НЕ СРАБОТАЛА?"

input signal logic

REASON: ЕСЛИ НОЧЬЮ БАНК ОХРАНЯЕТСЯ, TO НАДО УЗНАТЬ КОЛ-ВО ОХРАННИКОВ И МОЖНО ЛИ ОТКЛЮЧИТЬ, СИГНАЛИЗАЦИЮ.

COMMENT: ЕСЛИ НОЧЬЮ БАНК ОХРАНЯЮТ ПОЛИЦЕЙСКИЕ, ТО НАДО УЗНАТЬ СКОЛЬКО ИХ И МОЖНО ЛИ ОТКЛЮЧИТЬ СИГНАЛИЗАЦИЮ.

 

RULE: R6

IF: not nitectrl

THEN: output

output "МОЖЕТЕ ЛИ ВЫ ОТКЛЮЧИТЬ СИГНАЛИЗАЦИЮ,"

output " ЧТОБЫ ОНА НЕ СРАБОТАЛА?"

input signal logic

REASON: ЕСЛИ НОЧЬЮ БАНК НЕ ОХРАНЯЕТСЯ, ТО НАДО УЗНАТЬ, ВОЗМОЖНО ЛИ ОТКЛЮЧИТЬ СИГНАЛИЗАЦИЮ.

COMMENT: ЕСЛИ НОЧЬЮ БАНК НЕ ОХРАНЯЮТ ПОЛИЦЕЙСКИЕ, ТО ВОЗМОЖНО ЛИ ОТКЛЮЧИТЬ СИГНАЛИЗАЦИЮ.

 

RULE: R7

IF: not nitectrl and signal

THEN: breaking="ОПЕРАЦИЮ НАДО НАЧИНАТЬ В 2 ЧАСА 17 МИНУТ"

breaking=breaking+" ПО МЕСТНОМУ ВРЕМЕНИ."

REASON: ЕСЛИ БАНК НОЧЬЮ ПОД ПЛОХОЙ ОХРАНОЙ, ТО ОГРАБЛЕНИЕ ПРОЙДЕТ ВПОЛНЕ УСПЕШНО. ГЛАВНОЕ НАЧАТЬ ЕГО В 2 ЧАСА 17 МИНУТ. В НОЧЬ НА ПЯТНИЦУ. COMMENT: ТАКИЕ БАНКИ НАДО БРАТЬ НОЧЬЮ.

 

RULE: R8

IF: not nitectrl and not signal and dayctrl

THEN: breaking="ОПЕРАЦИЮ НАДО НАЧИНАТЬ В 2 ЧАСА 17 МИНУТ "

breaking=breaking+"ПO МЕСТНОМУ ВРЕМЕНИ. НО БУДЬТЕ "

breaking=breaking+" OCTOPOЖНЫ, BAM НАДО ВСЕ СДЕЛАТЬ"

breaking=breaking+" ЗА 15 МИНУТ. ТРЕНИРУЙТЕСЬ!"

REASON: ЕСЛИ БАНК НОЧЬЮ ПОД ПЛОХОЙ ОХРАНОЙ, ТО ОГРАБЛЕНИЕ ПРОЙДЕТ ВПОЛНЕ УСПЕШНО. ГЛАВНОЕ НАЧАТЬ ЕГО В 2 ЧАСА 17 МИНУТ. В НОЧЬ НА ПЯТНИЦУ. И УЧТИТЕ, У ВАС ВСЕГО 15 МИНУТ.

COMMENT: ТАКИЕ БАНКИ НАДО БРАТЬ НОЧЬЮ.

 

RULE: R9

IF: (nitectrl or not signal and not nitectrl) and not dayctrl and not kamera

THEN: breaking="TAKOЙ БАНК НАДО БРАТЬ В 16 ЧАСОВ 45 МИНУТ"

breaking=breaking+" ВДВОЕМ, ИМЕЯ ПРИ СЕБЕ ПИСТОЛЕТЫ."

REASON: ЕСЛИ БАНК НОЧЬЮ ПОД ОХРАНОЙ ИЛИ СИГНАЛИЗАЦИЕЙ, НО ДНЕЙ БРОШЕН НА ПРОИЗВОЛ СУДЬБЫ, ТО ОГРАБЛЕНИЕ ПРОЙДЁТ ВПОЛНЕ УСПЕШНО. ГЛАВНОЕ НАЧАТЬ ЕГО В 16 ЧАСОВ 45 МИНУТ В ПЯТНИЦУ.

COMMENT: ТАКИЕ БАНКИ НАДО БРАТЬ ДНЕМ ПРИ ВСЕМ ЧЕСТНОМ НАРОДЕ.

 

RULE: R10

IF: (nitectrl or not signal and not nitectrl) and not dayctrl and kamera

THEN: breaking="TAKOЙ БАНК НАДО БРАТЬ В 16 ЧАСОВ 45 МИНУТ"

breaking=breaking+" ВДВОЕМ, ИМЕЯ ПРИ СЕБЕ ПИСТОЛЕТЫ"

breaking=breaking+" И МАСКИ."

REASON: ЕСЛИ БАНК НОЧЬЮ ПОД ОХРАНОЙ ИЛИ СИГНАЛИЗАЦИЕЙ, НО ДНЕМ БРОШЕН НА ПРОИЗВОЛ СУДЬБЫ, ТО ОГРАБЛЕНИЕ ПРОЙДЕТ ВПОЛНЕ УСПЕШНО. ГЛАВНОЕ НАЧАТЬ ЕГО В 16 ЧАСОВ 45 МИНУТ В ПЯТНИЦУ.

COMMENT: ТАКИЕ БАНКИ НАДО БРАТЬ ДНЕМ ПРИ ВСЕМ ЧЕСТНОМ НАРОДЕ.

 

RULE: R11

IF: dayctrl and nitectrl and (people<nitecol or guns<daycol)

THEN: breaking="СИДЕЛИ БЫ ВЫ ЛУЧШЕ ДОМА И НЕ РЫПАЛИСЬ "

breaking=breaking+"ПОНАПРАСНУ."

 

RULE: R12

IF: (people or guns)<l and not signal

THEH: breaking="СИДЕЛИ БЫ ВЫ ЛУЧШЕ ДОНА И НЕ РЫПАЛИСЬ "

breaking=breaking+"ПОНАПРАСНУ ПРИ ТАКОМ РАСКЛАДЕ "

breaking=breaking+"BЫ ОБЯЗАТЕЛЬНО ПОПАДЕТЕСЬ. МОЙ "

breaking=breaking+"BAM СОВЕТ: ИЩИТЕ ЛЮДЕЙ И "

breaking=breaking+"ПРИОБРЕТАЙТЕ ОРУЖИЕ."

 

RULE: R13

IF: not dayctrl and people>1 and guns>l and nitectrl

THEN: breaking="У ВАС НЕПЛОХИЕ ШАНСЫ НА УСПЕХ ПРИ РАБОТЕ"

breaking=breaking+" ДНЕМ. И ЕСЛИ ВЫ ЗАХВАТИТЕ ДВУХ "

breaking=breaking+"CAMHX ЛОВКИХ РЕБЯТ, ТО ПРИ "

breaking=breaking+"НЕПЛОХОМ РАСКЛАДЕ ВЫ СДЕЛАЕТЕ ЭТО"

breaking=breaking+" УСПЕШНО. ДА, И НЕ ЗАБУДЬТЕ МАСКИ,"

breaking=breaking+"TAM НАВЕРНЯКА УСТАНОВЛЕНА "

breaking=breaking+"BИДEOKAMEРА."

COMMENT: ДНЕМ БАНК НЕ ОХРАНЯЕТСЯ.

 

RULE: R14

IF: daycol<min(people,guns)-2 and nitecol>daycol+l

THEN: breaking="ЛУЧШE ВСЕГО БРАТЬ ЭТОТ БАНК ШТУРМОМ,"

breakine=breaking+"TAK КАК У ВАС ВПОЛНЕ ДОСТАТОЧНО"

breaking=breaking+" ЛЮДЕЙ. НО СТОИТ ЛИ ДЕЛАТЬ ЭТО?"

COMMENT: ДНЕМ КОНТРОЛЬ ПОСЛАБЕЕ, ЧЕМ НОЧЬЮ.

 

 

VAR: GUNS

LABEL: КОЛ-ВО ИМЕЮЩИХСЯ В ВАШЕМ РАСПОРЯЖЕНИИ ЕД. ОГНЕСТРЕЛЬНОГО ОРУЖИЯ.

 

VAR: NMONEY

LABEL: ПЛАНИРУЕМАЯ СУММА ОГРАБЛЕНИЯ.

 

VAR: PEOPLE

LABEL: КОЛ-ВО ЧЛЕНОВ ВАШЕЙ ТУСОВКИ.

 

END:

 

В варианте 4 предлагается предусмотреть изменения, учитывающие ситуации:

а) ограбление транспорта, перевозящего банковские ценности;

б) ограбление банка в условиях стихийного бедствия.

 

 

Вариант 5

GOAL: dinner

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ. ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */

/*ПРИГОТОВЛЕНИЮ ОБЕДА НА ЖЕЛАЕМОЕ ЧИСЛО ПЕРСОН В */

/* ЗАВИСИМОСТИ ОТ НАБОРА И КОЛИЧЕСТВА ПРОДУКТОВ, */

/* ИМЕЮЩИХСЯ В ВАШЕМ РАСПОРЯЖЕНИИ. СООБЩИТ ПРИЧИНЫ */ /*ПОЯВЛЕНИЯ ИМЕННО ЭТИХ СОВЕТОВ. */

/* КОНЕЧНО, ЭТО ДАЛЕКО НЕ ПОЛНЫЙ НАБОР, НО ВЕДЬ ОН И ПРЕДНА- */

/*ЗНАЧЕН ДЛЯ ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. ТАК ЧТО */

/* НЕ ИЩИТЕ В НЕМ ЧЕГО-ЛИБО СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-Y, HET-N) */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output " ПОШАРИВ В СВОЕМ ХОЛОДИЛЬНИКЕ И ОБНАРУЖИВ ТАМ "

output "КОЕ-КАКИЕ ЗАПАСЫ, ВЫ РЕШИЛИ ЧТО-НИБУДЬ СОСТРЯПАТЬ. НО "

output "ЧТО ИМЕННО ВЫ ЕЩЕ НЕ ПРИДУМАЛИ. МЫ ПОСТАРАЕМСЯ ДАТЬ "

output "ВАМ СОВЕТ, КАК ИЗ ИМЕЮЩИХСЯ ПРОДУКТОВ СДЕЛАТЬ НЕЧТО"

output " СЪЕДОБНОЕ. НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ "

output "ВСЮ ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ..."

meatexst="Y"

output " СКАЖИТЕ, ВЫ НАШЛИ В ХОЛОДИЛЬНИКЕ МЯСО (Y/N)?"

input meatexst str using "a"

 

DO:

clear

output " ВОТ ЧТО МНЕ КАЖЕТСЯ ПРИЕМЛЕМЫМ В ДАННОЙ СИТУАЦИИ."

output

output dinner

 

RULE: Rl

IF: meatexst<>"Y" or meatexst<>"y"

THEN: output " ИЗВИНИТЕ, А ВЫ ВЕГЕТАРИАНЕЦ (Y/N)?"

input vegitar str using "a"

 

RULE: R2

IF: (meatexst<>"Y" or meatexst<>"y") and (vegitar<>"y" or vegitar<>"Y")

THEN: dinner=" ЛУЧШЕ ВСЕГО ВОЗЬМИТЕ СВОЙ ТОЛСТЫЙ БУМАЖНИК"

dinner=dinner+" И ОТПРАВЛЯЙТЕСЬ В РЕСТОРАН, ИБО БЕЗ "

dinner=dinner+"MЯCA НОРМАЛЬНОГО ОБЕДА НЕ ПОЛУЧИТСЯ "

 

RULE: R3

IF: vegitar="y" or vegitar="Y"

THEN: output

output " НУ, РАЗ ВЫ ВЕГЕТАРИАНЕЦ, ТО, НАВЕРНО,ОВОЩЕЙ "

output "У ВАС НАВАЛОМ (Y/N)?"

input vagitables str using "a"

 

RULE: R4

IF: meatexst="Y" or meatexst="y"

THEN: output

output " СКОЛЬКО ГРАММ МЯСА ВЫ ИМЕЕТЕ?"

input howmeat num using "nnnn"

output

output " НА СКОЛЬКО ПЕРСОН ЗАДУМАН ВАШ ОБЕД?"

input howfamily num using "n"

 

RULE: R5

IF: meatexst<>"Y" or meatexst<>"y"

THEN: output

output " ИЗВИНИТЕ, А ВЫ ВЕГЕТАРИАНЕЦ (Y/N)?"

input vegitar str using "a"

 

RULE: R6

IF: howmeat/howfamily>300

THEN: dinner="ЛУЧШЕ ВСЕГО ВОЗЬМИТЕ ЭТОТ КУСОК МЯСА,"

dinner=dinner+"ПOPEЖTE ЕГО ВДОЛЬ ВОЛОКОН НА "

dinner=dinner+"HETOЛCTЫE ПЛАСТЫ, ОТБЕЙТЕ, НАШПИГУЙТЕ"

dinner=dinner+" И НА 30 МИН. ОТЛОЖИТЕ. ЗАТЕМ БЕРЕТЕ"

dinner=dinner+" СКОВОРОДУ И ЖАРИТЕ НА МЕДЛЕННОМ "

dinner=dinner+"ОГHE. КАК ГОВОРИТСЯ, СОЛЬ, АНАНАСЫ,"

dinner=dinner+" ФИСТАШКИ - ПО ВКУСУ."

 

RULE: R7

IF: (howmeat/howfamily>80) and (howmeat/howfamily<=300)

THEN: enoughmeat=true

 

RULE: R8

IF: enoughmeat

THEN: output

output " МЯСО - ЭТО ЗАЛОГ УСПЕХА."

output

output"ИМЕЕТСЯ ЛИ В ВАШЕМ РАПОРЯЖЕНИИ КАПУСТА (Y/N)?"

input kapusta str using "a"

output

input svekla str using "a" with " СВЕКЛА (Y/N)?".

output

input potetou str using "a" with " КАРТОФЕЛЬ (Y/N)?"

 

RULE: R9

IF: (kapusta="y" or kapusta="Y") and (svekla="y" or svekla="Y") and
(potetou= "y" or potetou="Y")

THEN: dinner=" ВАРИТЕ УКРАИНСКИЙ БОРЩ."

 

RULE: R10

IF: howmeat/howfamily<=80

THEN: enoughmeat=false

 

RULE: R11

IF: not enoughmeat

THEN: dinner=" МЯСА ОЧЕНЬ МАЛО, ЧТОБЫ ПРИГОТОВИТЬ ПЕРВОЕ ИЛИ"

dinner=dinner+"BTOPOE, HO, БЫТЬ МОЖЕТ, ЕГО ХВАТИТ НА "

dinner=dinner+"МЯСНОЙ САЛАТ."

 

RULE: R12

IF: vagitables="Y" or vagitables="y"

THEN: dinner=" СВАЛИТЕ ВСЕ В ОДНУ КУЧУ, ЗАТЕМ МЕЛКО ПОКРОШИТЕ"

diriner=dinner+"(МОЖНО ПРОПУСТИТЬ ЧЕРЕЗ МЯСОРУБКУ),"

dinner=dinner+" ПЕРЕЛОЖИТЕ ПОЛУЧИВШУЮСЯ МАССУ В " dinner=dinner+"САЛАТНИЦЫ И ПОДАВАЙТЕ К СТОЛУ. ЕСЛИ ВАМ "

dirmer=dinner+':ПОBE3ET, TO ВСЕ БУДУТ ДОВОЛЬНЫ. ЕСЛИ НЕТ -"

dinner=dinner+" HE ОБЕССУДЬТЕ."

 

 

VAR: DINNER

FIND: dinner="ПРИЧИНА ПОЯВЛЕНИЯ ЭТИХ НЕПОЛАДОК НАМ НЕИЗВЕСТНА."

LABEL: КАК ПОСТУПИТЬ, ЕСЛИ НУЖНО ПРИГОТОВИТЬ ОБЕД.

 

VAR: MEATEXST

LABEL: НАЛИЧИЕ МЯСА В ВАШЕМ ХОЛОДИЛЬНИКЕ.

 

VAR: ENOUGHMEAT

LABEL: ДОСТАТОЧНО ЛИ МЯСА ДЛЯ ОДНОГО ИЗ ПЕРВЫХ БЛЮД.

 

VAR: HOWMEAT

LABEL: ПРИМЕРНЫЙ ВЕС КУСКА МЯСА.

 

VAR: HOWFAMILY

LABEL: КОЛИЧЕСТВО ПЕРСОН, ПРИГЛАШЕННЫХ НА ОБЕД.

 

VAR: KAPUSTA

LABEL: ЕСТЬ ЛИ В ДОМЕ КАПУСТА.

 

VAR: SVEKLA

LABEL: ЕСТЬ ЛИ В ДОМЕ СВЕКЛА.

 

VAR: POTETOU

LABEL: ЕСТЬ ЛИ В ДОМЕ КАРТОФЕЛЬ.

 

VAR: VEGITAR

LABEL: ЯВЛЯЕТЕСЬ ЛИ ВЫ ВЕГЕТАРИАНЦЕМ.

 

END:

 

В варианте 5 предлагается предусмотреть изменения, учитывающие ситуации:

а) наличие в холодильнике сыра;

б) наличие в холодильнике пива.

 

 

Вариант 6

GOAL: whattodo

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ НА */

/* ТЕМУ "КАК УСПЕТЬ НА ЭКЗАМЕН", В ЗАВИСИМОСТИ ОТ ОПОЗДАНИЯ И*/

/* ВАЖНОСТИ СВОЕВРЕМЕННОГО ПРИХОДА. ОЧЕВИДНО, ЧТО ЭТО */

/* ДАЛЕКО НЕ ПОЛНЫЙ НАБОР, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ */

/* ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. ТАК ЧТО НЕ */

/* ИЩИТЕ В НЕМ СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-Y, НЕТ-N) */

/* НУ, И КОНЕЧНО, НА ПРОСЬБУ СИСТЕМЫ ВВЕСТИ СООТВЕТ- */

/* СТВУЮЩЕЕ ЧИСЛО. */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output

output " У ВАС СЕГОДНЯ ЭКЗАМЕН, А ВЫ ПРОСНУЛИСЬ СЛИШКОМ "

output "ПОЗДНО... ВАМ, ЕСТЕСТВЕННО, НАДО УСПЕТЬ НА НЕГО, НО "

output "КАК? МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ, КАК, ИСХОДЯ ИЗ "

output "СЛОЖИВШЕЙСЯ СИТУАЦИИ, ВАМ СЛЕДУЕТ ПОСТУПИТЬ. НО ДЛЯ "

output "ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ..."

output

lating="Y"

output" СКАЖИТЕ, ВЫ ДЕЙСТВИТЕЛЬНО ОПАЗДЫВАЕТЕ (Y/N)?"

input lating str using "a"

 

DO:

clear

output " ВОТ ЧТО МНЕ КАЖЕТСЯ ПРИЕМЛЕМЫМ В ДАННОЙ СИТУАЦИИ."

output

output whattodo

 

RULE: Rl

IF: mainexam and biglate

THEN: whattodo=" БЕРИТЕ ТАКСИ НА ВЕСЬ ПУТЬ ДО ИНСТИТУТА. В"

whattodo=whattodo+"TAKОЙ СИТУАЦИИ ДЕНЬГИ ЗНАЧЕНИЯ НЕ "

whattbdo=whattodo+"ИМЕЮT."

 

RULE: R2

IF: not mainexam

THEN: whattodo=" УСПОКОИТЕСЬ, НА НЕ ОЧЕНЬ ВАЖНЫЙ ЭКЗАМЕН "

whattodo=whattodo+"HE СТОИТ СИЛЬНО СПЕШИТЬ. ПОВЕРЬТЕ,"

whattodo=whattodo+"BAM ПРОСТЯТ ВАШЕ ОПОЗДАНИЕ ИЛИ ДАЖЕ"

whattodo=whattodo+"ОТСУТСТВИЕ. ТАК ЧТО НЕСПЕША ПО-"

whattodo=whattodo+"EЗЖAЙTE НА ОБЩЕСТВЕННОМ ТРАНСПОРТЕ."

 

RULE: R3

IF: not biglate and mainexam

THEN: whattodo=" HE ВОЛНУЙТЕСЬ, ВСЕ ЕЩЕ БУДЕТ ХОРОШО. ВАМ "

whattodo=whattodo+"СТОИТ ВЗЯТЬ ТАКСИ НА ЧАСТЬ ПУТИ,"

whattodo=whattodo+" НАПРИМЕР, ДО КАКОГО-НИБУДЬ "

whattodo=whattodo+"УЗЛОВОГО ПУНКТА (ДО МЕТРО, АВТ."

whattodo=whattodo+"OCTAHQBKИ). "

 

RULE: R4

IF: onlyge4

THEN: mainexam=false

 

RULE: R5

IF: veroyatn >= 90

THEN: mainexam=false

 

RULE: R6

IF: (veroyatn <90) and not onlyge4

THEN: mainexam=true

 

ROLE: R7

IF: lating<>"Y" and lating<>"y"

THEN: whattodo=" ВСЕ В ПОРЯДКЕ. ЖЕЛАЮ ВАМ НИ ПУХА."

 

RULE: R8

IF: howcommon<onwalk+bymetro+bybus+15

THEN: biglate=true

 

RULE: R9

IF: howcommon >= onwalk+bymetro+bybus+15

THEN: biglate=false

 

 

VAR: WHATTODO

FIND: whattodo=" СОЖАЛЕЮ, Я НЕ ЗНАЮ, ЧТО ВАМ ПОСОВЕТОВАТЬ..."

LABEL: СОВЕТ КАК ДЕЙСТВОВАТЬ В ДАННОЙ СИТУАЦИИ.

 

VAR: MAINEXAM

LABEL: ПРЕДСТОЯЩИЙ ЭКЗАМЕН - ВАЖНЫЙ.

 

VAR: BIGLATE

LABEL: ТЕКУЩЕЕ ОПОЗДАНИЕ - ЗНАЧИТЕЛЬНОЕ.

 

VAR: LATING

LABEL: ВЫ РЕАЛЬНО ОПАЗДЫВАЕТЕ.

 

VAR: HOWCOMMON

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ДОБИРАТЬСЯ ДО ИНСТИТУТА "

output "ОБЩЕСТВЕННЫМ ТРАНСПОРТОМ?"

input howcommon num using "nnn"

LABEL: ВРЕМЯ В ПУТИ ДО ИНСТИТУТА.

 

VAR: ONWALK

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ИДТИ ПЕШКОМ?"

input onwalk num using "nn"

LABEL: ВРЕМЯ ПЕШЕГО ПЕРЕДВИЖЕНИЯ.

 

VAR: BYMETRO

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ПРОВОДИТЬ В "

output "МЕТРО?"

input byinetro num using "nnn"

LABEL: ВРЕМЯ ПРОЕЗДА В МЕТРОПОЛИТЕНЕ.

 

VAR: BYBUS

FIND: output

output " СКОЛЬКО МИНУТ ВАМ ПРИХОДИТСЯ ПРОВОДИТЬ В "

output "АВТОБУСЕ?"

input bybus num using "nnn"

LABEL: ВРЕМЯ ПРОЕЗДА В АВТОБУСЕ, ТРОЛЛЕЙБУСЕ, ТРАМВАЕ.

 

VAR: ONLYGE4

FIND: output

output " НА ПРЕДСТОЯЩЕМ ЭКЗАМЕНЕ НЕ СТАВЯТ МЕНЬШЕ 4?"

input onlyge4 logic

LABEL: НА ПРЕДСТОЯЩЕМ ЭКЗАМЕ НЕ НЕ СТАВЯТ МЕНЬШЕ 4.

 

VAR: VEROYATN

FIND: output

output " КАКОВА ОБЪЕКТИВНАЯ ВЕРОЯТНОСТЬ ПОЛУЧЕНИЯ ВАМИ"

output " ЖЕЛАЕМОЙ ОЦЕНКИ?"

input veroyatn num using "nn"

LABEL: ОБЪЕКТИВНАЯ ВЕРОЯТНОСТЬ ПОЛУЧЕНИЯ ВАМИ ЖЕЛАЕМОЙ ОЦЕНКИ.

 

END:

 

В варианте 6 предлагается предусмотреть изменения, учитывающие ситуации:

а) свое плохое самочувствие (болезнь);

б) возможность позвонить экзаменатору в аудиторию, где проходит экзамен (предупредить).

 

 

Вариант 7

GOAL: youhouse

 

/* ЭТА ЭКСПЕРТНАЯ СИСТЕМКА ДАСТ ВАМ РЯД СОВЕТОВ НА ТЕМУ: */

/* ХВАТИТ ЛИ ВАМ ЗАГОТОВЛЕННЫХ СТРОЙМАТЕРИАЛОВ ДЛЯ */

/* ПОСТРОЙКИ ЗАДУМАННОГО ВАМИ СОБСТВЕННОГО ДОМИКА НА */

/* СОБСТВЕННОЙ ЗЕМЛЕ. КОНЕЧНО, ЭТО ДАЛЕКО НЕ ПОЛНЫЙ */

/* НАБОР, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА */

/* САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. */

/* ТАК ЧТО НЕ ИЩИТЕ В НЕМ ЧЕГО-ЛИБО СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ СТРОКОВОЙ ПЕРЕМЕННОЙ (ДА-Y, HET-N) ИЛИ ЧИСЛО. */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output " НАСТАЛА ПОРА ОБЗАВЕСТИСЬ НЕДВИЖИМОСТЬЮ (ВЫ РЕШИЛИСЬ "

output "ПОСТРОИТЬ СЕБЕ ДОМ). МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ, С "

output "ПОМОЩЬЮ КОТОРОГО ВЫ СМОЖЕТЕ ОПРЕДЕЛИТЬ, ХВАТИТ ЛИ ВАМ *

output "СТРОЙМАТЕРИАЛОВ НА НЕГО."

output "НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ "

output "ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ..."

sqrland=0

output " СКОЛЬКО СОТОК ЗЕМЛИ НАХОДИТСЯ В ВАШЕМ ВЛАДЕНИИ?"

input sqrland num using "nn"

 

DO:

clear

output " ВОТ ЧТО МНЕ КАЖЕТСЯ ПРИЕМЛЕМЫМ В ДАННОЙ СИТУАЦИИ."

output

output youhouse

 

RULE: Rl

IF: sqrland<10

THEN: enoughland=false

 

RULE: R2

IF: sqrland>=10

THEN: enoughland=true

 

RULE: R3

IF: enoughland

THEN: output "СКОЛЬКО ЭТАЖЕЙ В ДОМЕ БУДЕТ?"

input howflors num using "nn"

output "КАКОВА ПЛОЩАДЬ ОДНОГО ЭТАЖА (KB. M.)?"

input howsqr num using "rin"

 

RULE: R4

IF: howsqr>sqrland*5

THEN: rightsqr=false

 

RULE: R5

IF: howsqr<=sqrland*5

THEN: rightsqr=true

 

RULE: R6

IF: not rightsqr

THEN: youhouse="ДЛЯ ВАШЕГО УЧАСТКА ТАКАЯ ПЛОЩАДЬ ЭТАЖА НЕ " уоuhouse=youhousa+"ПОДХОДИТ."

 

RULE: R7

IF: howflors<=2

THEN: rightflors=true

 

RULE: R8

IF: howflors>2

THEN: rightflors=false

 

RULE: R9

IF: rightflors and rightsqr

THEN: output

output "СКОЛЬКО ТЫС. ШТ. КИРПИЧА ВЫ ПРИГОТОВИЛИ ДЛЯ"

output " СТРОИТЕЛЬСТВА?"

input howbloks num using "nn"

 

RULE: R10

IF: howbloks<howflors*howsqr*3

THEN: enoughbloks=false

 

RULE: R11

IF: howbloks>=howflors*howsqr*3

THEN: enoughbloks=true

 

RULE: R12

IF: not enoughbloks

THEM: youhouse="HA ЖЕЛАЕМЫЙ ДОМ ВАМ НЕ ХВАТАЕТ КИРПИЧА."

 

RULE: R13

IF: enoughbloks

THEN: output "СКОЛЬКО KB. M. ШИФЕРА ИЛИ ДРУГОГО "

output "КРОВЕЛЬНОГО МАТЕРИАЛА ВЫ ИМЕЕТЕ?"

input howshifers num using "nn"

 

RULE: R14

IF: howshifers>=howsqr*l.2

THEH: enoughshifers=true

 

RULE: R15

IF: howshifers<howsqr*1.2

THEN: enoughshifers=false

 

RULE: R16

IF: not enoughshifers

THEN: youhouse="BAM HE ХВАТАЕТ КРОВЕЛЬНОГО МАТЕРИАЛА ДЛЯ " youhouse=youhouse+"TOГO, ЧТОБЫ НАКРЫТЬ СВОЙ " youhouse=youhouse+"БУДУЩИЙ ДОМ. ВАМ НУЖНО ЕЩЕ " youhouse=youhouse+"МАЛОСТЬ ПОДЗАКУПИТЬСЯ ИЛИ" youhouse=youhouse+" ПЕРЕСМОТРЕТЬ ПРОЕКТ."

 

RULE: R17

IF: enoughshifers and enoughbloks and enoughland

THEN: youhouse="ВЫ ИМЕЕТЕ ПОЧТИ ВСЕ НЕОБХОДИМОЕ ДЛЯ"

youhouse=youhouse+"ОСУЩЕСТВЛЕНИЯ СВОИХ ПЛАНОВ."

youhouse=youhouse+"И ЕСЛИ ВЫ ПРИЛОЖИТЕ ДОСТАТОЧНО"

youhouse=youhouse+"УСИЛИЙ, TО ЧЕРЕЗ ГОДИК-ДРУГОЙ " youhouse=youhouse+"БУДЕТ У ВАС СВОИ ДОМИК."

 

RULE: R18

IF: not rightflors

THEN: youhouse="TAKHE ДОМА СТРОИТЬ НЕ НАДО. НЕ ДРАЗНИТЕ"

youhouse=youhouse+"BAШИX СОСЕДЕЙ. ВЕДЬ ОНИ ПРОСТЫЕ " yotshouse=youhouse+"CMEPTHЫE. ПОДЖЕЧЬ МОГУТ..."

 

 

VAR: SQRLAND

LABEL: ПЛОЩАДЬ ВАШЕГО УЧАСТКА

 

VAR: EHOUGHLAND

LABEL: ДОСТАТОЧНО ЛИ ПЛОЩАДИ ВАШЕГО УЧАСТКА

 

VAR: HOWSQR

LABEL: ПЛОЩАДЬ ОДНОГО ЭТАЖА В ДОМЕ

 

VAR: HOWFLORS

LABEL: КОЛИЧЕСТВО ЭТАЖЕЙ В ДОМЕ

 

VAR: RIGHTSQR

LABEL: СООТВЕТСТВИЕ ПЛОЩАДИ ЭТАЖА ПЛОЩАДИ ДОМА

 

VAR: RIGHTFLORS

LABEL: ВОЗМОЖНОСТЬ ПОСТРОЙКИ ДОМА С ТАКОЙ ЭТАЖНОСТЬЮ

 

VAR: HOWSHIFERS

LABEL: КОЛ-ВО КРОВЕЛЬНОГО МАТЕРИАЛА (КВ. М.)

 

VAR: EHOUGHSHIFERS

LABEL: ДОСТАТОЧНО ЛИ КРОВЕЛЬНОГО МАТЕРИАЛА

 

END:

 

В варианте 7 предлагается предусмотреть изменения, учитывающие ситуации:

а) возможность заказать строительство дома строительной организации;

6) необходимость постройки гаража.

 

 

Вариант 8

GOAL: ways

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */

/* УСТРАНЕНИЮ НЕКОТОРЫХ ДЕФЕКТОВ ПИСТОЛЕТОВ- */

/* КРАСКОПУЛЬТОВ И СООБЩИТ ПРИЧИНЫ ИХ ПОЯВЛЕНИЯ. */

/* КОНЕЧНО, ЭТО МАЛЕНЬКИЙ И ДАЛЕКО НЕ ПОЛНЫЙ */

/* НАБОР, НО ВЕДЬ ОН И ПРЕДНАЗНАЧЕН ДЛЯ */

/* ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU. TAK ЧТО */

/* НЕ ИЩИТЕ В НЕМ СВЕРХИНТЕЛЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-Y, HET-N) */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output "ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output "ВЫ РЕШИЛИСЬ ОКРАСИТЬ КАКУЮ-ТО ПОВЕРХНОСТЬ ПРИ ПОМОЩИ"

output "ПИСТОЛЕТА-КРАСКОПУЛЬТА. А ВАШ ПИСТОЛЕТИК ЧТО-ТО"

output "НЕНОРМАЛЬНО РАБОТАЕТ. МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ, "

output "КАК УСТРАНИТЬ НЕКОТОРЫЕ НЕИСПРАВНОСТИ И СОВЩИМ ВАМ "

output "ПРИЧИНЕ ИX ПОЯВЛЕНИЯ."

output "НО ДЛЯ ЭТОГО ВЫ ДОЛЖНЫ ПРЕДОСТАВИТЬ МНЕ ВСЮ"

output "ИНФОРМАЦИЮ."

output "ИТАК, ПОЕХАЛИ..."

gunsdef=true

output "ПРИ РАБОТЕ ПИСТОЛЕТА ПОЯВИЛИСЬ КАКИЕ-ТО ДЕФЕКТЫ (Y/N)?"

input gunsdef str using "a"

 

DO:

clear

output

output " ВОТ ЧТО Я ВАМ СКАЖУ:"

output

output reasons

output

output '"А ВОТ ЧТО ВАМ СЛЕДУЕТ СДЕЛАТЬ В ДАННОЙ СИТУАЦИИ."

output ways

 

RULE: Rl

IF: gunsdef="Y" or gunsdef="y"

THEN: output " ЧТО-ТО НЕЛАДНОЕ СО СТРУЕЙ КРАСКИ (Y/N)? "

input drops str using "a"

REASON: ЕСЛИ ЕСТЬ ДЕФЕКТЫ, ТО СКОРЕЕ ВСЕГО ОНИ СВЯЗАНЫ СО

СТРУЕК КРАСКИ.

COMMENT: СВЯЗАНЫ ЛИ ДЕФЕКТЫ СО СТРУЕЙ.

 

RULE: R2

IF: gunsdef<>"Y" or gunsdef<>"y"

THEN: output

reasons="HET ДЕФЕКТОВ, ЗНАЧИТ НЕЧЕГО ВОЛНОВАТЬСЯ ЗРЯ." wауs="ПОЙДИТЕ ЛУЧШЕ ОТДОХНИТЕ, ВЕДЬ У ВАС ВСЕ В "

wауs=wауs+"ПОРЯДКЕ."

REASON: ЕСЛИ НЕТ ДЕФЕКТОВ, ТО НИЧЕГО ДЕЛАТЬ НЕ НУЖНО COMMENT: НЕТ ДЕФЕКТОВ - ОТДЫХАЙ

 

RULE: R3

IF: notkrask="Y" or notkrask="y"

THEN: reasons=" ЗАСОРЕНА СЕТКА РЕЗЕРВУАРА ДЛЯ КРАСКИ ИЛИ"

reasons=reasons+"НЕДОСТАТОЧНЫЙ УРОВЕНЬ КРАСКИ В "

reasons=reasons+''БАКЕ. "

ways="В ПЕРВОМ СЛУЧАЕ НАДО ПРОЧИСТИТЬ СЕТКУ, А ВО "

ways=ways+"ВТОРОМ ДОБАВИТЬ КРАСКУ В КРАСКОНАГНЕТА"

ways=ways+''ТЕЛЬНЫЙ БАЧОК."

REASON: ЕСЛИ СОВСЕМ НЕ ПОСТУПАЕТ КРАСКА В КРАСКОПУЛЬТ,

ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК, СВЯЗАННЫХ С НЕПОСТУПЛЕНИЕМ КРАСКИ В ПИСТОЛЕТ.

 

RULE: R4

IF: drops="Y" or drops="y"

THEN: output

output "СЛАБЫЙ РАСПЫЛ СТРУИ?"

input lowfluct str using "a"

REASON: ЕСЛИ ДЕФЕКТЫ СВЯЗАНЫ СО СТРУЕЙ, ТО СКОРЕЕ ВСЕГО ЭТО

ЕЕ СЛАБЫЙ РАСПЫЛ.

COMMENT: СЛАБЫЙ ЛИ РАСПЫЛ СТРУИ.

 

RULE: R5

IF: (drops="Y" or drops="y") and lowfluct<>"Y" and lowfluct<>"y"

THEN: output

output " СЛИШКОМ РАЗБРОСАННАЯ СТРУЯ, СИЛЬНОЕ "

output "ТУМАНООБРАЗОВАНИЕ?"

Input highfluct str using "a"

REASON: ЕСЛИ ДЕФЕКТЫ СВЯЗАННЫ СО СТРУЕЙ И СТРУЯ НЕ СЛАБАЯ,

ТО СКОРЕЕ ВСЕГО СЛИШКОМ СИЛЬНЫЙ РАСПЫЛ ОННОЙ.

COMMENT: СИЛЬНЫЙ ЛИ РАСПЫЛ СТРУИ.

 

RULE: R6

IF: (drops="Y" or drops="y") and (harddrops="Y" or harddrops="y")

THEN: reasons=" ТАКОЙ ЭФФЕКТ ВОЗМОЖЕН ТОЛЬКО В ТРЕХ "

reasons=reasons+"СЛУЧАЯХ: СЛАБОЕ ДАВЛЕНИЕ НА "

reasons=reasons+''КРАСКУ, СЛИШКОМ ГУСТАЯ КРАСКА ИЛИ "

reasons=reasons+"HEПЛOTHO ПРИЖАТ ВОЗДУХОПРОВОД."

ways=" СООТВЕТСТВЕННО НЕОБХОДИМО: ОТРЕГУЛИРОВАТЬ "

ways=ways+"ДАВЛЕНЙЕ, РАЗБАВИТЬ КРАСКУ РАСТВОРИТЕЛЕМ,"

ways=ways+"ПРИЖАТЬ И ЗАКРЕПИТЬ ВОЗДУХОПРОВОД."

REASON: ЕСЛИ СТРУЯ КРАСКИ ПОДАЕТСЯ РЕЗКИМИ ТОЛЧКАМИ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК, СВЯЗАННЫХ С РЕЗКИМИ ТОЛЧКАМИ СТРУИ КРАСКИ В ПИСТОЛЕТЕ.

 

RULE: R7

IF: (drops="Y" or drops="y") and (lowfluct="Y" or lowfluct="y")

THEM: reasons="ТАКОЙ ЭФФЕКТ ВОЗМОЖЕН ТОЛЬКО В ДВУХ СЛУЧАЯХ:"

reasons=reasons+"MAЛO ВОЗДУХА ИЛИ ЗАГРЯЗНЕНО ОТВЕРСТИЕ"

reascns=reasons+" COПЛA."

ways=" СООТВЕТСТВЕННО НЕОБХОДИМО: ПРОВЕРИТЬ И УСТРА"

ways=ways+"НИТЬ МЕСТА УТЕЧКИ ВОЗДУХА, ПРОЧИСТИТЬ СОПЛО."

REASON: ЕСЛИ СТРУЯ КРАСКИ ИМЕЕТ СЛАБЫЙ РАСПЫЛ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИЛА.

COMMENT: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК, СВЯЗАННЫХ СО СЛАБЫМ РАСПЫЛОМ СТРУИ КРАСКОПУЛЬТА.

 

RULE: R8

IF: (drops="Y" or drops="y") and (highfluct="Y" or highfluct="y")

THEN: reasons="TAKOH ЭФФЕКТ ВОЗМОЖЕН ТОЛЬКО В ТРЕХ СЛУЧАЯХ:"

reasons=reasons+" ЗАГРЯЗНЕН КОНЧИК ИГЛЫ, СРАБОТАЛОСЬ"

reasons=reasons+" САЛЬНИКОВОЕ УПЛОТНЕНИЕ ИГЛЫ "

reasons=reasons+"ИЗЛИШНЯЯ ПОДАЧА ВОЗДУХА ИЛИ НЕДОС"

reasons=reasons+"TATОЧНАЯ ПОДАЧА КРАСКИ."

ways=" СООТВЕТСТВЕННО НЕОБХОДИМО: ОЧИСТИТЬ КОНЧИК "

ways=ways+"ИГЛЫ, ПОДТЯНУТЬ ГАЙКУ САЛЬНИКОВОГО "

ways=ways+"УПЛОТНЕНИЯ, ОТРЕГУЛИРОВАТЬ ПОДАЧУ ВОЗДУХА"

ways=ways+"И КРАСКИ."

REASON: ЕСЛИ СТРУЯ КРАСКИ ИМЕЕТ СИЛЬНЫЙ РАСПЫЛ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК, СВЯЗАННЫХ С СИЛЬНЫМ РАСПЫЛОМ СТРУИ КРАСКОПУЛЬТА.

 

RULE: R9

IF: not (drops="Y" or drops="y") and (badklap="Y" or badklap="y")

THEN: reasons=" ТАКОЙ ЭФФЕКТ ВОЗМОЖЕН ТОЛЬКО В ДВУХ "

reasons=reasons+"СЛУЧАЯХ: СРАБОТАЛАСЬ ИГЛА СОПЛА,"

reasons=reasons+"ИГЛА HE ЗАКРЫВАЕТ ОТВЕРСТИЯ СОПЛА."

ways=" СООТВЕТСТВЕННО НЕОБХОДИМО: ПРИТЕРЕТЬ ИЛИ "

ways=ways+"CMEНИТЬ ИГЛУ, ВЫДВИНУТЬ ИГЛУ ПУТЕМ "

ways=ways+"ОТВИНЧИВАНИЯ РЕГУЛИРОВОЧНЫХ ГАЕК."

REASON: ЕСЛИ НЕПОЛАДКИ СОСТОЯТ В ПРОТЕЧКЕ КРАСКИ ПРИ ЗАКРЫТОМ КЛАПАНЕ, ТО ЭТА ПРОБЛЕМА ВПОЛНЕ РАЗРЕШИМА.

COMMENT: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК, СВЯЗАННЫХ С ПРОТЕКАНИЕМ КРАСКИ ПРИ ЗАКРЫТОМ КЛАПАНЕ.

 

 

VAR: GUNSDEF

LABEL: НАЛИЧИЕ ДЕФЕКТОВ ПИСТОЛЕТА-КРАСКОПУЛЬТА.

 

VAR: NOTKRASK

FIND: output " КРАСКА СОВСЕМ НЕ ПОДАЕТСЯ В ПИСТОЛЕТ (Y/N)?"

input notkrask str using "a"

LABEL: ПОДАЧА КРАСКИ В ПИСТОЛЕТ.

 

VAR: HARDDROPS

FIND: output " НАБЛЮДАЮТСЯ РЕЗКИЕ ТОЛЧКИ И ПУЛЬСАЦИЯ "

output " СТРУИ (Y/N)? "

input harddrops str using "a"

LABEL: СТРУЯ ПУЛЬСИРУЕТ И БЫВАЮТ РЕЗКИЕ ТОЛЧКИ.

 

VAR: BADKLAP

FIND: output "KPACKA ПРОХОДИТ ПРИ ЗАКРЫТОМ КЛАПАНЕ(Y/N)?"

input badklap str using "a"

LABEL: НЕГОДЕН КЛАПАН ПИСТОЛЕТА.

 

VAR: WAYS

FIND: reasons="ПРИЧИНА ПОЯВЛЕНИЯ ЭТИХ НЕПОЛАДОК МНЕ "

reasons=reasons+"HEИ3BECTHA."

ways="ПОПРОБУЙТЕ ОБРАТИТЬСЯ В МАСТЕРСКУЮ."

LABEL: СПОСОБ УСТРАНЕНИЯ НЕПОЛАДОК.

 

END:

 

В варианте 8 предлагается предусмотреть изменения, учитывающие ситуацию:

наличие дефекта в пистолете, не связанного со струей (не нажимается кнопка приведения пистолета в действие или краска вытекает из пистолета через какие-то щели, но не через сопло).

 

 

Вариант 9

GOAL: ways

 

/* ЭТОТ НАБОР ПРАВИЛ ПОЗВОЛИТ ВАМ ПОЛУЧИТЬ РЯД СОВЕТОВ ПО */

/* УСТРАНЕНИЮ НЕКОТОРЫХ НЕИСПРАВНОСТЕЙ ОБЫЧНОГО */

/* ПАЯЛЬНИКА И СООБЩИТ ВОЗМОЖНЫЕ ПРИЧИНЫ ИХ ПОЯВЛЕНИЯ. */

/* КОНЕЧНО, ЭТО МАЛЕНЬКИЙ, НЕПОЛНЫЙ НАБОР, НО ОН И */

/* ПРЕДНАЗНАЧЕН ДЛЯ ПОКАЗА САМЫХ ТРИВИАЛЬНЫХ СРЕДСТВ GURU.*/

/* ТАК ЧТО БЫЛО БЫ С ВАШЕЙ СТОРОНЫ НАИВНО ОЖИДАТЬ ЧЕГО-ЛИБО*/

/* СВЕРХИНТЕЛЕКТУАЛЬНОГО. */

/* НА ВОПРОСЫ СИСТЕМЫ СЛЕДУЕТ ВВОДИТЬ СООТВЕТСТВУЮЩЕЕ */

/* ЗНАЧЕНИЕ БУЛЕВСКОЙ ПЕРЕМЕННОЙ (ДА-ТRUE, HEТ-FALSE). */

 

INITIAL:

clear

release variable /* УБИРАЕМ НЕНУЖНЫЕ НАМ ПЕРЕМЕННЫЕ */

e.lstr=250 /* МАКСИМАЛЬНАЯ ДЛИНА СТРОКИ */

output " ДЕНЬ ДОБРЫЙ, МИСТЕР (МИССИС)."

output

output " ВЫ ВКЛЮЧИЛИ В СЕТЬ ПАЯЛЬНИК И ОБНАРУЖИЛИ, ЧТО ОН "

output " НЕИСПРАВЕН. МЫ ПОСТАРАЕМСЯ ДАТЬ ВАМ СОВЕТ ПО "

output " УСТРАНЕНИЮ И ПРИЧИНАМ ПОЯВЛЕНИЯ НЕИСПРАВНОСТЕЙ."

output " НО ДЛЯ ЭТОГО ВЫ ДОЛИНЫ ПРЕДОСТАВИТЬ МНЕ "

output " ВСЮ ИНФОРМАЦИЮ."

output " ИТАК, НАЧНЕМ..."

output

temperature=true

output " ПАЯЛЬНИК НЕДОСТАТОЧНО РАЗОГРЕЛСЯ?"

input temperature logic

 

DO:

clear

output " ВОТ ЧТО Я ВАМ СКАЖУ, ЛЮБЕЗНЕЙШИЙ."

output

output reasons

output

output "А ВОТ ЧТО ВАМ СЛЕДУЕТ СДЕЛАТЬ В ДАННОЙ СИТУАЦИИ."

output

output ways

 

RULE: Rl

IF: temperature

THEN: output

output "ПОСЛЕ ВКЛЮЧЕНИЯ ПАЯЛЬНИК НАГРЕЛСЯ?"

input lowtemp logic

REASON: ЕСЛИ НЕДОСТАТОЧНО НАГРЕЛСЯ, ТО ДО КАКОЙ ТЕМПЕРАТУРЫ. COMMENT: НАГРЕЛСЯ ЛИ ПАЯЛЬНИК ХОТЬ НА МАЛОСТЬ.

 

RULE: R2

IF: not temperature

THEN: output

output "ПОСЛЕ ВКЛЮЧЕНИЯ ПАЯЛЬНИК ПЕРЕГРЕЛСЯ? "

input hightemp logic

REASON: ЕСЛИ ПЕРЕГРЕЛСЯ, ТО СКОРЕЕ ВСЕГО ЭТО МЕЖВИТКОВОЕ ЗАМЫКАНИЕ.

COMMENT: ПЕРЕГРЕЛСЯ ЛИ ПАЯЛЬНИК.

 

RULE: R3

IF: not lowtemp or hightemp

THEN: output

output "В ПОРЯДКЕ ЛИ НАПРЯЖЕНИЕ В СЕТИ? "

input power logic

REASON: ЕСЛИ ПАЯЛЬНИК НЕ НАГРЕЛСЯ ХОТЬ НА МАЛОСТЬ ИЛИ ПЕРЕГРЕЛСЯ, ТО СКОРЕЕ ВСЕГО НЕИСПРАВНА СЕТЬ.

COMMENT: НАПРЯЖЕНИЕ В СЕТИ.

 

ROLE: R4

IF: lowtemp

THEN: output

output " HE СЛЫШНО ЛИ ПОТРЕСКИВАНИЯ В ПАЯЛЬНИКЕ "

output " ИЛИ СОЕД. ШНУРЕ?"

input noice logic

REASON: ЕСЛИ ПАЯЛЬНИК НЕДОСТАТОЧНО РАЗОГРЕЛСЯ, ТО СКОРЕЕ ВСЕГО ЭТО ОЗНАЧАЕТ РАЗРЫВ В ЦЕПИ ПИТАНИЯ ИЛИ НАГРЕВАТЕЛЬНОГО ЭЛЕМЕНТА.

COMMENT: СЛЫШЕН ЛИ ТРЕСК.

 

RULE: R5

IF: not hightemp and not temperature

THEN: reasons="ПО ВАШИМ ОТВЕТАМ ПАЯЛЬНИК И НЕ ПЕРЕГРЕЛСЯ"

reasons=reasons+" И НЕ НЕДОГРЕЛСЯ ОДНОВРЕМЕННО."

ways="ПОЙДИТЕ ЛУЧШЕ ОТДОХНИТЕ, ПОСПИТЕ И Т. Д.."

REASON: ЕСЛИ ТАКОЙ РАСКЛАД, ТО НАДО ПОСПАТЬ.

COMMENT: НЕТ ДЕФЕКТОВ - ОТДЫХАЙ.

 

RULE: R6







Date: 2015-12-12; view: 508; Нарушение авторских прав



mydocx.ru - 2015-2025 year. (0.768 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию