Описать процедуру, меняющую порядок следования цифр целого положительного числа на обратный - Pascal ABC

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

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

описать процедуру InvertDigits(K),меняющую порядок следования цифр целого положительного числа К на обратный (К параметр целого типа, являющийся одновременно входным и выходным ) С помощью этой процедуры поменять порядок следования цифр на обратный для N элементов массива целых чисел

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

textual
Листинг программы
uses crt;
//процедура переворота числа
//входной параметр К-данное число, выходной- М-новое число
procedure InvertDigits(K:integer;var M:integer);
var i:byte;
begin
M:=0;//новое пока=0
while K>0 do//пока данное больше 0 например 123
 begin
  i:=K mod 10;//берем последнюю цифру  3, 2, 1
  M:=M*10+i;//умножаем уже полученное число и прибавляем эту цифру 1, 12, 123
  K:=K div 10; //сокращаем данное в 10 раз
 end;
end;
const nmax=100; //максимальный размер массива
var a:array[1..nmax] of integer;//тип массива
    n,i:integer;//переменные размера и счетчика
begin
randomize;//для того что бы при каждом запуска новые числа
repeat
write('Размер массива от 1 до ',nmax,' n=');
read(n);
until n in [1..nmax];
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=10000+random(90000);//я сделал числа от 10000 до 99999, можно изменить
  write(a[i]:8)
 end;
writeln;
writeln('Смена порядка цифр на обратный');
for i:=1 to n do
 begin
  InvertDigits(a[i],a[i]);//вызываем процедуру для каждого числа
  write(a[i]:8);
 end;
end.

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

  1. Создается процедура InvertDigits, которая принимает целочисленный параметр K и переменную M типа integer. Эта процедура меняет порядок следования цифр в числе K на обратный.
  2. В процедуре используется цикл while, который выполняется, пока значение переменной K больше нуля. На каждой итерации цикла извлекается последняя цифра числа K с помощью оператора mod 10, затем это число добавляется к переменной M с использованием оператора умножения и оператора прибавления. После этого значение числа K сокращается в 10 раз с помощью оператора деления.
  3. Создается константа nmax, которая определяет максимальный размер массива a типа array[1..nmax] of integer.
  4. Создаются две переменные n и i типа integer, которые используются для чтения размера массива и для итерации по массиву.
  5. С помощью функции randomize устанавливается начальное значение генератора случайных чисел.
  6. Запускается цикл repeat-until, который повторяется, пока значение переменной n не будет находиться в диапазоне от 1 до nmax. На каждой итерации цикла считывается размер массива и выводится сообщение с этим размером.
  7. В каждой итерации цикла создается переменная a[i] типа integer, которая заполняется случайным числом в диапазоне от 10000 до 99999.
  8. Выводится исходный массив чисел.
  9. Вызывается процедура InvertDigits для каждого числа a[i], используя переменную a[i] в качестве аргумента.
  10. После выполнения процедуры InvertDigits выводится обратный порядок цифр для каждого числа a[i].
  11. Программа завершается.

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


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

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

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