Все модели можно разбить на два больших класса: модели предметные (материальные) и модели информационные. Предметные модели воспроизводят геометрические, физические и другие свойства объектов в материальной форме (глобус, анатомические муляжи, модели кристаллических решеток, макеты зданий и сооружений и др.) . Информационные модели представляют объекты и процессы в образной или знаковой форме. Образные модели (рисунки, фотографии и др. ) представляют собой зрительные образы объектов, зафиксированные на каком-либо носителе информации (бумаге, фото- и кинопленке и др.) . Широко используются образные информационные модели в образовании (вспомните учебные плакаты по различным предметам) и науке, где требуется классификация объектов по их внешним признакам (в ботанике, биологии, палеонтологии и др.) . Знаковые информационные модели строятся с использованием различных языков (знаковых систем) . Знаковая информационная модель может быть представлена в форме текста (например, программы на языке программирования) , формулы (например, второго закона Ньютона F=m·a), таблицы (например, периодической таблицы элементов Д. И. Менделеева) и так далее. Иногда при построении знаковых информационных моделей используются одновременно несколько различных языков. Примерами таких моделей могут служить географические карты, графики, диаграммы и пр. Во всех этих моделях используются одновременно как язык графических элементов, так и на протяжении своей истории человечество использовало различные и инструменты для создания информационных моделей. Эти постоянно совершенствовались. Так, первые информационные модели создавались в форме наскальных рисунков, в настоящее же время информационные модели обычно строятся и исследуются с использованием современных компьютерных технологий.
Информационные модели представляют объекты и процессы в образной или знаковой форме.
Образные модели (рисунки, фотографии и др. ) представляют собой зрительные образы объектов, зафиксированные на каком-либо носителе информации (бумаге, фото- и кинопленке и др.) . Широко используются образные информационные модели в образовании (вспомните учебные плакаты по различным предметам) и науке, где требуется классификация объектов по их внешним признакам (в ботанике, биологии, палеонтологии и др.) .
Знаковые информационные модели строятся с использованием различных языков (знаковых систем) . Знаковая информационная модель может быть представлена в форме текста (например, программы на языке программирования) , формулы (например, второго закона Ньютона F=m·a), таблицы (например, периодической таблицы элементов Д. И. Менделеева) и так далее.
Иногда при построении знаковых информационных моделей используются одновременно несколько различных языков. Примерами таких моделей могут служить географические карты, графики, диаграммы и пр. Во всех этих моделях используются одновременно как язык графических элементов, так и на протяжении своей истории человечество использовало различные и инструменты для создания информационных моделей. Эти постоянно совершенствовались. Так, первые информационные модели создавались в форме наскальных рисунков, в настоящее же время информационные модели обычно строятся и исследуются с использованием современных компьютерных технологий.
Язык не указан → приведу пример на SWI-Prolog.
Код%Файл string_sortin.plsort([], [], _).sort([Head|Tail], Ordered, Qrd) :- sort(Tail, SubSorted, Qrd), put(Head, SubSorted, Sorted), order(Sorted, [], Ordered, Qrd).put(X, [], [X]).put(X, [H|T], [X,H|T]) :- compare(>, X, H).put(X, [H|T], [H|R]) :- put(X, T, R).order(X, _, X, ">").order([], R, R, "<").order([H|T], B, R, "<") :- order(T, [H|B], R, "<").select(">", Bufer, Bufer, _, ">").select("<", Bufer, Bufer, _, "<").select(S, Bufer, [S|Bufer], Ord, Ord).input_strings(Input, Bufer, Strings, Ord, ROrd) :- compare(=, Ord, "="), read_string(Input, "\n", "\r", _, String), select(String, Bufer, SS, Ord, OO), input_strings(Input, SS, Strings, OO, ROrd).input_strings(_, Strings, Strings, Ord, Ord). ?- current_input(Input), input_strings(Input, [], Strings, "=", Ord), sort(Strings, [R|_], Ord), writeln(R).