Найти среднее арифметическое числа, разряды которого равны 2 и 5 - Pascal
Формулировка задачи:
дано многоразрядное число n<=10^5 найти среднее арифметическое числа разряды которого равны 2 и 5
Решение задачи: «Найти среднее арифметическое числа, разряды которого равны 2 и 5»
textual
Листинг программы
var
x: LongWord;
n2, n5, i: Byte;
begin
repeat
Write('Введите число: '); ReadLn(x);
until (x <= 100000);
x := Abs(x);
n2 := 0; n5 := 0; i := 0;
repeat
Inc(i);
if (i = 2)
then
n2 := x mod 10
else
if (i = 5)
then
n5 := x mod 10;
x := x div 10;
until (x = 0);
WriteLn('Среднее арифметическое второго и пятого разряда: ', ((n2 + n5) / 2):0:1);
end.
Объяснение кода листинга программы
- Объявление переменных:
x- переменная типа LongWord (беззнаковое целое 32-битное число).n2- переменная типа Byte (целое число от 0 до 255).n5- переменная типа Byte (целое число от 0 до 255).i- переменная типа Byte (целое число от 0 до 255).
- Цикл ввода числа:
- Считывание значения переменной
xс клавиатуры в цикле, пока оно не будет меньше или равно 100 000.
- Считывание значения переменной
- Обработка числа:
- Нахождение модуля числа
x(его абсолютного значения). - Установление значений переменных
n2,n5иiравными 0.
- Нахождение модуля числа
- Цикл перебора разрядов числа:
- Повторение следующих операций, пока
xне станет равным 0:- Увеличение значения
iна 1. - Если
iравно 2, то значениеn2приравнивается к остатку от деленияxна 10. - Иначе, если
iравно 5, то значениеn5приравнивается к остатку от деленияxна 10. - Деление
xна 10.
- Увеличение значения
- Повторение следующих операций, пока
- Вывод среднего арифметического:
- Вывод результата выражения
((n2 + n5) / 2)с округлением до одного знака после запятой.
- Вывод результата выражения