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
- 1395 reads