Alice-Хогвартс
Лектории
Предмет Архив История Другие предметы Кабинет Alice-Хогвартс

Лекция 3. Цикл поедания мороженого

Мы все ближе и ближе к страшным заклинаниям магвебпрограммирования! Но пока остановимся на еще одном понятии, которое так же как и условие является одним из основных в программировании. Это цикл! Вы знаете, что такое цикл? Не в программирование, а вообще? Например, вы вышли из своей комнаты, пошли в лавку на крапивном бульваре, вернулись в комнату. Это один оборот цикла. У нас есть начальная точка - это ваш дом, потом есть какие-то действия, и возврат на начальную точку. Как круговорот в природе, это тоже цикл. Циклы есть и в астрономии, когда Солнце каждый день появляется в одной и той же точке, например, в зените.

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

Усложним пример с выходом в лавку с ингредиентами: вам нужно купить 5 кг мандрагоры, но унести за раз вы можете лишь 1 кг. Вы выходите из комнаты, идете в лавку (покупаете 1 кг мандрагоры), возвращаетесь в комнату. Один оборот цикла. Дальше снова выходите из комнаты, в лавке покупаете килограмм, возвращаетесь в комнату. Второй оборот цикла. Сколько вам нужно раз сгонять в лавку, чтобы купить нужное количество мандрагоры? Верно, нужно совершить 5 оборотов цикла. И да, вы будете выполнять эти действия, пока не купите нужное количество, а то преподаватель по зельеварению будет ругаться! Верно?

Итак, поход в лавку - это действие, которое повторяется, оно называется телом цикла. Условие цикла - покупать за раз 1 кг, пока не купишь 5 кг мандрагоры. Все очень просто выходит.



Давайте теперь создадим цикл поедания мороженого! Мороженое в любой сезон радостно поесть. Итак, начнем, наша цель - съесть мороженное. Тело цикла: брать ложечкой мороженое и есть мороженое, что в ложечке. Условие цикла: будем совершать поедание до тех пор, пока ложечке будет нечего брать (или обычным языком пока мороженое не закончится). Рисуем блок-схему!



- Хочу поесть мороженое (начало)
- Беру ложечку
- Беру мороженое
- Условие цикла: мороженое должно быть = 0 (то есть нет мороженого (съедено)) {
- Если нет {Ем мороженое}
- Если да {Съел мороженое}
}
- Конец мороженому

Вот и все! Наверно стоит показать как записывается примеры выше-придуманных циклов с помощью php-заклинаний? Для того, чтобы ваш глаз наметывался, вы можете попытаться понять, но если не выйдет, это не страшно. Дальше будут лекции о циклах уже с подробными объяснениями. Для начала импровизированный код из примера с мандрагорой.

$meshok_mangragori это мешок, который стоит у вас в комнате, куда вы складываете все добытые килограммы.
$meshok_mangragori=0; //это начало вашего пути, мешок лежит у вас в комнате
for ($i=0; $i>5; $i++) { //это условие цикла, нам нужно прийти от 0 к 5 кг
$meshok_mangragori=$meshok_mangragori+1; //складываем в мешок по 1 кг
}
Выходит что в мешок будет складываться 1 кг мандрагоры до тех пор, пока там не будет 5 кг.


Пример, с поеданием мороженого отличен тем, что изначально мы не знаем, сколько ложек нам нужно съесть, чтобы скушать все мороженое ($morojenoe - это наше целое мороженое). Поэтому для начала мы посчитаем их:

$kolvo_lojek=count($morojenoe);
$i=0;
while ($i++>$kolvo_lojek) {
//цикл крутится пока не прокрутит всё количество ложек. Это другой вид цикла, можно такое же написать и для цикла for
//из мороженого вычитаем минус одну ложечку. Это лишь для наглядности
$morojenoe=$morojenoe-1;
}


Также стоит отметить непонятное значение $i. Это всего лишь счетчик количества оборотов цикла. На этом всё, надеюсь, вы как-то прониклись в понятие цикл. Дальше будем более подробно разбирать главные знаки и символы заклинаний php, а пока вот вам домашнее задание:

1. Что такое цикл вашими словами, без каких-либо научных терминов (можно меньше 5 строк)
2. Нарисовать блок-схему (не обязательно точную, но понятную) того, как вы ходили на все лекции по ЗиПТ (лекции)
А также написать словами, что является телом цикла, а что условием, и сколько нужно оборотов цикла, чтобы выполнить задание полностью

Дополнительное задание:
1. Что из описанного ниже, является циклом. Если это цикл, то разделите его на тело цикла и на условие цикла.
а) Выполнение зарядки каждое утро
б) Записывание имен членов МК на информационную доску
г) Прогулка по аховиллю или по любому другому городу
д) Пересчитывание вулонгов
е) Перелистывание страниц учебника
ж) Дать имя своему питомцу

alicehogwarts.com (c) 2005-2019