Математические соотношения, полезные при программировании

 

Здесь можно собирать математические соотношения (хитрости), полезные при программировании.

1. Если имеется ряд данных 1, 2, 3, ....., n, например, количество строк данных, то, величину n можно определять, не обращаясь к строке n, следующим образом:

n = - 0,5 + (0,25 + 2*SUMMAn)^0.5

Пример: 1, 2, 3, 4, 5

SUMMAn = 1 + 2 + 3 + 4 + 5 = 15

5 = - 0,5 + (0,25 + 2*15)^0.5 = -0,5 + (30,25)^0,5 = - 0,5 + 5.5 = 5

 
Yousufkhodja Sultonov:

Здесь можно собирать математические соотношения (хитрости), полезные при программировании.

1. Если имеется ряд данных 1, 2, 3, ....., n, например, количество строк данных, то, величину n можно определять, не обращаясь к строке n, следующим образом:

...

Строки, вероятно, в массиве M.

Тогда n=length(M). В разных языках оператор м.б. разный, но суть одинакова. 

Не понимаю сути сообщения. Да и вообще есть справочники и Инет. 

 
Yuriy Asaulenko:

Строки, вероятно, в массиве M.

Тогда n=length(M). В разных языках оператор м.б. разный, но суть одинакова. 

Не понимаю сути сообщения. Да и вообще есть справочники и Инет. 

Мне, например, при программировании на экзеле, нужно было иметь столбец, чтобы, строки которого, всегда имели информацию о количестве данных в массиве. Такой способ определения количество данных было удобно при переменном количестве данных. Не нужно обращаться к последней строке. В МКЛ не знаю, поможет это свойство натурального ряда или нет. Думаю, можно найти полезное применение этого свойства.
 
Yousufkhodja Sultonov:
Мне, например, при программировании на экзеле, нужно было иметь столбец, чтобы, строки которого, всегда имели информацию о количестве данных в массиве. Такой способ определения количество данных было удобно при переменном количестве данных. Не нужно обращаться к последней строке. В МКЛ не знаю, поможет это свойство натурального ряда или нет. Думаю, можно найти полезное применение этого свойства.
Это как-то проще делается. Сейчас не вспомню, т.к. все данные храню в массивах (VBA), а на лист вывожу при необходимости. А потом, зачем иметь сумму 1...n, если можно хранить просто n?
 
Yuriy Asaulenko:
Это как-то проще делается. Сейчас не вспомню, т.к. все данные храню в массивах (VBA), а на лист вывожу при необходимости. А потом, зачем иметь сумму 1...n, если можно хранить просто n?
Объясню по другому: имеется столбец А, учитывающий количество данных в массиве М. Нужно, чтобы, при появлении новых данных, их количество отображалась в столбце Б без обращения к адресу в соответствующей строке А? Это можно сделать только так, как показано выше.
 
Yousufkhodja Sultonov:
Объясню по другому: имеется столбец А, учитывающий количество данных в массиве М. Нужно, чтобы, при появлении новых данных, их количество отображалась в столбце Б без обращения к адресу в соответствующей строке А? Это можно сделать только так, как показано выше.
Коли строки нумерованные, то внизу, под столбцом с номерами ставите в клеточке =MAX() (подробнее в Хелп Екселя) и все.
 
Yuriy Asaulenko:
Это как-то проще делается. Сейчас не вспомню, т.к. все данные храню в массивах (VBA), а на лист вывожу при необходимости. А потом, зачем иметь сумму 1...n, если можно хранить просто n?
В том-то и дело, что, n можно не хранить, а всегда рассчитывать. Правда, не знаю особенности МКЛ.
 
Yuriy Asaulenko:
Коли строки нумерованные, то внизу, под столбцом с номерами ставите в клеточке =MAX() (подробнее в Хелп Екселя) и все.
Внизу нумерация постоянно меняются, ааа..., Вы имеете ввиду далеко внизу ставить этот символ?
 
Yousufkhodja Sultonov:
В том-то и дело, что, n можно не хранить, а всегда рассчитывать. Правда, не знаю особенности МКЛ.
Проще хранить N. Всегда и везде, во всех случаях, и не заморачиваться
 
Yousufkhodja Sultonov:
Внизу нумерация постоянно меняются, ааа..., Вы имеете ввиду далеко внизу ставить этот символ?

Да, далеко внизу. А вверху ссылку на эту ячейку, типа =G:340, чтобы вниз не лазить.

Можно просто количество активных строк посчитать оператором, но сходу не скажу.

 
Yousufkhodja Sultonov:

Здесь можно собирать математические соотношения (хитрости), полезные при программировании.

1. Если имеется ряд данных 1, 2, 3, ....., n, например, количество строк данных, то, величину n можно определять, не обращаясь к строке n, следующим образом:

n = - 0,5 + (0,25 + 2*SUMMAn)^0.5

Пример: 1, 2, 3, 4, 5

SUMMAn = 1 + 2 + 3 + 4 + 5 = 15

5 = - 0,5 + (0,25 + 2*15)^0.5 = -0,5 + (30,25)^0,5 = - 0,5 + 5.5 = 5

Он все равно обращается и пересчитывает SUMMAn при каждом запросе. Зачем тогда такое усложнение?
Причина обращения: