в каком случае происходит зацикливание алгоритма
В каком случае происходит зацикливание алгоритма
Циклический алгоритм – описание действий, которые должны повторяться указанное число раз или пока не выполнено заданное условие. Перечень повторяющихся действий называют телом цикла.
Циклические алгоритмы бывают двух типов:
Циклы со счетчиком, в которых какие-то действия выполняются определенное число раз;
Циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия.
В общем случае схема циклического алгоритма со счетчиком будет выглядеть так:
Для счетчика от нач. значения до кон. значения выполнить действие. Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.
Например, в субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.
В общем случае схема циклического алгоритма с условием будет выглядеть так:
ГДЗ Информатика 9 класс Семакин — Циклические алгоритмы
ОТВЕТЫ Решебник — ГДЗ Инфо рматика — §6.Циклические алгоритмы , Семакин 9 класс
Вопросы и задания
1. Что такое цикл? Как записывается команда цикла?
2. Что такое условие цикла? Что такое тело цикла?
3. В каком случае происходит зацикливание алгоритма?
4. Что такое блок-схема?
5. Из каких блоков составляются блок-схемы (как они изображаются и что обозначают)?
6. Что обозначают стрелки на блок-схемах?
7. Составьте программу, переводящую ГРИС в угол поля из любого исходного состояния.
8. Составьте программу рисования прямоугольной рамки вдоль края поля при любом начальном состоянии исполнителя.
Ответы на вопросы параграф 6 из учебника Семакина 9 класс
1. Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым способом (например, с помощью условного перехода). Команда цикла изображается не отдельным блоком, а целой структурой
2. Это условие при котором цикл будет выполняться. теле цикла находятся операции, которые будут выполняться при работе цикла.
3. Когда нет условия выхода из цикла или используется вечный цикл
4. Схе́ма — графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения данных, потока, оборудования и т. д.
5. Овал-начало и конец. Параллелограм — ввод и вывод данных, ромб-условие, прямоугольник — действие.
6. Стрелки на блок—схемах ставятся, когда ее направление не совпадает с направлением, в котором ты читаешь текст. То есть в случаях когда стрелка направлена снизу вверх или справа налево.
Литература: Учебник:Информатика, 9 класс. ФГОС Автор: И. Г. Семакин, Л. А. Залогова, С. В. Русаков, Л. В. Шестакова.
В каком случае происходит зацикливание алгоритма
§ 30. Циклические алгоритмы
Основные темы параграфа:
♦ команда цикла;
♦ цикл в процедуре;
♦ блок-схемы алгоритмов;
♦ цикл с предусловием.
Обсудим решение следующей задачи.
Задача 3. Исходное положение: ГРИС — у левого края поля, направление — на восток. Требуется нарисовать горизонтальную линию через весь экран.
Задачу можно решить, написав 15 раз команду шаг (если поперек поля рисунка 15 шагов). Но есть и более короткий вариант программы. Вот он:
пока впереди не край, повторять
нц
шаг
кц
Здесь использована команда, которая называется циклон. Формат команды цикла следующий:
Служебное слово нц обозначает начало цикла, кц — конец цикла.
Это первая команда из СКИ, которая использует обратную связь между графическим исполнителем и управляющим им компьютером. Она заключается в том, что проверяется, не вышел ли ГРИС на край поля и не грозит ли ему следующий шаг или прыжок в этом направлении аварией. Проверяемые условия звучат так: «впереди край?» или «впереди не край?». На что машина получает от исполнителя ответ «да» или «нет».
В приведенном примере проверяется условие «впереди не край?». Если «да», то делается шаг (т. е. выполняется ). Затем происходит возврат на проверку условия, и все повторяется. Если проверка условия дает отрицательный результат (т. е. впереди край), то выполнение цикла завершается и исполняется следующая команда программы.
При программировании цикла важно думать о том, чтобы цикл был конечным. Цикл, записанный выше, — конечный. Двигаясь в одном направлении, исполнитель обязательно достигнет края, и на этом выполнение цикла закончится.
Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Пусть ГРИС находится в середине поля. Исполнение следующего цикла:
пока впереди не край, повторять
нц
шаг
поворот
кц
никогда не закончится. ГРИС будет бесконечно рисовать квадратик, так как проверка условия «впереди не край?» всегда будет давать положительный ответ.
Задача 4. Теперь составим программу, по которой графический исполнитель нарисует прямоугольную рамку по краю поля (рис. 5.7). Исходное положение: ГРИС находится в левом верхнем углу, смотрит на юг.
Рамка состоит из четырех линий, поэтому разумно воспользоваться процедурой, проводящей линию от края до края поля. Опять будем действовать методом последовательной детализации. Напишем сначала основную программу.
программа Рамка
нач
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
кон
Программа проведения линии нами уже рассматривалась. Осталось оформить ее в виде процедуры.
процедура ЛИНИЯ
нач
пока впереди не край, повторять
нц
шаг
кц
кон
При составлении этой программы использовалась одношаговая детализация в такой последовательности:
Начиная с 50-х годов прошлого века, т. е. еще с эпохи ЭВМ первого поколения, программисты стали использовать графические схемы, изображающие алгоритмы, которые получили название блок-схем.
Блок-схема состоит из фигур (блоков), обозначающих указания на отдельные действия исполнителя, и стрелок, соединяющих эти блоки и указывающих на последовательность их выполнения. Внутри каждого блока записывается выполняемое действие. Сама форма блока подсказывает характер операции, которую он обозначает. Для придания наглядности и единообразия схемам алгоритмов все графические элементы стандартизированы.
Посмотрите на рис. 5.8, где показана блок-схема алгоритма рисования рамки. Она состоит из двух частей: блок-схемы основного алгоритма и блок-схемы вспомогательного алгоритма ЛИНИЯ.
Из этих схем видно назначение блоков различной формы (рис. 5.9).
Цикл с предусловием
Команда цикла изображается не отдельным блоком, а целой структурой, показанной на рис. 5.9. Такую структуру называют циклом с предусловием (так как условие предшествует телу цикла). Есть и другой вариант названия: цикл-пока (пока условие истинно, повторяется выполнение тела цикла).
При решении следующей задачи снова будем использовать метод последовательной детализации.
Задача 5. Требуется расчертить экран горизонтальными линиями (рис. 5.10). Исходное состояние исполнителя: верхний левый угол, направление — на юг.
В программе для решения этой задачи используется та же процедура ЛИНИЯ. Другая процедура – ВОЗВРАТ – возвращает ГРИС к исходному положению для рисования следующей линии.
Блок-схемы основного и вспомогательного алгоритмов представлены на рис. 5.11.
Команда цикла использует обратную связь между объектом управления и управляющей системой. Проверка условия дает информацию управляющей системе о состоянии объекта управления.
В цикле с предусловием если проверяемое условие выполняется (истинно), то выполняются команды, составляющие тело цикла. Если условие ложно, то происходит выход из цикла.
При программировании цикла необходимо следить за тем, чтобы не допускалось зацикливания.
Блок-схема — это графический способ описания алгоритма, Блоки обозначают действия исполнителя, а соединяющие их стрелки указывают на последовательность выполнения действий.
1. Что такое цикл? Как записывается команда цикла?
2. Что такое условие цикла? Что такое тело цикла?
3. В каком случае происходит зацикливание алгоритма?
4. Что такое блок-схема?
5. Из каких блоков составляются блок-схемы (как они изображаются и что обозначают)?
6. Что обозначают стрелки на блок-схемах?
7. Составьте программу, переводящую ГРИС в угол поля из любого исходного состояния.
8. Составьте программу рисования прямоугольной рамки вдоль края поля, начиная рисование из любого начального состояния исполнителя.
И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс
Отослано читателями из интернет-сайтов
Подготовка к урокам и все это бесплатно, скачать или готовиться онлайн, скачать конспекты информатики, лекции уроков, бесплатные учебники, готовое домашнее задание по информатике 9 класс
Если у вас есть исправления или предложения к данному уроку, напишите нам.
блог админа
Урок №53 Циклические алгоритмы
Основные темы параграфа:
♦ команда цикла;
♦ цикл в процедуре;
♦ блок-схемы алгоритмов;
♦ цикл с предусловием.
Команда цикла
Обсудим решение следующей задачи.
Задача 3. Исходное положение: ГРИС — у левого края поля, направление — на восток. Требуется нарисовать горизонтальную линию через весь экран.
Задачу можно решить, написав 15 раз команду шаг (если поперек поля рисунка 15 шагов). Но есть и более короткий вариант программы. Вот он:
пока впереди не край, повторять
нц
шаг
кц
Здесь использована команда, которая называется циклон. Формат команды цикла следующий:
Служебное слово нц обозначает начало цикла, кц — конец цикла.
Это первая команда из СКИ, которая использует обратную связь между графическим исполнителем и управляющим им компьютером. Она заключается в том, что проверяется, не вышел ли ГРИС на край поля и не грозит ли ему следующий шаг или прыжок в этом направлении аварией. Проверяемые условия звучат так: «впереди край?» или «впереди не край?». На что машина получает от исполнителя ответ «да» или «нет».
В приведенном примере проверяется условие «впереди не край?». Если «да», то делается шаг (т. е. выполняется ). Затем происходит возврат на проверку условия, и все повторяется. Если проверка условия дает отрицательный результат (т. е. впереди край), то выполнение цикла завершается и исполняется следующая команда программы.
При программировании цикла важно думать о том, чтобы цикл был конечным. Цикл, записанный выше, — конечный. Двигаясь в одном направлении, исполнитель обязательно достигнет края, и на этом выполнение цикла закончится.
Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Пусть ГРИС находится в середине поля. Исполнение следующего цикла:
пока впереди не край, повторять
нц
шаг
поворот
кц
никогда не закончится. ГРИС будет бесконечно рисовать квадратик, так как проверка условия «впереди не край?» всегда будет давать положительный ответ.
Цикл в процедуре
Задача 4. Теперь составим программу, по которой графический исполнитель нарисует прямоугольную рамку по краю поля (рис. 5.7). Исходное положение: ГРИС находится в левом верхнем углу, смотрит на юг.
Рамка состоит из четырех линий, поэтому разумно воспользоваться процедурой, проводящей линию от края до края поля. Опять будем действовать методом последовательной детализации. Напишем сначала основную программу.
программа Рамка
нач
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
поворот
сделай ЛИНИЯ
кон
Программа проведения линии нами уже рассматривалась. Осталось оформить ее в виде процедуры.
процедура ЛИНИЯ
нач
пока впереди не край, повторять
нц
шаг
кц
кон
При составлении этой программы использовалась одношаговая детализация в такой последовательности:
Блок-схемы алгоритмов
Начиная с 50-х годов прошлого века, т. е. еще с эпохи ЭВМ первого поколения, программисты стали использовать графические схемы, изображающие алгоритмы, которые получили название блок-схем.
Блок-схема состоит из фигур (блоков), обозначающих указания на отдельные действия исполнителя, и стрелок, соединяющих эти блоки и указывающих на последовательность их выполнения. Внутри каждого блока записывается выполняемое действие. Сама форма блока подсказывает характер операции, которую он обозначает. Для придания наглядности и единообразия схемам алгоритмов все графические элементы стандартизированы.
Посмотрите на рис. 5.8, где показана блок-схема алгоритма рисования рамки. Она состоит из двух частей: блок-схемы основного алгоритма и блок-схемы вспомогательного алгоритма ЛИНИЯ.
Из этих схем видно назначение блоков различной формы (рис. 5.9).
Цикл с предусловием
Команда цикла изображается не отдельным блоком, а целой структурой, показанной на рис. 5.9. Такую структуру называют циклом с предусловием (так как условие предшествует телу цикла). Есть и другой вариант названия: цикл-пока (пока условие истинно, повторяется выполнение тела цикла).
При решении следующей задачи снова будем использовать метод последовательной детализации.
Задача 5. Требуется расчертить экран горизонтальными линиями (рис. 5.10). Исходное состояние исполнителя: верхний левый угол, направление — на юг.
В программе для решения этой задачи используется та же процедура ЛИНИЯ. Другая процедура – ВОЗВРАТ – возвращает ГРИС к исходному положению для рисования следующей линии.
Блок-схемы основного и вспомогательного алгоритмов представлены на рис. 5.11.
Коротко о главном
Для программирования повторяющихся действий применяется команда цикла, которая имеет следующую структуру:
Команда цикла использует обратную связь между объектом управления и управляющей системой. Проверка условия дает информацию управляющей системе о состоянии объекта управления.
В цикле с предусловием если проверяемое условие выполняется (истинно), то выполняются команды, составляющие тело цикла. Если условие ложно, то происходит выход из цикла.
При программировании цикла необходимо следить за тем, чтобы не допускалось зацикливания.
Блок-схема — это графический способ описания алгоритма, Блоки обозначают действия исполнителя, а соединяющие их стрелки указывают на последовательность выполнения действий.
Вопросы и задания
1. Что такое цикл? Как записывается команда цикла?
2. Что такое условие цикла? Что такое тело цикла?
3. В каком случае происходит зацикливание алгоритма?
4. Что такое блок-схема?
5. Из каких блоков составляются блок-схемы (как они изображаются и что обозначают)?
6. Что обозначают стрелки на блок-схемах?
7. Составьте программу, переводящую ГРИС в угол поля из любого исходного состояния.
8. Составьте программу рисования прямоугольной рамки вдоль края поля, начиная рисование из любого начального состояния исполнителя.
Редактировалось Дата: Четверг, 28 Октябрь 2021
В каком случае происходит зацикливание алгоритма
Зацикливание
В прошлой статье мы кратко коснулись случая, когда цикл повторялся бесконечно т.е происходило зацикливание. Теперь подробнее о зацикливании в каждом цикле.
Итак зацикливание в программировании — это ситуация, когда цикл написан таким образом, что условия выхода из него не выполняется. Рассмотрим зацикливание в операторах цикла for,while и repeat. Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.
Зацикливание в for
Вообще идея зацикливания проста: необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;). Однако именно такая реализация возможна не везде. Рассмотрим простой пример.
Казалось бы все просто,да не тут то было.В то время как в Turbo Pascal все проходит на ура,в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.
label m;
var i:integer;
begin
m:
for i:=1 to 5 do begin
write(i);
if i=2 then goto m;
end;
end.
Зацикливание в while
Напомню, что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего: нужно только убрать шаг цикла
Оба компилятора адекватно реагируют на пропуск шага.
Зацикливание в repeat
Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла
В данной статье приведены различные варианты для создание бесконечного цикла. Однако запомните, что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.



























