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. Ключем даного масиву є ім'я змінної, а значенням елементу масиву — значення змінної. Про цей важливий масив ми ще не раз поговоримо в цій книзі.


 

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

34397. Сущность планирования. Директивное, индикативное, стратегическое планирование, их характеристика 47 KB
  При формировании рыночных отношений в Республике Беларусь необходимо видение перспектив ее экономического и социального развития. Планирование это процесс принятия управленческого решения основанный на обработке исходной информации и включающий в себя определение и научную постановку целей средств и путей их достижения посредством сравнительной оценки альтернативных вариантов и выбора наиболее приемлемого из них в ожидаемых условиях развития. Суть планирования состоит не в разработке и доведении многочисленных показателей до...
34398. Предмет курса, его место в системе экономических наук 27 KB
  Пип наука изучающая экие теории и законы применительно к конкретным условиям производства их специфические проявления в важнейших процессах прва закономерностях темпов и пропорциях с тем чтобы в результате этого изучения с учетом достижений НТП передового опыта обосновать объемы темпы и пропорции общественного производства в целях наиболее эффективного развития экономики. Задача курса состоит в рассмотрении комплекса теоретических методологических организационных вопросов пип экономики на современном этапе. Теория пип является...
34399. Исторический аспект развития прогнозирования и планирования 26 KB
  Экономическая мысль совершая поиск путей становления системы планирования испытывала колебания вступала в противоборство допуская ошибки и избавляясь от них под влиянием реальных явлений хозяйственной жизни. Рассмотрим становление и совершенствование прогнозирования и планирования в бывшем СССР и развитых зарубежных странах. Первый долгосрочный план который представляет интерес с точки зрения общей методологии планирования это план ГОЭЛРО государственный план электрификации России разработанный в 1920 г.
34400. Развитие и особенности ПИП в зарубежных странах (США, Япония, Франция и др.) 45.5 KB
  Для США характерно стратегическое планирование суть которого состоит в выборе главных приоритетов развития национальной экономики ведущую роль в реализации которых играет государство. Основным источником займов на цели разработки и освоения новой технологии является Японский банк развития. Направления стратегического развития разрабатываются в виде целевых государственных программ и сопровождаются комплексом различных финансовых льгот и преференций стимулирующих их реализацию. Она представляет собой модель будущего развития экономики...
34401. Научные основы методологии прогнозирования и планирования 30.5 KB
  Вторая является основой планирования и прогнозирования в странах с рыночной экономикой. Методология прогнозирования и планирования развития экономики определяет основные принципы подходы и методы проведения прогнозных и плановых расчетов раскрывает и характеризует логику формирования прогнозов планов и их осуществления. Принципы это основополагающие правила прогнозирования и планирования т.
34402. Система показателей планов-прогнозов 30.5 KB
  Нормативы показатели в относительном выражении. Лимиты ресурсные показатели представляющие предельно допустимую величину затрат ресурса для достижения установленных конечных результатов. Основными блоками показателей прогнозирования и планирования экономических и социальных процессов являются: показатели производства трудовых ресурсов основных и оборотных фондов капитальных вложений природных ресурсов научнотехнического прогресса финансов и денежного обращения социального развития и уровня жизни населения внешнеэкономических...
34403. Система прогнозов и планов. Методологические основы их сопряжения 32 KB
  Для формирования стратегии и тактики развития экономики разрабатывается система прогнозов включающая прогнозы временного аспекта и по уровням управления а также частные и комплексные прогнозы экономического и социального развития страны и регионов. По масштабу прогнозирования выделяют: макроэкономические прогнозы межотраслевые и межрегиональные прогнозы развития народнохозяйственных комплексов отраслевые и региональные прогнозы прогнозы звеньев экономики: предприятий объединений отдельных производств и продуктов. Во временном аспекте...
34404. Объекты макроэкономического ПиП 26.5 KB
  Система прогнозных расчетов включает прогнозы макроэкономических показателей: валового национального продукта прогнозы показателей эффективности характеризующих качество экономического роста материалоемкости фондоотдачи производительности труда прогнозы структуры экономики. На макроуровне необходимо также осуществлять прогнозные расчеты экономического потенциала занятости спроса на продукцию разрабатывать прогнозы инвестиций экспорта и импорта платежного баланса цен валютного курса инфляции прогнозы государственных операций при...
34405. Прогнозирование и планирование на микроуровне. Методология разработки бизнес-планов 50 KB
  В связи с этим повышается роль прогнозов требуются расширение системы и совершенствование методов прогнозирования с целью повышения точности прогнозных расчетов и реальности проекта. Прогнозирование будущего развития предприятия самый значительный и сложный этап подготовки бизнесплана поскольку на основе результатов прогнозных расчетов определяются рамки проекта и требуемые ресурсы. Причем при реализации проекта в случае отклонения реальных данных от заложенных в проекте или изменения условий можно быстро уточнить расчеты вводя новую...