Функция, определяющая количество значащих цифр в записи числа - Turbo Pascal

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

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

Напишите функцию, которая имеет один целочисленный параметр и вырабатывает значение, равное числу значащих цифр в записи этого параметр.(Например для параметра -0183 значение функции должно быть равно 3)

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

textual
Листинг программы
function TrimLeftZeroes(x: LongInt): Longint;
var
  s: string;
  k: LongInt;
  neg: boolean;
  err: integer;
begin
  str(x, s);
  neg := s[1] = '-';
  if neg then
    delete(s, 1, 1);
  while s[1] = '0' do 
    delete(s, 1, 1);
  k:=length(s);  
{  if neg then
    s := '-' + s;
  val(s, k, err);}
  TrimLeftZeroes := k;  
end;
 
begin
  writeln(TrimLeftZeroes(-000001234)); 
end.

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

  1. Функция TrimLeftZeroes принимает один аргумент типа LongInt и возвращает результат типа LongInt.
  2. В начале функции объявляются переменные s, k, neg и err. Переменная s типа string используется для хранения строкового представления числа, а переменная k типа LongInt будет хранить длину строки s. Переменная neg устанавливается в значение true, если первая цифра числа равна '-', и в false в противном случае. Переменная err типа integer будет использоваться для обработки ошибок.
  3. С помощью оператора str(x, s) число x преобразуется в строку и сохраняется в переменной s.
  4. Затем проверяется, равно ли значение первой цифры числа '-'. Если это так, то с помощью оператора delete(s, 1, 1) удаляется первый символ из строки s.
  5. Далее, пока первый символ строки s равен '0', с помощью оператора delete(s, 1, 1) удаляется первый символ.
  6. После этого вычисляется длина строки s с помощью оператора length(s).
  7. Если значение переменной neg равно true, то к строке s добавляется символ '-'.
  8. В конце функция возвращает значение переменной k.
  9. В основной части программы вызывается функция TrimLeftZeroes с аргументом -000001234 и результат выводится на экран.

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


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

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

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