Файл: Лабораторна робота 7.doc

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

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

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

Добавлен: 19.05.2024

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

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

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

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

Тема: Структури прийняття рішень.

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

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

Оператор if

При створенні коду часто потрібно виконувати різні дії на основі деякого вибору. В PHP це можна робити за допомогою умовних операторів - оператора if, оператора if ... else і оператора elseif.

Оператор if використовується для виконання блоку коду, коли виконується умова ( true ).

Оператор if...else використовується для виконання блоку коду, коли умова виконується ( true ), або для виконання іншого блоку коду, коли умова не виконується ( false ).

Оператор elseif - комбінація if й else. Оператор розширює оператор if, щоб виконувався інший оператор у випадку, якщо вихідний вираз if оцінюється як FALSE. На відміну від else він буде виконувати альтернативний вираз, тільки якщо умовний вираз elseif оцінюється як TRUE.

У тому випадку, коли необхідно виконати блок коду, якщо виконується деяка умова ( true ), можна використати оператор if.

Нижче представлений синтаксис оператора if:

if (умова) {

// виконуваний код

}

Рядки коду оператора if беруться у фігурні дужки ( {} ). Ці дужки визначають початок (відкриваюча дужка { ) і кінець (закриваюча дужка } ) оператора іf. Наступний приклад демонструє використання оператора if.

<?php

$number = 5;

if ($number <= 10)

{

echo "Число менше або дорівнює 10.";

}

?>

Результат роботи:

Число менше або дорівнює 10.

У наведеному вище прикладі число 5 привласнюється змінній $number. Потім сценарій PHP використає оператор порівняння "<=" (менше або дорівнює) для порівняння значення $number із числом 10. Якщо значення менше або дорівнює 10, оператор echo виводить повідомлення " Число менше або дорівнює 10" у вікні браузера. Можна бачити, що дужки застосовуються для обмеження блоку оператора if. Відкриваюча дужка { з'являється відразу після оператора умови, а закриваюча дужка } - наприкінці оператора if.

Згадаєте, що всі оператори PHP повинні завершуватися за допомогою термінатора інструкції ( ; ): echo "Число менше або дорівнює 10.";


У деяких випадках може знадобитися надати альтернативне повідомлення. У наведеному вище прикладі припустимо, що змінна $number містить число 15, що більше 10. Альтернативне повідомлення повинне виводитися, щоб користувач знав: число більше 10. Це можна виконати за допомогою оператора if ... else.

<?php

$number = 15;

if ($number <= 10) {

echo "Число менше або дорівнює 10.";

}

else {

echo "Число більше 10";

}

?>

Результат роботи:

Число більше 10.

У наведеному вище прикладі число 15 привласнюється змінній $number. Потім сценарій PHP використовує оператор порівняння "<=" (менше або дорівнює) для порівняння значення $number із числом 10. Якщо це значення менше або дорівнює 10, оператор echo виводить повідомлення "Число менше або дорівнює 10" у вікні браузера. Тепер у код доданий оператором else, щоб виводити альтернативне повідомлення, якщо умова в операторі if не виконується. Альтернативне повідомлення "Число більше 10" виводиться у вікні браузера, якщо оператор умови повертає false. Тут також використовуються дужки для обмеження блоку оператора if. Відкриваюча дужка { з'являється відразу після оператора умови, а закриваюча дужка } - наприкінці оператора if. Дужки також використовуються для обмеження альтернативного блоку оператора else.

Третій тип умовного оператора є структурою elseif. Оператор elseif є комбінацією if й else. Подібно else він розширює оператор if, щоб виконати інший оператор, якщо умовний вираз вихідного if оцінюється як FALSE. Однак на відміну від else він буде виконувати це альтернативний вираз, тільки якщо умовний вираз в elseif оцінюється як TRUE. В одному операторі if може бути кілька структур elseif. Перший вираз elseif (якщо таке є), що оцінюється як TRUE, буде виконаний.

<?php

$number = 15;

if ($number < 10) {

echo "Число менше 10.";

}

elseif ($number == 10) {

echo "Число дорівнює 10.";

}

else {

echo "Число більше 10.";

}

?>

Результат роботи:

Число більше 10.

У цьому прикладі числове значення змінної $number порівнюється з 10. Спершу оператор if перевіряє, що $number менше 10. Якщо цей оператор виконується ( true ), виводиться повідомлення "Число менше 10". Потім оператор elseif використовується для перевірки, що $number дорівнює 10. Якщо цей оператор оцінюється як true, виводиться повідомлення "Число дорівнює 10". Оператор elseif виконується, ТІЛЬКИ якщо оператор if повертає FALSE. Нарешті, якщо оператори if й elseif повертають FALSE, виконується оператор else і виводиться повідомлення "Число більше 10". У той час як оператор elseif дозволяє перевірити тільки одну умову, структуру if можна застосовувати для перевірки множини умов.


Наступний приклад використовує функцію checkdate(), функцію explode() і оператор if ... else для перевірки правильності рядка дати.

<?php

$orig_date = "09/19/2005";

$date = explode("/", "$orig_date");

$month = $date[0];

$day = $date[1];

$year = $date[2];

$result = checkdate($month, $day, $year);

if ($result == true)

{

echo "Правильна дата";

}

else

{

echo "Неправильна дата!";

}

?>

Результат роботи:

Правильна дата

Оператори if можна використати "поодинці" або як частину оператора if...else або if...elseif...else. У кожному разі ви виявите, що ця структура буде важливим елементом у будь-якій програмі.


Оператор switch

На додаток до операторів if, розглянутим у попередньому розділі, PHP включає четвертий тип умовного оператора, званий оператором switch. Оператор switch дуже схожий або є альтернативою для команд if...else if...else. Оператор switch перевіряє умову. Результат цієї перевірки визначає, який case виконується. switch використовується звичайно, коли шукають точний результат, замість умови більше або менше. При перевірці діапазону значень повинен застосовуватися оператор if.

Оператор switch використовується для вибору одного з декількох блоків коду для виконання.

Нижче представлений синтаксис оператора switch.

<?php

switch (вираз) {

case "значення1":

// код, що буде виконаний, якщо вираз = значення1;

break;

case "значення2":

// код, що буде виконаний, якщо вираз = значення2;

break;

default:

// код, що буде виконаний, якщо вираз не дорівнює ні значення1, ні значення2;

}

?>

Подібно операторові if рядки коду в операторі switch заключаються у фігурні дужки.

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

<?php

$number = 25;

switch ($number) {

case 40:

echo "Значення \$number дорівнює 40";

break;

case 25:

echo "Значення \$number дорівнює 25";

break;

default:

echo "Значення \$number відмінне від 25 й 40";

}

?>

Оператор switch може включати множину операторів case. У попередньому прикладі показані два оператори case. Створюється змінна $number, що отримує значення 25. Оператор switch використовується для порівняння значення $number з іншими значеннями. Він перевіряє (порівнює) вираз (у цьому випадку $number ), що міститься усередині дужок відразу після оператора switch. Потім викликається послідовність операторів case для порівняння виразу з іншими значеннями. Ці значення містяться відразу після оператора case. (Примітка: якщо значения, що перевіряються, є рядками, вони повинні бути заключені в лапки.) За значенням, що порівнюється з виразом, треба ставити двокрапку ( :). Оператори case аналогічні конструкціям if й elseif. Якщо значення оператора case буде true, то виконується код, пов'язаний із цим оператором, і оператор break. Оператор break приводить до завершення оператора switch. Інші оператори case перевірятися не будуть. Наприкінці оператор switch містить інструкцію default. Вона аналогічна операторові else. Якщо жоден з операторів case не буде виконаний (не буде мати значення TRUE ), виконується оператор default. Тут одночасно відбувається кілька речей:


  1. перевіряється умова switch і знаходиться значення ( $number == 25 );

  2. значення умови передається по черзі операторам case ;

  3. якщо це значення збігається зі значенням case, виконується код цього блоку. Оператор break приводить до завершення оператора switch. Інші оператори case не перевіряються;

  4. якщо значення, що перевіряється, не збігається з жодним зі значень case, виконується розділ default ;

  5. у наведеному вище прикладі вираз "значення $number" дорівнює 25, виконується другий оператор case, і у вікні браузера виводиться текст "Значення $number дорівнює 25".

Практичний розділ

Згідно номера за списком виконати завдання з додатку 1 до роботи. В таблиці наведені дві формули, що використовуються для розрахунку в залежності від значення, введеного користувачем з вікна форми.

Звіт до роботи має містити:

  • Назву роботи;

  • Тему роботи;

  • Короткі теоретичні відомості / відповіді на контрольні питання;

  • Задання до роботи;

  • Код форми та код сценарія;

  • Скрін-шоти форми вводу даних та резульатту виконання сценарія;

  • Висновки до роботи – що саме було проаналізоване конструкціями прийняття рішень.

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

  1. В чому полягає призначення конструкцій прийняття рішень?

  2. Які конструкції дозволяє використовувати мова РНР?

  3. Чим особливі конструкції if, if...else та elseif? Що в них спільного і відмінного?

  4. В чому особливість використання конструкції switch?

  5. В яких випадках доцільно використовувати if, if...else та elseif?

  6. Коли доцільніше використати конструкцію switch?