Найти остаток от деления первого числа на второе и определить, упорядочены ли цифры в записи остатка - Free Pascal

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

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

Заданы два натуральных числа. Найти остаток от деления первого числа на второе и определить, расположены ли цифры в записи остатка в порядке возрастания или убывания слева направо.

Решение задачи: «Найти остаток от деления первого числа на второе и определить, упорядочены ли цифры в записи остатка»

textual
Листинг программы
var m,x,y,a,b,c,v,u:longint;
begin
repeat
write('x>0 x=');readln(x);
write('y>0 y=');readln(y);
until(x>0)and(y>0);
m:=x mod y;
writeln('Остаток=',m);
if m<10 then write('Число однозначное')
else
 begin
  a:=m mod 10;
  m:=m div 10;
  c:=1;
  v:=1;
  u:=1;
  while m>0 do
   begin
    b:=m mod 10;
    if b>a then u:=u+1
    else if b<a then v:=v+1;
    a:=b;
    m:=m div 10;
    c:=c+1;
   end;
  if v=c then write('Цифры возрастают слева направо')
  else if u=c then write('Цифры убывают слева направо')
  else write('Цифры не упорядочены, либо есть одинаковые');
 end;
readln
end.

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

  1. Ввод первых двух чисел x и y с помощью функции readln.
  2. Проверка на положительность чисел x и y с помощью условия (x>0)and(y>0).
  3. Вычисление остатка от деления x на y с помощью оператора mod и присваивание его переменной m.
  4. Вывод значения остатка на экран с помощью функции writeln.
  5. Проверка на однозначность числа остатка с помощью условного оператора if и вывод соответствующего сообщения.
  6. При однозначности числа остатка, инициализация переменных a, m, c, v, u значениями остатка, единицы и нулей.
  7. В цикле while вычисление каждого разряда числа остатка с помощью оператора mod, сохранение значения в переменной b, проверка на возрастание или убывание цифр с помощью условных операторов if и вычисление количества цифр с помощью переменной c.
  8. После окончания цикла проверка на равенство количества цифр, увеличивающихся и уменьшающихся, и вывод соответствующего сообщения.
  9. Если количество цифр, увеличивающихся и уменьшающихся, равно количеству цифр, то вывод сообщения о том, что цифры не упорядочены или есть одинаковые.
  10. Завершение работы программы с помощью функции readln.

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

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