|
|
Учебник для 9 класса Информатика и ИКТ§ 3.2. Способы записи алгоритмовКлючевые слова:
Существуют различные способы записи алгоритмов. Основными среди них являются:
Теоретические исследования нашего соотечественника Андрея Андреевича Маркова (младшего) (1903—1979), выполненные в середине прошлого века, показали, что в общем случае алгоритмы должны содержать предписания двух видов:
Именно эти операторы положены в основу большинства способов записи алгоритмов. 3.2.1. Словесные способы записи алгоритмаСловесное описание. Самой простой является запись алгоритма в виде набора высказываний на обычном разговорном языке. Словесное описание имеет минимум ограничений и является наименее формализованным. Однако все разговорные языки обладают неоднозначностью, поэтому могут возникнуть различные толкования текста алгоритма, заданного таким образом. Алгоритм в словесной форме может оказаться очень объёмным и трудным для восприятия. Пример 1. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары целых чисел (алгоритм Евклида). Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и У. Запишите первое из заданных чисел в столбец X, а второе — в столбец У. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца X считайте искомым результатом. Построчная запись. Это запись на естественном языке, но с соблюдением некоторых дополнительных правил:
Кроме слов естественного языка предписания могут содержать математические выражения и формулы. Пример 2. Построчная запись алгоритма Евклида.
Построчная запись алгоритма позволяет избежать ряда неопределённостей; её восприятие не требует дополнительных знаний. Вместе с тем использование построчной записи требует от человека большого внимания. 3.2.2. Блок-схемыНаилучшей наглядностью обладают графические способы записи алгоритмов; самый распространённый среди них — блок-схема. Блок-схема представляет собой графический документ, дающий представление о порядке работы алгоритма. Здесь предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов указывается с помощью линий, соединяющих эти фигуры. Направления линий связи слева направо и сверху вниз считаются стандартными, и линии связи изображаются без стрелок, в противоположном случае — со стрелками. Рассмотрим некоторые условные обозначения, применяемые в блок-схемах. Выполнение алгоритма всегда начинается с блока начала и оканчивается при переходе на блок конца (рис. 3.2, а). Из начального блока выходит одна линия связи; в конечный блок входит одна линия связи.
Рис. 3.2. Внутри блока данных (рис. 3.2, б) перечисляются величины, значения которых должны быть введены (исходные данные) или выведены (результаты) в данном месте схемы. В блок данных входит одна линия связи, и из блока исходит одна линия связи. В блоке обработки данных (рис. 3.2, в) содержится описание тех действий, которые должны быть выполнены при переходе на этот блок (выполнение определённой операции или группы операций, приводящее к изменению значения, формы или размещения информации). В блок обработки данных входит одна линия связи, и из блока исходит одна линия связи. Проверка условия изображается с помощью блока принятия решения, внутри которого записывается это условие (рис. 3.2, в). В блок принятия решения входит одна линия, а выходят две линии, около которых записываются результаты проверки условия. Комментарии (рис. 3.2, г) используются для добавления пояснительных записей, делающих блок-схему более понятной. Пример 3. Запись алгоритма Евклида с помощью блок-схемы (рис. 3.3).
Рис. 3.3. Создание детальной блок-схемы сложного алгоритма — трудоёмкая задача. Кроме того, блок-схема, не умещающаяся на одном стандартном листе, теряет своё основное преимущество — наглядность. При разработке сложных алгоритмов блок-схемы удобно использовать в качестве средства для наглядного представлениям решения задачи в общем виде. 3.2.3. Алгоритмические языкиАлгоритмические языки — формальные языки, предназначенные для записи алгоритмов. Каждый из них характеризуется:
Класс алгоритмических языков очень широк. При изучении курса информатики в школах используются различные версии школьного (учебного) алгоритмического языка. Школьный алгоритмический язык. Для записи алгоритмов на школьном алгоритмическом языке используется некоторое ограниченное число слов, смысл и способ употребления которых заданы раз и навсегда. Это так называемые служебные слова: алг (алгоритм), дано, надо, нач (начало), кон (конец), арг (аргумент), рез (результат) и др. При записи алгоритмов в книгах служебные слова выделяются жирным шрифтом, в тетради и на доске — подчёркиванием. В общем виде программу на школьном алгоритмическом языке можно представить так: алг <название алгоритма> нач
Пример 4. Алгоритм, позволяющий из полного сосуда ёмкостью 12 л отлить половину, пользуясь двумя пустыми сосудами ёмкостью 8 и 5 л. алг переливания нач наполнить сосуд ёмкостью 8 л из сосуда ёмкостью 12 л наполнить сосуд ёмкостью 5 л из сосуда ёмкостью 8 л вылить всё из сосуда ёмкостью 5 л в сосуд ёмкостью 12 л вылить всё из сосуда ёмкостью 8 л в сосуд ёмкостью 5 л наполнить сосуд ёмкостью 8 л из сосуда ёмкостью 12 л долить из сосуда ёмкостью 8 л сосуд ёмкостью 5 л вылить всё из сосуда ёмкостью 5 л в сосуд ёмкостью 12 л кон По ссылке http://www.niisi.ru/kumir/ вы можете скачать систему КуМир (Комплект учебных миров), в которой используется школьный алгоритмический язык, со встроенными исполнителями Робот, Чертёжник, Водолей и другими. Кумир работает в операционных системах Windows и Linux. Далее, говоря об алгоритмическом языке, мы будем иметь в виду именно школьный алгоритмический язык.
Самое главноеСуществуют различные способы записи алгоритмов: словесное описание, построчная запись, блок-схемы, школьный алгоритмический язык и др. Каждый из этих способов обладает своими достоинствами и недостатками. Вопросы и задания
|
|
|