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. За допомогою якого слова повертається значення з функції?

Tags: