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

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

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

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

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

textual
Листинг программы
  1. function TrimLeftZeroes(x: LongInt): Longint;
  2. var
  3.   s: string;
  4.   k: LongInt;
  5.   neg: boolean;
  6.   err: integer;
  7. begin
  8.   str(x, s);
  9.   neg := s[1] = '-';
  10.   if neg then
  11.     delete(s, 1, 1);
  12.   while s[1] = '0' do
  13.     delete(s, 1, 1);
  14.   k:=length(s);  
  15. {  if neg then
  16.     s := '-' + s;
  17.   val(s, k, err);}
  18.   TrimLeftZeroes := k;  
  19. end;
  20.  
  21. begin
  22.   writeln(TrimLeftZeroes(-000001234));
  23. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы