Реферат - Элементы теории алгоритмов - файл n1.doc

Реферат - Элементы теории алгоритмов
скачать (118.5 kb.)
Доступные файлы (1):
n1.doc119kb.30.05.2012 11:23скачать

n1.doc



Агентство по управлению государственными учреждениями Пермского края

ГОУ СПО «Осинский профессионально-педагогический колледж»

Реферат

Элементы теории алгоритмов

Черныш Семен Олегович

Специальность 050709(0312)

Преподавание в начальных классах

Курс 2, группа 25
Руководитель:

Бурдыга Валентина Павловна

Оса, 2010

Содержание


Содержание 2

Введение 3

1.Понятие алгоритма 4

2.Свойства алгоритмов 6

2.1.Дискретность 6

2.2.Детерминированность 7

2.3.Конечность 7

2.4.Массовость 7

2.5.Результативность 8

3.Виды алгоритмов 9

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

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

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

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

4. Способы описания алгоритмов 12

4.1.Словесный способ 12

4.2.Блок-схемы 12

Заключение 14

Литература 15



Введение


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

Целью реферата является раскрытие базовых знаний об элементах теории алгоритмов.

Для решения поставленной цели необходимо выполнить следующие задачи:

Я выбрал данную тему из-за ее актуальности.
  1. Понятие алгоритма


Знакомство с понятием алгоритма я предлагаю начать с рассмотрения примера.

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

  1. Изучить образ дракона по имеющейся картинке.

  2. Вылепить голову.

  3. Вылепить туловище.

  4. Вылепить хвост.

  5. Вылепить четыре ноги.

  6. Сравнивая с картинкой, уточнить детали каждой вылепленной части дракона.

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

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

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

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

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

Значение слова алгоритм очень схоже со значением слов рецепт, процесс, метод, способ. Однако любой алгоритм, в отличие от рецепта или способа обязательно обладает свойствами.
  1. Свойства алгоритмов


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

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

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

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

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

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

Представьте, что вас пригласили в гости и подробно объяснили, как добраться:

  1. Выйти из дома.

  2. Повернуть направо.

  3. Пройти два квартала до остановки.

  4. Сесть в автобус №5, идущий к центру города.

  5. Проехать три остановки.

  6. Выйти из автобуса.

  7. Найти по указанному адресу дом и квартиру.

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


Дискретность (от лат. discretus – разделенный, прерывистый). Это свойство указывает, что любой алгоритм должен состоять из конечных действий, следующих в определенном порядке. В приведенных выше алгоритмах общим является необходимость строгого соблюдения последовательности выполнения действий. Попробуем переставить в первом примере второе и третье действия. Вы, конечно, сможете выполнить и этот алгоритм, но дверь вряд ли откроется. А если поменять местами, предположим, пятое и второе действия во втором примере, алгоритм станет не выполнимым.
    1. Детерминированность


Детерминированность (от лат. determinate – определенность, точность). Это свойство указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута – 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, - скажем, три.
    1. Конечность


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


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

  1. Отрезать ломтик хлеба.

  2. Намазать его маслом.

  3. Отрезать кусок любого другого пищевого продукта (колбасы, сыра).

  4. Наложить отрезанный кусок на ломоть хлеба.
    1. Результативность


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

  1. Из числа А вычесть число В.

  2. Если получилось отрицательное значение, то сообщить, что число B больше.

  3. Если получилось положительное значение, то сообщить, что число А больше.

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

  1. Из числа А вычесть число В.

  2. Если получилось отрицательное значение, то сообщить, что число B больше.

  3. Если получилось положительное значение, то сообщить, что число А больше.

  4. Если получилось ноль, то сообщить, что числа равны.

Таким образом, для любого алгоритма характерны следующие свойства: дискретность, детерминированность, конечность, массовость, результативность.
  1. Виды алгоритмов


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

Хочется заметить, что в 1969 году Эдсгер В. Дийкстра в статье «Структуры данных и алгоритмы» доказал, что для записи любого алгоритма достаточно трех основных алгоритмических конструкций: линейных, ветвящихся, циклических. Рассмотрим эти конструкции.
    1. Линейный алгоритм


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


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

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

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


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

Вспомним сюжет из русской сказки. Царевич останавливается у развилки дороги и видит камень с надписью: «Направо пойдешь – коня потеряешь, налево пойдешь – сам пропадешь…»

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

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

Логика учит правильно формулировать условие, под которым понимается предложение, начинающееся со слова «если» и заканчивающееся перед словом «то». Условие может принимать значение «истина», когда оно выполнено, или «ложь», когда оно не выполнено. От значения условия зависит наше дальнейшее действие.
    1. Вспомогательный алгоритм


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

Вспомогательному алгоритму должно быть присвоено имя.

Допустим, вы хотите научиться жонглировать двумя или даже тремя мячами. Если внимательно приглядеться к действиям профессионального артиста и попытаться понять, как это ему удается делать, то оказывается – секрет в том. Что надо научится искусно выполнять несколько определенных движений, которым присвоим соответствующие названия:

Тогда алгоритм жонглирования можно записать с помощью вспомогательных алгоритмов выполнения отдельных действий в следующем виде:

  1. Когда летящий шарик начинает поворачивать к правой руке, выполнить
    Бросок правой и Захват правой.

  2. Когда летящий шарик начинает поворачивать к правой руке, выполнить
    Бросок левой и Захват левой.

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

4. Способы описания алгоритмов


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


Способ описание на естественном языке, как делалось в предыдущих примерах. Он очень удобен, когда следует приближенно описать суть алгоритма.
    1. Блок-схемы


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

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

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

Назначение




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




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


Гуляю



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




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




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

  • влево и вверх – линия со стрелкой,

  • вниз и вправо – линия без стрелки

На приведенных ниже рисунках 1–5 представлены блок схемы типовых алгоритмических конструкций.


Заключение


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

Литература


  1. Аляев Ю. А. Алгоритмизация и языки программиования Pascal, C++, Visual Basic / Ю. А. Аляев. – М., 2002 г.

  2. Макарова Н. В. Информатика 7-9 класс Базовый курс. Теория / Н. В. Макарова. – М., 2003 г.

  3. Семакин И. Г. Информатика Базовый курс 7-9 класс / И. Г. Семакин. – М., 1999 г.

  4. Стариченко Б. Е. Теоретические основы информатики / Б. Е. Стариченко. – М., 2004 г.

  5. Фалина И. Н. Элементы теории алгоритмов / И. Н. Фалина // Информатика. – 2004 г. – №3 (435). – 2-11.



Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации