Алгоритмизация прикладных задач
Покупка
Издательство:
ФЛИНТА
Автор:
Долгов Александр Иванович
Год издания: 2021
Кол-во страниц: 136
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9765-0086-2
Артикул: 615736.02.99
Материалы учебного пособия подготовлены на основе результатов проведенных автором исследований и теоретических обобщений по алгоритмизации прикладных задач, решаемых на электронных вычислительных машинах. Должное внимание уделяется положениям и рекомендациям методического характера, с тем, чтобы материалы пособия могли служить методическим руководством для самостоятельной работы читателя по практической разработке, описанию алгоритмов в интересах их программной реализации.
Книга предназначена для широкого круга инженерно-технических работников, не специализирующихся в области компьютерной техники, но привлекаемых к разработке, внедрению и реализации прикладных задач, решаемых на ЭВМ в интересах автоматизации самых различных видов профессиональной деятельности. Материалы книги могут быть также полезны для лиц, специализирующихся в области алгоритмизации и программирования, для научных работников, преподавателей вузов и студентов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 01.03.02: Прикладная математика и информатика
- 01.03.03: Механика и математическое моделирование
- 02.03.03: Механика и математическое моделирование
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 15.03.04: Автоматизация технологических процессов и производств
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
А.И. Долгов АЛГОРИТМИЗАЦИЯ ПРИКЛАДНЫХ ЗАДАЧ Учебное пособие 3-е издание, стереотипное Москва Издательство «ФЛИНТА» 2021
УДК 800.2 : 800.8 : 681.326 ББК 32.81 Д64 Д64 Долгов А.И. Алгоритмизация прикладных задач [Электронный ресурс] : учеб. пособие / А.И. 3олгов. – 3-е изд., стереотип. – М. : ФЛИНТА, 2021. – 136 с. ISBN 978-5-9765-0086-2 Материалы учебного пособия подготовлены на основе результатов проведенных автором исследований и теоретических обобщений по алгоритмизации прикладных задач, решаемых на электронных вычислительных машинах. Должное внимание уделяется положениям и рекомендациям методического характера, с тем, чтобы материалы пособия могли служить методическим руководством для самостоятельной работы читателя по практической разработке, описанию алгоритмов в интересах их программной реализации. Книга предназначена для широкого круга инженерно-технических работников, не специализирующихся в области компьютерной техники, но привлекаемых к разработке, внедрению и реализации прикладных задач, решаемых на ЭВМ в интересах автоматизации самых различных видов профессиональной деятельности. Материалы книги могут быть также полезны для лиц, специализирующихся в области алгоритмизации и программирования, для научных работников, преподавателей вузов и студентов. УДК 800.2 : 800.8 : 681.326 ББК 32.81 ISBN 978-5-9765-0086-0 © Долгов А.И., 2016 © Издательство «ФЛИНТА», 2016
ОГЛАВЛЕНИЕ Предисловие ……………………………………………………………………… 4 1. Общие сведения о математическом обеспечении …..………………………. 9 1.1. Математические методы ………………………………………………… 9 1.2. Математические модели …………………………………………..……. 10 1.3. Алгоритмы ………………………………………………………..……....16 1.4. Понятие задачи, решаемой на ЭВМ ……………………………….…... 35 2. Основные этапы алгоритмизации …………………… ……………….…….. 40 2.1. Содержательная формулировка задачи …………………...………….. 40 2.2. Построение математической модели объекта …….………….....…….. 41 2.3. Разработка алгоритма …………..…………………………………….… 81 2.4. Оформление документации …………………………………..………. 103 Заключение …………………………………………………………..………… 109 Литература ………………………………………………………………………113 Приложение. Дополнительный пример алгоритмизации …………….…..… 117
Эту книгу автор посвящает своей жене Долговой (Тищенко) Валентине Владимировне ПРЕДИСЛОВИЕ Совершенствование руководства и повышение качества управления во всех сферах деятельности являются проблемами, важность и актуальность ко торых по мере развития общества и научно-технического прогресса всё в большей степени возрастают. Основной путь решения этих проблем состоит в автоматизации различных видов деятельности на основе применения компью терной техники и создания автоматизированных систем, в том числе автомати зированных систем управления (АСУ) различных иерархических уровней. Появление средств автоматизации немыслимо без разработки соответ ствующего математического обеспечения, важнейшую составную часть кото рого представляют алгоритмы прикладных задач. Являясь результатом труда огромной армии алгоритмистов, в настоящее время алгоритмы стали не толь ко объектом непосредственной разработки и реализации в конкретных техни ческих и информационных системах, но и предметом изучения во многих учебных заведениях, объектом продолжающихся с момента появления первых электронных вычислительных машин (ЭВМ) исследований и научных публи каций. Благодаря бурному развитию компьютерной техники, внедрению её в разнообразные области человеческой деятельности, резкому повышению уровня компьютерной грамотности населения и появлению огромного коли чества персональных ЭВМ (ПЭВМ), используемых не только в офисах, но и в быту, алгоритмизация прикладных задач перестала быть уделом профессио нальных математиков, и сейчас в роли алгоритмистов выступают специалисты самых различных, практически любых профессий.
Сталкиваясь с необходимостью разработки алгоритмов, эти специали сты ощущают потребность в литературе методического характера. В процессе поиска методических материалов обнаруживается, что в имеющейся литера туре по алгоритмизации прикладных задач [например, 2 – 6, 10, 13, 14, 20, 23, 24, 27, 30–34, 38] главное внимание уделяется сведениям теоретического ха рактера о том, что из себя представляют алгоритмы, каковы их свойства и способы описания. В ряде публикаций [8, 10, 14, 29, 32, 34] сделан акцент на изложении конкретных алгоритмов, что в основном иллюстрирует не общий ход процесса алгоритмизации, а его частные результаты. Что касается методики разработки и описания алгоритмов, а именно это, как правило, в наибольшей степени соответствовало бы потребностям боль шинства читателей, обращающихся к литературе по алгоритмизации, то соот ветствующие материалы в публикациях либо вообще не приводятся, либо представлены настолько поверхностно, что не могут служить методическим руководством для практической разработки и описания алгоритмов. И это не удивительно, если учесть что алгоритмизация является творческим процес сом, формализация которого представляет собой исключительно сложную проблему. Однако данное обстоятельство не может служить оправданием практического отсутствия проработок в соответствующем направлении и яв ляется свидетельством их актуальности. В основу написания учебного пособия положены результаты проведен ных автором научных исследований и теоретических обобщений по алгорит мизации прикладных задач, решаемых на ЭВМ. При изложении полученных результатов сделана попытка должное внимание уделить положениям и реко мендациям методического характера, что вместе с научной новизной некото рых материалов придаёт данной публикации оригинальность. В первом разделе приводятся общие сведения о математическом обес печении систем автоматизации обработки информации. Наличие этих сведе ний целесообразно, по крайней мере, ввиду двух причин. Во-первых, благода ря этому достигается замкнутость излагаемого материала, избавляющая чита
телей в большинстве случаев от необходимости обращаться к другой литера туре. Во-вторых, если учесть, что алгоритмы задач, решаемых на ЭВМ, не мо гут рассматриваться в отрыве от других составных частей математического обеспечения – математических методов и моделей, наличие таких сведений обеспечивает полноту и терминологическую строгость изложения всего мате риала. Во втором разделе излагается методика алгоритмизации прикладных за дач, рассматривается сущность и содержание основных этапов алгоритмиза ции. Главное внимание уделяется двум принципиально различным методиче ским подходам к построению математических моделей как важнейшего этапа алгоритмизации, названных методами дифференциации и интеграции (состоя ний моделируемых объектов). Метод интеграции соответствует макроподходу [17] к анализу рассматриваемого в задаче объекта (процесса) в целом, когда ин тересуются лишь его внешним поведением. В отличие от этого, метод диффе ренциации соответствует микроподходу, когда рассматривается внутренняя структура объекта (процесса), поведение которого описывается через поведе ние составляющих его взаимосвязанных элементов. Рассмотрение процесса ал горитмизации ограничивается описанием получаемых алгоритмов на языке публикаций с использованием языка высокого уровня типа Паскаль, но без до ведения их до записи в форме, воспринимаемой ЭВМ, то есть до конкретных машинных программ и их отладки. Целесообразность такого подхода к изло жению материала объясняется тем, что именно программированию прикладных задач на основе уже разработанных алгоритмов посвящено подавляющее большинство существующей литературы по алгоритмизации прикладных задач [5, 30, 33, 38], не говоря об огромном количестве традиционно выпускаемых в свет публикаций, как учебно-методических, так и чисто профессиональных, специально посвящённых программированию [36, 37]. При рассмотрении всех этапов алгоритмизации должное внимание уделено рекомендациям по оформ лению документации на алгоритмы. Это обусловлено тем обстоятельством, что неудовлетворительное оформление документации, являющееся довольно рас
пространённым явлением, оказывается серьёзным препятствием в деле практи ческого внедрения алгоритмов и обмена опытом их разработки. Данный вопрос приобретает особую важность при регистрации программ в Российском агент стве по правовой охране программ для ЭВМ, баз данных и топологий инте гральных микросхем, а также при комплектовании частных библиотек алго ритмов и программ, создаваемых во многих организациях. Все обсуждаемые теоретические положения и формулируемые практические рекомендации ил люстрированы примерами. В целом предлагаемая методика алгоритмизации существенно отличает ся от известных, традиционно сводящихся к описанию на конкретных приме рах того, что должно быть получено в процессе алгоритмизации. Методика впервые представляет собой главным образом систему методов, с использова нием которых может быть получен требуемый результат алгоритмизации в условиях целенаправленного анализа реально возможного множества алго ритмических решений. По своему содержанию материалы учебного пособия обеспечат для чита телей, не специализирующихся в области компьютерной техники, но привле каемых к алгоритмизации прикладных задач, решаемых на ЭВМ, возможность более активного и творческого участия в разработке и оформлении алгоритмов. Для лиц, специализирующихся в области алгоритмизации и программи рования материалы учебного пособия помогут в систематизации знаний по соответствующим вопросам. Основная часть материалов, положенных в основу данного учебного по собия, была апробирована автором в учебном процессе в период его работы в Военной командной академии противовоздушной обороны имени Маршала Советского Союза Жукова Г.Г. при изложении теоретических основ алгорит мизации и программирования задач профессиональной деятельности по про филю подготовки обучаемых, а также при руководстве практическим выпол нении курсовых работ. В начале 2008 г. автором совместно с Преснухиным Вячеславом Валерьевичем была подготовлена и опубликована монография
«Алгоритмизация задач, решаемых на ЭВМ» [47], тираж которой был весьма ограниченным. Настоящее издание в виде учебного пособия доводит основ ные ранее изложенные и опубликованные идеи до существенно более широ кой аудитории. Автор далёк от мысли, что ему удалось изложить материал книги наи лучшим образом и заранее благодарит читателей за пожелания и замечания, которые будут высказаны и могут быть учтены в дальнейшем.
I. ОБЩИЕ СВЕДЕНИЯ О МАТЕМАТИЧЕСКОМ ОБЕСПЕЧЕНИИ Математическое обеспечение представляет собой совокупность ма тематических методов, моделей и алгоритмов для решения задач и обработ ки данных с применением вычислительной техники [40]. В приведенном определении математического обеспечения использова ны четыре важных понятия: математический метод, математическая модель, математический алгоритм и задача. Раскрыть эти понятия – основная цель данного раздела. 1.1. Математические методы Математические методы представляют собой методы, развиваемые в рамках создания математического аппарата тех или иных математических теорий. В свою очередь, метод – совокупность приёмов или операций практического или тео ретического освоения действительности, подчинённых решению конкретной задачи [18]; теория есть "… высшая, самая развитая форма организации научного знания, дающая целостное представление о закономерностях и существен ных связях определенной области действительности – объекта данной тео рии" [18]. Примерами математических теорий являются алгебра, геометрия, тео рия дифференциальных уравнений, теория вероятностей, теория множеств, теория игр, теория массового обслуживания и т.п. Математический аппарат любой математической теории, как правило, включает: 1) совокупность специфических основных понятий, вводимых по опре делению (например, в геометрии таковыми являются понятия прямой, угла,
параллельности прямых и т.д.). В состав понятий, вводимых по определению, обычно также относят правила выполнения операций над основными поня тиями; 2) систему аксиом – основополагающих утверждений принимаемых без доказательства; 3) некоторое множество доказываемых теорем и следствий, вытекаю щих из аксиом и указывающих в виде уравнений или неравенств закономер ности, которым подчиняются основные понятия. Математический метод как способ использования математического ап парата находит применение, если удается наиболее существенные свойства изучаемого объекта или процесса описать с помощью основных понятий со ответствующей теории без вступления в противоречие с её основными поло жениями (например, содержанием её аксиом, теорем и т.п.). В математическое обеспечение современных АСУ входит огромный арсенал математических методов (решения алгебраических уравнений, интерполирования, дифферен цирования, интегрирования, аппроксимации функций, математического про граммирования и др.). В составе математического обеспечения АСУ математические методы выступают в качестве средств построения математических моделей. 1.2. Математические модели В наиболее общем случае под моделью понимается объект, который отображает или воспроизводит свойства другого объекта (оригинала) и ис пользуется для его изучения или исследования. Процесс построения модели и её применения для изучения (исследова ния) свойств оригинала называют моделированием. Предметом дальнейшего рассмотрения являются математические модели. Математическая модель представляет собой описание оригинала на языке математики в виде математических соотношений.