Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели.
Способы записи алгоритмов.
Теоретические исследования нашего соотечественника Андрея Андреевича Маркова (младшего) (1903-1979), выполненные в середине прошлого века, показали, что в общем случае алгоритмы должны содержать предписания двух видов:
1) предписания, направленные на непосредственное преобразование информации (функциональные операторы);
2) предписания, определяющие дальнейшее направление действий (логические операторы).
Именно эти операторы положены в основу большинства способов записи алгоритмов.
Словесные способы записи алгоритма
Словесное описание. Самой простой является запись алгоритма в виде набора высказываний на обычном разговорном языке. Словесное описание имеет минимум ограничений и является наименее формализованным. Однако все разговорные языки обладают неоднозначностью, поэтому могут возникнуть различные толкования текста алгоритма, заданного таким образом. Алгоритм в словесной форме может оказаться очень объёмным и трудным для восприятия.
Способы записи алгоритмов | Информатика 8 класс #18 | Инфоурок
Пример 1. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары натуральных чисел (алгоритм Евклида).
Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и У. Запишите первое из заданных чисел в столбец X, а второе — в столбец У. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца X считайте искомым результатом.
Построчная запись. Это запись на естественном языке, но с соблюдением некоторых дополнительных правил:
- каждое предписание записывается с новой строки;
- предписания (шаги) алгоритма нумеруются;
- исполнение алгоритма происходит в порядке возрастания номеров шагов, начиная с первого (если не встречается никаких специальных указаний).
Кроме слов естественного языка предписания могут содержать математические выражения и формулы.
Пример 2. Построчная запись алгоритма Евклида.
- Обозначить первое из заданных чисел X, второе обозначить Y.
- Если X = Y, то перейти к п. 8.
- Если X > Y, то перейти к п. 4, иначе перейти к п. 6.
- Заменить X на X – Y.
- Перейти к п. 2.
- Заменить Y на Y – X.
- Перейти к п. 2.
- Считать X искомым результатом.
Построчная запись алгоритма позволяет избежать ряда неопределённостей; её восприятие не требует дополнительных знаний.
Вместе с тем использование построчной записи требует от человека большого внимания.
Блок-схемы
Наилучшей наглядностью обладают графические способы записи алгоритмов; самый распространённый среди них — блок-схема.
Блок-схема представляет собой графический документ, дающий представление о порядке работы алгоритма. Здесь предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов указывается с помощью линий, соединяющих эти фигуры. Направления линий связи слева направо и сверху вниз считаются стандартными, соответствующие им линии связи можно изображать без стрелок. Линии связи справа налево и снизу вверх изображаются со стрелками.
Рассмотрим некоторые условные обозначения, применяемые в блок-схемах.
Рис. 2.2. Обозначения на блок-схемах
Выполнение алгоритма всегда начинается с блока начала и оканчивается при переходе на блок конца (рис. 2.2, а). Из начального блока выходит одна линия связи; в конечный блок входит одна линия связи.
Внутри блока данных (рис. 2.2, б) перечисляются величины, значения которых должны быть введены (исходные данные) или выведены (результаты) в данном месте схемы. В блок данных входит одна линия связи, и из блока исходит одна линия связи.
В блоке обработки данных (рис. 2.2, в) содержится описание тех действий, которые должны быть выполнены при переходе на этот блок (выполнение определённой операции или группы операций, приводящее к изменению значения, формы или размещения информации). В блок обработки данных входит одна линия связи, и из блока исходит одна линия связи.
Проверка условия изображается с помощью блока принятия решения, внутри которого записывается это условие (рис. 2.2, г). В блок принятия решения входит одна линия, а выходят две линии, около которых записываются результаты проверки условия.
Комментарии (рис. 2.2, д) используются для добавления пояснительных записей, делающих блок-схему более понятной.
Пример 3. Запись алгоритма Евклида с помощью блок-схемы (рис. 2.3).
Рис. 2.3. Запись алгоритма Евклида с помощью блок-схемы
Создание детальной блок-схемы сложного алгоритма — трудоёмкая задача. Кроме того, блок-схема, не умещающаяся на одном стандартном листе, теряет своё основное преимущество — наглядность. При разработке сложных алгоритмов блок-схемы удобно использовать в качестве средства для наглядного представления решения задачи в общем виде.
Алгоритмические языки
Алгоритмические языки — формальные языки, предназначенные для записи алгоритмов. Каждый из них характеризуется:
- алфавитом — набором используемых символов;
- синтаксисом — системой правил, по которым из символов алфавита образуются правильные конструкции языка;
- семантикой — системой правил, строго определяющей смысл и способ употребления конструкций языка.
Класс алгоритмических языков очень широк. При изучении курса информатики в школах используются различные версии школьного (учебного) алгоритмического языка.
Школьный алгоритмический язык. Для записи алгоритмов на школьном алгоритмическом языке используется некоторое ограниченное множество слов, смысл и способ употребления которых заданы раз и навсегда. Это так называемые служебные слова: алг (алгоритм), дано, надо, нач (начало), кон (конец), арг (аргумент), рез (результат) и др. При записи алгоритмов в книгах служебные слова выделяются жирным шрифтом, в тетради и на доске — подчёркиванием.
В общем виде программу на школьном алгоритмическом языке можно представить так:
Алг
нач
кон
Пример 4. Алгоритм, позволяющий из полного сосуда ёмкостью 12 л отлить половину, пользуясь двумя пустыми сосудами ёмкостью 8 и 5 л.
Алг переливания
нач
наполнить сосуд ёмкостью 8 л из сосуда ёмкостью 12 л
наполнить сосуд ёмкостью 5 л из сосуда ёмкостью 8 л
вылить всё из сосуда ёмкостью 5 л в сосуд ёмкостью 12 л
вылить всё из сосуда ёмкостью 8 л в сосуд ёмкостью 5 л
наполнить сосуд ёмкостью 8 л из сосуда ёмкостью 12 л
долить из сосуда ёмкостью 8 л в сосуд ёмкостью 5 л
вылить всё из сосуда ёмкостью 5 л в сосуд ёмкостью 12 л
кон
Источник: kobva.ru
Алгоритмизация
Решение задач с помощью компьютера основывается на понятии алгоритма, который представляет собой точное описание вычислительного процесса, ведущего от варьируемых изначальных данных к конечному результату.
Определение 1
Алгоритм является точным описанием некоторого процесса, инструкцией по его выполнению. Процесс разработки алгоритма является достаточно сложным и трудоемким. Алгоритмизация представляет собой технику разработки (составления) алгоритма для решения задач на ЭВМ.
Изобразительные средства описания алгоритма
При записи алгоритмов решения задач можно применять изобразительные способы, представленные в виде:
- словесно-формульного описания;
- блок-схемы (используются для описания графические символы);
- алгоритмических языков;
- операторных схем;
- псевдокодов.
Запись алгоритмов осуществляется по общей методике:
- Любому алгоритму присваивается имя, раскрывающее его смысл.
- Обозначаются начало и конец алгоритма.
- Описываются входные и выходные данные.
- Указываются команды, позволяющие выполнять определенные действия над выделенными данными.
Замечание 1
Таким образом, алгоритм имеет общий вид, состоящий из следующих разделов:
- названия;
- описания данных;
- начала;
- команд;
- конца.
Способы записи алгоритмов
При формульно-словесном способе записи алгоритмов описание данных выполняется с помощью формул и слов. Последовательность этапов выполнения алгоритма записывают в произвольной форме на естественном профессиональном языке той предметной области, для которой он строится.
Наиболее распространен графический способ описания алгоритмов, так называемая блок-схема. Название блок-схемы стали использовать, поскольку при графическом описании алгоритма используют схемы или блочные символы (блоки), соединяемые линиями связи. Все этапы вычислительного процесса представляются в виде геометрических фигур (блоков). Их подразделяют на:
«Алгоритмизация»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
- арифметические (вычислительные), которые представлены прямоугольниками;
- логические, представлены ромбами;
- блоки ввода-вывода данных представлены параллелограммами.
Перечисленные выше блоки приведены на рисунке.
Порядок выполнения этапов указывают стрелками, которые соединяют блоки. Размещение геометрических фигур выполняется слева на право и сверху вниз. Нумеруют блоки в порядке их размещения в схеме.
Алгоритмический язык представляет собой специальное средство, которое предназначено для записи алгоритма в аналитическом виде. Данный тип языка близок к естественным языкам и к математическим выражениям. В каждом алгоритмическом языке имеется свой словарь. Для записи алгоритма на любом алгоритмическом языке используются строгие правила этого конкретного языка.
Операторные схемы алгоритмов являются способом описания алгоритмов, при котором каждый оператор обозначают буквой (например, А – арифметический, Р – логический и т.д.). Сами операторы записывают слева направо в порядке их выполнения, при этом у каждого оператора имеется индекс, который указывает на его порядковый номер. Алгоритм записывают одной строкой в виде последовательности операторов.
Псевдокод представляет собой систему команд абстрактной машины. Данный способ записи алгоритмов осуществляется с помощью операторов близких к алгоритмическим языкам.
Типы алгоритмических процессов
По структуре выполнения алгоритмы бывают 3 видов:
- линейные;
- ветвящиеся;
- циклические.
Определение 2
Линейный алгоритм, имеющий линейную структуру, является таким алгоритмом, в котором выполнение всех действий осуществляется последовательно друг за другом лишь $1$ раз.
Схема состоит последовательности блоков, расположенных сверху вниз в порядке их выполнения. Данные первичного и промежуточного характера не влияют на направления процессов вычисления.
При решении практических задач часто можно встретить такие, в которых от первоначальных условий или промежуточных результатов зависит выполнение вычислений по одним или другим формулам.
Задачи подобного типа описывают, используя алгоритмы разветвляющейся структуры. В этих алгоритмах направление продолжения вычисления выбирается согласно итогам проверки заданного условия. Ветвящиеся процессы описывают с помощью оператора If, обозначающим условие.
На изображении представлены виды алгоритмов ветвления.
При решении многих задач используют многократное повторение определенных участков вычислений. Для этого применяют алгоритмы циклической структуры, так называемые циклические алгоритмы.
Определение 3
Циклы представляют собой последовательности команд, повторяющиеся до тех пор, пока заданное условие не будет выполнено.
Подобное описание многократно повторяющихся процессов в значительной степени снижает трудоемкость процесса написания программ. Различают 3 схемы циклических вычислительных процессов, варианты которых представлены на изображении ниже.
Особенность первой схемы заключается в том, что условие выхода из цикла проверяется до выполнения тела цикла. Если условие выхода из цикла будет выполняться, то тело цикла не выполнится ни разу.
Особенность второй схемы заключается в выполнении цикла хотя бы раз, поскольку первая проверка условия выхода из цикла выполняется после завершения выполнения цикла.
Различают циклы с известным числом повторений и итерационные циклы. В ходе итерационного цикла выход из тела цикла осуществляется только после достижения заданной точности вычислений.
Источник: spravochnick.ru