Алгоритмизация

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

Алгоритм

это упорядоченная последовательность действий

Алгоритм линейный

– последовательное выполнение команд, его блок схема состоит из:

  1. Блок Ввод: операторы определения имён переменных, установления их типа и присваивания переменным неким значениям.
  2. Блок Вычисления: операторы сравнения арифметические, логические, тригонометрические операции, операции извлечения квадратного корня и т.д. Присваивание результату значения полученного в вычислениях.
  3. Блок Вывод: вывод полученных результатов на экран.

Нарисуем блок схему следующей записи:

1	Ввод значения для переменной x
2	y = x + 20
3	y = 2y
4	Вывод результата значения переменой y

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

Алгоритм ветвления

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

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

Различают три структуры ветвления: Неполное, полное и вложенное.

Неполное ветвление

Алгоритм неполного ветвления способен решить одно условие.
Нарисуем блок схему следующего условия:

y = x + 20; при x < 2

Для наглядности представим условие на оси Х

Теперь изобразим блок схему. Блок схема вышеприведённого условия, есть интерактивная модель, которая в режиме реального времени описывает: поведение алгоритма, вычисление уравнений и вывода значений переменных в соответствующие элементы модели. Перед запуском алгоритма, можно выбрать начальное значение переменной x:

Полное ветвление

Алгоритм полного ветвления способен найти одно решение из двух возможных.

Пример. Дана система из двух условий:

Для наглядности, эту систему можно представить графически

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

Вложенное ветвление

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

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

Для наглядности представим систему условий графически:

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

Цикл

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

Цикл со счётчиком (FOR, Для)

Изучим блок схему и алгоритм цикла со счётчиком для следующего примера: Вывести значения функции y = 2x+4 в интервале от 2 до 5, с шагом 1, или сокращённо:

y = 2x+4; x ∈ [2..5]; h = 1

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

В блок схеме, счётчик цикла это переменная x, после выполнения очередного тела цикла, значение счётчика будет суммировано на величину шаг. Затем следует возвращение для проверки истинности условия цикла: если текущее значение x меньше 5, то цикл повторяется, иначе программа выходит за пределы цикла.

Трассировка алгоритма
x = 2
y = 2 * 2 + 4
x = x + 1
x = 3
y = 2 * 3 + 4
x = x + 1
x = 4
y = 2 * 4 + 4
x = x + 1
x = 5
y = 2 * 5 + 4
x = x + 1

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

Цикл с предусловием (While, Пока)

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

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

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

Цикл с постусловием (Do, Делать)

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

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

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

0 Responses to “Алгоритмизация”


Comments are currently closed.



Яндекс.Метрика
Топ Разработка игр