Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Валера Кушнарев
0 / 0 / 0
Регистрация: 09.05.2017
Сообщений: 22
#1

Найти сумму цифр целой и дробной части числа

23.10.2017, 09:07. Просмотров 736. Ответов 1
Метки нет (Все метки)

Найти сумму цифр целой и дробной части числа.
123,35->6 и 8
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2017, 09:07
Ответы с готовыми решениями:

Найти произведение первой цифры целой части и третьей цифры дробной части вещественного числа
Помогите написать программу в Паскале Найти произведение первой цифры целой...

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

Присвоить целой переменной d первую цифру из дробной части положительного вещественного числа х
присвоить целой переменной d первую цифру из дробной части положительного...

Написать арифмометр для вычисление целой и дробной части
Заранее спасибо. Добавлено через 4 часа 19 минут вот есть код программы....

Строки. Подсчитать, сколько раз в дробной части исходного числа встречается комбинация цифр 33
Дано вещественное число a. Подсчитать, сколько раз в дробной части исходного...

1
Cyborg Drone
Модератор
5287 / 3161 / 2441
Регистрация: 17.08.2012
Сообщений: 10,154
24.10.2017, 02:37 #2
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Если число не представимо в виде конечной двоичной дроби, или если количество двоичных разрядов в конечной двоичной дроби не помещается в разрядную сетку компьютера, то сумма цифр дробной части числа будет найдена неверно из-за ошибок усечения.

Примеры.

Решение через строковое представление числа в виде десятичной дроби, работаем именно с представлением числа, а не самим числом, поэтому ошибок не возникает, но, думаю, преподаватель скажет, что нужно решать не через строки:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var n: string;
    st, sf, err, i: integer;
    f: real;
    p: boolean;
begin
  repeat
    write('Введите неотрицательное вещественное число: ');
    readln(n);
    val(n, f, err)
  until (err = 0) and (f > 0);
  st := 0;
  sf := 0;
  p := false;
  for i := 1 to length(n) do
    if n[i] = '.'
      then p := true
      else if p
        then sf := sf + ord(n[i]) - ord('0')
        else st := st + ord(n[i]) - ord('0');
  writeln('Сумма цифр целой части = ', st, ', сумма цифр дробной части = ', sf)
end.
Якобы верное решение, которое, скорее всего, от Вас и ждёт преподаватель, с использованием компьютерного представления числа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var n: string;
    i, st, sf, t, err: integer;
    f: real;
begin
  repeat
    write('Введите неотрицательное вещественное число: ');
    readln(n);
    val(n, f, err)
  until (err = 0) and (f > 0);
  st := 0;
  sf := 0;
  t := trunc(f);
  f := frac(f);
  i := 0;
  write('Число в машинном представлении: ', t, '.');
  repeat
    inc(i);
    st := st + t mod 10;
    t := t div 10
  until t = 0;
  for i := 1 to 16 - i do
    begin
      sf := sf + trunc(f * 10);
      write(trunc(f * 10));
      f := frac(f * 10)
    end;
  writeln;
  writeln('Сумма цифр целой части = ', st, ', сумма цифр дробной части = ', sf)
end.
Интересный факт: языки высокого уровня, типа того же паскаля, обнаруживают усечённую двоичную дробь, и выводят на печать не то, что содержится в памяти компьютера, а "восстановленное" значение числа, наверное, чтобы не очень хороших программистов не пугать. В программе я сделал вывод числа в том виде, в котором оно на самом деле записано в памяти компьютера. Целая часть числа представлена верно, а вот дробная... Если ввести, например, 1.5, результат будет верным, поскольку 1.5 преобразуется в конечную двоичную дробь, а вот если, к примеру, 123.1 или, допустим, 0.3... То дробная часть будет, так скажем, несколько отличаться от ожидаемой.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2017, 02:37

Найти сумму цифр заданного четырехзначного числа N превосходит произведение цифр этого же числа
нужна программа которая проверяет следующий факт: Сумма цифр заданного...

Процедуры. Даны три вещественных числа. Составить процедуру нахождения целой части числа
2. Даны три вещественных числа. Составить процедуру нахождения целой части...

Вычисление целой части числа Х
Дано действительное число X. Напишите программу для вычисления: + целой части...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru