While (условие);
где do – служебное слово выполнять,
while – служебное слово пока.
Внимание! После слова do точка с запятой не ставится!
Перед закрывающей фигурной скобкой }поставить точку с запятой!
Действия оператора do:
1. выполняется оператор (цепочка),
2. проверяется выполнение условия, стоящего после слова while,
3. если оно истинно, то цикл повторяется,
4. если условие становится ложным, то цикл заканчивает работу.
Примеры:
1. вычислить сумму ста первых натуральных чисел:
s = 1 + 2 + 3 + … + 98 + 99 + 100
Пусть s – искомая сумма,
i – очередное число (изменяется от 1 до 100).
Тогда алгоритм решения задачи можно описать следующим образом:
a. обнуляем сумму s = 0 ,
b. берем первое число: i = 1,
c. добавляем в сумму очередное число s = s + i,
d. как только очередное число станет больше ста, цикл заканчивает работу.
Представим этот алгоритм так:
s = 0;
i = 1;
ВЫПОЛНЯТЬ
s = s + i;
i = i + 1;
ПОКА (i <= 100);
Программа:
$i=1;
$s=0;
Do
{
$s += $i;
$i++;
}
while ($i <= 100);
echo “<BR>s = $s i = $i”;
Результат решения задачи:
s = 5050 i = 101
Второй вариант решения задачи:
Do
$s += $i++;
while ($i <= 100);
2. вычислить сумму s всех цифр заданного натурального числа n
Пусть s – искомая сумма,
i – очередная цифра числа.
Тогда алгоритм решения задачи можно описать следующим образом:
1. обнуляем сумму s = 0 ,
2. берем последнюю цифру числа, для чего определяем остаток от деления исходного числа на 10: i = n % 10,
3. добавляем в сумму найденную цифру: s = s + i,
4. уменьшаем число в 10 раз: n = n / 10,
5. повторяем цикл до тех пор, пока n != 0 .
Схема алгоритма:
Программа:
$s = 0;
echo “<BR>Введите целое положительное число:”;
// ввод $n
Do
{
$i = $n % 10;
$s += $i;
$n /= 10;
}
while ($n != 0);
echo “<BR>s = $s”;
3. ввести с клавиатуры по одному последовательность целых чисел (конец последовательности – число 0). Определить их сумму, максимальное и минимальное число, количество введенных чисел и их среднее арифметическое.
Пусть s – искомая сумма,
min, max – минимальное и максимальное из введенных чисел,
count – количество введенных чисел,
sred – среднее арифметическое,
n – очередное число.
Тогда алгоритм решения задачи можно описать следующим образом:
1. обнуляем сумму s = 0,
2. вводим первое число n,
3. если оно не равно нулю, то
4. принимаем его значение за min и max
5. количество введенных чисел count = 1
6. увеличиваем сумму на введенное число s = s + n
7. входим в цикл ввода:
8. вводим очередное число n,
9. если оно не равно нулю, то
10. количество введенных чисел увеличиваем на 1: count = count+1
11. увеличиваем сумму на введенное число s = s + n
12. если оно меньше min, то min = n,
13. если оно больше max, то max = n,
14. повторяем цикл до тех пор, пока n # 0 – это и будет условием продолжения цикла.
Создадим интерфейс этой задачи – взаимодействие программы с пользователем, то есть что должно выводиться на экран:
Первое число: 3
Очередное число: 8
Очередное число: 1
Очередное число: -2
Очередное число: 0
Сумма = 10
Количество чисел = 4
min = -2
max = 8
Среднее арифметическое = 2.50
Программа:
$count = 0;
$s = 0.0;
echo “<BR>Введите первое число:”;
// ввод $n
if ($n == 0)
Дата добавления: 2015-08-26; просмотров: 987;