│ 1 │ 2 │ 3 │ │ │ │ │ ┌─────┐ ┌─────┐┌─────┐┌─────┐ ┌─────┐┌─────┐┌─────┐ ┌─────┐ Ряд резисторов E24 (массив): │ 0 │ ... │ 70 ││ 71 ││ 72 │ ... │ 142 ││ 143 ││ 144 │ ... │ 215 │ -> Всего: 216 резисторов. └─────┘ └─────┘└─────┘└─────┘ └─────┘└─────┘└─────┘ └─────┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ 91 Ом │ 82000 Ом │ 100000 Ом │ 0.1 Ом 82 Ом 100 Ом 91000 Ом 91000000 Ом Сопротивления резисторов в массиве расположены по возрастанию! var X = Какое-то сопротивление; var Y, Yl, Yr; Шаг 1: Если X меньше 0.1 Ом (0.1 Ом берём из массива), то Y = 0.1 Ом. Конец. Сопротивление найдено. Иначе Шаг 2. Шаг 2: Если X больше 91000000 Ом (91000000 Ом берём из массива), то Y = 91000000 Ом. Конец. Сопротивление найдено. Иначе Шаг 3. Шаг 3: Цикл. Перебираем весь массив! Если X найден в массиве, то Y = X. Конец. Сопротивление найдено. Иначе Шаг 4 (последний). Шаг 4: Цикл. Перебираем весь массив! Если сопротивление из массива больше X, то в Yr = сопротивление которое больше X. Дальше указатель массива минус 1, и в Yl = другое сопротивление из массива. ┌────┐ ┌─────────────────┐ ┌────┐ │ Yl │ │ Сопротивление X │ │ Yr │ └────┘ └─────────────────┘ └────┘ │ │ │ └──── Правое стандартное сопротивление, больше X. Левое стандартное сопротивление, меньше X. Примечание. Для Шаг'а 4, цикл начинается не с 0, а с 1. Конец. Примечание. 216 / 3 = 72. 72 - 1 = 71. 71 + 72 = 143. 143 + 72 = 215. Ниже реализация на JavaScript. Ukraine. (C) Демидов С.В.