Skip to content

Instantly share code, notes, and snippets.

Created September 14, 2017 16:02
Show Gist options
  • Save anonymous/c1d713d52c21b6e27fe853e18a114e7c to your computer and use it in GitHub Desktop.
Save anonymous/c1d713d52c21b6e27fe853e18a114e7c to your computer and use it in GitHub Desktop.
Схема решения алгоритма

Схема решения алгоритма



Линейные алгоритмы - схема, структура и вычисление
Блок-схемы. Графическая реализация алгоритмов
Блок-схема

Вначале введем условные обозначения графического языка блок-схем Таблица 1. Означает, к исполнению какого действия следует перейти. С помощью стрелки обозначают последовательность исполнения команд. Точка блок-схемы, с которой начинается исполнение алгоритма. Блок, означающий, что в этом месте алгоритма необходимо произвести ввод или вывод данных. Простое действие в данном случае — присваивание. Один элементарный шаг алгоритма. Присваивание значения выражения переменной в данном случае переменной х присвоено значение 1. Исполнение предполагает вычисление условия — логического выражения. Если условие истинно Истина, True , то необходимо перейти к действию по стрелке помеченной T , если условие ложно — то по стрелке F Ложь, False. Модификация цикл со счетчиком. Повторение исполнения тела цикла для каждого из последовательных значений целочисленного счетчика i от 1 до n. Точка блок-схемы, дойдя до которой прекращается процесс исполнения алгоритма. Выделяют три вида алгоритмических схем, с помощью которых можно представить сконструировать любой алгоритм. Линейный алгоритм представляет собой последовательность шагов действий без ветвлений и возвратов. Последовательность исполнения шагов такого алгоритма полностью совпадает с его структурой. В таком алгоритме исполнение тех либо иных действий зависит от истинности некоторого условия логического выражения. Алгоритм, в котором некоторая последовательность шагов команд , исполняется многократно. Исполняемые многократно шаги называются телом цикла. Количество повторений может оказаться равным 0 то есть тело цикла ни разу не исполнилось , 1 однократное исполнение или быть больше многократное исполнение. Указанные виды алгоритмических схем можно проиллюстрировать следующими рисунками [1] Таблица 2. Пояснение смысла алгоритмических схем. Подробнее о применении указанных алгоритмических схем будет рассмотрено в следующих разделах. Линейный алгоритм представляет собой простую последовательность шагов, которые исполняются в том порядке, в котором они перечислены в алгоритме Рисунок 1. В линейном алгоритме не может быть ветвлений и возвратов. Рассмотрим несколько примеров задач на составление линейных алгоритмов. Составить блок-схему алгоритма, решающего следующую задачу. Даны три вещественных положительных числа a , b и c. Найти площадь треугольника, стороны которого равны a , b и c. Для нахождения площади треугольника по трем его известным сторонам воспользуемся формулой Герона: Зная последовательность вычислений из школьного курса математики, легко составить алгоритм Рисунок 2. Например, если в приведенной блок-схеме переставить местами шаги, вычисляющие S и p, то алгоритм не будет правильным, так как до вычисления S необходимо предварительно вычислить p. В решении этой задачи никак не рассматривается вопрос существования треугольника, площадь которого вычисляется. То есть мы предполагаем, что входные данные должны быть корректны. В данном случае должны выполняться условия существования треугольника: Алгоритм не может быть успешно исполненным, если эти неравенства не выполняются. Составить блок-схему решения следующей задачи. Даны значения двух действительных переменных a и b. Обменять местами их значения, то есть добиться, чтобы a получила значение, которое изначально имела переменная b , а b — получила бы значение a. Если первым же присваиванием алгоритма мы переменной a присвоим b , то сразу же потеряем исходное значение a. Поэтому воспользуемся для временного хранения исходного значения переменной a дополнительной переменной d. Блок-схема алгоритма приведена ниже Рисунок 3. Обменять местами их значения без использования дополнительных переменных. В предыдущем примере решалась та же задача, но сейчас запрещается использовать какие-либо переменные, кроме самих a и b. Казалось бы, это невозможно, однако, можно найти и такое решение, причем не одно! Блок-схема решения — на рисунке Рисунок 4. Обменять местами их значения, при этом нельзя использовать никаких дополнительных переменных. Даны значения трех действительных переменных a , b и c. Обменять местами их значения так, чтобы a получила бы значение b , b получила значение c , а переменная c получила исходное значение a. При создании алгоритмов часто возникает необходимость исполнение тех или иных действий поставить в зависимость от некоторого условия. Такая возможность называется ветвлением. Блок-схема ветвления приведена на рисунке 5. Последовательность исполнения ветвления такова: Затем, если значение условия истинно, то исполняются действия S 1 мы будем их всегда размещать на левой ветви ветвления и помечать эту ветвь буквой T ; если же значение условия ложно, то исполняются действия S 2 такие действия будем располагать на правой ветви и помечать её буквой F. Заметим, что при исполнении ветвления будет исполнена либо ветвь T действия S 1, слева , либо ветвь F действия S 2, справа. Одновременно пройти по обеим ветвям или не пройти ни по одной нельзя. Иногда одна из ветвей алгоритма с ветвлением отсутствует, то есть, нет действий либо S 1, либо S 2. Этот случай называют неполным ветвлением. Найти наибольшее значение из a и b. Составим блок-схему алгоритма по следующим соображениям. Мы должны сравнить значения переменных a и b , и если из них a имеет большее значение, то присвоить это значение переменной max. Если же a не больше b , но присвоить переменной max значение b. После этого в переменной max будет храниться искомое наибольшее значение из a и b. Получаем блок-схему Рисунок 6. Найти наибольшее значение из a , b и c. Выбирать наибольшее значение из двух уже умеем см. В этой задаче надо найти большее из трех. Можно ли свести эту задачу к предыдущей? Можно, а именно — вначале найти наибольшее значение из a и b , а потом сравнив его и c , снова найти наибольшее из двух. Это можно представить такой блок-схемой см. Даны значения действительных переменных b и c. Напомним, что решить уравнение — это найти множество всех его корней. Все вышесказанное можно представить в виде блок-схемы алгоритма см. Это квадратное уравнение, алгоритм его решения через дискриминант известен любому школьнику. Приведем его блок-схему и таблицу тестов. Обращаем внимание, что по условию этой задачи a не может равняться нулю. Даны значения действительных переменных a , b и c. Поэтому надо отдельно рассмотреть два случая. Таким образом, блок-схема решения этой задачи будет содержать алгоритмы решения квадратного и линейного уравнений. Предлагается составить эту блок-схему самостоятельно. Условные обозначения блок-схем Условное графическое обозначение Название Комментарий Стрелка Означает, к исполнению какого действия следует перейти. С помощью стрелки обозначают последовательность исполнения команд Начало Точка блок-схемы, с которой начинается исполнение алгоритма Ввод или Вывод Блок, означающий, что в этом месте алгоритма необходимо произвести ввод или вывод данных Простое действие в данном случае — присваивание Один элементарный шаг алгоритма. Присваивание значения выражения переменной в данном случае переменной х присвоено значение 1 Условие Исполнение предполагает вычисление условия — логического выражения. Если условие истинно Истина, True , то необходимо перейти к действию по стрелке помеченной T , если условие ложно — то по стрелке F Ложь, False Модификация цикл со счетчиком Повторение исполнения тела цикла для каждого из последовательных значений целочисленного счетчика i от 1 до n. Конец Точка блок-схемы, дойдя до которой прекращается процесс исполнения алгоритма. Пояснение смысла алгоритмических схем Линейный Ветвление Цикл Подробнее о применении указанных алгоритмических схем будет рассмотрено в следующих разделах. Линейные алгоритмы Линейный алгоритм представляет собой простую последовательность шагов, которые исполняются в том порядке, в котором они перечислены в алгоритме Рисунок 1. Алгоритмы с ветвлением При создании алгоритмов часто возникает необходимость исполнение тех или иных действий поставить в зависимость от некоторого условия. Тесты для Примера 5. Тесты для Примера 6. Тесты для Примера 7. Тесты для Примера 8.


Расписание бориса и глеба
Жена всовывает руку в жопу мужу
Удаление опухоли спинного мозга
Корзинки из бумаги своими руками мастер
Пежо 206 глохнет на ходу причины
Приступ эпилепсии после родов
Где находится озеро эйр
Можно ли беременным аскорбинку
Кровать из массива дерева своими руками
Как увеличить память на айфоне
Дукато технические характеристики
Как сделать бассейн на улице своими руками
Приказ 11 75
Должностная инструкция мастер монтажных строительных работ
Днс дзержинск каталог товаров дзержинск
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment