|
|||||||
Задача 1_1_2Задача 1_1_2 Описание задачи: Определить номера подъезда и этажа по номеру квартиры девятиэтажного дома, считая, что на каждом этаже ровно 4 квартиры, а нумерация квартир начинается с первого подъезда? Описание алгоритма: Пишем функцию, которая принимает в параметрах номер искомой квартиры и выборку квартир (36 квартир – подъезд, 4 квартиры – этаж). Организуем цикл с предусловием. Вычитаем из номера квартиры выборку квартир до тех пор, пока переменная номера квартиры не станет меньше выборки квартир. После каждого вычитания в теле цикла увеличиваем счетчик номера подъезда\квартиры. Номер квартиры передается по ссылке, так как после нахождения подъезда мы отправляем в функцию уже уменьшенное значение переменной, чтобы без дополнительных затрат вычислить номер этажа. Текст программы: <?php function mod_php(&$number, $del){//Функция определения этажа и подъезда $k = 1;//Счетчик номера подъезда\этажа while ($number > $del){//Находим номер этажа\квартиры, вычитая число квартир на этаже\подъезде $number -= $del; $k++;//Увеличиваем счетчик, если номер этажа не всё еще не попадает в выборку количества квартир } return $k;//Возвращаем номер этажа\подъезда } $S = $_POST['a'];//Переменная, в которую записывается номер этажа из формы echo 'ПОДЪЕЗД РАВЕН '.mod_php($S, 36).'<br>';//Вызываем функцию, которая находит подъезд echo 'ЭТАЖ РАВЕН '.mod_php($S, 4);//Вызываем функцию, которая находит этаж ?> Тестовый пример:
|
|||||||
|