Урок 6. Задачи на математические функции PHP

Урок 6. Задачи на математические функции PHP

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Создание и раскрутка сайтов

Вбиваю в ТОП-10, как гвозди

8-965-148-98-02, diplom07@mail.ru

Урок 6. Задачи на математические функции PHP

Урок 6. Задачи на математические функции PHP

www.homa.xp3.biz

Практика

Примеры решения задач

Округление и ассоциативный массив

Задача. Найдите корень из числа 1000. Округлите его в большую и меньшую стороны. В массив $arr запишите 1-м элементом корень из числа, 2-м элементом - округление в меньшую сторону, 3-м элементом - в большую.

Решение: корень из числа найдем функцией sqrt. Далее, чтобы округлить число в меньшую строну, воспользуемся функцией floor, а чтобы в большую - функцией ceil:

<?

$sqrt=sqrt(1000);//Найдем корень и запишем его в $sqrt

echo floor($sqrt);//Округлим в меньшую сторону

echo ceil($sqrt)//Округлим в большую сторону

?>

Теперь результаты необходимо записать в массив. Сделать это можно 2 способами: объявить через [], либо просто воспользоваться присваиванием $arr[]='htm';$arr[]='php' и так далее.

1 способ:

<?

$sqrt=sqrt(1000)

$arr=[$sqrt,floor($sqrt),ceil($sqrt)]

?>

2 способ:

<?

$sqrt=sqrt(1000)

$arr[]=$sqrt;

$arr[]=floor($sqrt);

$arr[]=ceil($sqrt)

?>

Массив случайных чисел

Задача. Заполните массив 30-ю случайными числами от 1 до 10.

Решение: для решения воспользуемся циклом for - прокрутим его 30 раз, записывая при каждом проходе случайное число в новый элемент массива.

Случайные числа будем получать через функцию mt_rand.

Чтобы число записалось в новый элемент массива, следует сделать так: $arr[]=1;$arr[]=2; - 1-е число запишется в 0-й элемент массива, а 2-е - в 1-й (с ключом 1). В случае со случайными числами это будет выглядеть так:

<?//Каждое из чисел будет записываться в новый элемент массива:

$arr[]=mt_rand(1,10);

$arr[]=mt_rand(1,10);

$arr[]=mt_rand(1,10)

?>

Напоминаю о том, что ключи можно не оставлять пустыми, а делать своими:

<?//Используем свои ключи, а не автоматические:

$arr['1 ключ']=mt_rand(1,10);

$arr['2 ключ']=mt_rand(1,10);

$arr['3 ключ']=mt_rand(1,10)

?>

При большом желании мы можем вручную сделать 30 таких строчек - и задача решена. Но пусть лучше за нас это сделает цикл:

<?//Переменная $i нужна, чтобы цикл сделал 30 итераций (проходов)

for($i=1;$i<=30;$i++){$arr[]=mt_rand(1,10);}

var_dump($arr)

//Пообновляйте страницу, вы увидите как меняется массив, так как он заполняется случайными числами.

?>

array(30) { [0]=> int(10) [1]=> int(10) [2]=> int(1) [3]=> int(2) [4]=> int(6) [5]=> int(8) [6]=> int(8) [7]=> int(5) [8]=> int(6) [9]=> int(10) [10]=> int(7) [11]=> int(4) [12]=> int(6) [13]=> int(1) [14]=> int(3) [15]=> int(1) [16]=> int(2) [17]=> int(1) [18]=> int(6) [19]=> int(10) [20]=> int(1) [21]=> int(3) [22]=> int(1) [23]=> int(3) [24]=> int(8) [25]=> int(6) [26]=> int(1) [27]=> int(9) [28]=> int(9) [29]=> int(6) }

Задачи для решения

Работа с %

Даны переменные $a=10 и $b=3. Найдите остаток от деления $a на $b.

0.33333333333333

Даны переменные $a и $b. Проверьте, что $a делится без остатка на $b. Если это так - выведите 'Делится без остатка' и результат деления, иначе выведите 'Делится с остатком' и остаток от деления.

a=10, b=5

Делится без остатка. Результат = 2

a=10, b=9

Делится с остатком 0.11111111111111

Работа со степенью и корнем

Для решения задач данного блока вам понадобятся следующие функции: sqrt, pow.

Возведите 2 в 10 степень. Результат запишите в переменную $s.

1024

Найдите квадратный корень из предыдущей переменной $s.

32

Найдите квадратный корень из 245.

15.652475842499

Дан массив с элементами [4,2,5,19,13,0,10]. Найдите корень из суммы квадратов его элементов. Для решения воспользуйтесь циклом foreach.

№ элементаЭлементЭлемент в квадратеЭлемент в квадрате нарастающим итогом
141616
22420
352545
419361406
513169575
600575
710100675

Сумма квадратов = 675

Корень из суммы квадратов = 25.980762113533

Работа с функциями округления

Для решения задач данного блока вам понадобятся следующие функции: round, ceil, floor.

Найдите квадратный корень из 379. Результат округлите до целых, до десятых, до сотых.

Найдите квадратный корень из 587. Округлите результат в большую и меньшую сторону, запишите результаты округления в ассоциативный массив с ключами 'floor' и 'ceil'.

Работа с min и max

Для решения задач данного блока вам понадобятся следующие функции: min, max.

Даны числа [4,-2,5,19,-130,0,10]. Найдите минимальное и максимальное число.

Работа с рандомом

Для решения задач данного блока вам понадобятся следующие функции: mt_rand.

Выведите на экран случайное число от 1 до 100.

Заполните массив 10-ю случайными числами. Подсказка: нужно воспользоваться циклами for или while. Показать решение.

Работа с модулем

Для решения задач данного блока вам понадобятся следующие функции: abs.

Даны переменные $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 (число может быть любым, не обязательно 30).

Дан массив [1,2,3,4,5,6,7,8,9,10]. Узнайте, сколько 1-х элементов массива нужно сложить, чтобы сумма получилась больше 10.

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович:
8-965-148-98-02, diplom07@mail.ru.
Печатать страницу: Урок 6. Задачи на математические функции PHP

Урок 6, Задачи на математические функции PHP, Урок, 6, Задачи, на, математические, функции, PHP, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, Создание сайтов, web-программирование, seo-продвижение, создание и раскрутка сайтов, вбиваю в топ-10, как гвозди, попробуйте бесплатно, Создание сайтов, web-программирование, seo-продвижение, Урок, 6, Задачи, на, математические, функции, PHP, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, создание, сайта, веб, заказ, web, дизайн, раскрутка, продвижение, новый, сайт, рейтинг, сео, seo, раскрутка сайтов, Вбиваю в ТОП-10, как гвозди, раскрутка сайтов, Делаю и раскручиваю сайты, Дмитрий Владимирович

×

Ваше письмо