ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.05.2024

Просмотров: 36

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторна робота №10

Тема: Повторне використання коду та функції.

Мета: ознайомитися з правилами і особливостями побудови і використання несандартних функцій. Отримати практичні навички створення користувацьких функцій засобами мови РНР та створити відповідні скрипти.

Теоретичний розділ

Файли, що включаються

Можливість повторного використання існуючого коду є дуже важливою, тому що це може зберегти час і гроші, а також сприяти погодженості. Припустимо, що сайт Web містить текстове меню, що повторюється на кожній сторінці. Замість повторного кодування меню буде значно легше закодувати його один раз і динамічно включати вміст меню на кожну з окремих сторінок Web. Це можна зробити за допомогою так званих серверних файлів, що включаються.

Файли, що включаються, можуть містити будь-який код XHTML або PHP і звичайно зберігаються з розширенням .inc, хоча можна використати також розширення .php, .txt, або .htm. Вміст файлу, що включається, кодується один раз і включається в будь-яку необхідну кількість сторінок PHP. Якщо у файле, що включається робиться зміна, то відновлення автоматично відображається на всіх сторінках PHP, що посилаються на цей файл.

Нижче показаний приклад типового файлу, що включається, який утримує інформацію про заголовок сторінки.

Header.inc

<h3> Welcome to WebBooks.Com </h3>

Цей приклад показує файл, що включається, з ім'ям header.inc. Файл містить текст "Welcome to WebBooks.Com", оточений тегом XHTML <h3>. Він створює заголовок третього рівня, якому можна тепер включати на всі сторінки, які складають сайт WebBooks.

Після створення файлу, що включається, його можна включити в сторінку PHP за допомогою однієї з наступних функцій:

require(ім'я_файлу) - включає й перевіряє зазначений файл

include(ім'я_файлу) - альтернативний спосіб підключення файлів

У наступному прикладі файл header.inc включається в існуючу сторінку PHP:

home.php

<?php

require('header.inc');

echo "<p>This is the WebBooks site...</p>";

?>

Функція require( ) викликає файл header.inc і перевіряє вміст цього файлу. Уміст потім виводиться, так як якби він є частиною сторінки home.php. У цьому прикладі функція require( ) кодується вгорі сторінки, тому що вона містить інформацію заголовка. Оператор require( ) можна, однак, включити в будь-якому місці документа PHP. Розташування функції require( ) визначає, де буде виводитися вміст файлу в контексті сторінки PHP.


Welcome to WebBooks.Com

This is the WebBooks site...

Важливо відзначити, що при використанні файлів, що включаються, які містять конфіденційну інформацію, таку, як паролі або інформацію про користувача, файли повинні зберігатися з використанням розширення .php, а не .inc або іншого нестандартного розширення. Файли, які застосовують нестандартні розширення файлів, можуть завантажуватися із сервера Web, а їхній уміст можна переглядати як звичайний текст. Використання розширення .php гарантує, що клієнт не зможе побачити вихідний код, сервер поверне тільки код XHTML.

Використання функцій

Функції використовуються для розбивки великих блоків коду на менші, більш керовані одиниці. Код, що міститься усередині функції, виконує певне завдання й повертає значення. PHP містить два типи функцій - визначені користувачем (або створені програмістом) і внутрішні (убудовані функції), які є частиною визначення мови PHP. Цей розділ присвячений створенню й застосуванню створених користувачем функцій.

Створені користувачем функції визначаються за допомогою ключового слова function. Вони особливо корисні в великих програмах PHP, тому що можуть містити блоки коду, які можуть викликатися або використатися в програмі, що дозволяє уникнути повторного переписування коду. Далі представлений приклад простої визначеної користувачем функції PHP:

function AddNumbers($num1,$num2)

{

echo "Це приклад функції PHP. Вона обчислює суму двох чисел і повертає результат, програмі, що здійснює виклик";

return $num1 + $num2;

}

Визначені користувачем функції можуть викликатися в будь-якому місці блоку коду PHP. В PHP функція виконується при використанні в коді її імені. Після виклику функція одержує всі передані їй значення у формі параметрів, виконує певні завдання й повертає значення програмі, що її викликала. Простий приклад показаний нижче.

<?php

function AddNumbers($num1,$num2)

{

return $num1 + $num2;

}

echo "Сума 5 й 2 дорівнює " . AddNumbers(5,2);

?>

Однак визначена на початку функція AddNumbers( ) викликається пізніше в програмі. Виклик функції відбувається в операторі echo. Виводиться рядок "Сума 5 й 2 дорівнює ". Ім'я функції з'єднується з рядком виводу, викликаючи тим самим функцію. Функції передається два параметри - 5 й 2. Вони привласнюються параметрам функції $num1 й $num2. Параметри складаються, і викликається оператор return, щоб "повернути" значення або суму двох чисел у те місце в блоці коду PHP, що спочатку викликав функцію. Вивід результату показаний нижче:


Сума 5 й 2 дорівнює 7

Імена функцій підлягають тим же правилам, що й змінні в PHP. Припустимі імена можуть починатися з букви або підкреслення, після чого може слідувати будь-яка кількість букв, цифр або підкреслень.

Контрольні питання

  1. В чому сенс повторного використання коду сценарія?

  2. Що можуть містити файли, які включаються в код скрипта? Наведіть відповідні приклади.

  3. Як здійснюється включення зовнішнього файлу в РНР-скрипт?

  4. Коротко опишіть алгоритм використання зовнішнього файлу.

  5. Що таке функції з точки зору РНР?

  6. Опишіть алгоритм створення і використання подібних функцій.

  7. В чому полягає призначення нестандартних функцій?

Додаток 1

1. Дано дійсні числа х1, у1, х2, у2, х3, у3, що визначають координати вершин трикутника. Визначити периметр цього трикутника, створивши підпрограму, що обчислює довжину відрізка. Підпрограму розмістити в окремому модулі.

2. Створити підпрограми, що по стороні квадрата а визначають його периметр і діагональ, розташувати їх в окремих модулях. В основній програмі організувати виклик підпрограм для двох різних квадратів.

3. Створити підпрограму, що по двох даних числах визначалє їх суму й добуток. Розмістити її в окремому модулі. В основній програмі організувати виклик цієї підпрограми для двох пар довільних чисел

4. Створити підпрограму, що по радіусу R визначає довжину окружності й площу круга. Розмістити підпрограму в окремому модулі та організувати кілька викликів (для кількох кіл).

5. Дано дійсні числа а й b. Обчислити

Якщо . Функцію розмістити в окремому модулі.

6. По даних дійсних числах a й b обчислити , де

. Функцію розмістити в окремому модулі.

7. Дано дійсні числа a, b, c, d. Обчислити

,

якщо . Функцію розмістити в окремому модулі.

8. Дано дійсні числа u й v. Обчислити ,де . Функцію розмістити в окремому модулі.

9. Дано два дійсних числа х и в. Обчислити

якщо . Функцію розмістити в окремому модулі.

10. Дано дійсні числа х и в. Обчислити

де . Функцію розмістити в окремому модулі.

11. Дано дійсні числа а й b. Обчислити

Якщо . Функцію розмістити в окремому модулі.

12. Дано дійсні числа а й b. Обчислити

Якщо . Функцію розмістити в окремому модулі.

13. Розробити функцію, що обчислює суму факторіалів трьох цілих чисел. З основного файлу викликати її двічі.

14. Дано координати вершин двох трикутників. Визначити, який із трикутників має більший периметр. Функцію, що визначає довжину відрізка розмістити в окремому файлі.

15. Створити підпрограму, що по двох даних числах визначала їхню суму й добуток. В основній програмі організувати виклик цієї підпрограми для двох пар довільних чисел

16. Дано дві пари чисел (х1, у1) і (х2, у2), які є відповідно координатами лівого верхнього і правого нижнього кутів прямокутника відповідно. Скласти програму, що визначить площу й периметр ДВОХ таких фігур, використаю функції..


Додаток 2


Додаток №2 до практичної роботи

  1. Скласти програму, що дозволяє обчислити характеристики фігури на основі заданих параметрів. Функція має викликатися певною числовою характеристикою:

1. Периметр квадрата за його стороною.

2. Площа квадрата за його стороною.

3. Периметр прямокутника за двома сторонами.

4. Площа прямокутника двома сторонами.

5. Об’єм куба за довжиною ребра.

6. Площу бічної поверхні куба за довжиною ребра.

7. Об’єм паралелепіпеда за довжиною трьох ребер.

8. Площу бічної поверхні паралелепіпеда за довжиною трьох ребер.

  1. Нехай є п’ять пар довільних числових характеристик. Створити функцію, що визначить найбільшу суму характеристик для чотирьох таких пар.

  2. Нехай є цілі числа х та у. знайти значення виразу , якщо

  3. Дано дійсні числа х, у та z. Знайти значення змінної u за формулою . Для цього необхідно створити функцію, що повертає найбільше з двох, отриманих значень.

  4. Дано дійсні числа a, b та c. Знайти значення виразу за формулою Для цього необхідно створити функцію, що повертає найбільше з трьох, отриманих значень. Причому варто врахувати, що один з аргументів – необов’язковий.

  5. Знайти значення виразу за формулою . Причому

  6. Нехай є чотири пари довільних чисел. Створити функцію, що визначає модуль різниці між сумою та добутком двох своїх аргументів. Застосувати функцію для кожної з пар значень.

  7. Нехай є парна кількість точок на площині, завданих парами координат. Створити функції, що визначають довжину відрізку, що утворюють передані в якості аргументів точки, та довжини проекцій цих відрізків на вісь ОУ.

  8. Нехай на площині є коло завданого радіусу та 5 точок, заданих координатами. За допомогою функції користувача, визначити положення точок відносно кола – в середині, за межами, на лінії.

  9. Нехай є кілька точок на площині, завданих парами координат. Створити функції, що визначають довжину відрізку, що утворюють передані в якості аргументів точки, та довжини проекцій цих відрізків на вісь ОХ.

  10. Нехай куля в просторі з певним радіусом. Скласти програму, що за допомогою функції користувача визначає, чи потрапляє деяка точка в середину кулі.

  11. Нехай є квадрат на площині з довжиною сторони а та геометричним центром в початку координат. Скласти програму, що визначає, чи потрапила точка з координатами, заданими з клавіатури в квадрат.

  12. Знайти значення змінної з використанням функції , якщо

  13. Знайти значення змінної з використанням функції , якщо

  14. Знайти значення змінної з використанням функції , якщо

  15. Знайти значення змінної з використанням функції , якщо