Slavina036 задачи по PHP
Primary tabs
Вывести на экран N случайных чисел (каждое с новой строки) из диапазона [-21, 35]
ПРИМЕЧАНИЕ: подразумевается, что вы должны организовать цикл, который выполнится N раз и при этом в каждом своём витке выведет на экран случайное число.
<?php for ($counter = 0; $counter < 5; $counter++) { $number = rand(-21,35); echo $number, "<br>"; } ?>
Вывести на экран сумму N случайных чисел.
<?php $number = 0; for ($counter = 0; $counter < 5; $counter++) { $number = $number + rand(-21,35); } echo $number; ?>
Вывести на экран N случайных чисел (каждое с новой строки). Для каждого числа, начиная со второго, рядом выводить - больше ли оно предыдущего или меньше. например:
-1 20 больше -1 -5 меньше 20 -6 меньше -5 и т.д.
<?php $a = rand(-21,35); echo "$a<br>"; for ($counter = 0; $counter < 4; $counter++) { $b = $a; $a = rand(-21,35); if ($a > $b) { echo "$a bolshe $b<br>"; } elseif ($a < $b) { echo "$a menshe $b<br>"; } else { echo "$a ravno $b<br>"; } } ?>
Вывести на экран n-ное число Фибоначчи. Пример последовательности:
0 1 1 2 3 5 8 13 21...и т.д.
<?php $n = 15; $a = 0; $b = 1; for ($counter = 0; $counter < $n; $counter++) { echo "$a<br>"; $c = $b + $a; $a = $b; $b = $c; } ?>
Дано некоторое число длиной от 1 до 5 цифр - вывести его цифры в обратном порядке.
Например:3567= 7 6 5 3Подсказка: используйте цикл while и операцию получения остатка.
<?php echo $n = rand(0,99999) , "=<br>"; while ($n > 0) { echo $n % 10 , "<br>"; $n = intdiv($n , 10); } ?>
Дано некоторое число длиной от 1 до 5 символов, вывести все его "нечётные" цифры в обратном порядке (аналогично предыдущей задаче), если же таких цифр не найдёт, вывести сообщение "Нечетных цифр не обнаружено!"
<?php $foo = true; echo $n = rand(0,99999) , "<br>"; while ($n > 0) { $divn = $n % 10; if (($divn % 2) == 0) { echo $divn , "<br>"; $f = false; } $n = intdiv($n , 10); } if (f == true) echo "No odd digits were detected!"; ?>
выдает такой результат
71714 4 No odd digits were detected!Use of undefined constant f - assumed 'f' (this will throw an Error in a future version of PHP) on line 12
Задать массив из 7-ми элементов через предварительное описание типа, заполнить его случайными значениями в одном цикле, а в другом цикле вывести эти значения на экран.
<?php for ($index = 1; $index < 8; $index++) { $array [] = rand(); } foreach ($array as $index => $value) { echo "index: $index; value: $value<br>"; } ?>
Задать двумерный массив размерностью m на n (MxN) элементов (m и n вынести в область определения констант), заполнить его случайными значениями и вывести их на экран уже после того, как весь массив будет заполнен (т.е. заполнять и выводить в разных группах циклов).
<?php $m = rand(3,9); $n = rand(10,20); echo "m = $m; n = $n<br>"; for ($outer_index = 1; $outer_index <=$m; $outer_index++) { for ($inner_index = 1; $inner_index <=$n; $inner_index++) { $massivMN [$outer_index] [$inner_index] = rand(0,10); } } foreach ($massivMN as $outer_index => $massiv) { foreach ($massiv as $inner_index => $value) { echo("$massiv [$outer_index][$inner_index] = $value<br>"); } } ?>
Задайте случайным образом массив из N элементов. Выведите его на экран "ёлочкой". Вот начало такого вывода:
1 2 3 4 5 6 7 8 9 10 11 12 ......Второй вариант - сделайте то же самое, но не используйте массив: у вас есть переменная N, выведете на экран, все числа до N, по тому же принципе что и выше, например, если N=9, то получим:
1 2 3 4 5 6 7 8 9
<?php $n = rand(10,100); echo "n = $n<br>"; for ($index = 1; $index <= $n; $index++) { $array [] = $index; } $max = 1; $current = 0; foreach ($array as $index => $value) { echo "$value "; $current++; if ($current == $max) { echo "<br>"; $max++; $current = 0; } } ?>
<?php $n = rand(10,100); echo "n = $n<br>"; $max = 1; $current = 0; for ($index = 1; $index <= $n; $index++) { echo "$index "; $current++; if ($current == $max) { echo "<br>"; $max++; $current = 0; } } ?>
Задайте случайным образом массив из N элементов (целых чисел). Найдите максимальное число и напечатайте его.
<?php $n = rand(10,100); echo "n = $n<br>"; for ($index = 1; $index <= $n; $index++) { echo $array [] = rand(0,100)," " ; } echo "<br> max = ", max($array); ?>
Задайте случайным образом массив из 20-ти элементов (целых чисел). Найдите минимальное число и напечатайте его.
<?php for ($index = 1; $index <= 20; $index++) { echo $array [] = rand(0,100)," " ; } echo "<br> min = ", min($array); ?>
Даны два массива по 20 элементов каждый (заполните случайными числами, так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).
Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива - сравнение проводите пока не закончится та выборка, которая короче.
Например пусть мы имеем два массива (запишу лишь начальные элементы):1 | 2 | -10 | 5 | 0 | 12 | 2 | 8 .... 0 | 3 | 4 | 9 | 7 | 5 | -8 | 3.....для них программа должна вывести:
-10 меньше 3 12 больше 9- других сравнений не последует, так как новых из "каждых третьих элементов" в 1-ом массиве больше нет.
<?php function array_echoer (&$array) { for ($index = 0; $index <= 19; $index++) { echo $array [] = rand(-10,10)," " ; } echo"<br>"; } array_echoer ($array1); array_echoer ($array2); $key1 = 2; $key2 = 1; while ($key1 <= 19) { if ($array1[$key1] > $array2[$key2]) { echo "$array1[$key1] more than $array2[$key2]<br>"; } elseif ($array1[$key1] < $array2[$key2]) { echo $array1[$key1], " less than ", $array2[$key2], "<br>"; } else { echo $array1[$key1]," equal ", $array2[$key2], "<br>"; } $key1 += 3; $key2 += 2; } ?>
Создайте функцию, которая принимает на вход массив случайных чисел из диапазона [5..12]. Обходит этот массив и делает для каждого элемента следующее (пусть она оказывает побочный эффект прямо в своём теле):
Если это число равно 5 -- то выведете на экран строку "пять", если 6 -- то строку "шесть", если 7 то число "7", иначе -- строку "какое-то другое число".
Используйте для решения задачи оператор switch(link is external) (или см. книгу Стивена Хольцнера стр. 60).
<?php function processing ($array) { foreach ($array as $value) { echo $value, " - "; switch ($value) { case 5 : echo "five<br>"; break; case 6 : echo "six<br>"; break; case 7 : echo "seven<br>"; break; default: echo "some other number<br>"; } } } for ($index = 1; $index <= 20; $index++) { echo $arr [] = rand(5,12)," " ; } echo "<br>"; processing ($arr); ?>
Есть два массива "a" и "b". На вход вашей программе подаётся массив "a" случайных чисел (10 элементов) из диапазона от 1 до 20. Задача: вывести на экран все числа, которые не содержатся в массиве "b"
$b = [12, 5, 17, 6, 4];Решите эту задачу двумя способами:
Без использования in_array()(link is external)
С использованием in_array()(link is external) (что проще).
<?php for ($index = 0; $index <=19; $index++) { echo $a[$index] = rand(1,20), " "; } echo "<br>"; $b = [12, 5, 17, 6, 4]; foreach ($b as $index) { echo $index, " "; } echo "<br>"; $difference = array_diff($a, $b); $difference = array_unique($difference); foreach ($difference as $index) { echo $index, " "; } ?>
- Log in to post comments
- 1066 reads