Алгоритм: понятие, свойства, структура и виды. Разрабатываем алгоритмы действий и создаем блок-схемы 1 определение алгоритма

Решение задачи при помощи ЭВМ начинается с составления алгоритма. Что же такое алгоритм?

Происхождение термина «алгоритм» связывают с именем великого математика Мухаммеда аль-Хорезми (763–850 гг.), который разработал правила выполнения четырех арифметических действий.

Согласно ГОСТ 19781-74:

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

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

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

Основные особенности алгоритмов:

    Наличие ввода исходных данных.

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

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

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

    Конечность – исполнение алгоритма должно закончиться за конечное число шагов.

    Корректность – алгоритм должен задавать правильное решение задачи.

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

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

Способы записи алгоритмов

Разработанный алгоритм может быть представлен несколькими способами:

    на естественном языке (словесная запись алгоритма);

    в виде блок-схем (графическая форма);

    на языке программирования.

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

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

На языке программирования. Если алгоритм разработан для решения задачи на ЭВМ, то для того, чтобы он мог выполниться исполнителем – ЭВМ , его необходимо записать на языке, понятном этому исполнителю. Для этого разработано множество языков программирования для решения задач разных классов. Запись алгоритма на языке программирования называется программой .

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

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

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

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

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

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

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

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

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

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

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

Приведем современное описание алгоритма Евклида с использованием блок-схемы (см. “Способы записи алгоритмов ”):

Стрелка “”, используемая при описании данного алгоритма, обозначает операцию замещения или присваивания (см. “Операторы языка программирования ”). Разумеется, в книге Евклида “Начала” этот алгоритм сформулирован не совсем так (а записан совсем не так). В данном случае мы продемонстрировали современную формулировку этого алгоритма и одну из распространенных наглядных форм записи алгоритмов.

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

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

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

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

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

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

Рассмотрим известный пример “бытового” алгоритма - алгоритм перехода улицы: “Посмотри налево. Если машин нет, дойди до середины улицы. Если есть, подожди, пока они проедут, и т.д.”. Представьте себе ситуацию: машина слева есть, но она не едет - у нее меняют колесо. Если вы думаете, что исполнитель алгоритма должен ждать, то вы поняли этот алгоритм. Если же вы решили, что улицу переходить можно, считая алгоритм подправленным ввиду непредвиденных (по вашему мнению!) обстоятельств, то вы не усвоили понятие алгоритма.

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

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

Свойство результативности содержит в себе свойство конечности - завершение работы алгоритма за конечное число шагов.

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

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

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

Обобщив вышесказанное, сформулируем следующее понятие алгоритма.

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

Приведенное определение не является определением в математическом смысле слова, т.е. это не формальное определение (формальное определение алгоритма см. в статье “Теория алгоритмов ”).

Отметим, что для каждого исполнителя набор допустимых действий (СКИ) всегда ограничен - не может существовать исполнителя, для которого любое действие является допустимым. Перефразированное рассуждение И.Канта обосновывает сформулированное утверждение следующим образом: “Если бы такой исполнитель существовал, то среди его допустимых действий было бы создание такого камня, который он не может поднять. Но это противоречит допустимости действия «Поднять любой камень»”.

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

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

Данная тема традиционно изучается в базовом курсе информатики основной школы. Содержание статьи “Алгоритм” может рассматриваться в качестве базового минимума информации по этой теме для учеников 8–9-х классов. В пропедевтическом курсе информатики (5–7-е классы) более актуальным является составление конкретных алгоритмов с использованием различных форм их записи, в том числе и для учебных исполнителей (см. “Исполнители алгоритмов ”).

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

Пример. Задача “Звонок другу по телефону” подразделяется на следующие этапы (шаги):

1. Поднять телефонную трубку.

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

3. Определить тип гудков: “вызов” или “занято”. Если “вызов”, перейти к шагу 4, если “занято”, перейти к шагу 6.

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

5. Если за это время абонент не поднял трубку, то конец решения задачи с отрицательным результатом (абонент не отвечает). Иначе начать разговор (задача решена успешно).

6. Положить телефонную трубку; конец решения задачи с отрицательным результатом (абонент занят).

Последовательность шагов, приведенная в примере 1, является алгоритмом решения задачи “Звонок другу по телефону”. Исполнитель этого алгоритма - человек. Объекты алгоритма - телефон и телефонные сигналы.

При разборе алгоритма “Звонок другу по телефону” следует обратить внимание на п. 4 (“дождаться 6 вызывающих гудков”): без указания конкретного числа гудков нарушается сразу несколько свойств алгоритма (дискретность, определенность и результативность). Естественно, вместо числа 6 в алгоритме может стоять любое другое разумное число.

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

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

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

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

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

Важным при изучении данной темы является и понятие исполнителя . Причем оказывается, что гораздо проще построить алгоритм для программно-управляемого автомата (в том числе компьютера), чем для человека. Подробнее об этом рассказано в статье “Исполнители алгоритмов ”. Для управления автоматом или компьютером можно придумать формальный язык описания алгоритмов. Такие языки называются “Языки программирования ”, а сам алгоритм, записанный на таком языке, - программой.

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

В курсе информатики средней школы к понятию алгоритма можно вернуться в контексте изучения темы “Моделирование ”. Ведь алгоритм можно рассматривать как информационную модель деятельности исполнителя.

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

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

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

Какие бывают алгоритмы

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

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

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

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

Способы записи алгоритмов

Выделяют три наиболее распространенные на практике способа записи алгоритмов:

  • словесный (запись на естественном языке);
  • графический (запись с использованием графических символов);
  • программный (тексты на языках программирования).

Словесный способ записи алгоритмов

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

В качестве примера словесного способа записи алгоритма рассмотрим алгоритм нахождения площади прямоугольника

где S – площадь прямоугольника; а, b – длины его сторон.

Очевидно, что a, b должны быть заданы заранее, иначе задачу решить невозможно.

Словестный способ записи алгоритма выглядит так:

  • Начало алгоритма.
  • Задать численное значение стороны a.
  • Задать численное значение стороны b.
  • Вычислить площадь S прямоугольника по формуле S=a*b.
  • Вывести результат вычислений.
  • Конец алгоритма.

Графический способ описания алгоритмов

Для более наглядного представления алгоритма используется графический способ. Существует несколько способов графического описания алгоритмов. Наиболее широко используемым на практике графическим описанием алгоритмов является использование блок-схем. Несомненное достоинство блок схем – наглядность и простота записи алгоритма.

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

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

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

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

Программный способ записи алгоритмов

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

Правила оформления программы:

  1. любой алгоритм имеет название;
  2. алгоритм начинается с открывающей фигурной скобки “{“ и заканчивается закрывающей фигурной скобкой “}”; команды, расположенные между этими скобками, называются телом алгоритма;
  3. в алгоритм могут входить только те команды, которые есть в СКИ исполнителя;
  4. каждая команда заканчивается знаком “;”, который обозначает конец команды;
  5. для того, чтобы нам было легче разбираться в программах, используют комментарии - текстовые пояснения, которые начинаются знаками “/*” и заканчиваются знаками “*/”; исполнитель не обращает внимания на комментарии в алгоритме.

Практические задания:

  1. Составить блок-схему для нахождения периметра квадрата.
  2. Составить блок схему для заваривания чая.
  3. Составить блок-схему для перехода перекрестка со светофором.

Использован материал из книг:

  1. "Современные информационные технологии", авторы преподаватели центра "Турбо"
  2. "Алгоритмы и исполнители", автор Поляков К.

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

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

-дискретность -последовательность решения (процесс) задач должен быть разбит на последовательность отдельных шагов.

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

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

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

-массовость - пригодность алгоритма для решения задач некоторого класса.

Способы записи алгоритма:

-словесный – способ на естественном языке.

-графический -описания алгоритма с помощью схем.

Процесс выполнения операций или групп операций

ввод исходных данных, вывод результата

Решение-выбор направления выполнения

Модификация-выполнение операций, меняющих команды или группы команд, изменяющих программ.

Соединители линий на одной странице.

Межстраничные соединители.

-язык программирования –удобен для ввода в комп-р.

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

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

-Линейный – алгоритм, в кот-ом команды выполняются последовательно друг за другом в порядке их естественного следования независимо от каких-либо условий. S1, s2 , S3…Sn

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

· Полная условная конструкция (полное ветвление)

· Неполное условная конструкция

· Выбор из нескольких

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

· Цикл с параметром

· Цикл с предусловием. Может не выполниться ни разу. В теле цикла обязательно нах-ся оператор, к-ый изменяет значение переменной, входящей в блок Q.

· Цикл с постусловием. Выполняется хоть один раз.

Основные принципы алгоритмизации:

1. Выявить исходные данные, результаты и назначить им имена.

2. Метод решения задач.

3. Разбить метод решения задач на этапы.

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

5. В полученной схеме при любом варианте вычислений.

Предусмотреть выдачу результатов или сообщений об их отсутствии.

Обеспечить возможности после выполнение любой операции так или иначе перейти к блоку конец.

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

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

Рассмотрим основные структуры алгоритмов, а их шесть:

· Следование. Это последовательность блоков (или групп блоков) алгоритма. В программе следование представлено в виде последовательного выполнения операций

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

·
Обход. Эта структура является частным случаем разветвения, когда в одной из ветвей нет никаких действий.

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