Форум программистов, компьютерный форум, киберфорум
Наши страницы
нтч
Войти
Регистрация
Восстановить пароль
+++
Недостающую глубину мысли обычно компенсируют её длиной.
+++
Оценить эту запись

Обратная величина

Запись от нтч размещена 11.08.2018 в 08:18
Обновил(-а) нтч 11.08.2018 в 16:31 (добавлено приложение)

Деление - самая сложная операция.
Попробуйте разделить 5 золотых на два.
Вот и я о том же самом говорю.
Как-то читал, что на ранних моделях ЭВМ отсутствовала операция деления. То есть было сложение, вычитание и умножение. А вот деление? В те далёкие времена, когда ЭВМ были размером значительно больше динозавров всё-таки придумали заменить деление умножением. Для этого в программе была подпрограмма вычисления обратной величины.

Мне не известна эта подпрограмма. Но я решил написать свою программу, которая вычисляет обратную величину, обходясь без операции деления. На динозавра она вроде как не похожа, но представляет интерес своим алгоритмом.

Предлагаемая программа вычисляет обратную величину числа 7.
Если кому-нибудь известны иные алгоритмы получения обратной величины, то прошу поделиться ими. Просто опишите алгоритм. Век не забуду вашей доброты ... (два века ...)

QBasic/QuickBASIC
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
REM 7 * x = 1
 
CLS
DIM mh(7)
mh(1) = .1
mh(2) = .01
mh(3) = .001
mh(4) = .0001
mh(5) = .00001
mh(6) = .000001
mh(7) = .0000001
 
h = .1
i = 1
 
DO
   IF 7 * x < 1 THEN
      x = x + h
   ELSE
      x = x - h
      i = i + 1
      h = mh(i)
   END IF
LOOP UNTIL i = 7
 
PRINT x
END
ПРИЛОЖЕНИЕ
Эта программа является модифицированной предыдущей программой

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
REM 7 * x = 1
 
CLS
h = .1
 
DO
   IF 7 * x < 1 THEN
      x = x + h
   ELSE
      x = x - h
      h = .1 * h
   END IF
LOOP UNTIL h < .00000005#
 
PRINT x
END
Размещено в Без категории
Просмотров 104 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru