5. Функції користувача
Первинні вкладки
Створіть функцію для виведення таблиці множення з певною кількістю рядків і стовпців та користувальницьким виділенням перших стовпців та рядків кольором.
1. Створіть тіло функції:
1 2 3 4 | function getTable($cols = 10 , $rows = 10, $color = 'yellow') { // за змовчуванням таблиця 10х10, у якої перший стовбець та ... // рядок підсвічений жовтим } |
2. Опишіть таблицю:
1 2 3 | echo "<table border='1' align='center'>"; ... // таблиця з границями 1 піксель echo "</table>"; |
3. З допомогою циклів for створіть ряди і стовпці:
1 2 3 4 5 6 7 8 9 10 11 | for($tr = 1; $tr <= $rows; $tr++){ // цикл рядків echo "<tr>"; for($td = 1; $td <= $cols; $td++){ // цикл стовпців if($tr == 1 or $td == 1){ // виділення перших рядка і стовпця echo "<th style='background: $color'>".$tr * $td."</th>"; }else{ echo "<td>".$tr * $td."</td>"; } } echo "</tr>"; } |
4. Напишіть код для виклику 4 таблиць на ваш розсуд:
1 2 3 4 | getTable(3,3,'red'); getTable(4,4, 'blue'); getTable(5,5, 'green'); getTable(); |
5. Результати:
Створіть програму, яка б робила наступні обчислення:
- підносило число до степені;
- обчислювала факторіали чисел.
1. Опишіть два тіла функції:
1 2 3 4 5 6 7 8 9 | function fact($number){ ...// приймає одне значення } function xp($x, $y){ $i=0; $digit = $x; ... // приймає 2 значення } |
2. Для факторіалу використовуємо рекурсивну функцію:
1 2 3 4 | if ($number < 0 ) { // числа < 0 return 0; // дають відповідь "0" } // підрахунок факторіалу return !$number ? 1 : $number * fact($number - 1); |
3. Для степенів використовуйте оператори умови та цикли for:
1 2 3 4 5 6 7 8 9 10 | if($y>0) { // для степені > 0 for($i=1;$i<$y;$i++) $x=$x*$digit; } else if($y==0) { // для степені = 0 $x=1; } else { for($i=1;$i>$y;$i--) // для степені < 0 $x=$x *(1/$digit); } return $x; |
4. Виведіть наступні значення:
- факторіали чисел 4,5,6;
- піднесіть до степеня: 2 в 2, 4 в 3 та 4 в -1.
1 2 3 4 5 6 7 8 9 10 11 | echo fact(4); echo '<br/>'; echo fact(5); echo '<br/>'; echo fact(6); echo '<br/>'; echo xp(2,2); echo '<br/>'; echo xp(4,3); echo '<br/>'; echo xp(4,-1); |
5. Результати:
Контрольні питання:
1. Опишіть вигляд функції.
2. Яким чином можна викликати функцію?
3. Що таке рекурсивна функція?
4. За допомогою якого слова повертається значення з функції?