ПРАКТИЧЕСКАЯ РАБОТА № 2

Лабораторная работа № 2. Управляющие конструкции

Условный оператор IF имеет два формата.

if (условие)

{ блок операторов 1 }

[else { блок операторов 2 }];

Если условие истинно, то выполнится блок операторов 1, а если условие ложно ‑ блок операторов 2.

if (условие) { блок операторов }

[ elseif (условие) { блок операторов }]

...

[ elseif (условие) { блок операторов } ]

[ else { блок операторов } ]

Очередное условие elself вычисляется лишь в том случае, если все предшествующие условия if и elself оказались ложными.

Замечание.Допускаются вложенные команды if.

Тернарный оператор ? работает почти также как и оператор IF:

Переменная = (условие) ? (Выражение-2) : (Выражение-З)

Тернарный оператор "?:" ‑ это вид условного оператора, он проверяет заданное условие и если оно верно, то присваивает переменной значение Выражения-2, иначе – Выражения-3.

Оператор SWITCH имеет вид:

switch (выражение) {

case (значение): { блок операторов }

[case (значение): { блок операторов }]

...

[default: { блок операторов }]

}

Значение выражения в операторе switch последовательно сравнивается с условиями в секциях case.

Когда секция case, равная значению выражения, найдена, выполняются все операторы после нее и до ближайшего оператора break (данный оператор может отсутствовать в конструкции) или до конца оператора switch. Оператор break передает управление оператору, следующему за закрывающей скобкой оператора switch.

Если не одно из значений case не совпадает с выражением в скобках, то выполняются операторы, стоящие после ключевого слова default (данное значение может отсутствовать в конструкции, и тогда управление будет передаваться на команды, следующие за конструкцией switch).

Оператор цикла с предусловием WHILE выглядит так:

while (выражение-условие)

{ операторы тела цикла }

При входе в цикл вычисляется выражение-условие, и, если его значение истинно или отлично от нуля, выполняется тело цикла. Затем вычисления выражения-условия и операторов тела цикла выполняется до тех пор, пока значение выражения-условия не станет ложным или равным нулю.

Оператор цикла с постусловием DО WHILE работает почти так же, как и цикл while, однако условие проверяется не в начале, а в конце каждой итерации.

do

{ операторы тела цикла }

while (условие);

При входе в цикл в любом случае выполняется тело цикла (т.е. цикл всегда будет выполнен хотя бы один раз), затем вычисляется условие, и если оно истинно, вновь выполняется тело цикла.

Оператор цикла FOR имеет вид:

for (инициализация;условие;приращение)

{операторы тела цикла }

Инициализация – операторычерез запятые, которыевыполняются всего один раз перед выполнением цикла (обычно они определяют начальные значения управляющей переменной цикла и других переменных).

Условие проверяется в начале каждой итерации и определяет, должна ли выполняться текущая итерация (если условие истинно) или нет.

Приращение - операторычерез запятые, которыевыполняются в конце каждой итерации цикла (обычно определяется изменение управляющей переменной при каждой итерации).

Пример:

for ($i = 10; $i <= 100; $i +=10) // обратная косая черта специальный

echo ("\$i = ". $i . "<br>"); // символ “$” делает обычным

В этом примере управляющая переменная $i инициализируется значением 10. Цикл продолжается до тех пор, пока $i не достигнет или не превысит пороговую величину 100. При каждой итерации значение $i увеличивается на 10. В результате команда echo выполняется 10 раз, каждый раз выводя текущее значение $i. В управляющих выражениях циклов for могут отсутствовать любые компоненты.

Оператор break немедленно прерывает выполнение операторов циклов и switch.

Оператор continue предназначен для пропуска всех оставшихся команд текущей итерации цикла и немедленного начала новой итерации.

ПРАКТИЧЕСКАЯ РАБОТА № 2

Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!

УПРАЖНЕНИЕ 2-1. Использование IF

Создайте сценарий lab-2-1.php, содержащий код:

<?php$a=1; $b = false; if ($a) { echo '$a='."$a - истина<br>"; } else { echo '$a='."$a - ложь<br>"; } if ($b) { echo '$b='."$b - истина<br>"; } else { echo '$b='."$b - ложь<br>"; }?>

Проверьте результат работы скрипта при следующих значениях переменных:

$а = 0 и $b = "0"

$а= 10 и $b = "true"

$а = false и $b = "false"

$а = -1 и $b = ""

УПРАЖНЕНИЕ 2-2. Использование ELSEIF

1. Создайте сценарий lab-2-2.php, позволяющий найти наибольшее из двух чисел:

<p> Наибольшее число:<p> <?phpsrand();$x=rand(1,10); $y=rand(1,10);print ('$x =' . $x . "<br>");print ('$y =' . $y . "<br>");if ($x>$y) echo("Наибольшее =" . $x); elseif ($x<$y) echo ("Наибольшее =" . $y); else print ("Наибольшего нет");?>

2. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.

УПРАЖНЕНИЕ 2-3. Использование SWITCH

1. Создайте сценарий lab-2-3.php со следующим кодом:

<?php$а = "А"; switch ($а) { case 'А' : echo 'Переменная имеет значение "А"'; break; case 'В': echo 'Переменная имеет значение "В"'; break; default: echo 'Ответ не найден ' ;}?>

2. Проверьте результат выполнения данного скрипта, если переменная $а равна: "А", "В", "С".

3. Снова присвойте переменной $а значение "А".

4. Удалите из первой секции case оператор break (6-ую строку кода).

5. Сохраните изменения и проверьте работу скрипта. Объясните получившийся результат.

УПРАЖНЕНИЕ 2-4. Использование SWITCH

1. Создайте сценарий lab-2-4.php со следующим кодом:

<?php$dn=rand(1,7); print ($dn ." - номер дня недели <br>");switch ($dn) { case 1: print ("это понедельник"); break; case 2: print ("это вторник"); break; case 3: print ("это среда"); break; case 4: print ("это четверг"); break; case 5: print ("это пятница"); break; case 6: print ("это суббота"); break; case 7: print ("это воскресенье");}?>

2. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.

УПРАЖНЕНИЕ 2-5. Использование цикла WHILE

1. Создайте сценарий lab-2-5.php, выводящий в браузер числа от 1 до 5:

<?php $var = 5; $i = 0; while (++$i <= $var) { echo $i . ' '; }?>

2. Дополните сценарий таким образом, чтобы в окне браузера с новой строки выводились числа в обратном порядке, то есть от 5 до 1.

УПРАЖНЕНИЕ 2-6. Использование цикла WHILE

1.Создайте сценарий lab-2-6.php со следующим кодом:

<?php$a=rand(1,10); $b=rand(10,20); print ("<p> Числа из отрезка [".$a.",".$b."]: <br>");while ($a<=$b) { echo($a . "<br>"); $a=++$a; }?>

2. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.

УПРАЖНЕНИЕ 2-7. Использование цикла DO WHILE

1.Создайте сценарий lab-2-7.php со следующим кодом:

<?php$a=rand(-5,0); $b=rand(0,5); print ("<p> Числа из отрезка [".$a.",".$b."]: <br>");do { echo($a . "<br>"); $a=++$a; }while ($a<=$b);?>

2. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.

УПРАЖНЕНИЕ 2-8. Использование цикла FOR

1.Создайте сценарий lab-2-8.php со следующим кодом:

<?php$a=rand(1,10); $b=rand(10,20); print ("<p> Числа из отрезка [".$a.",".$b."]: <br>");for ($i=$a; $i<=$b; ++$i) { echo($a . "<br>"); $a=++$a; }?>

2. Сохраните файл. Откройте в браузере и несколько раз обновите страницу.

УПРАЖНЕНИЕ 2-9. Вывод таблицы умножения

1.Создайте сценарий lab-2-9.php со следующим кодом:

<HTML><TITLE> Таблица умножения </TITLE><BODY><TABLE border=1><?php for ($i=1; $i<=10; $i++) { // запускаем первый циклecho ("<tr>"); // начало строки таблицыfor ($k=1; $k<=10; $k++) { // запускаем второй циклecho ("<td align=center>"); // открываем ячейку таблицы$p=$i*$k; // находим произведение двух чисел и...echo ($p); // выводим его,echo ("</td>"); // а потом закрываем ячейку} echo ("</tr>"); // конец строки таблицы}?></TABLE></BODY></HTML>

2. Сохраните файл. Откройте в браузере.

САМОСТОЯТЕЛЬНАЯ РАБОТА № 2.
Действия с числами

Во всех скриптах в заголовке окна браузера должны быть ваши фамилия и имя!

ЗАДАЧА № 2-1

В скрипте lab-2-10.php, используя вложенные циклы for, отобразите на экране таблицу 10×10, в ячейках которой идут числа от 1 до 100. При этом четные числа вывести красным цветом, а нечетные числа ‑ черным. Массивы не использовать!

ПРАКТИЧЕСКАЯ РАБОТА № 2 - student2.ru

ЗАДАЧА № 2-2

Создать скрипт lab-2-11.php, решающий следующую задачу (по вариантам):

1. Найти все делители натурального числа N. N – случайное число.

2. Проверить, являются ли два случайных числа N и М дружественными (сумма делителей одного числа равна сумме делителей другого числа). Например, 220 и 284 - дружественные.

3. Характером натурального числа назовем сумму всех его делителей, не равных единице и самому числу. Характером простого числа будем считать нуль. Написать программу, которая вычисляет характер случайного числа N.

4. Определить, будут ли взаимно просты два случайных натуральных числа N и М.

5. Найти все целые числа из интервала от N до М, которые делятся на каждую из своих цифр. N и М – случайные числа.

6. Найти НОД двух случайных чисел N и М.

7. Найти все целые числа из интервала от N до М, которые делятся на сумму всех своих цифр. N и М – случайные числа.

8. Определить, можно ли представить данное случайное число N в виде суммы квадратов двух целых чисел (N < 500).

9. Найти все целые числа из интервала от N до М, которые можно представить в виде суммы кубов двух натуральных чисел. N и М – случайные числа.

10. Определить, можно ли представить данное случайное число N в виде суммы квадратов трех натуральных чисел (N < 500).

11. Найти все целые числа из интервала от N до М, которые можно представить в виде суммы кубов трех натуральных чисел. N и М – случайные числа.

12. Натуральное число называется совершенным, если оно равно сумме всех своих делителей, отличных от самого числа, включая единицу. Вывести первые N совершенных чисел на экран (N<5, случайное число).

13. Найти НОК двух случайных чисел N и М.

14. Составить программу, находящую все трехзначные числа abc такие, что abc=а!+b!+с!.

15. Найти первые N простых чисел (N<10, случайное число).

Наши рекомендации