Этапы решения технических задач
Этапы решения задачи на ЭВМ
Бурное развитие вычислительной техники приводит к широкому проникновению математических методов в науку, технику и народное хозяйство. Происходит интенсивный процесс математизации не только естественных и технических, но и гуманитарных наук. Все это расширяет классы задач, решаемых на ЭВМ. Решение на ЭВМ задач каждого класса имеет свою специфику, однако его можно разбить на несколько этапов, характерных для большинства задач,
Постановка задачи и построение алгоритма
Решение задачи начинается с ее постановки, изложенной на языке строго определенных математических понятий. Поэтому, чтобы можно было решить задачу, связанную с исследованием реального объекта, необходимо сначала описать этот объект в математических терминах, т. е. построить его математическую модель. Математическая модель объекта позволяет поставить задачу математически и тем самым свести решение реальной задачи к решению задачи математической. Она, отражая наиболее существенные свойства реального исследуемого объекта или явления, не тождественна этому объекту, а является лишь приближенным его описанием. В этом смысле математические модели — те же относительные истины, через посредство которых познается реальная действительность с асимптотическим приближением к истине абсолютной. Степень соответствия модели реальному объекту проверяется практикой, экспериментом. Критерий практики дает возможность оценить построенную модель и уточнить ее в случае необходимости.
Метод математического моделирования реальных явлений возник и получил свое развитие в физике.
Так, еще в XVII в. Г. Галилеем была предложена хорошо известная теперь математическая модель, описывающая движение тела, брошенного под углом к горизонту с заданной начальной скоростью. Первая крупная математическая модель в физике — механика Ньютона.
Внедрение математических методов исследования в другие науки также тесно связано с созданием математических моделей. Например, такие модели успешно используются для прогноза погоды, исследования и предсказания поведения тропических тайфунов и т. п. Созданы модели, прогнозирующие глобальные последствия термоядерного конфликта, которые играют значительную роль в борьбе за уничтожение ядерного оружия.
Все большее значение приобретает математическое моделирование в экономике. Созданы, например, модели для изучения общих закономерностей политической экономии, многоотраслевые модели общегосударственного планирования, модели, описывающие функционирование отдельных отраслей и отдельных предприятий.
Успехи применения вычислительной техники во многих областях человеческого знания определяются не только развитием метода математического моделирования. Например, создание мощных информационно-поисковых систем может оказать существенное влияние на методы научной работы в таких областях, как философия или история, а создание человеко-машинных систем автоматизированного проектирования позволит не только по-новому организовать работу конструктора и сократить сроки проектирования, но и значительно сократить сроки и стоимость натурных испытаний и «доводки» разработанных конструкций.
Итак, построение математической модели приводит к математической постановке реальной задачи. Далее необходимо найти способ решения этой задачи. Очень часто решение такой задачи не удается получить в явном виде, т. е. в виде формулы, связывающей исходные данные и результаты. В таких случаях решение ищется в виде алгоритма.
Построение алгоритма — следующий этап решения задачи с использованием ЭВМ.
Описанные этапы решения задачи выполняются человеком и носят творческий характер — каждая новая задача требует новых подходов и новых способов решения, и этому вряд ли можно научить даже анализируя способы решения многих других уже известных задач.
Однако уже этап построения алгоритма включает помимо творческих и чисто технологические вопросы. Используя определенную дисциплину при конструировании алгоритма, можно получить алгоритм с явно выраженной структурой, что облегчает его понимание и дальнейшую работу с ним.
Аналогичная технология может быть использована и на последующих этапах — при разработке программы для ЭВМ и работе с этой программой. Конечно, и здесь от человека требуется немало творчества и изобретательности, тем не менее именно эти этапы решения задачи на ЭВМ получили наибольшее технологическое развитие.
Единая технология, применяемая на этапах разработки алгоритма и программы, может значительно облегчить и ускорить общий процесс решения задачи на ЭВМ.
ЭВМ никаких решений не принимает. Решение принимает человек, а ЭВМ только помогает найти варианты решении. Что же нужно сделать чтобы найти такие варианты решении? Основные этапы решения задачи проектирования технологических установок. Рассмотрим эти этапы.
Выбор задачи. Выбор задачи — важнейший вопрос. Решение задачи, особенно достаточно сложной, — это очень трудное дело требующее много времени. И если задача выбрана неудачно, то это может привести не только к сожалению о потерянном времени.
Выбор задачи завершается ее содержательной постановкой. Когда выбирается задача и производится ее содержательная постановка, естественно, приходится иметь дело со специалистами в предметной области (по управлению, проектированию, разработке технологических процессов) Эти специалисты, как правило, очень добросовестные, с одной стороны, прекрасно знают свой предмет, с другой — не всегда имеют представление о том, что требуется для решения задачи на ЭВМ. Поэтому содержательная постановка задачи зачастую оказывается перенасыщенной сведениями, которые совершенно излишни для работы на ЭВМ.
Поясним сказанное на простом примере. Пусть перед нами стоит такая задача Требуется определить, сколько у пятилетней девочки Маши, которая слушает папу, маму, дедушку и бабушку, каждое утро ест манную кашу, говорит «спасибо» и моет руки перед едой, было яблок, если, когда дворник соседнего дома тетя Даша дала ей еще два яблока, у этой чудесной белокурой девчушки, уже второй год занимающейся фигурным катанием, коллекционирующей марки и поющей в хоре при Доме народного творчества, находящемся в прекрасном здании, построенном по проекту, удостоенному второй премии на республиканском конкурсе, их стало пять.
Вот так достаточно часто выглядит содержательная постановка задачи, сделанная эрудированными специалистами в предметной области, несколько далекими от знания требований ЭВМ
Элементы теории алгоритмов
1. Понятие алгоритма и свойства алгоритма
Понятие алгоритма является основным при составлении любого вида программ для ЭВМ. Программа для ЭВМ — алгоритм, оформленный специальным образом, конечная последовательность предписаний, определяющих процесс переработки входных данных в выходные.
Слово "Алгоритм" происходит от algorithmi - латинского написания имени аль-Хорезми, под которым в средневековой Европе знали величайшего математика из Хорезма (город в современном Узбекистане) Мухаммеда бен Мусу, жившего в 783-850 гг. В своей книге "Об индийском счете" он сформулировал правила записи натуральных чисел с помощью арабских цифр и правила действий над ними столбиком. В дальнейшем алгоритмом стали называть точное предписание, определяющее последовательность действий, обеспечивающую получение требуемого результата из исходных данных. Алгоритм может быть предназначен для выполнения его человеком или автоматическим устройством. Создание алгоритма, пусть даже самого простого, - процесс творческий. Он доступен исключительно живым существам, а долгое время считалось, что только человеку. Другое дело - реализация уже имеющегося алгоритма. Ее можно поручить субъекту или объекту, который не обязан вникать в существо дела, а возможно, и не способен его понять. Такой субъект или объект принято называть формальным исполнителем. Примером формального исполнителя может служить стиральная машина-автомат, которая неукоснительно исполняет предписанные ей действия, даже если вы забыли положить в нее порошок. Человек тоже может выступать в роли формального исполнителя, но в первую очередь формальными исполнителями являются различные автоматические устройства, и компьютер в том числе. Каждый алгоритм создается в расчете на вполне конкретного исполнителя. Те действия, которые может совершать исполнитель, называются его его допустимыми действиями. Совокупность допустимых действий образует систему команд исполнителя. Алгоритм должен содержать только те действия, которые допустимы для данного исполнителя.
Алгоритм — формальное предписание (указание), однозначно определяющее содержание и последовательность операций, переводящих совокупность исходных данных в искомый результат — решение поставленной задачи.
обычно формулируют несколько общих свойств алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Из определения алгоритма и рассмотренных примеров можно сформулировать следующие требования к его свойствам.
Такими свойствами являются:
· Дискретность (прерывность, раздельность) - алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
· Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.