Напишите функцию Schetchik, которая будет считать среднее арифметическое цифр - Turbo Pascal
Формулировка задачи:
В функцию передаётся строка S, в ней есть и пробелы и слова. Пробелы могут быть в любом месте. Есть слова в которых последний символ это цифра . Напишите функцию Schetchik, которая будет считать среднее арифметическое этих цифр.
Строка 5zxcv yuio9 sdfgg poi7 rgn 9876 8
Ответ 7.5
Решение задачи: «Напишите функцию Schetchik, которая будет считать среднее арифметическое цифр»
textual
Листинг программы
function Schetchik(s:string):real; var i,k:integer; sred:real; begin s:=s+' '; k:=0; sred:=0; for i:=1 to length(s)-1 do if (s[i] in ['0'..'9'])and(s[i+1]=' ')then begin k:=k+1; sred:=sred+ord(s[i])-ord('0'); end; if k=0 then Schetchik:=0 else Schetchik:=sred/k; end; var s:string; begin readln(s); writeln( Schetchik(s):0:1); End.
Объяснение кода листинга программы
- Функция Schetchik принимает один параметр типа string и возвращает значение типа real.
- В функции объявлены три переменные: i, k и sred типа integer и real соответственно.
- Строка s инициализируется значением, переданным в функцию.
- Переменная k инициализируется значением 0.
- Переменная sred инициализируется значением 0.
- Запускается цикл for, который выполняется от 1 до длины строки s минус 1.
- Внутри цикла проверяется условие: если текущий символ строки s является цифрой (от 0 до 9) и следующий символ равен пробелу, то ...
- Если условие выполняется, то переменная k увеличивается на 1, переменная sred увеличивается на сумму ord(s[i])-ord('0'), где ord - функция, возвращающая числовое значение символа.
- После выполнения цикла, если значение переменной k равно 0, то значение функции Schetchik устанавливается равным 0, иначе значение функции равно sred/k.
- В основной части программы считывается строка с помощью функции readln и вычисляется значение функции Schetchik с помощью функции call.
- Значение функции Schetchik выводится на экран с помощью функции writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д