19424

Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя)

Реферат

Информатика, кибернетика и программирование

Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя на примере учебного исполнителя. Свойства алгоритма. Способы записи алгоритмов; блоксхемы. Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад в 825 году ученый из города Хор

Русский

2013-07-12

70 KB

59 чел.

Понятие алгоритма. Исполнитель алгоритма. Система команд исполнителя (на примере учебного исполнителя). Свойства алгоритма. Способы записи алгоритмов; блок-схемы.

Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.

Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.

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

1. Достать ключ из кармана.

2. Вставить ключ в замочную скважину.

3. Повернуть ключ два раза против часовой стрелки.

4. Вынуть ключ.

Еще пример. Алгоритм деления отрезка АВ пополам:

1. Поставить ножку циркуля в точку А;

2. Установить раствор циркуля равным длине отрезка АВ;

3. Провести окружность;

4. Поставить ножку циркуля в точку В;

5. Провести окружность;

6. Через точки пересечения окружностей провести прямую;

7. Отметить точку пересечения этой прямой с отрезком АВ.

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

Свойства алгоритмов:

  1.  Дискретность (от лат. discretus — разделённый, прерывистый, раздельность) (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
  2.  Детерминированность (от. лат. determinate – определенность, точность) (любое действие должно быть строго и недвусмысленно определено в каждом случае);
  3.  Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
  4.  Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
  5.  Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).

Замечание: Иногда детерминированность разделяют на понятность(исполнитель алгоритма должен понимать, как выполнять каждое действие) и точность, а конечность и массовость объединяет в одно свойство.

Виды алгоритмов:

1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);

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

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

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

На практике наиболее распространены следующие формы представления алгоритмов:

  •  В устной форме.
  •  В письменной форме на естественном языке.
  •  В письменной форме на формальном языке.
  •  Для более наглядного представления алгоритма широко используется графическая формаблок-схема, которая составляется из стандартных графических объектов.

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

Стандартные графические объекты блок-схемы:

Вид стандартного графического объекта

Назначение

Начало алгоритма

Конец алгоритма

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

Условие выполнения действий записывается внутри ромба

Счетчик кол-во повторов

Последовательность выполнения действий

Пример записи алгоритма в виде блок-схемы:

Стадии создания алгоритма:

1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает (определить цель, наметить план действий).

2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия (выбрать среду и объект алгоритма, детализировать алгоритм).

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

Исполнитель - объект, который выполняет алгоритм.

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

Компьютер – автоматический исполнитель алгоритмов.

Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.

Каждый исполнитель характеризуется средой («местом обитания») и системой команд.

Основными характеристиками исполнителя являются: среда, система команд, элементарные действия, отказы.

Среда (или обстановка) — это "место обитания", множество объектов, которые окружают исполнителя.

Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Совокупность всех команд, которые исполнитель может выполнить, называется системой команд исполнителя (СКИ). Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды.

За каждой командой из системы команд исполнителя закреплено конкретное элементарное действие. Исполнителя можно представить в виде устройства с кнопочным управлением. Каждая кнопка соответствует одной команде исполнителю, и нажатие означает вызов этой команды. После вызова команды исполнитель совершает элементарное действие, соответствующее данной команде. Важно отметить, что нас интересует результат, а не механизм выполнения команды.

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

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

Есть много различных учебных исполнителей, придуманных для занятий по информатике. У них разные, часто забавные названия: Черепашка, Робот, Чертежник, Кенгуренок, Пылесосик, Муравей, Кукарача и др. Одни исполнители создают рисунки на экране, другие складывают слова из кубиков с буквами, третьи перетаскивают предметы из одного места в другое. Все эти исполнители управляются программным путем. Любому из них свойственна определенная среда деятельности, система команд управления, режимы работы. С помощью каждого из таких исполнителей можно учиться строить алгоритмы управления.

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


 

А также другие работы, которые могут Вас заинтересовать

24320. Создание Swing GUI в IDE Net Beans 736 KB
  В этом занятии приведено пошаговое описание процесса создания графического интерфейса пользователя для приложения с именем ContactEditor с помощью конструктора графического интерфейса пользователя IDE NetBeans. Целью является проектирование программы интерфейса пользователя, позволяющей просматривать и редактировать записи базы данных
24322. Поведение покупателей. Модели поведения индивидуальных покупателей и покупателей-организаций 36.5 KB
  Поведение потребителей определяется как действия непосредственно связанные с получением потреблением и распоряжением товарами и услугами включая процессы принятия решения которые предшествуют и следуют за этими действиями Э. Потребительское поведение распределение дохода между товарами и услугами которые он собирается приобрести Т. Поведение конечных потребителей обусловлено прежде всего характером самих потребностей.
24323. Сегментация рынка, отбор целевых критериев рынка. Критерии сегментации 30.5 KB
  Сегментация рынка отбор целевых критериев рынка. Сегментирование рынка представляет собой разбивку рынка на четкие группы покупателей для каждой из которых могут потребоваться отдельные товары и или комплексы маркетинга. Какогото единого метода сегментирования рынка не существует: используются варианты включающие от отсутствия сегментирования до полного сегментирования. Для того чтобы целевой рынок с помощью маркетингового исследования сделать более доступным для продавца остается выяснить: нет ли внутри существующего рынка как целого...
24324. Исследование классов в Java 772.5 KB
  На занятии рассматривается порядок объявления и применения классов и их членов при разработке приложений для Java SE в IDE NetBeans. Для выполнения заданий этого занятия требуются программное обеспечение и ресурсы
24325. Позиционирование товара на рынке. Способы и этапы выбора позиции 35 KB
  Позиционирование товара на рынке. Позиционирование по мнению специалистов это деятельность по выбору целевых сегментов задающих области конкуренции и выбор отличительных преимуществ определяющих методы конкурентной борьбы. Всегда ли уместно позиционирование Не рекомендуется тратить время и деньги если целевой сегмент малорентабелен слишком мал сам по себе качество и характеристики предлагаемого товара и товаров конкурентов малозначимы для реальных покупателей издержки позиционирования превышают прибыль от него. Вместе с тем...
24326. Исследование циклических конструкций Java 183 KB
  Оператор цикла for(цикл со счетчиком). Оператор цикла while (цикл с предусловием). Оператор цикла do...while (цикл с постусловием). Конструкции перехода (прерывания)
24327. Понятие сбыта и сбытовой политики фирмы 46 KB
  Понятие сбыта и сбытовой политики фирмы. комплексность с другими элементами маркетингамикс скоординированность сочетание решений в сфере сбыта ценообразования коммуникаций сервиса и др. системность рассмотрение сбыта и остальных инструментов как элементов вызывающих синергетический эффект от их совместного применения гибкость готовность к пересмотру своих позиций в случае необходимости. Задача сбытовой политики управление конкурентоспособностью товара путем управлением каналами сбыта планирование длины ширины и...
24328. Поведение потребителей. Факторы, влияющие на поведение потребителя 42.5 KB
  Факторы влияющие на поведение потребителя. потребитель выражая свои симпатии и антипатии покупательские предпочтения может решать судьбу фирмыпроизводителя как продавца фирма стремится в максимальной степени задействовать все свои возможности всестороннего и углубленного изучения потребителя потенциального покупателя включая вопросы мотивации покупательского оповещения потребителей принятие решение о покупке формирование покупательских предпочтений. Рассматривая поведение потребителя экономисты задаются вопросом: каким образом...