68931

Цикли План. Цикли з передумовою. Цикли з постумовою

Лекция

Информатика, кибернетика и программирование

Цикл дозволяє повторити певну і навіть не визначене коли робота циклу залежить від умови кількість разів якінебудь оператори. Дані оператори називаються тілом циклу они крутитимуться в циклі. Прохід циклу називається ітерацією. Як і С PHP підтримує три види циклів: Цикл з передумовою while...

Украинкский

2014-09-27

58 KB

2 чел.

Лекція № 7

Тема:  Цикли

План

  1.  Цикли з передумовою
  2.  Цикли з постумовою
  3.  Цикл з лічильником
  4.  Оператори break і continue
  5.  Цикл перебору масивів

ЦИКЛИ

На другому місці по частоті використання, після умовного оператора, знаходяться цикли. Цикл дозволяє повторити певну (і навіть не визначене — коли робота циклу залежить від умови) кількість разів які-небудь оператори. Дані оператори називаються тілом циклу -они «крутитимуться» в циклі. Прохід циклу називається ітерацією.

Як і С, PHP   підтримує три види циклів:

  •  Цикл з передумовою (while)
  •  Цикл з післяумовою (do-while)
  •  Цикл з лічильником (for)

Цикл з передумовою While

Принцип роботи циклу з передумовою:

  •  Обчислюється значення логічного виразу.
  •  Якщо значення істинне, виконується тіло циклу, інакше — перехід до наступного за циклом оператора.

Синтаксис циклу з передумовою виглядає таким чином:

while   (логічний   вираз) інструкція;

В даному випадку тілом циклу є «інструкція». Звичайне тіло циклу складається з більшого числа операторів. Простий приклад циклу:

<?

$i=0; while($i++   <   10)   echo   $i;

?>

Дана програма виведе рядок 12345678910. Звернете увагу на послідовність виконання операцій умови $i++ < 10. Спочатку перевіряється умова, а тільки потім збільшується значення змінної. Якщо ж ми поставимо операцію інкремента перед змінній (++Si<10), то спочатку буде виконано збільшення змінної, а тільки потім — порівняння. В результаті ми отримали б рядок 123456789.

Цей же цикл можна було б записати по-іншому:

Si  =  0; while ($i<10)

{

$i ++;// збільшення лічильника

echo $i;

}

Якщо ми збільшимо лічильник після виконання оператора echo, ми отримаємо рядок 0123456789. Але у будь-якому випадку, у нас буде 10 ітерацій. Ітерація — це прохід циклу, тобто виконання інструкцій тіла циклу.

Цикл з постумовою do while

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

Синтаксис циклу do while такий:

do

{//   тіло   циклу

} while    (умова);

Спробуємо за допомогою циклу з умовою поста отримати рядок 12345678910. Оскільки в цьому циклі спочатку виконується тіло, а потім перевіряється умова, то нам потрібно встановити початкове значення лічильника в одиницю:

<? $i   =   1; do   echo   $i;   while    ($i++   <10); ?>

Нагадаю, що ми можемо збільшувати значення лічильника в тілі циклу (так навіть зрозуміліше).

Цикл з лічильником For

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

Наприклад, в циклі while зручно чекати певної події, наприклад, коли що повертається якоюсь функцією значення буде істинне (а така ситуація може і не відбутися). Цикл for зручно використовувати, наприклад, для заповнення масиву. Синтаксис циклу for:

for (команда_инициапизации; умова; команды_после_итерации) {   тіло циклу }

Оператор for починає свою роботу з виконання команд ініціалізації. Дані команди виконуються всього лише один раз. Після цього перевіряється умова: якщо воно істинне, виконується тіло циклу. Після того, як буде виконаний останній оператор тіла, виконуються команди «Після ітерації». Потім знову перевіряється умова, у випадку, якщо воно істинне, виконується тіло циклу і ітераційні для поста команди, і т.д.

Виведемо звичний нам рядок:

<? for    ($i=0;    $i<10;    $i++)    echo   $i; ?>

Даний сценарій виведе рядок 0123456789. Нам же потрібний рядок 12345678910, тому потрібно забезпечити збільшення лічильника при перевірці логічного виразу:

<? for    ($i=0;    $i++<10;)    echo   $i; ?>

В цьому випадку нам не потрібні команди, що виконуються після ітерації. Якщо вам потрібно вказати декілька команд, ви можете розділяти їх комами:

for    ($i=0,    $j=0;    $<10;   $i++,    $j++)    echo   $i;

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

Альтернативний синтаксис

Цикли while і for мають альтернативний синтаксис. Для циклу while він такий:

while    (логическое_выражение):

тіло   циклу endwhile;

А для циклу for — такий:

for    (команды_инициализации;   умова;    команды_после_итерации) :

тіло   циклу endfor;

Зверніть увагу на двокрапку — його наявність обов'язкова! Альтернативний синтаксис також передбачений для оператора if-eIse:

if    (логическое_выражение):

команди; е1зе1^логическое_выражение2) :

команди; else:

команди; endif;

Використовувати даний синтаксис чи ні — ваша особиста справа. Що ж до мене, то я вважаю за краще використовувати «класику» — звичайний синтаксис.

Використовувати альтернативний синтаксис має сенс, якщо ви вважаєте за краще включати в РНР-сценарії HTML-код, а не виводити його за допомогою echo. B цьому випадку альтернативний синтаксис полегшує використання операторів if-else, while і for:

<?if    ($REMOTE_ADDR):?>

<hl>Welcome   home!</hl> <?else:?>

<hl>Hello</hl> <?endif;    ?>

Оператори break і continue

При використанні циклом можна використовувати операторів break і continue. Перший перериває роботу всього циклу, а другою — тільки поточній ітерації. Розглянемо наступні приклади:

<?

$i  =  0;

while    ($i++   <   10)

{

if    ($i==3)   break;

echo   "Ітерація   $i\n";

?>

В даному прикладі після другої ітерації робота циклу буде перервана і програма виведе рядки:

Ітерація   1 Ітерація   2

Якщо ж замість оператора break використовувати оператора continue, буде перервана робота тільки третьої ітерації і ми отримаємо висновок:

Ітерація 1

Ітерація 2

Ітерація 4

Ітерація 5

Ітерація 6

Ітерація 7

Ітерація 8

Ітерація 9

Ітерація 10

Припустимо, що у нас є вкладені цикли, наприклад

for   (...) {

for   (...)

{

for   (...)

Нам потрібно перервати роботу певного циклу, наприклад, першого. Тоді як оператор break знаходиться в тілі третього. В цьому випадку мож-

але передати функції break параметр — номер циклу, наприклад, break(l). Нумерація циклів починається з одиниці.

Цикл перебору масивів foreach

У четвертій версії PHP з'явився ще один вид циклу — foreach. Даний цикл призначений спеціально для перебору масивів.

Синтаксис даного Циклу такий:

foreach(MACCMB   as   $ключ=>$значение) оператори;

Оператори, що містяться в тілі циклу, будуть виконані для кожного елементу масиву. Змінна $ключ міститиме ім'я ключа елементу, а змінна $значение   — значення елементу.

Наступний приклад відобразить значення масиву SGLOBALS, що містить глобальні змінні (будуть виведені як імена змінних, так і їх значення):

<?

foreach($GLOBALS   as   $key=>$value) echo   "$key  =   $value\n";

?>

У PHP є один дуже корисний стандартний масив $GLOBALS. Ключем даного масиву є ім'я змінної, а значенням елементу масиву — значення змінної. Про цей важливий масив ми ще не раз поговоримо в цій книзі.


 

А также другие работы, которые могут Вас заинтересовать

35507. Железобетонные и каменные конструкции 1.87 MB
  В качестве напрягаемой рекомендуется применять стержневую термически упрочненную арматуру классов АтVI тV tIVC горячекатаную арматуру классов VI V и IV; для элементов длиной свыше 12 м целесообразно применять арматурные канаты и высокопрочную проволоку допускается применение стержней классов IV V. Конструктивные особенности железобетонных изгибаемых элементов. Основные положения расчета изгибаемых элементов по предельным состояниям. По нормальному сечению рассчитывают изгибаемые элементы прямоугольного профиля с одиночной и...
35508. Металлические конструкции 2.81 MB
  Применение: несущие конструкции промзданий большепролётные покрытия зданий мосты и эстакады листовые конструкции башни и мачты каркасы многоэтажных зданий крановые и др. подвижные конструкции прочие конструкции. Исходным материалом является прокатный металл все конструкции объединены одним технологическим процессом их изготовления.
35509. Строительная механика. Сущность расчета статически неопределимых систем методом сил 418 KB
  Эту систему большого числа сил по правилам теоретической механики можно привести к одной точке (центру тяжести поперечного сечения), в результате чего получим главный вектор R и главный момент.
35510. Обследование, испытание и реконструкция зданий и сооружений 167 KB
  Неразрушающие методы испытания строительных конструкций. Оптические – испытания моделей и конструкций в проходящем и отраженном излучении.25 раза быстрее – перепланировка увеличение высоты помещений усиление частичная разборка и замена конструкций надстройка пристройка улучшение фасада. Средняя – замена отд конструкций повышение отметок покрытия возможно полная остановка технологического процесса.
35511. Основания и фундаменты 919 KB
  Осадка здания это смещение здания вызванное сжатием грунта в основании под зданием. Выклинивание отдельных слоев грунта в пределах контура здания 2. Линзообразное залегание отдельных видов грунта 3. Неодинаковая мощность слоев грунта залегающих в основании 4.
35512. Организация, управление и планирование в строительстве 1.71 MB
  Подготовка производственных процессов и работы бригад. Предпроектная ПСП маркетинговые исследования разработка согласование и утверждение ТЭО на основе бизнесплана и подготовки исходных данных на проектирование. Обеспечение ПСД разработка ПОС сметной документации рабочие чертежи рассмотрение согласование и утверждение ПСД. Перспективное планирование финансы и У ими распределение имеющихся производственных мощностей определение объемов и объектов многолетнего выполнения работ планирование разработка стратегических и тактических...
35513. Технология строительных процессов и возведения зданий и сооружений 276 KB
  При проектировании трудовых процессов неизбежно возникновение ситуации которая предполагает осуществление выбора между различными методами и приемами выполнения работы а также формами организации труда. Руки работника должны освобождаться от неэффективной работы например использование их в качестве поддержки. Такие виды работ могут быть произведены с помощью специальных приспособлений или механизмов. 3 Принцип параллельности: должны быть обеспечена одновременная работа человека и машины одновременная работа нескольких машин и участие в...
35514. Экономика в строительстве 80.5 KB
  Разработка бизнесплана. Разработка ТЭО инвестиций 4. Разработка и выдача задания на проектирование. Проектировщик – специализированная организация осуществляющая разработку проектной документации.
35515. Лечебное дело. Сборник задач 834.5 KB
  2] Критерии оценки при решении задач по оказанию неотложной помощи [0. Предлагаемый сборник содержит проблемноситуационные задачи задачи по оказанию доврачебной помощи при неотложных состояниях с эталонами ответов. Решение задач предполагает выявить у выпускников способность клинически мыслить распознавать основную клиническую патологию и ее осложнения определять правильную тактику ведения больного и оказание неотложной помощи осуществлять профилактическую и реабилитационную деятельность владеть техникой важнейших лечебнодиагностических...