Контрольные задания > Продолжи предложение: Специальная инструкция повторения некоторой группы команд называется…
Вопрос:
Продолжи предложение: Специальная инструкция повторения некоторой группы команд называется…
Ответ:
В данном задании необходимо вспомнить терминологию, используемую в информатике или программировании. Специальная инструкция для повторения группы команд называется **цикл**.
Ответ: цикл
Смотреть решения всех заданий с фото
Похожие
- Продолжи предложение: Специальная инструкция повторения некоторой группы команд называется…
Вопрос №
1
Исполнитель Чертежник предназначен для …
Введите ответ:
Вопрос №
2
Чертежник перемещается по координатной плоскости.Линия будет рисоваться, если …
перо опущено
перо поднято
перо есть
пера нет
Вопрос №
3
В начале работы Чертежник находится в точке (0;0). Какая будет нарисована линия, если даны команды:
подними перо;
переведи в точку ( 7; 11);
прямая линия
окружность
будет не линия, а точка
ничего не будет нарисовано
Вопрос №
4
В начале работы Чертежник находится в точке (2;4). В какой точке будет перо после выполнения команды:
сдвинь на вектор (3; 4)
(3; 4)
(5;
(0; 0)
(2;4)
Вопрос №
5
После выполнения команды:
сдвинь на вектор (3; 4);
Чертежник оказался в точке (6; 9). В какой точке он находился до выполнения команды?
(6; 9)
(3; 5)
(9; 13)
(3; 4)
Вопрос №
6
Алгоритм для решения вспомогательной задачи (подзадачи) называется …
вспомогательным
дополнительным
подзадачным
подалгоритмом
Вопрос №
7
Специальная инструкция повторения некоторой группы команд называется …
повторителем
повтором
циклом
процедурой
Циклическим называется алгоритм, в котором серия команд выполняется определённое количество раз.
Циклы бывают: с параметром (счётчиком), с условием. Циклы с условием ещё называют итерационными.
Циклы с параметром (счётчиком) выполняются заданное число раз.
Программа на Pascal | Программа на Python |
for \(i\)\(:\) \(= n\) to \(k\) do begin … end; |
for \(i\) in range(\(n\)): … |
Пример
Дан ряд чисел от \(1\) до \(20\), нужно найти сумму ряда.
Чтобы найти сумму, нужно выполнить алгоритм \(20\) раз. Обозначим слагаемое через \(i\) и на каждом повторе будем добавлять в переменную \(S\). Запишем программу.
Рис. \(1\). Программа на Pascal
Рис. \(2\). Программа на Python
Примечание: в программном коде на Python в строке for i in range указываем \(21\), т. к. последнее число в заданный диапазон не входит.
Добавим в программу условие, например: нужно сложить не все цифры диапазона, а только чётные. Условие проверяет чётность числа.
Рис. \(3\). Программа на Pascal
Рис. \(4\). Программа на Python
Усложним условие: дан ряд из \(N\) чисел, посчитать количество чисел, кратных \(5\) и не кратных \(3\).
Рис. \(5\). Программа на Pascal
Рис. \(6\). Программа на Python
Циклы с условием
В Pascal используются циклы с постусловием (repeat… until) и предусловием (while), а в Python используется только while.
В чём отличие?
Цикл repeat… until — цикл, в котором серия команд повторяется, пока не выполнено условие, а в цикле while серия команд выполняется, пока выполняется условие.
В цикле while серия команд может не выполниться ни разу, в цикле repeat такого произойти не может — хоть раз, но выполнится.
В Python нет цикла repeat, но его можно организовать с помощью цикла while, например так:
Рис. \(7\). Программа с использованием постусловия
While True будет выполняться бесконечно, но при вводе с клавиатуры числа больше \(0\) цикл закончится.
Рассмотрим задачу: определить количество чётных цифр в числе.
Составим алгоритм решения задачи.
1. Вводим число.
2. «Отсекаем» последнюю цифру числа (\(a\)\(:\) \(= x\) \(mod\) \(10\)).
3. Проверяем: если цифра чётная (\(if\) \(a\) \(mod\) \(2 = 0\) \(then\) \(k\)\(:\) \(= k + 1\)), то добавляем в переменную, например \(k\), единицу (\(k\)\(:\) \(= k + 1\)).
4. Уменьшаем количество цифр на одну, команда \(x\) \(div\) \(10\) уменьшает число на \(1\) разряд.
5. Повторяем цикл, пока есть цифры в числе (while \(x > 0\) \(do\)).
Рис. \(8\). Программа на Pascal
Рис. \(9\). Программа на Python
Решение задачи «Как на ЕГЭ» № \(17\)
Рассматривается множество целых чисел, принадлежащих полуинтервалу \((1310; 13154]\), которые делятся на \(3\) и не делятся на \(9, 11, 19\).
Найди количество таких чисел и разницу между максимальным и минимальным числом.
Составим алгоритм решения.
1. Для решения будем использовать цикл for, диапазон от \(1311\) (круглая скобка) до \(13154\) включительно.
2. С помощью определения остатка от деления находим количество чисел, кратных \(3\) и не кратных \(9\), \(11\), \(19\).
3. Найдём максимальное число, которое попадает под условие (максимальным будет число, которое попадает под условие позже всего).
4. Найдём минимальное число, которое попадает под условие (минимальное число можно найти, «прокрутив» последовательность в обратном порядке).
5. Найдём разницу между минимальным и максимальным числом.
Рис. \(10\). Программа на Pascal
Ответ:
\(k = 2265\).
Разница max-min \(= 11835\).
Рис. \(11\). Программа на Python
Ответ:
\(k = 2265\).
Разница max-min \(= 11835\).
Как на ЕГЭ. Задание № \(14\).
Для решения задания рассмотрим программу на Python.
Алгоритм решения.
1. Запишем число в переменную, например \(x\).
2. Организуем цикл while, пока \(x\) больше \(0\), будем выполнять следующие действия:
- определим остаток от деления \(x\) на основание системы счисления (например, \(2\)).
- Если будем считать количество единиц в числе, то добавим в переменную, например \(k\), единицу.
- Уменьшим число, т. е. поделим нацело на \(2\).
3. Напечатаем \(k\).
Значение арифметического выражения:
42018+8512−22017−130
записали в системе счисления с основанием \(2\). Сколько значащих нулей содержится в этой записи?
Рис. \(12\). Программа на Python |
Ответ: \(483\).
Источники:
Рис. 1. Программа на Pascal. © ЯКласс.
Рис. 2. Программа на Python.© ЯКласс.
Рис. 3. Программа на Pascal. © ЯКласс.
Рис. 4. Программа на Python. © ЯКласс.
Рис. 5. Программа на Pascal. © ЯКласс.
Рис. 6. Программа на Python. © ЯКласс.
Рис. 7. Программа с использованием постусловия. © ЯКласс.
Рис. 8. Программа на Pascal. © ЯКласс.
Рис. 9. Программа на Python. © ЯКласс.
Рис. 10. Программа на Pascal. © ЯКласс.
Рис. 11. Программа на Python. © ЯКласс.
Рис. 12. Программа на Python. © ЯКласс.
ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
Ключевые слова
• следование
• ветвление
• повторение
• линейные алгоритмы
• разветвляющиеся алгоритмы
• циклические алгоритмы
Человеку в жизни приходится решать множество различных задач. Решение каждой из них описывается своим алгоритмом, и разнообразие этих алгоритмов очень велико. Вместе с тем для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Это положение выдвинул и доказал Э. Дейкстра в 70-х гг. прошлого века.
Эдсгер Вибе Дейкстра (1930-2002) — выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.
Следование — алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование», называются линейными алгоритмами.
Графическое представление алгоритмической конструкции «следование» приведено на рис. 1.
Рис. 1. Алгоритмическая конструкция «следование»
Пример 1. Линейный алгоритм приготовления отвара шиповника.(рис.2)
Обратите внимание, что многие из предписаний этого алгоритма могут потребовать детализации — представления в виде некоторой совокупности более мелких предписаний.
Пример 2. У исполнителя Робот есть четыре команды перемещения (вверх, вниз, влево и вправо), при выполнении каждой из них Робот перемещается на одну клетку в соответствующем направлении. По команде закрасить Робот закрашивает клетку, в которой он находится. Запишем линейный алгоритм, исполняя который Робот нарисует на клетчатом поле следующий узор и вернётся в исходное положение, обозначенное звёздочкой (рис.3)
Пример 3. Дан фрагмент линейного алгоритма:
х:=2
у:=х*х
У:=У*У
х:=у*х
s:=x+y
Выясним, какое значение получит переменная s после выполнения этого фрагмента алгоритма. Для этого составим таблицу значений переменных, задействованных в алгоритме (рис.4)
Составленная нами таблица значений переменных моделирует работу исполнителя этого алгоритма.
Пример 4. Некоторый исполнитель может выполнять над целыми числами кроме операций сложения, вычитания, умножения и деления ещё две операции: с помощью операции div вычисляется целое частное, с помощью операции mod — остаток.
Например: 5 div 2 = 2; 5 mod 2 = 1; 2 div 5 = 0; 2 mod 5 = 2.
Покажем, как с помощью этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k500), 100 (k100), 50 (k50) и 10 (k10) рублей.(рис.5)
https://www.yaklass.ru/p/informatika/8-klass/osnovy-algoritmizatcii-14923/osnovnye-algoritmicheskie-konstruktcii-13987/re-f874a988-2062-48c6-800e-64baab38bfb8
План урока:
Циклы, их виды
Повторение в программировании
Сравнение цикличных структур
С повторяющимися действиями мы сталкиваемся и в обычной жизни и при решении задач. Проход стрелок часов каждую минуту, секунду, час, смена дня и ночи, ежедневные сборы в школу, еженедельная смена уроков, ежегодные поездки на море – примеров циклов повторения миллиарды. Несмотря на разнообразие происходящих процессов, большинство из них можно описать простыми конструкциями. Делая что-то раз за разом, мы не задумываемся, что ученые уже написали алгоритмы с повторением или циклы универсальными способами.
Циклы, их виды
Многие операции, действия выполняются однотипно много раз. Этот процесс повторения называют циклом, а повторяемая последовательность – телом цикла. Процедуру с повторяющимися этапами называют циклической.
Каждое повторение действий в алгоритмах – итерация.
Выделяют 3 основных вида повторяющихся структур:
- с условием выполнения цикла (предусловием);
- с критерием завершения (постусловием);
- с указанным числом повторений цикла.
Описывать подобные процессы удобно схематично или при помощи команд.
Цикл с предусловием
Данную конструкцию еще встречается как «цикл-пока», потому что пока выполняется условием, программа/исполнитель будет проходить шаги снова и снова.Описанный критерий, логическое сравнение — причина начала прохождения повторяемых шагов/команд.
Описание цикла с условием двумя способами:
Порядок выполнения:
- Проверка критерия/логического сравнения.
- Пока результат «Да», «проигрывать по кругу» однотипные операции.
- Если ответ на условие отрицательный, закончить процедуру.
Особенность этой конструкции – существуют такие условия, когда команды не будут выполнены ни разу.
Циклический алгоритм, примеры:
- Написать алгоритм постройки забора из кирпичей высотой 2 м.
алг забор
нач
нц пока есть кирпичи и раствор цемента
если высота забора < 2,0 м
то намазать слой цемента
положить слой кирпичей
иначе сделать сверху декоративный слой
все
кц
кон
- Нарисовать шуточный (но действующий) алгоритм покраски забора «от начала и до обеда.
- Написать алгоритм вычисления частного и остатка от числа, не используя операции деления. В программе используются целые числа.
Заменим деление вычитанием, будем выполнять отнимание, пока остаток не будет меньше вычитаемого – условие выполнения. Число вычитаний и будет частному от деления, это счетчик цикла, а разность, выполненная в последний раз – остаток от деления.
Обозначим x – делимое, y – делитель, q – частное от деления, r – остаток.
Особенности цикла-Пока:
- Если условие ни разу не выполняется, то команды из тела не будут выполнены ни разу. Это нормально, это один из вариантов – нет необходимости в выполнении команд.
- Если же условие всегда истинно, тело операции будут выполняться бесконечное число раз. Такое положение называется зацикливанием. Фактически программа «зависает» и не сможет завершиться сама. Рекомендуется предусмотреть этот вариант.
Циклический алгоритм с постусловием
Такую конструкцию называют «цикл-До». Здесь условие является основанием окончания выполнения команд из тела, то есть, они выполнятся хотя бы раз, даже если условие ложно.
Порядок выполнения цикла с заданным условием:
- Выполнение команд из тела.
- Проверка условия (сравнения определенной величины с заданной).
- Пока ответ на условие «Нет», повторять описанные в теле операции/шаги.
- Если ответ на условие положительный, закончить процедуру.
Описание структуры с постусловием языком блок-схем и на алгоритмическом языке:
Особенности циклов с заданным условием окончания работы:
- Будет хотя бы одно выполнение процедуры;
- Условие описывает завершение повторяемых действий.
Пример: написать программу покраски забора.
Блок схема циклического алгоритма.
Цикл с параметром
Используется для задач, в которых известно количество повторений однотипных шагов, то есть заранее известно, сколько раз нужно выполнить действия. Параметр в этой процедуре– количество повторений цикла(счетчик повторов).
Особенность алгоритмической конструкции повторение с параметром – не бывает зацикливаний, ведь после выполнений указанного числа повторов процесс остановится.
Циклы с известным числом повторений вокруг нас: прием курса лекарств, расписание уроков на неделю, посадка известного числа саженцев, поклейка определенного числа полос обоев.
Пример: написать алгоритм разгрузки и переноса 15 мониторов из авто в компьютерный класс.
Повторение в программировании
Не нужно недооценивать изучение простейших алгоритмических конструкций. Следование, ветвление, повторение – важные конструкции, операторы, используемые в программировании.
Зная их особенности, умея строить блок-схемы и писать решение задач на алгоритмическом языке, позволяет изучать большинство языков программирования легко и быстро.
Большинство задач можно описать при помощи первой конструкции, иногда это неудобно, для каждого типа заданий лучше подбирать оптимальный по выполнению алгоритм.
Цикл начала работы в программировании
Так, описанная выше команда в программировании обозначается словом While. Этот оператор обозначает многократное прохождение участка кода. Это очень востребованная операция.
«While» обозначает на английском «пока». Но не как прощание, а как то, что «делается пока, что-то происходит/выполняется». Этот оператор используется во всех языках программирования, использующих структурный подход (Pascal, Python). Обобщено его записывают так:
Как видим, это очень похоже на запись на алгоритмическом языке – написанное просто, структурировано и понятно.
Подход такой же, как и цикле-пока – проверяется условие, если оно «True», выполняется тело с командами, если «False» – блок программы заканчивается. В этой конструкции не выполненное условие — окончания работы цикла. После этого программа перейдет к следующему блоку команд, то есть «выйдет из цикла».
Цикл окончания работы в программировании
Для записи такой повторяемой конструкции в языках программирования используется оператор repeat. После него следуют команды (тело), после – оператор until, обозначающий условие окончание процесса.
Для этих двух конструкций возможно зацикливание. В программировании применяется специальный оператор break принудительного окончания процесса.
Источник
Цикл со счетчиком в программировании
Для описания цикла с заданным повторением применяют оператор for.
Общий вид блока на языке программирования:
Программа проходит команды из тела и значение счетчика (параметра) становится больше на 1. Чтобы выйти из цикла с фиксированным числом повторений, нужно достичь максимума параметра, который указан в условии задачи.
Сравнение цикличных структур
Блок-схемы повторяющихся алгоритмов позволяют оценить подобие всех 3 видов:
- обязательное наличие условия (для оператора с параметром – это число повторений);
- серия однотипных команд/шагов.
В сложных задачах алгоритм выполнения может содержать любые виды алгоритмических конструкций, в том числе разветвляющиеся циклические алгоритмы.
Хотя все алгоритмы циклической структуры описывают повторяющиеся шаги, у них много отличий.