Алгоритмизация – основы, свойства и способы записи

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

Алгоритмизация - основы, свойства и способы записи

Алгоритм и программирование

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

Алгоритмизация - основы, свойства и способы записи

Всё это составляет основу того факта, что изучение разделов информатики «Алгоритмизация и программирование» в 9 классе (учебник «Информатика и ИКТ», Босова Л. П.) является необходимостью, особенно для контингента будущих профессионалов IT-бизнеса. Темы глав «Основы алгоритмизации» и «Начала программирование» являются основой и дают понимание того, что такое алгоритмизации в информатике, а также вырабатывают практические навыки в том плане, как составить алгоритм по информатике.

Кроме этого, изучаются в информатике 9 класса свойства алгоритма, базовый синтаксис и основные элементы языка программирования Pascal. Цель преподавания основ алгоритмизации состоит в том, чтобы помочь школьникам развить алгоритмическое мышление, поскольку оно даёт возможность решать сложные задачи, в частности, нетехнического или нематематического происхождения, для получения, подготовки и анализа результатов их решение. А это, в свою очередь, позволяет:

  • делать выводы о достижении цели и правильности запланированных действий;
  • моделировать объекты реального мира и исследовать модели;
  • сделать выводы о пригодности объектной модели.

Алгоритмизация - основы, свойства и способы записи

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

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

Алгоритмическая проблема

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

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

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

Алгоритмизация - основы, свойства и способы записи

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

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

Оптимальная последовательность действий

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

Алгоритмизация - основы, свойства и способы записи

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

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

Оптимальное математическое доказательство для работоспособности алгоритма состоит из нескольких частей:

Алгоритмизация - основы, свойства и способы записи

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

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

    Свойства и типы

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

    Основными свойствами алгоритма являются:

    Алгоритмизация - основы, свойства и способы записи

  • Детерминированность (определённость). Предполагает получение однозначности в итоговом результате компьютерного процесса при конкретных исходных условиях.
  • Результативность. Показывает наличие таких изначальных данных, для которых вычислительный процесс, что реализуется по алгоритму, обязан остановиться и выдать искомый результат через определённое число шагов.
  • Массовость. Свойство заключается в предположении, что алгоритм будет пригоден для решения практически всех задач конкретного типа.
  • Дискретность. Означает разделение алгоритмом процесса вычисления на отдельные этапы, возможность выполнения которых компьютером не может вызывать никаких сомнений.
  • Благодаря наличию различных подходов в алгоритмизации решений проблем выделяют три основных типа компьютерных процессов: линейный, ветвление и циклический.

    Алгоритмизация - основы, свойства и способы записи

    Линейный тип — компьютерный процесс, где все этапы выполняются в порядке, согласно их записи.

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

    Цикл является повторяемой частью расчёта. Сам процесс, который включает в себя одно или ряд повторений, называется циклическим. В зависимости от количества выполняемых циклических действий, они подразделяются на циклы с заранее заданным числом повторений и циклы, в которых это число не определено изначально.

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

    Способы записи

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

    Из-за наглядности наиболее часто применяют графический (блочный) метод алгоритмической записи. Характерным примером может служить блок-схема. Это графическое представление структуры алгоритма, показывающее этапы процесса информационной обработки в форме геометрических символов, которые имеют конкретную конфигурацию и зависят от характера выполняемых операций. Список же символов, их названия, отображаемый функционал, форма и размеры определяются правилами ГОСТа.

    Алгоритмизация - основы, свойства и способы записи

    Тремя наиболее распространёнными формами структурной алгоритмической записи являются:

    • словесная;
    • псевдокод;
    • реальный язык программирования.

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

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

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

    Предыдущая
    ИнформатикаЯзык гипертекстовой разметки HTML - основы, функции и правила
    Следующая
    ИнформатикаХранение информации - способы, виды и свойства
    Помогли? Поставьте оценку, пожалуйста.
    Плохо
    0
    Хорошо
    0
    Супер
    0
    Мы в ВК, подпишись на нас!

    Подпишись на нашу группу в ВКонтакте, чтобы быть в курсе выхода нового материала...

    Вступить