Файл: Практична робота 6.doc

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

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

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

Добавлен: 22.05.2024

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

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

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

Практична робота №6

Тема: Циклічні структури.

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

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

Цикл while

У програмуванні часто необхідно повторити той самий блок коду кілька разів. Це можна реалізувати за допомогою операторів циклу. Мова PHP містить кілька типів операторів циклу. Даний розділ розглядає цикл while.

Оператор while циклічно повторює блок коду, поки зазначена умова має значення true. Інакше кажучи, оператор while буде виконувати блок коду, якщо і поки умова буде істинною.

Базовий синтаксис циклу while показаний нижче.

while (умова) {

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

}

Код у циклі while буде повторно виконуватися, поки умова на початку циклу має значення true. Блок коду, пов'язаний з оператором while, завжди укладається у фігурні дужки.

Наступний приклад демонструє цикл while, що буде виконуватися, поки значення змінної $number буде більше або рівне 2.

<?php

$number = 5;

while ($number >= 2) {

echo $number . "<br/>";

$number -= 1;

}

?>

У наведеному вище прикладі змінна $number одержує початкове значення, рівне 5. Цикл while виконується, поки умова ( $number >=2 ), або значення $number більше або дорівнює 2, і друкує у вікні браузера значення $number. Наприкінці блоку циклу значення $number зменшується на 1.

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

5

4

3

2

При першому виконанні значення $number дорівнює 5. Тому що 5 більше 2, використовується оператор echo для виводу значення 5. При виводі приєднується <br/>, щоб здійснити повернення каретки після кожного виконанні циклу. Потім значення $number зменшується на 1. Під час другої ітерації значення $number дорівнює 4. Тому що 4 більше 2, то оператор echo виводить значення 4. Цей процес триває, поки значення $number дорівнює 3 й 2. Коли $number дорівнює 2, оператор echo виводить значення 2, а значення $number потім зменшується на 1. Тому що 1 не більше й не дорівнює 2, то умова більше не виконується, і цикл while закінчується.

Цикл do while

Оператор do...while повторює циклічно блок коду, поки певна умова приймає значення true. Інакше кажучи, оператор do...while буде виконувати блок коду, якщо і поки умова буде виконуватися (тобто оцінюватися як true ).


Цикл do...while аналогічний по своїй природі циклу while, розглянутому в попередньому розділі. Ключове розходження полягає в тому, що тіло циклу do...while буде обов'язково виконане як мінімум один раз. Це пов'язане з тим, що оператор умови оцінюється наприкінці оператора циклу після виконання тіла циклу.

Базовий синтаксис циклу do...while показаний нижче.

do {

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

}

while (умова);

Виконання коду усередині циклу do...while буде повторюватися, поки умова наприкінці циклу буде оцінюватися як true. Блок коду, пов'язаний з оператором do...while, завжди розміщається усередині фігурних дужок.

Наступний приклад демонструє цикл do...while, що продовжує виконуватися, поки змінна $number буде більше або дорівнює 2.

$number = 5;

do {

echo $number . "<br/>";

$number -= 1;

}

while ($number >= 2);

У наведеному вище прикладі змінна $number ініціалізується значенням 5. Цикл do...while виконується доти, поки справедлива умова ( $number >=2 ) або $number більше або дорівнює 2, виводячи значення $number у вікні браузера. Наприкінці блоку циклу значення $number зменшується на 1.

Нижче показаний вивід, створюваний прикладом циклу:

5

4

3

2

Під час першого виконання значення $number дорівнює 5. Оскільки умова для виконання циклу не перевіряється, поки цикл не буде виконаний один раз, то виводиться значення $number, рівне 5. Потім значення $number зменшується на 1, стаючи рівним 4. Тому що 4 більше 2, знову виконується цикл, і під час другої ітерації використовується оператор echo для виводу значення 4. У вивід додається <br/>, щоб створити повернення каретки при кожнім виконанні циклу. Цей процес триває, поки значення $number дорівнює 3 й 2. Коли $number стає рівним 2, оператор echo виводить значення 2, і значення $number зменшується потім до 1. Тому що 1 не більше й не дорівнює 2, то умова більше не виконується, і цикл do...while закінчується.

Цикл for

Оператор циклу for використовується, коли відомо, скільки разів необхідно виконати оператор або послідовність операторів. У зв'язку із цим цикл for називають точним циклом.

Базовий синтаксис циклу for показаний нижче.

for (ініціалізація; умова; крок циклу) {

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

}

Оператор циклу for має три параметри. Перший параметр використовується для ініціалізації змінних, другий містить умову, а третій містить у собі збільшення, необхідні для реалізації циклу. Блок коду, пов'язаний з оператором for, укладається у фігурні дужки ({}), якщо блок складається з одного оператора, то фігурні дужки не обов'язкові.


Наступний приклад демонструє цикл for для 4-кратного виводу повідомлення "Ласкаво просимо в мир PHP":

<?php

for ($counter=1; $counter < 5; $counter++) {

echo "Ласкаво просимо в мир PHP!<br/>";

}

?>

У наведеному вище прикладі цикл for включає три параметри, які виконують наступні завдання:

  1. Змінна $counter ініціалізується значенням 1.

  2. $counter < 5 визначає умову, що повинна виконуватися для виконання циклу.

  3. $counter++ збільшує значення змінної $counter при кожнім виконанні циклу.

Нижче показаний вивід, створений цим прикладом циклу.

Ласкаво просимо в мир PHP!

Ласкаво просимо в мир PHP!

Ласкаво просимо в мир PHP!

Ласкаво просимо в мир PHP!

При першому виконанні змінна $counter ініціалізується значенням 1. Оскільки 1 менше 5, $counter збільшується на 1. Потім використовується оператор echo для виводу рядка "Ласкаво просимо в мир PHP!". До виводу приєднується <br/>, щоб створювати повернення каретки при кожнім виконанні циклу. Під час другої ітерації значення $counter буде дорівнює 2. Оскільки 2 менше 5, то оператор echo знову виводить рядок "Ласкаво просимо в мир PHP!". Цей процес триває при значеннях $counter, рівних 3 й 4. Коли $counter стає рівним 5, умова більше не виконується, і цикл for закінчується.

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

Цикли є корисними конструкціями, які активно використаються при програмуванні.

Цикл foreach

Конструкція foreach є варіацією циклу for і застосовується для ітерацій на масивах. Існують дві різні версії циклу foreach.

Базовий синтаксис обох версій циклу foreach показаний нижче.

foreach ($array as $value)

{

оператор

}

foreach ($array as $key => $value)

{

оператор

}

Перший тип циклу foreach використовується для ітерацій по масиві, позначеному як $array. Під час кожної ітерації циклу поточне значення масиву привласнюється змінній $value, і лічильник циклу збільшується на одиницю. Цикл триває, поки foreach не досягне останнього елемента або верхньої границі заданого масиву. Під час кожної ітерації значення змінної $value можна використати будь-яким способом, але вихідне значення масиву не змінюється. Щоб змінити реальне значення масиву, необхідно додати символ "&". Будь-які зміни, зроблені в &value, будуть привласнені елементу масиву з поточним індексом.


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

<?php

$my_array = array('red','green','blue');

echo "Різні кольори включають: ";

foreach($my_array as $value)

{

$colors = $value . " ";

echo $colors;

}

?>

Під час кожної ітерації ім'я кольору, пов'язане з поточним елементом масиву, привласнюється змінній $colors. Також додається одиночний пробіл між сусідніми іменами кольорів для цілей виводу. Коли цикл досягає кінця масиву, створюється наступний вивід.

Різні кольори включають: red green blue

Друга форма циклу забезпечує такі ж функції, що й перша, але додатково привласнює на кожному кроці ітерації індекс поточного елемента масиву або ключ змінної $key. У попередньому прикладі масив $my_array містить три елементи: $my_array[0] = "red", $my_array[1] = "green", і $my_array[2] = "blue". У той час як змінна $value містить значення елементів масиву red, green й blue, змінна $key містить індекси елементів масиву 0, 1, і 2.

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

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

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

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

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

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

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

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

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

  • Висновки до роботи – які саме дії були виконані засобами циклу.

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

  1. Що таке цикл з точки зору мови РНР?

  2. Які цикли ви можете назвати?

  3. Що спільного в механізмах їх роботи?

  4. Які відмінності можна виділити?

  5. Опишіть механізми роботи і формальний синтаксис циклу while.

  6. Опишіть механізми роботи і формальний синтаксис циклу do...while.

  7. Опишіть механізми роботи і формальний синтаксис циклу for.

  8. Які циклічні оператори з розглянутих властив виключно мові РНР? В чому особливість їх роботи?