Моделирование — в массы

Учитель информатики

§ 10. Модели и моделирование

Информатика. 11 класса. Босова Л.Л. Оглавление

10.1. Общие сведения о моделировании

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

Из курса информатики основной школы вам известно, что:

модель — это новый объект, который имеет свойства данного объекта, существенные для определённого исследования;
моделирование — метод познания, заключающийся в создании и исследовании моделей;
натурная (материальная) модель — реальный предмет, в уменьшенном или увеличенном виде воспроизводящий внешний вид, структуру или поведение моделируемого объекта;
информационная модель — описание объекта-оригинала на одном из языков кодирования информации;
• по форме представления можно выделить знаковые, образные и смешанные информационные модели;
для создания информационной модели объекта необходимо:

1) выяснить цель моделирования;
2) выделить свойства объекта-оригинала, существенные с точки зрения цели моделирования;
3) установить взаимосвязи между значениями выбранных свойств и выразить их в некоторой форме (словесно, таблицей, графиком, функцией, уравнением, неравенством, системой и т. п.).

Модель — общенаучное понятие; моделирование имеет место в любых областях знания и сферах человеческой деятельности.

Приведите примеры моделей, с которыми вы встречались на уроках физики, химии, биологии, истории, математики, обществознания, литературы.

В информатике рассматриваются общие подходы к созданию и использованию информационных моделей, связанные с использованием компьютерной техники.

10.2. Компьютерное моделирование

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

Компьютерное моделирование включает в себя процесс реализации информационной модели на компьютере и исследование с помощью этой модели объекта моделирования — проведение вычислительного эксперимента.

С помощью компьютерного моделирования решаются многие научные и производственные задачи:

• прогнозирование погоды и климатических изменений;
• конструирование транспортных средств и дизайн лекарственных препаратов;
• стратегическое управление организациями и прогнозирование цен на финансовых рынках;
• прогнозирование прочности конструкций и исследование поведения зданий, конструкций и деталей под механической нагрузкой;
• многие другие задачи.

Рассмотрим основные этапы компьютерного моделирования более подробно (рис. 3.1).

Рис. 3.1. Основные этапы компьютерного моделирования

На первом этапе в результате анализа условия задачи определяется объект моделирования и цель создания модели. После этого в объекте моделирования выделяются параметры (свойства, основные части), существенные с точки зрения поставленной цели. Далее уточняется, какие результаты и в каком виде должны быть получены, а также какие исходные данные для этого нужны.

На втором этапе определяются параметры модели и связи между ними; приводится математическое описание зависимостей между параметрами модели.

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

На четвёртом этапе осуществляется работа непосредственно с полученной компьютерной моделью. Сначала на заранее разработанных тестах (наборах исходных данных, для которых заранее известны результаты) осуществляется проверка правильности (тестирование) модели, и при необходимости модель дорабатывается. После тестирования, когда есть уверенность в правильности функционирования модели, переходят непосредственно к компьютерному эксперименту — целенаправленным действиям пользователя над компьютерной моделью. В ходе такого экспериментирования сознательно изменяются условия функционирования модели и накапливаются данные о её «поведении». В процессе проведения эксперимента может выясниться, что нужно усовершенствовать или изменить используемый алгоритм, уточнить информационную модель или внести изменения в постановку задачи. В таких случаях происходит возвращение к соответствующему этапу, и процесс начинается снова.

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

Компьютерное моделирование даёт возможность:

• существенно расширить круг исследуемых объектов (моделирование прошлого и будущего, несуществующего или невоспроизводимого в реальных условиях);
• исследовать процессы в развитии, при необходимости ускоряя или замедляя их и проводя эксперименты многократно;
• находить оптимальные решения без затрат на изготовление пробных экземпляров;
• проводить эксперименты без риска негативных последствий для здоровья человека или окружающей среды;
• визуализировать получаемые результаты.

10.3. Списки, графы, деревья и таблицы

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

Вспомните, как мы определяли структуру данных при рассмотрении алгоритмов и программ. О каких информационных моделях тогда шла речь? С какими структурами данных вы сталкивались в программировании?

Различают линейные и нелинейные структуры данных.

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

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

Ещё одним частным случаем линейного односвязного списка является очередь — последовательность, у которой включение элементов производится с одной стороны последовательности, а исключение — с другой. Сторона, где происходит включение элементов, называется хвостом; сторона, где происходит исключение, — головой. Понятие очереди как структуры данных очень близко к бытовому понятию «очередь» (рис. 3.2).

Рис. 3.2. Иллюстрация понятия «очередь»

Подумайте, какая связь между стеком и следующими объектами:

Почему стек является структурой типа LIFO (от англ. Last In, Firts Out — последним пришёл, первым ушёл)?
Почему очередь является структурой типа FIFO (от англ. First In, First Out — первым пришёл, первым ушёл)?

Примеры нелинейных структур данных вам также хорошо известны — это графы и деревья (рис. 3.3).

Граф — это множество элементов (вершин графа) вместе с набором отношений между ними.

Рис. 3.3. Примеры графовых структур

Граф является многосвязной структурой, обладающей следующими свойствами:

1) на каждый элемент может быть произвольное количество ссылок;
2) каждый элемент может иметь связь с любым количеством других элементов;
3) каждая связка может иметь направление и вес.

Ненаправленная (без стрелки) линия, соединяющая вершины графа, называется ребром. Линия направленная (со стрелкой) называется дугой. При этом вершина, из которой дуга исходит, называется начальной, а вершина, куда дуга входит, — конечной. Граф называется неориентированным, если его вершины соединены рёбрами. Вершины ориентированного графа соединены дугами. Граф называется взвешенным, если его вершины или рёбра характеризуются некоторой дополнительной информацией — весами вершин или рёбер.

Графы являются основным средством для описания структур сложных объектов. С их помощью можно описать вычислительную сеть, транспортную систему, схему авиалиний и другие объекты.

Одной из разновидностей графа является дерево.

Дерево — это совокупность элементов (вершин), в которой выделен один элемент (корень), а остальные элементы разбиты на непересекающиеся множества (поддеревья). Каждое поддерево является деревом, а его корень является потомком корня дерева, т. е. все элементы связаны между собой отношением «предок — потомок». В результате образуется иерархическая структура вершин.

Частным случаем дерева является бинарное дерево, в котором каждая вершина может иметь не более двух потомков.

Деревья используются для представления родственных связей (генеалогическое дерево), для определения выигрышной стратегии в играх и т. д.

Ещё одной знакомой вам структурой данных являются таблицы, состоящие из строк и граф (столбцов, колонок), пересечение которых образуют ячейки. Таблицы применяют для наглядности и удобства сравнения показателей.

Оформляют таблицы в соответствии с рисунком 3.4.

Рис. 3.4. Оформление таблицы

Название таблицы, при его наличии, должно отражать её содержание, быть точным, кратким. Название следует помещать над таблицей.

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

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

Эти и другие требования к оформлению таблиц содержатся в ГОСТ 2.105-95 «ЕСКД. Общие требования к оформлению текстовых документов».

В курсе информатики основной школы вы познакомились с таблицами типа:

• «объект — свойство», содержащими информацию о свойствах отдельных объектов, принадлежащих одному классу;
• «объект — объект», содержащими информацию о некотором одном свойстве пар объектов, принадлежащих одному или разным классам.

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

Вспомните и приведите примеры таблиц типа «объект — свойство», «объект — объект», отражающих не только количественные, но и качественные характеристики свойств (двоичные матрицы).

Табличный способ представления данных является универсальным — любую структуру данных, в том числе и представленную в форме графа, можно свести к табличной форме. Это тем более важно в связи с тем, что для компьютерной обработки табличное представление данных является предпочтительным.

Пример 1. Построим таблицу, соответствующую неориентированному графу (рис. 3.5), отражающему схему дорог между некоторыми населёнными пунктами.

Рис. 3.5. Граф схемы дорог

Строки и столбцы таблицы будут соответствовать вершинам графа. Если две вершины являются смежными (соединены ребром), то в ячейку на пересечении соответствующих столбца и строки будем записывать вес этого ребра. В противном случае (вершины не являются смежными) в ячейку будем записывать 0. Получится таблица типа «объект — объект».

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

Матрица смежности неориентированного графа симметрична относительно главной диагонали, идущей от левого верхнего угла к правому нижнему углу. У матрицы смежности неориентированного графа такая симметрия отсутствует.

Пример 2. Обед в школьной столовой состоит из двух блюд и напитка. На первое можно выбрать щи или окрошку, на второе — плов или пельмени, на третье — сок или компот. Все возможные варианты представлены с помощью дерева на рисунке 3.6.

Рис. 3.6. Дерево вариантов обеда

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

Получилась таблица типа «объект-свойства»: объектами в ней являются варианты обеда, а свойствами — составляющие его блюда. При этом число граф в полученной таблице соответствует числу уровней в дереве.

При решении класса задач, связанного с нахождением кратчайшего пути в ориентированном графе, можно:

1) от исходного графа перейти к матрице смежности;
2) по матрице смежности построить дерево решений;
3) по дереву решений выбрать подходящий вариант.

Пример 3. Найдём кратчайший путь от вершины А до вершины F в графе, приведённом на рисунке 3.7.

Рис. 3.7. Ориентированный граф

Составим матрицу смежности, соответствующую данному ориентированному графу:

По матрице смежности построим полное дерево перебора решений — рисунок 3.8.

Рис. 3.8. Полное дерево перебора решений

На рисунке 3.8 видно, что кратчайший путь из вершины А в вершину F равен 17 и имеет вид A-B-E-F.

Пример 4. На рисунке 3.9 представлена схема дорог, связывающих города А, Б, С, D, Е, F, G. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько разных путей существует из города А в город G?

Рис. 3.9. Схема дорог.

Существует несколько способов решения этой задачи. Рассмотрим их.

Вариант 1. По графу можно построить матрицу смежности, а на её основе построить дерево, корнем которого будет служить вершина А. Число листьев построенного дерева будет равно числу дорог из города А в город G.

Постройте дерево и подсчитайте число дорог из города А в город G самостоятельно.

Вариант 2. Пусть Кх — число путей из города А в город X.

Начнем считать число путей с конца маршрута. Так как в город G есть дороги из городов С, E, F, то KG = КC + КЕ + KF.

Таким образом, KG = 2 + 3 + 2 = 7.

Вариант 3. Можно считать число путей с начала маршрута. При этом процесс подсчёта удобно изображать на самом графе — рисунок 3.10.

Рис. 3.10. Схема дорог с подсчётом числа путей

Пример 5. На рисунке 3.11 представлена схема дорог, связывающих населённые пункты А, В, С, D, Е, F, G. В таблице содержатся сведения о длинах этих дорог (в километрах). Схему и таблицу создавали независимо друг от друга, поэтому в них используются разные обозначения. Необходимо выяснить длину пути в километрах из пункта D в пункт F.

Рис. 3.11. Схема дорог и таблица их длин

Рассмотрим имеющийся граф и выясним степень каждой вершины — число рёбер, соединяющих некоторую вершину с другими вершинами. Получим:

На основании имеющейся таблицы мы также можем сделать выводы о том, сколькими дорогами соединён тот или иной населённый пункт с другими населёнными пунктами:

Сопоставив полученную информацию, можем сказать, что через Г1 в таблице обозначен населённый пункт F, а через Г7 — D. Согласно таблице, расстояние между этими пунктами равно 25 км.

Программный пакет для мультифизического моделирования

Чтобы избежать «узких мест» при работе с моделированием, требуется не только новейшее аппаратное и программное обеспечение. Для создания моделей, проведения расчетов и анализа результатов нужны обширные знания, которых большинству компаний не хватает. Даже обладая самыми быстрыми компьютерами и новейшим ПО, предприятия не могут работать без помощи экспертов.

Одно из решений проблемы — распространять нужные навыки среди широкого круга специалистов с помощью приложений, которые относительно просты в освоении. Так, технологии COMSOL Application Builder и COMSOL Server позволяют моделировать в COMSOL Multiphysics всему коллективу проектировщиков.

Даже сотрудники, не сведущие в отрасли, могут без помощи экспертов решать сложные задачи — настраивать переменные, запускать процессы моделирования и получать нужные ответы.

Приложения можно загружать в COMSOL Server — программу, которая позволяет запускать их откуда угодно в любом браузере или специализированном настольном клиенте.

Таким образом, Application Builder и COMSOL Server демократизируют моделирование. Организации используют эти приложения, чтобы оптимизировать исследования и разработки, расширить возможности своих инженеров и освободиться от рутинных задач, сосредоточившись на высокоуровневых решениях.

3. Распространение «культуры моделирования»

На фоне увеличения сложности продуктов и сокращения времени их выхода на рынок инженеры и предприниматели готовы менять рабочий процесс ради своей главной цели — инноваций. И все же внедрение проектирования, основанного на моделировании — это большое событие, которое требует совместных усилий руководства и рядовых сотрудников. Руководители должны понимать преимущества моделирования и правильно оценивать окупаемость инвестиций в эту технологию.

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

ПО для моделирования с его математическими уравнениями, непростой процедурой установки и сложным пользовательским интерфейсом долго оставалось «на обочине» инженерии. Оно было предназначено небольшой группе подготовленных исследователей и разработчиков, которые хорошо понимали, как настраивать те или иные параметры. Также ПО имело ограниченную функциональность, поэтому было плохо приспособлено для решения многогранных задач при создании сложных инновационных продуктов.

Конспект урока «Компьютерное информационное моделирование»

Сегодня на уроке мы с вами переходим к следующему разделу «Информационное моделирование». Понятие модель относится к основным общенаучным понятиям, а моделирование – это метод изучения окружающего мира, используемый различными науками.

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

Развитие науки основывается на создании и использовании теоретических моделей. К ним относятся: теория, законы, гипотезы, которые иногда могут в корне изменить представление человечества об окружающем мире. Например, это сделала теория относительности Эйнштейна.

Произведения литературы и искусства можно рассматривать как модели, в художественной форме, отражающей реальную действительность.

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

Например, на уроках географии вы работаете с картами, которые являются моделями земной поверхности на плоскости. Или модель кристаллической решётки каменной соли, используемая на уроках химии. На уроках физики не обойтись без моделей – это и модель двигателя внутреннего сгорания, и модель идеального газа и много других моделей.

Сегодня на уроке мы с вами узнаем:

· Что такое модель.

· Какова роль информатики в информационном моделировании.

· В чём преимущество компьютерных информационных моделей перед теоретическими.

Под моделью понимается некоторый материальный либо мысленно представляемый объект или явление. Эти объекты или явления используют вместо другого объекта (оригинала). Модель повторяет существенные для целей конкретного моделирования свойства оригинала, опуская несущественные свойства.

Модели могут быть разделены на два больших класса: материальные и информационные.

Материальная (предметная) модель воспроизводит геометрические, физические, химические, биологические свойства объектов в материальной форме.

С материальными моделями вы встречаетесь с самого раннего детства. Это игрушки: куклы и машинки, собачки и самолёты – всё это материальные модели реальных людей, транспортных средств, животных.

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

Предметом изучения информатики являются информационные модели.

Информационная модель — это совокупность информации, описывающая существенные свойства и состояния объекта, процесса, явления.

Информационные модели нельзя потрогать, они не имеют материального воплощения, потому что строятся только на информации.

В то же время, рассматривая любую информационную модель, мы связываем её с определённым носителем информации (бумагой, видеоплёнкой, диском, флешкой и прочими).

Объектом информационного моделирования может быть всё что угодно. Это могут быть:

· отдельные предметы, например, диван или мобильный телефон;

· физические, химические, биологические процессы, например, горение дров, процесс переработки нефти или рост растений;

· экономические и социальные процессы, например, процессы международного соперничества или эволюция человека.

Таким образом, можно сделать вывод, что информационным моделированием занимается любая наука. Задача любой науки – это получение знаний. Все наши знания о реальности всегда носят приближённый, то есть модельный, характер. С развитием науки эти знания уточняются, углубляются, но всё равно остаются приближенными. Старые модели заменяются на новые, более точные, и этот процесс бесконечен.

География создаёт модели географических объектов, биология — биологических, физика — физических и так далее.

Информатика занимается общими методами и средствами создания и использования информационных моделей.

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

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

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

Рассмотрим основные этапы компьютерного моделирования на примере. Нужно выяснить, через сколько дней больной выздоровеет, то есть концентрация болезнетворных бактерий в его крови уменьшится с начального значения, которое вводится с клавиатуры, до 12 единиц, если в результате применения лекарства концентрация бактерий ежедневно уменьшается на 20 процентов по сравнению с предыдущим днём?

Первый этап. Постановка задачи: описание объекта и определение цели моделирования.

По характеру постановки все задачи можно разделить на две основные группы.

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

В таких задачах можно поставить вопрос: Что произойдёт, если…?

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

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

Для нашей задачи объектом моделирования является концентрация болезнетворных бактерий в крови больного. Наша цель — сделать прогноз, через сколько дней эта концентрация уменьшится до 12 единиц.

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

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

От выбранной формы представления зависит точность результата и степень соответствия модели объекту.

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

В качестве формы представления модели выберем числовую форму, а в качестве инструментария реализации этой модели — систему программирования Pascal ABC.

Третий этап. Создание модели: формализация, т. е. переход к математической модели; создание алгоритма и написание программы.

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

Поскольку каждый день концентрация бактерий уменьшается на р равное 20 процентов по сравнению с концентрацией с предыдущего дня, т. е. на с умноженное на р и делённое на сто (с • р / 100), то её можно выразить формулой: с минус с умноженное на р и делённое на сто (с — с • р / 100).

Теперь составим алгоритм решения.

Будем хранить значение концентрации в любой день в переменной c, процент ежедневного уменьшения и безопасное значение в переменных p и cb, количество дней — в переменной t. Переменные c и cb имеют тип real, а процент p и количество дней tтип integer.

Начальное значение концентрации будем вводить с клавиатуры (в переменную c). Вычисления будут повторяться в цикле while, пока выполняется условие c больше cb, т. е. пока не будет достигнута безопасная концентрация. В результате получим целое число дней.

Реализация этого алгоритма, т. е. программа на языке программирования Паскаль, может выглядеть так:

Четвёртый этап. Анализ модели на соответствие объекту-оригиналу.

Протестируем модель. Будем вводить различные начальные значения концентрации бактерий.

Результат работы программы может выглядеть так:

Если начальная концентрация болезнетворных бактерий 50, то время, необходимое на выздоровление равно 7 дням.

Если начальная концентрация болезнетворных бактерий 80, то время, необходимое на выздоровление равно 9 дням.

Программа демонстрирует что, чем больше концентрация в крови болезнетворных бактерий, тем большее количество дней необходимо для выздоровления больного. И это соответствует действительности.

Мы рассмотрели пример простейшей модели. Полученные в процессе выполнения программы результаты представляются достоверными.

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

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

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

А сейчас давайте вспомним всё, что мы изучили сегодня на уроке:

Модель — это объект-заменитель, который в определённых условиях может заменять объект-оригинал. Модель воспроизводит интересующие нас свойства и характеристики оригинала.

Информатика занимается общими методами и средствами создания и использования информационных моделей.

Основные этапы компьютерного моделирования:

Первый этап. Постановка задачи: описание объекта и определение цели моделирования.

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

Третий этап. Создание модели: формализация, т. е. переход к математической модели; создание алгоритма и написание программы.

Adblock
detector