Примеры решения задач
Задача . Округление и ассоциативный массив
Задача. Найдите корень из числа 1000. Округлите его в большую и меньшую стороны. В массив $arr запишите первым элементом корень из числа, вторым элементом - округление в меньшую сторону, третьим элементом - в большую.
Решение: корень из числа найдем функцией sqrt. Далее, чтобы округлить число в меньшую строну, воспользуемся функцией floor, а чтобы в большую - функцией ceil:
<?php
$sqrt = sqrt(1000); //найдем корень и запишем его в $sqrt
echo floor($sqrt); //округлим в меньшую сторону
echo ceil($sqrt); //округлим в большую сторону
?>
Теперь результаты необходимо записать в массив. Сделать это можно двумя способами: объявить через [ ] либо просто воспользоваться присваиванием $arr[ ] = 'html'; $arr[ ] = 'php'; и так далее.
Первый способ:
<?php
$sqrt = sqrt(1000)
$arr = [$sqrt, floor($sqrt], ceil($sqrt));
?>
Второй способ:
<?php
$sqrt = sqrt(1000)
$arr[] = $sqrt;
$arr[] = floor($sqrt);
$arr[] = ceil($sqrt);
?>
Задача . Массив случайных чисел
Задача. Заполните массив 30-ю случайными числами от 1 до 10.
Решение: для решения воспользуемся циклом for - прокрутим его 30 раз, записывая при каждом проходе случайное число в новый элемент массива.
Случайные числа будем получать через функцию mt_rand.
Чтобы число записалось в новый элемент массива, следует сделать так: $arr[ ] = 1; $arr[ ] = 2; - первое число запишется в нулевой элемент массива, а второе - в первый (с ключом 1). В случае со случайными числами это будет выглядеть так:
<?php
//Каждое из чисел будет записываться в новый элемент массива:
$arr[] = mt_rand(1, 10);
$arr[] = mt_rand(1, 10);
$arr[] = mt_rand(1, 10);
?>
Напоминаю о том, что ключи можно не оставлять пустыми, а делать своими:
<?php
//Используем свои ключи, а не автоматические:
$arr['Первый ключ'] = mt_rand(1, 10);
$arr['Второй ключ'] = mt_rand(1, 10);
$arr['Третий ключ'] = mt_rand(1, 10);
?>
При большом желании мы можем вручную сделать 30 таких строчек - и задача решена. Но пусть лучше за нас это сделает цикл:
<?php
//Переменная $i нужна, чтобы цикл сделал 30 итераций (проходов)
for ($i = 1; $i <= 30; $i++) {
$arr[] = mt_rand(1, 10);
}
var_dump($arr);
/*
Пообновляйте страницу -
вы увидите как меняется массив,
так как он заполняется случайными числами.
*/
?>
Задачи для решения
Работа с %
Даны переменные $a=10 и $b=3. Найдите остаток от деления $a на $b.
Решение:
<?php
$a = 10;
$b = 3;
echo $a % $b;
?>
Даны переменные $a и $b. Проверьте, что $a делится без остатка на $b. Если это так - выведите 'Делится' и результат деления, иначе выведите 'Делится с остатком' и остаток от деления.
Решение:
<?php
$a = 10;
$b = 3;
$c = $a % $b;
if ($c == 0) {
echo 'Делится, результат деления: ' . ($a / $b);
} else {
echo 'Делится с остатком '.$c;
}
?>
Работа со степенью и корнем
Возведите 2 в 10 степень. Результат запишите в переменную $st.
Найдите квадратный корень из 245.
Дан массив с элементами 4, 2, 5, 19, 13, 0, 10. Найдите корень из суммы квадратов его элементов. Для решения воспользуйтесь циклом foreach.
Работа с функциями округления
Найдите квадратный корень из 379. Результат округлите до целых, до десятых, до сотых.
Найдите квадратный корень из 587. Округлите результат в большую и меньшую сторону, запишите результаты округления в ассоциативный массив с ключами 'floor' и 'ceil'.
Работа с min и max
Даны числа 4, -2, 5, 19, -130, 0, 10. Найдите минимальное и максимальное число.
Работа с рандомом
Выведите на экран случайное число от 1 до 100.
Заполните массив 10-ю случайными числами. Подсказка: нужно воспользоваться циклами for или while.
Решение:
<?php
$arr = [];
for ($i = 1; $i <= 10; $i++) {
$arr[] = mt_rand(1, 100);
}
var_dump($arr);
?>
Работа с модулем
Даны переменные $a и $b. Найдите найдите модуль разности $a и $b. Проверьте работу скрипта самостоятельно для различных $a и $b.
Дан массив в числами, к примеру [1, 2, -1, -2, 3, -3]. Создайте из него новый массив так, чтобы отрицательные числа стали положительными, то есть у нас должен получиться такой массив: [1, 2, 1, 2, 3, 3].
Задачи
Дано число, например 30. У этого числа есть делители - числа, на которое оно делится без остатка. Делители числа 30 - это 1, 2, 3, 5, 6, 10, 15, 30. Задача: сделайте массив делителей нашего числа. Число может быть любым, не обязательно, 30.
Дан массив [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. Узнайте, сколько первых элементов массива нужно сложить, чтобы сумма получилась больше 10.