Алгоритмы и способы их описания. Компьютер как исполнитель команд. Примеры компьютерных моделей разл
Линейные
алгоритмы
Алгоритм, в котором команды выполняются в порядке их записи, то
есть последовательно друг за другом, называется линейным.
Например, линейным является следующий алгоритм посадки дерева.
С помощью блок-схемы данный алгоритм можно изобразить так:
Алгоритмы с ветвлениями
Ситуации, когда заранее известна последовательность требуемых действий, встречаются крайне редко. В жизни часто приходится принимать решение в зависимости от сложившейся обстановки. Если идет дождь, мы берем зонт и надеваем плащ; если жарко, надеваем
легкую одежду. Встречаются и более сложные условия выбора. В некоторых случаях от выбранного решения зависит дальнейшая судьба человека.
Логику принятия решения можно описать так:
ЕСЛИ <условие> ТО <действия 1> ИНАЧЕ <действия 2>
Примеры:
• ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ валяйся весь день на диване;
• ЕСЛИ низко ласточки летают, ТО будет дождь, ИНАЧЕ дождя не будет;
• ЕСЛИ уроки выучены, ТО иди гулять, ИНАЧЕ учи уроки.
В некоторых случаях <действия 2> могут отсутствовать:
ЕСЛИ <условие> ТО <действия 1>
Пример: • ЕСЛИ назвался груздем, ТО полезай в кузов.
Форма организации действий, при которой в зависимости от
выполнения некоторого условия совершается одна или другая последовательность
шагов, называется ветвлением.
Изобразим в виде блок-схемы последовательность действий ученика 6 класса Мухина Васи, которую он представляет себе так: «Если Павлик дома, будем решать задачи по математике. В противном случае следует позвонить Марине и вместе готовить доклад по биологии.
Если же Марины нет дома, то надо сесть за сочинение.»
А вот так, с помощью блок-схемы можно очень наглядно представить рассуждения при решении следующей задачи.
Из трех монет одинакового достоинства одна фальшивая (более легкая). Как ее найти с помощью одного взвешивания на чашечных весах без гирь?
Алгоритмы с
повторениями
На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз, пока соблюдается некоторое заранее установленное условие.
Форма организации действий, при которой выполнение одной и той
же последовательности комаид повторяется, пока выполняется некоторое заранее
установленное условие, называется циклом (повторением).
Алгоритм, содержащий циклы, называется циклическим алгоритмом
или алгоритмом с повторениями.
Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Следует разрабатывать алгоритмы, не допускающие таких ситуаций.
Рассмотрим пример из математики. Натуральное число называют простым, если оно имеет только два делителя: единицу и само это число1.
2, 3, 5, 7 — простые числа; 4, 6, 8 — нет. В III веке до нашей эры греческий математик Эратосфен предложил следующий алгоритм для нахождения всех простых чисел, меньших заданного числа п:
1) выписать все натуральные числа от 1 до я;
2) вычеркнуть 1;
3) подчеркнуть наименьшее из неотмеченных чисел;
4) вычеркнуть все числа, кратные подчеркнутому на предыдущем шаге;
5) если в списке имеются неотмеченные числа, то перейти к шагу 3, в противном случае все подчеркнутые числа — простые.
Это циклический алгоритм. При его выполнении повторение шагов 3-5 происходит, пока в исходном списке остаются неотмеченные числа.
Вот так выглядит блок-схема действии школьника, которому перед вечерней прогулкой следует выполнить домашнее задание по математике: