Учебные задачи PHP. Задача 3
Primary tabs
Список учебных задач PHP здесь
Условие: Вывести на экран N случайных чисел (каждое с новой строки). Для каждого числа, начиная со второго, рядом выводить - больше ли оно предыдущего или меньше.
<?php
$n = 9;
for ($i = 0; $i < $n; $i++) {
$arr[$i] = rand(-21, 35);
if ($i == 0) {
echo $arr[$i], "<br>";
}
else {
if ($arr[$i] > $arr[$i-1]) {
echo $arr[$i] . " больше " . $arr[$i-1], "<br>";
}
if ($arr[$i] < $arr[$i-1]) {
echo $arr[$i] . " меньше " . $arr[$i-1], "<br>";
}
if ($arr[$i] == $arr[$i-1]) {
echo $arr[$i] . " равно " . $arr[$i-1], "<br>";
}
}
}
?>- Log in to post comments
- 6932 reads
melisa
Thu, 02/07/2019 - 12:10
Permalink
привет)
if ($i == 0) { echo $arr[$i], "<br>"; } else {Замечание по оформлению блока if-else. Прочитайте внимательно правила оформления кода. Следование этим правилам - хорошая привычка и залог того, что Ваш код будет понятен любому программисту, даже когда он станет немного сложнее.
if ($i == 0) { echo $arr[$i], "<br>"; } else { if ($arr[$i] > $arr[$i-1]) { echo $arr[$i] . " больше " . $arr[$i-1], "<br>"; } if ($arr[$i] < $arr[$i-1]) { echo $arr[$i] . " меньше " . $arr[$i-1], "<br>"; } if ($arr[$i] == $arr[$i-1]) { echo $arr[$i] . " равно " . $arr[$i-1], "<br>"; }Работает корректно, но реализуйте более красивое решение, используя elseif вместо повторяющихся условий if
rvsokolov
Thu, 02/07/2019 - 17:24
Permalink
Применяю elseif
Спасибо за замечания, поправил. Единственно, у меня вопрос - действительно ли здесь нужна конструкция elseif? Какой смысл использовать блок else? Мне кажется, предыдущий вариант с тремя if более эргономичный, что ли. Поправьте, если я не прав.
<?php $n = 9; for ($i = 0; $i < $n; $i++) { $arr[$i] = rand(-21, 35); if ($i == 0) { echo $arr[$i], "<br>"; } elseif ($arr[$i] > $arr[$i-1]) { echo $arr[$i] . " больше " . $arr[$i-1], "<br>"; } elseif ($arr[$i] < $arr[$i-1]) { echo $arr[$i] . " меньше " . $arr[$i-1], "<br>"; } elseif ($arr[$i] == $arr[$i-1]) { echo $arr[$i] . " равно " . $arr[$i-1], "<br>"; } } ?>melisa
Thu, 02/07/2019 - 17:33
Permalink
elseif
if ($i == 0) { echo $arr[$i], "<br>"; } elseif ($arr[$i] > $arr[$i-1]) { echo $arr[$i] . " больше " . $arr[$i-1], "<br>"; } elseif ($arr[$i] < $arr[$i-1]) { echo $arr[$i] . " меньше " . $arr[$i-1], "<br>"; } elseif ($arr[$i] == $arr[$i-1]) { echo $arr[$i] . " равно " . $arr[$i-1], "<br>"; }rvsokolov
Thu, 02/07/2019 - 18:04
Permalink
Исправился и запомнил.
Исправился и запомнил.
<?php $n = 9; for ($i = 0; $i < $n; $i++) { $arr[$i] = rand(-21, 35); if ($i == 0) { echo $arr[$i], "<br>"; } elseif ($arr[$i] > $arr[$i-1]) { echo $arr[$i] . " больше " . $arr[$i-1], "<br>"; } elseif ($arr[$i] < $arr[$i-1]) { echo $arr[$i] . " меньше " . $arr[$i-1], "<br>"; } else { echo $arr[$i] . " равно " . $arr[$i-1], "<br>"; } } ?>melisa
Thu, 02/07/2019 - 18:15
Permalink
принято
принято