Произведение минимальной и максимальной цифр - PascalABC.NET

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

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

Задача : Даны три целых положительных числа a, b и c. Найти в каж- дом числе произведение минимальной и максимальной цифр. Нужно сделать с помощью подпрограмм. Есть набросок программы,непонятно,что надо использовать функцию или процедуру,так и не понял в чем толком их различие. И даже если пытаться запустить программу в таком виде,выдает ошибку неверное число параметров функции.

Решение задачи: «Произведение минимальной и максимальной цифр»

textual
Листинг программы
//поскольку нужно получить 2 значения, лучше процедура, хотя можно и функцию,
//но она будет по сути процедурой
procedure MaxMin(n:integer; var max, min : byte);
var m:byte;
begin
n:=abs(n);//вдруг число отрицательное
max:=0;
min:=9;
While n<>0 do
 begin
  m:=n mod 10;
  if  m>max then max:=m;
  if  m<min then min:=m;
  n:=n div 10;
 End;
end;
 
function Proizv(var a,b:byte):byte;
begin
Proizv:=a*b;
end;
 
var a:integer;
    i,mn,mx:byte;
begin
for i:=1 to 3 do
 begin
  write('Введите целое число a=');
  readln(a);
  MaxMin(a, mn, mx);
  writeln('Произведение минимальной и максимальной цифр=',Proizv(mn,mx));
 end;
end.

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

  1. Введен код на языке PascalABC.Net
  2. Объявлена процедура MaxMin(n:integer; var max, min : byte) для нахождения максимального и минимального значения цифр числа n
  3. В процедуре используется цикл while, который выполняется до тех пор, пока n не равно 0
  4. На каждой итерации цикла значение переменной m равно остатку от деления n на 10 (это последняя цифра числа n)
  5. Если значение m больше max, то max присваивается значение m
  6. Если значение m меньше min, то min присваивается значение m
  7. Значение n делится на 10 (удаляется последняя цифра числа n)
  8. Введен код функции Proizv(var a,b:byte):byte для умножения двух чисел
  9. В основной программе объявлены переменные a, i, mn, mx типа byte
  10. В цикле for, который выполняется 3 раза, пользователю предлагается ввести целое число a
  11. При вводе числа, вызывается процедура MaxMin(a, mn, mx), которая находит максимальное и минимальное значение цифр числа a
  12. Выводится произведение минимальной и максимальной цифр (значение функции Proizv(mn, mx))
  13. Цикл for выполняется 3 раза

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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