Прочитайте улучшенную версию этого урока «Цикл со счётчиком for».
В новой версии:
- Ещё более доступное объяснение
- Дополнительные материалы
- Задачи с автоматической проверкой решения
Добрый день уважаемые друзья.
Вот и подошло время очередного занятия. Одно занятие было мной пропущено, из-за важных дел, я хотел его восстановить в течении недели, но навалились другие проблемы и мне не удалось этого сделать. Уж извините, всё предусмотреть невозможно. Сегодняшнее занятие будет посвящено новой управляющей конструкции. Сам того не подозревая, подбираю практические задачи для прошлого урока, я очень выгодно выбрал задачу с коровами, и дело вот в чем. Обычно, когда происходит изучение языка программирования не сразу понятно зачем и что нужно. И бывает достаточно сложно привести хороший пример. Можно конечно просто словами сказать, для чего предназначена та или иная конструкция. Но человеку гораздо понятнее, когда он сам увидел, и так сказать «пощупал», «поковырял» какой-то механизм. Еще Конфуций говорил «То, что я слышал, я забываю. То, что видел, я помню. То, что я делал сам, я понимаю». Теперь вернемся к нашей задаче с коровами. Естественно мне надо было её как-то проверять. Нужно было ввести все значения от 0 до 99 и посмотреть какой результат программа выдает. Всё это можно было-бы сделать вручную, но это крайне не продуктивно.Представьте, сколько времени уйдет, чтобы проверить одну программу. Вот именно здесь мне и пригодилась циклическая конструкция. Циклическая конструкция предназначена для того, чтобы выполнять какую-то последовательность действий несколько раз. В нашем случае для того чтобы 100 раз запустить одну и ту же программу с разными входными данными. Надеюсь общее назначение циклов и польза от их применения вы осознали, теперь можно приступить непосредственно к изучению.
- Первое выражение — инициализация счетчика.
- Второе выражение — условие.
- Третье выражение — изменение счетчика.
- Когда программа встречает слово for она понимает что перед ней цикл.
- Сначала определяется переменная счетчик (выражение 1).
- Проверяется условие выполнение цикла (выражение 2)
- Если условие ложно, то программа выходит из цикл for и продолжает свое выполнение. Т.е. если в самом начале условие будет ложно, то тело цикла не выполнится ни одного раза.
- Если условие истинно, то начинает выполняться тело цикла.
- После того как тело цикла выполнится, программа возвращается к заголовку и выполняет изменение значение переменной-счетчика (выражение 3).
- После этого возвращаемся к пункту два, и все действия повторяются до тех пор, пока условие не станет ложным.
- Переменная i счетчик и ей присваивается значение 0.
- Проверяется условие i<10. Оно истинно, значит выполняется тело цикла: выводится надпись, пользователь вводит число и оно прибавляется к переменной summ. Тело цикла заканчивается программа возвращается к заголовку.
- Программа выполняет выражение i++, изменяет значение переменной счетчика, в нашем случае увеличивает i на единицу. Теперь i = 1.
- Снова проверяется условие, i<10. Оно опять истинно. Снова выполняется тело цикла и происходит изменение переменной счетчика. И процесс повторяется.
- Потом, через несколько шагов значение i после изменения выражения счетчика становится равным 10. Проверяется условие. Оно ложно. Программа выходит из цикла и продолжает свое выполнение. В нашем случае выводит на экран значение переменной summ.
Припер работы программы с циклом for. |
Листинг 7.6
}
Нам нужно проверить эту программу. Смотрим что количество коров задается в переменной n. Именно её и возьмем в качестве переменной счетчика. начальное значение у нас 0 конечное 99 . С каждым шагом значение изменяется на 1 Значит заголовок будет выглядеть следующим образом:
Листинг 7.7
for(n=0,n<=99,n++)
Теперь из исходной программы удалим строчки, где просится ввести число n и строку, где введенное число считывается в переменную n. Также добавим туда наш заголовок и возьмем оставшуюся часть программы в фигурные скобки. Получим следующий код:
Листинг 7.8.
Если теперь запустить нашу полученную программу то можно посмотреть, какое окончание прибавляет программа к какому количеству коров.
Иллюстрация работы программы листинг 7.8 |
Напоследок хочу заметить что тело цикла может содержать в себе другие циклы, т.е. могут быть вложенные циклы.И опять же советую вам использовать в теле цикла составной оператор.
На этом на сегодня всё.
Резюме урока:
- Посмотрели на примерах для чего используются в программировании циклы.
- Изучили циклическую конструкцию for.
- На вход поступает четыре целых числа a,b,c,d. Выведите все числа на отрезке от a до b, дающие остаток c при делении на d.
- На вход программе подается число N. Напишите программу, для вычисления произведения всех чисел от 1 до N (N! N-факториал). По условию N не больше 10.
- На вход программе подается два числа.Первое сумма двух неизвестных чисел х и у, а второе произведение х и у. По двум введенным числам, найти х и у. х и у не превосходят 1000.
- На вход программе подается одно положительное число N, которое по не превосходит 10000. Написать программу которая выводит одно единственное число равное сумме чисел от 1 до N.
Если Вам понравился этот урок, расскажите о нем вашим друзьям. В этом Вам могут помочь кнопки основных социальных сетей, расположенные ниже. Вам остается всего лишь кликнуть по любой из них.