План:
• Обсуждение оператора while;
• Эксперименты с программами определения количества цифр в числе;
• Выполнение самостоятельной работы.
While является оператором цикла с предусловием. Типичными примерами использования цикла While являются вычисления с заданной точностью, поиск в массиве или файле. Общий вид инструкции таков:
Тело цикла — <оператор>, который может быть и составным — выполняется до тех пор, пока <логическое выражение> имеет значение истина (True). В частности, это означает, что ели в начале выполнения цикла значение <Логического выражения> равно ложь (False), то цикл не выполнится ни разу. Следует также обратить внимание на то, что если значение Логического выражения> никогда не станет равно ложь (False), цикл никогда не завершится. Приведем простейший пример бесконечного цикла:
While True do < onepamop >;
Экспериментальный раздел работы
1. Дано натуральное число n (обратите внимание на то, что натуральный ряд начинается с единицы). Требуется подсчитать количество цифр данного числа.
Количество цифр в числе неизвестно, поэтому необходимо использовать оператор While. Подсчет количества цифр начинаем с последней цифры числа. Увеличим изначально нулевой счетчик цифр на единицу. Число уменьшим в 10 раз, убирая тем самым из него последнюю цифру (подсчитанную). Далее с поучившимся числом проделаем ту же последовательность действий — и т.д., пока число не станет равным нулю.
Выполните ручную трассировку для числа 65 387
K | 0 | 1 | 2 | 3 | 4 | 5 |
m | 65387 | 6538 | 653 | 65 | 6 | 0 |
program my4_l;
var
m, n: LongInt; { длинное целое число в диапазоне -2 147 483 648 ...2 147483648,
в противовес целому — -32 768... 32 768 }
k: integer; { счетчик числа цифр } begin
writeln('введите целое чило’);
readln(n);
m:=n; k:=0;
while m<>0 do begin
inc(k); m:= m div 10
end;
writeln ('B числе ', n, ‘ — ', k, ‘ цифр');
readln;
end.
Модифицируя программу, решите следующие задачи:
• Найдите сумму цифр числа;
• Найдите первую цифру числа;
• Поменяйте порядок цифр числа на обратный;
• Найдите количество четных цифр числа;
• Найдите наибольшую цифру числа;
• Найдите сумму цифр числа, больших 5;
• Ответьте на вопрос, сколько раз данная цифра встречается в
числе.
Придумайте еще как минимум 5 задач, решаемых по данной схеме.