Читать книгу Задачник по PHP (с решениями) - Роман Игоревич Григорьев - Страница 1
Оглавление1)
Вычисления и условный оператор в PHP
1.1 Простейшая арифметика
Даны два числа 5 и 7. Найти их сумму и произведение.
1. <?php
2. $a = 5;
3. $b = 7;
4. $c = $a + $b;
5. $d = $a*$b;
6. echo $c, $d;
7. ?>
Даны два числа 4 и 6. Найдите сумму их квадратов.
1. <?php
2. $a = 4;
3. $b = 6;
4. $c = $a*$a + $b*$b;
5. echo $c;
6. ?>
Даны три числа 3, 5, 8. Найдите их среднее арифметическое.
1. <?php
2. $a = 3;
3. $b = 5;
4. $c = 8;
5. $d = ($a + $b + $c)/3
6. echo $d;
7. ?>
Даны три числа x = 2,y = 6 и z = 9. Найдите (x+1)4−2(z−2x^2+y^2)
1. <?php
2. $x = 2;
3. $y = 6;
4. $z = 9;
5. $a = ($x+1)*4 – 2 ($z – 2*$x*$x+$y*$y);
6. echo $a
7. ?>
Даны три ненулевых числа $a = 4, $b = 8, $c = 3. Найдите всевозможные
результаты деления суммы двух из них на оставшееся третье число.
1. <?php
2. $a = 4;
3. $b = 8;
4. $c = 3;
5. $d = ($a +$b)/$c;
6. $r = ($b+$c)/$a;
7. $f = ($a + $c)/$b;
8. echo $d,$r,$f;
9. ?>
Дано два числа 17 и 54. Найдите сумму 40% от первого числа и 84% от
второго числа.
1. <?php
2. $a = 17;
3. $b = 54;
4. $c = 0,4*17 + 0,84*54;
5. echo $c;
6. ?>
Дано трехзначное числа. Найдите сумму его цифр.
1. <?php
2. $var = 578; // Объявляем число
3. $var .= ' ; // Приводим его к строковому типу
4. echo $a = $var[2] + $var[1] + $var[0]; // Выводим переменную
5. //равную сумме цифр числа
6. ?>
1.2. Условный оператор
Дано число 15. Если оно больше 10, то увеличьте его на 100, иначе уменьшите
на 30.
1. <?php
2. $a = 15;
3. if ($a>10)
4. {$a = $a + 100};
5. else
6. {$a = $a – 30};
7. echo $a
8. ?>
Дано натуральное число 8. Если оно четное, то уменьшите его в 2 раза, иначе
увеличьте в 3 раза.
1. <?php
2. if ($number / 2 == ceil($number / 2))
3. {
4. $number = $number / 2;
5. }
6. else
7. {
8. $number = $number *3;
9. }
10.
echo $number;
11.
?>
Дано число. Если оно не меньше 50, то выведите квадрат этого числа, если же
это число больше 10 и меньше 30, то выведите ноль, в остальных случаях выведите
слово "Ошибка"
1. <?php
2. $a = ee; // Задаем число $a, например, 45
3. if ($a > 50) {
4. echo $b=pow($a,2);
5. }
6. elseif ($a > 10 & $a < 30) {
7. echo 0;
8. }
9. else {
10. echo "Ошибка";
11.
}
12.
?>
Дано два числа $a = 15, $b = 4. Вывести наибольшее из них.
1. <?php
2. $a = 15;
3. $b = 4;
4. if ($a > $b)
5. { echo $a};
6. else
7. { echo $b };
8. ?>
Дано два числа $a = 19, $b = 143. Вывести 'Да', если они отличаются на 100,
иначе вывести 'Нет'
1. <?php
2. $a = 19;
3. $b = 143;
4. if ($b – $a = 100 )
5. { echo "No" };
6. else
7. { echo "Yes" };
8. ?>
Дано два натуральных числа. Вывести 'Да', если они отличаются не более чем
на 20, иначе вывести 'Нет'.
1. <?php
2. $a = 15;
3. $b = 30;
4. if ($b – $a > 20)
5. { echo "No" };
6. else
7. {echo "Yes"};
8. ?>
В данном трехзначном числе переставьте цифры так, чтобы новое число
оказалось наибольшим из возможных.
1.3. Работа с формой
Пользователь вводит номер дня недели. Вывести название дня недели.
1. <?php
2. if ($a = 1) {echo Monday};
3. if ($a = 2) {echo Tuesday};
4. if ($a = 3) {echo Wednesday};
5. if ($a = 4) {echo Thursday};
6. if ($a = 5) {echo Friday};
7. if ($a = 6) {echo Saturday};
8. if ($a = 7) {echo Sunday};
9. else
10. {echo "неверное число"}
11.
?>
Пользователь вводит свой возраст. Если он больше 80 лет, то вывести
'Здравствуйте, уважаемый', иначе 'Успехов!'.
1. <?php
2. if (0 < $years <= 80) {echo Успехов};
3. else
4. {echo "Здравствуйте, Уважаемый"};
5. ?>
Пользователь выбирает из выпадающего списка страну (Турция, Египет или
Италия), вводит количество дней для отдыха и указывает, есть ли у него скидка
(чекбокс). Вывести стоимость отдыха, которая вычисляется как произведение
количества дней на 400. Далее это число увеличивается на 10%, если выбран Египет,
и на 12%, если выбрана Италия. И далее это число уменьшается на 5%, если указана
скидка.
1. <html>
2. <head>
3. <meta charset="utf-8" />
4. <title>Название странички</title>
5. </head>
6. <body>
7.
8.
9. <?php
10.
echo '<pre>';
11.
print_r($_POST);
12.
echo '</pre>';
13.
if (isset($_POST['hero']))
14.
{
15.
if($_POST['hero'] == 1)
16.
{
17.
if(isset($_POST['b']))
18.
{
19.
echo" в Италию со скидкой ". ($_POST['a']*400*1.12*0.95);}
20.
else{echo" в Италию без скидки ". ($_POST['a']*400*1.12);}
21.
}
22.
elseif( $_POST['hero'] == 2){
23.
if(isset($_POST['b'])){
24.
echo" в Грецию со скидкой". ($_POST['a']*400*1.1*0.95);}
25.
else{echo"Греция без скидкии".($_POST['a']*400*1.1);}
26.
}
27.
elseif($_POST['hero'] == 3){
28.
if(isset($_POST['b'])){
29.
echo" в Россию со скидкой". ($_POST['a']*400*0.95);}
30.
else{echo"Poccия без скидкии".($_POST['a']*400);}
31.
}
32.
}
33.
?>
34.
<form method="post">
35.
36.
<p><select name="hero"><option>выбирайте страну из списка </option> 37.
<option value="1">Италия</option>
38.
<option value="2">Греция</option>
39.
<option value="3">Россия</option>
40.
</select></p>
41.
<p><b>сколько дней отдыха?</b></p>
42.
<input type="text" name="a" />
43.
<p><b>есть ли у вас скидка?</b></p>
44.
<input type="checkbox" name="option" value="b"><Br> 45.
<p><input type="submit" value="Отправить"></p>
46.
</form>
47.
48.
49.
</body>
50.
</html>
2) Массивы в PHP
2.1 Массивы
Дан массив с элементами 'Привет, ', 'мир' и '!'. Необходимо вывести на экран
фразу 'Привет, мир!'.
1. <?php
2. //Выведем фразу 'Привет, мир!':
3. $arr = ['Привет, ', 'мир', '!'];
4. echo $arr[0].$arr[1].$arr[2];
5. ?>
Слово 'Привет, ' хранится под номером 0, это значит, что для доступа к нему
мы должны написать $arr[0].
Для доступа к слову 'мир' мы должны написать $arr[1], а $arr[2] содержит в
себе '!'. Далее с помощью оператора 'точка' мы сложим три наши строки ('Привет, ',
'мир' и '!') в одну строку таким образом: $arr[0].$arr[1].$arr[2], и выведем на экран
с помощью echo.
Задача. Решим немного другую задачу: дан массив с элементами 'Привет, ',
'мир' и '!'. Необходимо записать в переменную $text фразу 'Привет, мир!', а затем
вывести на экран содержимое этой переменной.
1. <?php
2. $arr = ['Привет, ', 'мир', '!'];
3. $text = $arr[0].$arr[1].$arr[2];
4. /*
5.
В переменной $text теперь лежит строка 'Привет, мир!'.
6.
Выведем ее на экран:
7. */
8. echo $text;
9. ?>
Дан массив ['Привет, ', 'мир', '!']. Необходимо записать в первый элемент (то
есть элемент с номером ноль) этого массива слово 'Пока, ' (то есть вместо
слова 'Привет, '