Как появился алгоритм. Правила построения алгоритма

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

Ну, а теперь главный вопрос: Что такое алгоритм?

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

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

  1. Конечность(результативность) алгоритма означает, что за конечное число шагов должен быть получен результат;
  2. Дискретность алгоритма означает, что алгоритм должен быть разбит на последовательность выполняемых шагов;
  3. Понятность алгоритма означает, что алгоритм должен содержать только те команды, которые входят в набор команд, который может выполнить конкретный исполнитель;
  4. Точность алгоритма означает, что каждая команда должна пониматься однозначно;
  5. Массовость алгоритма означает, что однажды составленный алгоритм должен подходить для решения подобных задач с разными исходными данными.
  6. Детерминированность (определенность) . Алгоритм обладает свойством детерминированности, если для одних и тех же наборов исходных данных он будет выдавать один и тот же результат, т.е. результат однозначно определяется исходными данными.

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

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

Я хочу порезать апельсин. Как это сделать?

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

    • Линейный(Команды последовательны без повторов и переходов);

Пример алгоритма:

начало
достань нож
порежь апельсин(Именно апельсин, а не любой другой фрукт. За это отвечает ТОЧНОСТЬ)
съешь апельсин
конец

    • Циклический(Есть группа действий, повторяющихся по некоторому условию);

Пример алгоритма:

начало
достань нож
ПОКА апельсины не закончились
порежь апельсин
съешь все апельсины
конец

    • Разветвляющийся(Выполнение команды зависит от условия).

Пример алгоритма:

начало
достань нож
ЕСЛИ нож тупой поточи
порежь апельсин
съешь апельсин
конец

Вот и все. На следующем уроке мы с вами рассмотрим структуру программы в Паскаль.

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

1. Как называлось вычислительное устройство, которое использовалось в Древней Греции?

  1. калькулятор
  2. машина Паскаля
  3. арифмометр
  4. логарифмическая линейка

2. Проект первой программно-управляемой машины был разработан:

  1. Чарльзом Бэббиджем
  2. Блезом Паскалем
  3. Джоном фон Нейманом
  4. С.А. Лебедевым
  5. Джоном Непером

3. Для ввода программ и данных в ЭВМ первого поколения использовались

  1. магнитные барабаны
  2. оптические диски
  3. магнитные диски
  4. перфокарты
  5. магнитные ленты

4. Элементной базой первого поколения были

  1. транзисторы
  2. микропроцессоры
  3. интегральные схемы
  4. электронные лампы
  5. электромеханическое реле

5. Первая ЭВМ называлась …

6. Кто был конструктором первых отечественных ЭВМ?

7. Как назывался первый серийный персональный компьютер?

8. Элементной базой ЭВМ третьего поколения были

  1. микропроцессоры
  2. транзисторы
  3. интегральные схемы
  4. электронные лампы
  5. электромеханическое реле

9. Что такое информатизация?

  1. программное обеспечение компьютера
  2. технология подготовки документов
  3. совокупность способов и приемов хранения, передачи и обработки информации
  4. процесс создания, развития и массового применения информационных средств и технологий
  5. система управления базами данных

10. Информационным обществом называют:

  1. систему национальных, общественных учреждений
  2. пользователей сети Интернет
  3. сеть, связывающую между собой множество локальных сетей, а также отдельные компьютеры
  4. стадию развития общества, на которой основным предметом трудовой деятельности людей становится информация
  5. общество, характеризующееся высокой степенью открытости, доступности информации о деятельности учреждений, организаций, должностных лиц и т.п. для общественного ознакомления, обсуждения

11. Что из перечисленного НЕ относится к целям информатизации?

  1. информационное обеспечение активного отдыха и досуга людей
  2. формирование и развитие информационных потребностей людей
  3. формирование условий, обеспечивающих осуществление информатизации
  4. информационное обеспечение всех видов деятельности
  5. перевод всех информационных ресурсов в цифровой формат

12. К национальным информационным ресурсам относятся

  1. медицинские учреждения
  2. фонды библиотек и архивов
  3. университеты, институты, академии
  4. газ, нефть
  5. общественные организации

13. К мерам обеспечения информационной безопасности НЕ относится

  1. технические меры по защите от компьютерных преступлений
  2. юридические меры по защите от компьютерных преступлений
  3. разработка технологий создания защищенных автоматизированных систем обработки информации
  4. соблюдение правил техники безопасности при работе с компьютером
  5. административные меры по защите от компьютерных преступлений

14. По линии прямой связи передаются

  1. команды управления и информация об объекте управления
  2. информация о состоянии объекта управления
  3. информация о состоянии управляющей системы
  4. команды управления
  5. команды управления и информация об управляющей системе

15. Какой из объектов может являться исполнителем алгоритмов?

16. Алгоритмы, которые решают некоторую подзадачу главной задачи и, как правило, выполняются многократно, называются:

  1. циклическими
  2. вспомогательными
  3. линейными
  4. основными
  5. ветвящимися

Читайте также: Какие документы должны выдать при увольнении

17. Алгоритм называется линейным:

  1. если ход его выполнения зависит от истинности тех или иных условий
  2. если его исполнение предполагает многократное повторение одних и тех же операций
  3. если операции выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий
  4. если он представим в табличной форме
  5. если операции выполняются от нач до кон

18. Понятность алгоритма означает, что он должен быть записан с помощью:

  1. команд, понятных создателю алгоритма
  2. команд из системы команд исполнителя
  3. команд, понятых пользователю алгоритма
  4. команд, понятных для компьютера
  5. операторов языка программирования

19. Конечность алгоритма означает, что:

  1. в нем должен присутствовать оператор вывода результата
  2. он должен решать задачу вычислительного характера
  3. в нем должно присутствовать ключевое слово, означающее конец алгоритма
  4. он должен быть применим для решения всех задач заданного типа
  5. результат должен быть получен за конечное число шагов

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

  1. массовость
  2. точность
  3. конечность
  4. понятность
  5. дискретность

21. Алгоритм — это

  1. конечный набор предписаний, определяющий решение задачи посредством конечного количества операций
  2. правила выполнения определенных действий
  3. набор команд для компьютера
  4. протокол вычислительной сети
  5. предписание исполнителю совершить последовательность действий

22. В клетку электронной таблицы можно занести.

  1. только формулу
  2. только число или текст
  3. только число
  4. число, формулу или текст
  5. диаграмму

23. Диапазон клеток электронной таблицы — это

  1. множество клеток, образующих область произвольной формы
  2. множество заполненных клеток ЭТ
  3. множество пустых клеток ЭТ
  4. множество клеток, образующих область прямоугольной формы
  5. множество клеток, образующих область квадратной формы

24. Сколько клеток входит в диапазон клеток A5:D8?

25. Клетка ЭТ называется текущей, если

  1. клетка видна на экране
  2. в ней находится информация
  3. клетка является пустой
  4. клетка содержит формулу
  5. в ней находится курсор

26. Адрес клетки электронной таблицы — это

  1. имя, состоящее из последовательности символов
  2. имя, состоящее из имени столбца и номера строки
  3. адрес байта оперативной памяти, отведенного под клетку
  4. адрес машинного слова оперативной памяти, отведенного под клетку
  5. номер байта оперативной памяти, отведенной под клетку

27. Чему равна сумма двоичных чисел 110110 и 101?

28. Неверно утверждение:

  1. запись включает в себя несколько полей
  2. поле включает в себя несколько записей
  3. каждое поле БД имеет свой размер
  4. БД имеет жесткую структуру
  5. каждое поле имеет имя

29. Структура БД изменится, если

  1. добавить/удалить поле
  2. отредактировать запись
  3. поменять местами записи
  4. добавить запись
  5. удалить запись

30. В реляционной БД информация организована в виде

  1. иерархической структуры
  2. файла
  3. дерева
  4. прямоугольной таблицы

31. Что делает невозможным подключение компьютера к глобальной сети:

  1. Тип компьютера
  2. Состав периферийных устройств
  3. Отсутствие дисковода
  4. Отсутствие сетевой карты

32. В компьютерных сетях используются обычно каналы связи:

  1. Провода
  2. Кабели
  3. Радио связь
  4. Все вышеперечисленное

33. Эффективность компьютерной связи зависит обычно от:

  1. Пропускной способности
  2. Производительности процессора
  3. Емкости памяти
  4. Все вышеперечисленное

34. Устройство, производящее преобразование аналоговых сигналов в цифровые и обратно, называется:

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

  1. локальная сеть
  2. глобальная сеть
  3. корпоративная сеть
  4. региональная сеть

36. В локальных сетях используются:

  1. Провода и кабели
  2. Линии телефонной связи
  3. Электронные лампы
  4. Кристалл

37. Всемирная паутина — это система в глобальной сети, которое носит название:

38. Протоколы — это …

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

39. Браузер — это …

  1. информационная система, основными компонентами которой являются гипертекстовые документы
  2. программа для просмотра Web-страниц
  3. сервис Интернета, позволяющий обмениваться между компьютерами посредством сети электронными сообщениями

40. Адрес электронной почты записывается по определенным правилам. Уберите лишнее

  1. petrov_yandex.ru
  2. [email protected]
  3. [email protected]

Итоговое тестирование по информатике на тему «Управление и алгоритмы» (9 класс)

Что такое КИБЕРНЕТИКА?

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

наука об управлении в живых и неживых системах;

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

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

Читайте также: Возврат госпошлины при отказе от иска в арбитражном суде

Кто основал КИБЕРНЕТИКУ?

венгро-немецкий математик Джон фон Нейман;

греческий философ Платон;

французский физик Андре Ампер;

русский учёный Владислав Закревский;

американский математик Норберт Винер.

Из каких элементов с точки зрения кибернетики состоит всякая система управления?

канал обратной связи;

16+ Свидетельство о регистрации СМИ:
Эл №ФС77-60625 от 20.01.2015.

Лицензия на осуществление образовательной деятельности: № 5201 от 20.05.2016.

Адрес редакции и издательства: 214011, РФ,
г. Смоленск, ул. Верхне-Сенная, 4.
Контакты: [email protected]

Правообладатель товарного знака ИНФОУРОК: ООО «Инфоурок» (Свидетельство № 581999)

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

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

1. Как называется свойство алгоритма, 1. Как называется свойство алгоритма, означающее, что данный алгоритм применим к решению целого класса задач?
а) понятность
б) определённость
в) результативность
г) массовость
2. Как называется свойство алгоритма, означающее, что он всегда приводит к результату через конечное, возможно, очень большое число шагов?
а) дискретность
б) понятность
в) результативность
г) массовость
3. Как называется свойство алгоритма, означающее, что он задан с помощью таких предписаний, которые исполнитель может воспринимать и по которым может выполнять требуемые действия?
а) дискретность
б) понятность
в) определённость
г) массовость
4. Как называется свойство алгоритма, означающее, что пусть решения задачи разделён на отдельные шаги?
а) дискретность
б) определённость
в) результативность
г) массовость
5. Как называется свойство алгоритма, означающее, что путь решения задачи определён вполне однозначно, на любом шаге не допускаются никакие двусмысленные и недомолвки?
а) дискретность
б) понятность
в) определённость
г) результативность

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

Ответим на вопросы по теме «Свойства алгоритма»:

Прежде,чем ответить на вопросы теста, вспомним свойства алгоритма:

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

Вопрос №1
Как называется свойство алгоритма, означающее, что данный алгоритм применим к решению целого класса задач ?
а) понятность;
б) определённость;
в) результативность;
г) массовость — определенный алгоритм может применяться для решения целого класса подобных задач .
ОТВЕТ: Г) МАССОВОСТЬ

Вопрос № 2
Как называется свойство алгоритма, означающее, что он всегда приводит к результату через конечное . возможно, очень большое число шагов ?
а) дискретность;
б) понятность;
в) результативность — получение результата через конечное число шагов ;
г) массовость.
ОТВЕТ: В) РЕЗУЛЬТАТИВНОСТЬ .

Вопрос №3
Как называется свойство алгоритма, означающее, что он задан с помощью таких предписаний, которые исполнитель может воспринимать и по которым может выполнять требуемые действия ?
а) дискретность;
б) понятность — содержание команд, понятных исполнителю ;
в) определённость;
г) массовость.
ОТВЕТ: Б) ПОНЯТНОСТЬ.

Вопрос № 4
Как называется свойство алгоритма, означающее, что путь решения задачи разделён на отдельные шаги ?
а) дискретность — разделения алгоритма на последовательные действия (шаги);
б) определённость;
в) результативность
г) массовость
ОТВЕТ: А) ДИСКРЕТНОСТЬ

Вопрос № 5
Как называется свойство алгоритма, означающее, что путь решения задачи определён вполне однозначно . на любом шаге не допускаются никакие двусмысленные и недомолвки?
а) дискретность;
б) понятность;
в) определённость — результат однозначно определяется исходными данными, каждый шаг алгоритма строго определён;
г) результативность.
ОТВЕТ: В) ОПРЕДЕЛЁННОСТЬ.

Бесплатная помощь с домашними заданиями

Введение в понятие алгоритма

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

В сегодняшнем социуме слово «алгоритм» настолько широко распространено, что большинству интуитивно понятно. Под ним мы понимаем какую-либо последовательность шагов для достижения той или иной цели. Однако для теоретической науки понятие «алгоритма» достаточно сложное.

Сегодня мы дадим ответ на вопрос о том, что такое алгоритм.

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

Что называется алгоритмом

Понятие алгоритма является довольно древним и относится к одному из главных, а также базовых понятий в математике. Термин происходит от латинского написания имени известного восточного математика 787-850 годов Мухаммеда аль-Хорезми - Algorithmi. Этот ученный был первым, кто сформулировал точные правила для записи натуральных чисел, а также правила для подведения отсчётов в столбик. Довольно интересным фактом является и то, что, несмотря на древние корни, само понятие было точно сформулировано лишь в начале ХХ века. Ныне алгоритм является основной составляющей современного бизнеса, любого учебного процесса или же исследования. Именно поэтому каждому современному человеку просто необходимо точно знать, что означает алгоритм.

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

Что такое свойства алгоритмов

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

  1. Одним из важнейших свойств является дискретность. Ее мы рассмотрим чуточку ниже.
  2. Не менее важной является определенность. Согласно данному свойству каждая команда должна быть однозначной и наводить исполнителя на конкретное действие.
  3. Стоит помнить и о понятности алгоритма. В алгоритме должны использоваться только необходимые команды, которые относятся к поставленной задаче.
  4. Важным свойством является и результативность (также часто называют конечностью) алгоритма. Свойство «результативность» указывает на то, что в алгоритме имеется определенное, ранее указанное число шагов, выполнение которых приведет к выполнению поставленной задачи.
  5. Также любой алгоритм должен обязательно обладать и таким свойством, как массовость. Если алгоритм обеспечивает выполнение всех задач определенного типа, то он обладает свойством массовости.

Что такое алгоритм в информатике

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

Алгоритм, записанный на формальном языке, принято называть программой. Очень часто понятие алгоритма тесно связывается с процессом его записи в программу. Именно поэтому термин алгоритма и программы зачастую считают синонимами

Как создать алгоритм

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

  1. Алгоритм обязательно должен писаться на формальном и ясном языке. Неоднозначность или же неясность указаний недопустима.
  2. При составлении алгоритма нужно обязательно учесть и то, для кого он составляется. Исполнитель должен понимать все пункты алгоритма и иметь возможность претворить их в жизнь.
  3. Желательно делать алгоритм кратким, точным и ясным.

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

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

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

Именно простые операторы наиболее часто используются в линейных алгоритмах.

Свойство дискретности алгоритма и ее значение

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

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

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

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

Общие определения

Единого «истинного» определения понятия «алгоритм» нет. Наиболее известные варианты определения опираются на интуитивное понятие «задачи»:

  • Алгоритм - это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность (Д. Э. Кнут ).
  • Алгоритм - это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи (А. Н. Колмогоров ).
  • Алгоритм - это последовательность действий, либо приводящяя к решению задачи, либо поясняющая, почему это решение получить нельзя.

Формальные признаки алгоритмов

  • Детерминированность : в каждый момент времени следующий шаг работы однозначно определяется состоянием исполнителя. Алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных.
  • Понятность : алгоритм должен включать только команды из заранее оговоренной системы команд исполнителя.
  • Завершаемость (конечность): при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов.
  • Массовость : алгоритм должен быть применим к разным наборам исходных данных.

Алгоритмы анализа данных

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

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

Литература

  1. Рудаков, К. В. Алгебраическая теория универсальных и локальных ограничений для алгоритмов распознавания : Дис. док. физ.-мат. наук: 05-13-17. - Вычислительный центр АН СССР, 1992. - 274 с. (

Слово «алгоритм» происходит от имени великого среднеазиатского ученого 8–9 вв. Аль-Хорезми (Хорезм – историческая область на территории современного Узбекистана). Из математических работ Аль-Хорезми до нас дошли только две – алгебраическая (от названия этой книги родилось слово алгебра) и арифметическая. Вторая книга долгое время считалась потерянной, но в 1857 в библиотеке Кембриджского университета был найден ее перевод на латинский язык. В ней описаны четыре правила арифметических действий, практически те же, что используются и сейчас. Первые строки этой книги были переведены так: «Сказал Алгоритми. Воздадим должную хвалу Богу, нашему вождю и защитнику». Так имя Аль-Хорезми перешло в Алгоритми, откуда и появилось слово алгоритм. Термин алгоритм употреблялся для обозначения четырех арифметических операций, именно в таком значении он и вошел в некоторые европейские языки. Например, в авторитетном словаре английского языка Webster"s New World Dictionary , изданном в 1957, слово алгоритм снабжено пометкой «устаревшее» и объясняется как выполнение арифметических действий с помощью арабских цифр.

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

Проблема определения понятия «алгоритм».

На протяжении многих веков понятие алгоритма связывалось с числами и относительно простыми действиями над ними, да и сама математика была, по большей части, наукой о вычислениях, наукой прикладной. Чаще всего алгоритмы представлялись в виде математических формул. Порядок элементарных шагов алгоритма задавался расстановкой скобок, а сами шаги заключались в выполнении арифметических операций и операций отношения (проверки равенства, неравенства и т.д.). Часто вычисления были громоздкими, а вычисления вручную – трудоемкими, но суть самого вычислительного процесса оставалась очевидной. У математиков не возникала потребность в осознании и строгом определении понятия алгоритма, в его обобщении. Но с развитием математики появлялись новые объекты, которыми приходилось оперировать: векторы, графы, матрицы, множества и др. Как определить для них однозначность или как установить конечность алгоритма, какие шаги считать элементарными? В 1920-х задача точного определения понятия алгоритма стала одной из центральных проблем математики. В то время существовало две точки зрения на математические проблемы:

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

Есть проблемы, для которых алгоритм вообще не может существовать.

Идея о существовании алгоритмически неразрешимых проблем оказалась верной, но для того, чтобы ее обосновать, необходимо было дать точное определение алгоритма. Попытки выработать такое определение привели к возникновению теории алгоритмов, в которую вошли труды многих известных математиков – К.Гедель , К.Черч, С.Клини, А.Тьюринг , Э.Пост, А.Марков, А.Колмогоров и многие другие.

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

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

Понятие «алгоритма».

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

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

Наличие исходных данных и некоторого результата.

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

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

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

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

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

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

Определенность.

На каждом шаге алгоритма у исполнителя должно быть достаточно информации, чтобы его выполнить. Кроме того, исполнителю нужно четко знать, каким образом он выполняется. Шаги инструкции должны быть достаточно простыми, элементарными, а исполнитель должен однозначно понимать смысл каждого шага последовательности действий, составляющих алгоритм (при вычислении площади прямоугольника любому исполнителю нужно уметь умножать и трактовать знак «x » именно как умножение). Поэтому вопрос о выборе формы представления алгоритма очень важен. Фактически речь идет о том, на каком языке записан алгоритм.

Формы представления алгоритмов.

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

Например, описание алгоритма Евклида нахождения НОД (наибольшего общего делителя) двух целых положительных чисел может быть представлено в виде трех шагов. Шаг 1: Разделить m на n . Пусть p – остаток от деления.

Шаг 2: Если p равно нулю, то n и есть исходный НОД.

Шаг 3: Если p не равно нулю, то сделаем m равным n , а n равным p . Вернуться к шагу 1.

Приведенная здесь запись алгоритма нахождения НОД очень упрощенная. Запись, данная Евклидом, представляет собой страницу текста, причем последовательность действий существенно сложней.

Одним из распространенных способов записи алгоритмов является запись на языке блок-схем. Запись представляет собой набор элементов (блоков), соединенных стрелками. Каждый элемент – это «шаг» алгоритма. Элементы блок-схемы делятся на два вида. Элементы, содержащие инструкцию выполнения какого-либо действия, обозначают прямоугольниками, а элементы, содержащие проверку условия – ромбами. Из прямоугольников всегда выходит только одна стрелка (входить может несколько), а из ромбов – две (одна из них помечается словом «да», другая – словом «нет», они показывают, соответственно, выполнено или нет проверяемое условие).

На рисунке представлена блок-схема алгоритма нахождения НОД:

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

Формализация понятия алгоритмов. Теория алгоритмов.

Приведенное определение алгоритма нельзя считать представленным в привычном математическом смысле. Математические определения фигур, чисел, уравнений, неравенств и многих других объектов очень четки. Каждый математически определенный объект можно сравнить с другим объектом, соответствующим тому же определению. Например, прямоугольник можно сравнить с другим прямоугольником по площади или по длине периметра. Возможность сравнения математически определенных объектов – важный момент математического изучения этих объектов. Данное определение алгоритма не позволяет сравнивать какие-либо две таким образом определенные инструкции. Можно, например, сравнить два алгоритма решения системы уравнений и выбрать более подходящий в данном случае, но невозможно сравнить алгоритм перехода через улицу с алгоритмом извлечения квадратного корня. С этой целью нужно формализовать понятие алгоритма, т.е. отвлечься от существа решаемой данным алгоритмом задачи, и выделить свойства различных алгоритмов, привлекая к рассмотрению только его форму записи. Задача нахождения единообразной формы записи алгоритмов, решающих различные задачи, является одной из основных задач теории алгоритмов. В теории алгоритмов предполагается, что каждый шаг алгоритма таков, что его может выполнить достаточно простое устройство (машина), Желательно, чтобы это устройство было универсальным, т.е. чтобы на нем можно было выполнять любой алгоритм. Механизм работы машины должен быть максимально простым по логической структуре, но настолько точным, чтобы эта структура могла служить предметом математического исследования. Впервые это было сделано американским математиком Эмилем Постом в 1936 (машина Поста) еще до создания современных вычислительных машин и (практически одновременно) английским математиком Аланом Тьюрингом (машина Тьюринга).

История конечных автоматов: машина Поста и машина Тьюринга.

Машина Поста – абстрактная вычислительная машина, предложенная Постом (Emil L.Post), которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм».

В 1935 американский математик Пост опубликовал в «Журнале символической логики» статью Финитные комбинаторные процессы, формулировка 1 . В этой статье и появившейся одновременно в Трудах Лондонского математического общества статье английского математика Тьюринга О вычислимых числах с приложением к проблеме решения были даны первые уточнения понятия «алгоритм». Важность идей Поста состоит в том, что был предложен простейший способ преобразования информации, именно он построил алгоритмическую систему (алгоритмическая система Поста). Пост доказал, что его система обладает алгоритмической полнотой. В 1967 профессор В.Успенский пересказал эти статьи с новых позиций. Он ввел термин «машина Поста». Машина Поста – абстрактная машина, которая работает по алгоритмам, разработанным человеком, она решает следующую проблему: если для решения задачи можно построить машину Поста, то она алгоритмически разрешима. В 1970 машина Поста была разработана в металле в Симферопольском университете. Машина Тьюринга была построена в металле в 1973 в Малой Крымской Академии Наук.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V». У машины есть головка, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, либо проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста. Работа машины Поста заключается в том, что головка передвигается вдоль ленты (на одну клетку за один шаг) влево или вправо, наносит или стирает метки, а также распознает, есть ли метка в клетке в соответствии с заданной программой, состоящей из отдельных команд.

Машина Тьюринга состоит из счетной ленты (разделенной на ячейки и ограниченной слева, но не справа), читающей и пишущей головки, лентопротяжного механизма и операционного исполнительного устройства, которое может находиться в одном из дискретных состояний q 0, q 1, …, qs , принадлежащих некоторой конечной совокупности (алфавиту внутренних состояний), при этом q 0 называется начальным состоянием. Читающая и пишущая головка может читать буквы рабочего алфавита A = {a 0, a 1, …, at }, стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А . Чаще всего встречается буква а 0 – «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты – текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты, при этом возможна ситуация выхода за левый край ленты, которая является аварийной (недопустимой), или машинного останова, когда машина выполняет предписание об остановке.

Современный взгляд на алгоритмизацию.

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

Анна Чугайнова

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

История происхождения термина

Понятие об алгоритме впервые было сформировано благодаря математику по имени Мухаммед Аль-Хорезми. Он жил на Востоке в 8-9-м веках и написал два великих труда. Первый из них дал начало слову «алгебра», а второй - понятию «алгоритм». Он обозначал арифметические операции, которые мы знаем как сложение, вычитание, умножение и деление. В 1957 году в одном из изданий английского словаря авторы посчитали, что алгоритм - это понятие устаревшее. Опять оно активно вошло в обиход лишь с появлением компьютеров. Им обозначали действия, которые входили в определенный процесс. Но он не обязательно должен быть только математическим. Тут подразумевается алгоритм действий любого характера, например, приготовления какого-либо блюда. С того времени это понятие не сходит с уст почти всех людей.

Попытки определения термина

Долгое время этот термин рассматривался исключительно как алгоритм чисел и действий с ними. Ведь и сама математика была по большей части прикладной наукой. Формулы, которые применяются для вычислений, в то время и считались алгоритмами. Шаги, которые выполнялись при решении, были элементарными, а сами вычисления - очень громоздкими и отнимали много времени и сил. Математики даже не задумывались над тем, чтобы дать определение этому понятию. Но со временем наука все больше развивалась и появлялись объекты, которые раньше не встречались (матрицы, векторы, множества и т. д.). Всеми ими нужно было оперировать. Это и дало толчок к пониманию того, что алгоритм - это непростое понятие, и его нужно в точности определить для дальнейшего использования. Ученые разделились во мнениях по поводу этого вопроса. Одни считали, что алгоритм применим ко всему, другие же сомневались, что каждую проблему можно решить с его помощью. Последняя точка зрения оказалась верной, но обосновать ее можно было, лишь дав точное определение понятию «алгоритм».

Что обозначает термин «алгоритм»?

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

Свойства, общие для всех алгоритмов

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

  • Дискретность - схема алгоритма предвидит решение поставленной задачи через последовательные действия, которые выполняются в строгой очередности.
  • Определенность - все поставленные условия четкие и не имеют какой-либо двузначности. Алгоритм действий, таким образом, не дает места для любых импровизаций. Это позволяет механически все выполнять, не нуждаясь в дополнительных подсказках.
  • Результативность - за определенное число шагов алгоритм всегда дает правильное решение задачи.
  • Массовость - алгоритм - это решение проблемы, имеющее общий вид. То есть он применим для всех задач определенного класса, независимо от исходных данных. Их выбирают из некого поля под названием "область применимости алгоритма".

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

В зависимости от разных условий, таких как цель, путь решения, начальные данные, алгоритмы делятся на:

  • Механические - жесткая, единственно верная последовательность для достижения требуемого результата (обеспечение работы двигателя и т. д.).
  • Гибкие: 1) вероятностные - имеют несколько путей для достижения верного решения; 2) эвристические - схема алгоритма, которая не имеет однозначной программы действий (предписания и т. д.), ведь она основана на личных качествах человека, его опыте.
  • Вспомогательные - ранее разработанные и полностью предназначенные для разрешения конкретной задачи.

Алгоритмы в информатике

Для информатики алгоритмы имеют особое значение. В этой науке их разделяют на такие виды:

  1. Линейный - все действия выполняются последовательно, друг за другом.
  2. Разветвляющийся алгоритм - это такой, в котором выполнение определенного условия приводит к выбору одного из двух возможных вариантов дальнейших действий.
  3. Циклический - одни и те же действия повторяются над разными исходными данными, таким образом подбираются наиболее подходящие.

Структура алгоритмов

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

Правила составления алгоритмов

  • Первым правилом является то, что нужно определить большое количество объектов, которые смогут поддаться построенному алгоритму. Программист с помощью кодировки переводит их в данные. Они бывают входные и выходные. Первые служат для начала работы, вторые становятся ее результатом. Это называется преобразованием данных.
  • Второе правило говорит о том, что работа с алгоритмом требует свободной памяти. Ведь без нее не будет возможности разместить входные данные, работать с ними и получить выходные. Память состоит из ячеек. Если одной из них дать имя, она станет переменной.
  • Третье правило уже описывалось выше как одна из характеристик алгоритма, а именно - дискретность. То есть алгоритм состоит из отдельных операций, или шагов.
  • Четвертое правило напоминает о детерминированности алгоритма. То есть после каждого действия нужно указать, какое будет следующим, либо остановить процесс.
  • Последнее правило гласит, что после определенного числа шагов алгоритм завершает свою работу, имея тот или иной результат. А какой именно, указывает сам программист.

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

 
Статьи по теме:
ISBN, УДК, ББК, штриховые коды, выходные данные
Для публикации работы (статьи, книги, диссертации) автору необходимо указать тематический раздел (индекс) существующих классификаций, к которому эта работа относится, и авторский знак. Классификационные индексы издания – это индексы УДК,ББК и ГРНТИ. УДК –
Скачать клавиатурный тренажер для детей на русском бесплатно
Основные возможности уникальный альтернативный вариант для расположения рук на клавиатуре; поддержка различных раскладок и языков; звуковые эффекты для музыкального сопровождения работы; специальные уроки, которые помогают запоминать расположение клави
Не работает тачпад: советы и способы их решения
Сенсорная панель ноутбука (также известная как тачпад) является большим преимуществом данного устройства. Она позволяет обходиться без дополнительного оборудования, занимающего место в сумке, а также решает вопрос свободных портов USB. Однако достаточно ч
Конвертер ватт в амперы Что такое мАч
Мощность – это скорость расходования энергии, выраженная в отношении энергии ко времени: 1 Вт = 1 Дж/1 с. Один ватт равен отношению одного джоуля (единице измерения работы) к одной секунде. Практически каждый человек слышал про параметры электричества как