Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 125

/ вопрос открыт /

Здравствуйте!

Есть таблица
-----------------------------------------------------------
Показатель А Показатель Б … Показатель Я
Норма >100 >105 … …
Меньше нормы >80, <=100 >85, <=105 … …
… … … … …
Крайне резкое снижение <40 <35 … …
-----------------------------------------------------------
Пример закачал сюда, так как прикреплённый к вопросу не закачался сразу
http://slil.ru/27929720
50 Кб

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

Если ЖЕЛ=100, то "норма"
Если ЖЕЛ=0, то "Крайне резкое снижение"

Ничего пока не приходит в голову лучше, чем
10 строк if ... then ... на каждый параметр.

Ну а если их было бы 100, тогда ...
Наверняка есть какое-то красивое решение. Подскажите, пожалуйста, а то уже не "варит" голова к концу рабочего дня.

Фамилия Имя Отчество Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Фамилия Имя Отчество (статус: Посетитель)
Вопрос отправлен: 26 августа 2009, 17:27
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Есть в паскале такой оператор, называется "case". В нём можно указывать не только простые константы, но и интервалы.

case Index of
  0: Result:= 1;
  1..15: Result:= 2;
  16..25: Result:= 3;
  26...75: Result:= 4;
else Result:= 5;
end; //case

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 26 августа 2009, 17:52


Мини-форум вопроса

Мини-форум пуст.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:40
Выполнено за 0.03 сек.