Запишите в переменную S сумму первых после десятичной точки трех цифр вещественного числа Y - PascalABC.NET

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

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

Уважаемые господа! Помогите советом: В вещественной переменной Y записано некоторое неотрицательное число, не превосходящее 30000. Запишите в переменную S сумму первых после десятичной точки трех цифр числа Y. Можно использовать дополнительные переменные любых типов.

Решение задачи: «Запишите в переменную S сумму первых после десятичной точки трех цифр вещественного числа Y»

textual
Листинг программы
var y:real;
    s:string;
    i,p,sum:byte;
begin
repeat
write('Введите вещественное число с дробной частью y=');
readln(y);
until frac(y)<>0;
s:=floattostr(y);
p:=pos('.',s);
while length(s)-p<3 do s:=s+'0';
sum:=0;
for i:=p+1 to p+3 do
sum:=sum+strtoint(s[i]);
write(sum)
end.

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

  1. В первой строке объявляются три переменные: y типа real (вещественное число), s типа string (строка) и две булевые переменные i и p типа byte (для цикла и обработки строки). Значения переменных не присваиваются.
  2. Затем используется цикл repeat-until для ввода числа от пользователя до тех пор, пока его дробная часть не станет равной нулю.
  3. Во время каждой итерации цикла переменная s присваивается строковое представление числа y, а переменная p получает позицию десятичной точки в этой строке.
  4. Если длина строки s меньше трех символов после десятичной точки, то к строке добавляются нули до тех пор, пока длина не достигнет требуемого значения.
  5. Затем в цикле for перебираются символы с позиции p+1 до p+3 в строке s и к переменной sum прибавляется их числовое значение, полученное с помощью функции strtoint.
  6. Наконец, значение переменной sum выводится на экран.

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


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

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

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