Описать функцию, которая возвращает сумму наименьших цифр входящих в запись числа типа Longint - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Описать функцию, которая возвращает сумму наименьших цифр входящих в запись числа типа Longint. Я написал через процедуру
Преподаватель не принимает( помогите пожалуйста написать через функцию

Решение задачи: «Описать функцию, которая возвращает сумму наименьших цифр входящих в запись числа типа Longint»

textual
Листинг программы
function pr(a: longint):real;
var
   s: real;
  b, sum, k: integer;
begin
  a := abs(a);
  s := 0; k := 0;
  while a <> 0 do 
  begin
    b := a mod 10;
    if b mod 2 <> 0 then
    begin
      sum := sum + b; k := k + 1;
    end;
    a := a div 10;
  end;
  if k <> 0 then s := sum / k else s := 0;
  pr:=s;
end;
 
begin
  writeln('s1=', pr(123456789));
end.

Объяснение кода листинга программы

  1. Функция pr принимает аргумент типа longint и возвращает значение типа real.
  2. В функции объявлены следующие переменные: s - тип real, b, sum, k - типы integer.
  3. В начале функции абсолютное значение числа a преобразуется в тип real, так как сумма цифр должна быть найдена в десятичной системе счисления.
  4. Далее, переменные s и k инициализируются нулевыми значениями.
  5. Затем, в цикле while происходит следующее:
    • переменной b присваивается остаток от деления числа a на 10.
    • если остаток от деления b на 2 не равен нулю, то переменная sum увеличивается на b, а переменная k увеличивается на 1.
    • затем, число a делится на 10 и остаток от деления присваивается переменной a.
  6. После завершения цикла, проверяется значение переменной k. Если оно не равно нулю, то переменная sum делится на k и присваивается переменной s. В противном случае, переменная s остается равной 0.
  7. В конце функции, значение переменной s присваивается переменной pr и функция возвращает это значение.
  8. В основной части программы вызывается функция pr(123456789) и результат выводится на экран.

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы