Добавлен: 31.03.2023
Просмотров: 63
Скачиваний: 1
Введение
Благодаря бурному развитию науки информатики и проникновению её в различные отрасли народного хозяйства слово "алгоритм" стало часто встречающимся и наиболее употребляемым в житейском плане понятием для широкого круга специалистов. Более того, с переходом к информационному обществу алгоритмы становятся одним из важнейших факторов цивилизации.
Известно, что математическая теория алгоритмов сложилась вовсе не в связи с бурным развитием информатики и вычислительной техники, а возникла в недрах математической логики для решения её собственных проблем. Она, прежде всего, оказала большое влияние на мировоззрение математиков и на их науку.
Тем не менее, взаимовлияние теоретических областей, связанных с вычислительной техникой, и теории алгоритмов также, несомненно.
Теория алгоритмов оказала влияние на теоретическое программирование. В частности, большую роль в теоретическом программировании играют модели вычислительных автоматов, которые, по существу, являются ограничениями тех представительных вычислительных моделей, которые были созданы ранее в теории алгоритмов. Трактовка программ, как объектов вычисления, операторы, используемые для составления структурированных программ (последовательное выполнение, разветвление, повторение) пришли в программирование из теории алгоритмов. Обратное влияние выразилось, например, в том, что возникла потребность в создании и развитии теории вычислительной сложности алгоритмов. Таким образом, можно сказать, что теория алгоритмов применяется не только в информатике, но и в других областях знаний.
Для достижения поставленной цели были сформулированы следующие задачи:
- изучить понятие алгоритмизации, как процесса построения алгоритма решения задачи;
- рассмотреть основные алгоритмические конструкции в программировании;
- исследовать алгоритмический язык, как формальный язык, используемый для записи, реализации или изучения алгоритмов
Объектом исследования курсовой работы является технологии программирования.
Предметом исследования является алгоритмизация как обязательный этап разработки программы.
В процессе исследовательской работы были применены совокупность методов сравнительно-правового анализа, классификаций и обобщений, а также описания - один из важных методов изучения рассматриваемого вопроса.
Нормативную базу составили акты федерального законодательства в области гражданского права.
Структурно работа состоит из введения, трех глав, заключения, содержащего основанные на результатах проведенного исследования выводы, библиографического списка.
Глава 1 Алгоритмизация - это процесс построения алгоритма решения задачи
Алгоритмизация – это сложный научный, технический, математический термин, рассматриваемый разными науками и имеющий много значений, не совпадающих друг с другом.
Наиболее общее понятие алгоритмизации – это процесс формирования алгоритмов, программ. Предполагается систематический подход к составлению последовательности, позволяющей решить некоторую прикладную задачу. Если необходимо создать программу для компьютера, решить при помощи такого продукта четко определенную задачу, необходимо предварительно составить алгоритм этого решения – этот шаг считается обязательным [3].
Алгоритмизация – это детерминированный подход к решению задачи, что исключительно значимо для алгоритмов, программ прикладного класса. Одновременно результат должен быть массовым, эффективно рассчитывающим ответ. Правильно сформированный алгоритм – залог верного решения заранее сформулированного вопроса.
Слово можно расшифровать не только описанным выше способом. В частности, в соответствии со словарными определениями, алгоритмизация – это этап работы над задачей, во время которого формулируют алгоритм, позволяющий решить проблему. Альтернативная трактовка – область информатики, посвященная методикам, способам создания алгоритмов. Кроме того, алгоритмизация рассматривает свойства алгоритмов. Иногда эту науку называют алгоритмикой [7].
В соответствии с иными понятиями алгоритмизация – описательный процесс, дающий представление об очередности действий, исполняемых для решения задачи. Другие издания формулируют суть алгоритма как точное описание заданного процесса и формулирование инструкций, в соответствии с которыми можно его исполнить. Создание алгоритма трудоемко и сложно, а алгоритмизация – техника, позволяющая сформулировать действительно эффективный, оптимизированный комплекс последовательных операций, реализуемых при помощи ЭВМ.
1.1 Процессы и этапы
Алгоритмизация – такая описательная работа, которая дает представление о происходящих внутри задачи процессах. Описывают их при применении математических символов. Это позволяет получить алгоритм, в котором заключены все элементарные акты задачи, присутствующие между ними связи, последовательности, причины и следствия. Сформированные в ходе алгоритмизации алгоритмы в общем случае разрабатываются именно для электронно-вычислительной техники.
Алгоритм и алгоритмизация – два очень важных понятия для любого, кто вынужден работать с поиском путей решения различных сложных задач. Формирование эффективной последовательности действий, которая отражала бы происходящие в реальности процессы, в большинстве случаев предполагает последовательное нахождение ответов на два вопроса:
•Какие системы информационной обработки будут эффективными в конкретном случае?
•Каковы математические методики функционирования применительны к крупным системам?
Рассматривая методы информобработки, следует сперва создать алгоритм, который бы детально описывал, как система работает. Затем формируется последовательность действий, позволяющая определить оптимальные решения, а также алгоритмизируется управленческий процесс. В некоторых случаях требуется создание последовательности для выявления значений, характеризующих управление [4].
Задачи по алгоритмизации, рассматривающие второй вопрос, предполагают наличие большой системы. В ней можно одновременно проводить не только качественные, но и количественные исследования. Это позволяет оценивать ключевые особенности системы – надежность, результативность.
Этапы алгоритмизации предполагают последовательное выделение элементарных актов. Каждый из них должен быть такого уровня, чтобы удалось описать его математическими функциями, применяя подходы алгебры логики. Пользу при построении алгоритма принесут также теории конечных автоматов, случайных процессов, массового обслуживания. При этом выявляются соотношения, которые описывают взаимные связи между элементарными актами. На основании таких данных формулируется система, которая и становится полноценным алгоритмом, применимым для дальнейшей работы.
Процедуры, операции, включенные в описание процесса через алгоритм, наиболее удобно фиксировать, применяя специальные языки программирования. Особенно актуально это, если процесс построения алгоритма необходим для последующего воплощения кода на электронно-вычислительной машине. Созданный человеком код затем обрабатывается транслятором и переводится в операционный язык, понятный для заданной машины. Нередко один шаг алгоритма – это несколько реализуемых машиной операций [2].
О том, что такое алгоритм в информатике, могут рассказать программисты. Но эта наука в целом и техники программирования в частности – совершенно особенный вопрос, требующий отдельного рассмотрения. Что касается алгоритмизации применительно к прочим областям, то решением связанных с формированием последовательностей действий должен заниматься узкоспециализированный персонал – алгоритмисты. Последовательность действий включает в себя:
•анализ исходных данных;
•выявление самых значимых аспектов;
•формализацию ключевых моментов;
•представление данных символами;
•формирование цельной последовательности операций.
Фактически алгоритмизация – сложный процесс, сам по себе в некоторой степени описываемый алгоритмом. Важная особенность – четкость, математичность, логичность подхода и результата.
Где можно встретить примеры алгоритмизации на практике? Иным может показаться, что это «наука в себе», не слишком применимая для чего-либо. На самом деле алгоритмизация – это эффективный метод автоматизации широчайшего спектра задач, рабочих процессов, в которых участвуют люди. Формирование программ, алгоритмов в первую очередь используется для упрощения вычислительных задач, которые раньше можно было решить только вручную. Несколько реже алгоритмизация позволяет создать последовательность действий управления машинами [9].
Алгоритмизация позволяет эффективно переформулировать исходный (зачастую довольно хаотичный) объем информации в алгоритмический вид, четкий, упорядоченный и структурированный. При этом выделяют все объекты, которые участвуют в операциях, идентифицируют их, определяют исполнителей и задают алгоритм последовательных действий. Важное условие – обязательная однозначность толкования любого этапа. После А всегда следует В, а не «может, В, а может, С, вы уж решите сами, как лучше». Это правило – основа алгоритмизации.
1.2 Информация и алгоритмы
Представленные в алгоритмической форме сведения – данные, продуцируемые алгоритмизацией. Для них невозможны многозначные интерпретации. Что такое алгоритм в информатике, математике, логике? Это такая последовательность, которую исполнитель может понять, имея перед собой только этот документ и никаких сторонних источников, условий, объяснений операциям. В алгоритме всегда указывается порядок действий. Без этой информации система не может считаться полноценной и применимой на практике [10].
Алгоритмизация и языки программирования были разработаны людьми, но не только лишь для себя. Исполнять готовый результат может и машина, причем не только высокопродуктивный и сложноорганизованный компьютер, но и более простое автоматизированное устройство. Применяются следующий типы последовательности операций:
•линейные;
•циклические;
•ветвления;
•смешанные.
Если внимательно изучить основы алгоритмизации, можно найти подробное описание всех типов последовательностей действий. Разберем их детальнее.
Линейная предполагает наличие четкой последовательности по шагам: есть первая операция, вторая и так далее. Отклонения от схемы не допускаются, вариантов корректировки не предусмотрено.
Ветвление – возможность несколько корректировать последовательность. Для этого формулируются условия, решаемые в ходе предыдущих операций (одной или нескольких). Ветвление – это не переход к уже прошедшей ранее операции, а лишь выбор одного из путей продолжения последовательности.
Цикл практически идентичен ветвлению, но позволяет возвращаться к операции, уже пройденной в ходе исполнения алгоритма [15].
Наконец, в основах информатики рассматривается смешанный вариант последовательности алгоритмизованных действий. В таком будут участки линейные, циклические, ветвления – все возможные формы. Если программа, алгоритм являются сложными, можно с уверенностью говорить, что они принадлежат именно к такой форме, ее просто невозможно избежать. Причем сложность – понятие очень и очень растяжимое. То, что для обычного человека кажется элементарной задачей, при формулировании ее в виде алгоритма может превратиться длительную последовательность действий разного плана и характера. Задача алгоритмиста – учитывать все возможные состояния всех включенных в систему объектов.
1.3 Инструкции и алгоритмы
Фактически с алгоритмизацией, как и с основами информатики, мы сталкиваемся в повседневной жизни, просто привыкли к этому и не замечаем, не обращаем внимание. К примеру, технологические инструкции – это классический образец алгоритма.
Исполнительные инструкции обычно составляются применительно к разнообразным объектам – клапанам, агрегатам, вытяжкам, двигателям. В инструкции описываются физические операции – взять, поднять, закрыть. Когда речь идет о вычислительной машине, объекты в алгоритме будут математические, действия, соответственно, такие же. Алгоритм может быть посвящен формулам, таблицам, в которые скомпонованы значения, а действия бывают самыми разными – от простейших вычислений до довольно сложных для человека матричных табличных операций. Инструкция обычно содержит условие, соответствующее правилам логики. Если удалось достигнуть необходимого показателя – можно продолжать движение по алгоритму или завершить его, в противном случае придется пройти еще один цикл. Также алгоритмы в норме имеют «запасной выход» на случай внештатной ситуации. Применительно к человеческой повседневности можно найти аналог в виде «Сообщить руководству о неполадке» [4].