Основные алгоритмические конструкции

Элементарные шаги алгоритма можно объединить в следующие алгоритмические конструкции:

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

- линейная алгоритмическая конструкция.

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

- разветвляющаяся алгоритмическая конструкция.

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

- алгоритмическая конструкция «Цикл».

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

- рекурсивный алгоритм.

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

АЛЬТЕРНАТИВА

Линейный алгоритм

Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.

Блок-схема линейного алгоритма:

Основные алгоритмические конструкции - student2.ru

Циклический алгоритм

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

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

Циклические алгоритмы бывают двух типов:

Циклы со счетчиком, в которых какие-то действия выполняются определенное число раз;

Циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия. Различают циклы с предусловием и постусловием.

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

Основные алгоритмические конструкции - student2.ru

Для счетчика от нач. значения до кон. значения выполнить действие.

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

Основные алгоритмические конструкции - student2.ru

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

Основные алгоритмические конструкции - student2.ru

В общем случае схема циклического алгоритма с условием будет выглядеть так:

Пока условие повторять действие.


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

Разветвляющийся алгоритм

Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других – другая.

Если пошел дождь, то надо открыть зонт.

Если прозвенел будильник, то надо вставать.

Если встречу Сашу, то скажу ему …

Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.

Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Основные алгоритмические конструкции - student2.ru

Эти предложения начинаются с проверки какого-либо условия: пошел дождь, прозвенел будильник, встретил Сашу… Далее в зависимости мы либо вылиняем какое-либо действие, либо не выполняем его (или выполняем какое-то другое действие).

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

В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие,то действие 1,иначе действие 2» (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.). Так же можно использовать неполную форму: «если условие, то действие» (Если встречу Сашу, то скажу ему ). В этом случае не предусматривается действий на случай невыполнения условия.

Основные алгоритмические конструкции - student2.ru

Условие – это высказывание которое может быть либо истинно, либо ложно.

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

Вспомогательный алгоритм

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

Билет №20.

Киберне́тика (от др.-греч. κυβερνητική — «искусство управления»[1]) — наука об общих закономерностях процессов управления и передачи информации в различных системах, будь то машины, живые организмы или общество.

Кибернетика → общие закономерности управления и передачи информации

Термин «кибернетика» в современном понимании как наука об общих закономерностях процессов управления и передачи информации в машинах, живых организмах и обществе впервые был предложен Норбертом Винером в 1948 году[2].

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

Основные алгоритмические конструкции - student2.ru

Основные алгоритмические конструкции - student2.ru

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

Более философское определение кибернетики, предложенное в 1956 году Л. Куффиньялем (англ.), одним из пионеров кибернетики, описывает кибернетику как «искусство обеспечения эффективности действия» [4]. Новое определение было предложено Льюисом Кауфманом (англ.): «Кибернетика — исследование систем и процессов, которые взаимодействуют сами с собой и воспроизводят себя».

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

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

Другие области исследований, повлиявшие на развитие кибернетики или оказавшиеся под её влиянием, — теория управления, теория игр, теория систем (математический эквивалент кибернетики), психология (особенно нейропсихология, бихевиоризм, познавательная психология) и философия.

[править] Сфера кибернетики

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

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

  • Теория передачи сигналов
  • Теория управления
  • Теория автоматов
  • Теория принятия решений
  • Синергетика
  • Теория алгоритмов
  • Распознавание образов
  • Теория оптимального управления

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

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

[править] Направления

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

[править] Чистая кибернетика

Чистая кибернетика изучает системы управления как понятие, пытаясь обнаружить основные её принципы.

Основные алгоритмические конструкции - student2.ru

Основные алгоритмические конструкции - student2.ru

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

  • Искусственный интеллект
  • Кибернетика второго порядка
  • Компьютерное зрение
  • Системы управления
  • Эмерджентность
  • Обучающиеся организации
  • Новая кибернетика
  • Interactions of Actors Theory
  • Теория общения

Основные алгоритмические конструкции - student2.ru

  • Биоинженерия
  • Биологическая кибернетика
  • Биоинформатика
  • Бионика
  • Медицинская кибернетика
  • Нейрокибернетика
  • Гомеостаз
  • Синтетическая биология
  • Системная биология

[править] Теория сложных систем

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

Основные алгоритмические конструкции - student2.ru

Основные алгоритмические конструкции - student2.ru

Способ моделирования сложной адаптивной системы

  • Сложная адаптивная система
  • Сложные системы
  • Теория сложных систем

[править] В компьютерной науке

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

  • Робототехника
  • Система поддержки принятия решений
  • Клеточный автомат
  • Симуляция

[править] В инженерии

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

Основные алгоритмические конструкции - student2.ru

  • Адаптивная система
  • Инженерная кибернетика
  • Эргономика
  • Биомедицинская инженерия
  • Нейрокомпьютинг
  • Техническая кибернетика
  • Системотехника

[править] В экономике и управлении

  • Кибернетическое управление
  • Экономическая кибернетика
  • Исследование операций
  • Системотехника

[править] В математике

  • Динамическая система
  • Теория информации
  • Теория систем

[править] В психологии

  • Психологическая кибернетика

[править] В социологии

Наши рекомендации