Модные паттерны проектирования на форуме :)
Запись от _Ivana размещена 25.09.2014 в 23:14
Показов 6375
Комментарии 13
|
Мода - штука изменчивая и непостоянная. Но если человек следит за модой, так сказать, держит руку на пульсе, то он никогда не пропустит ее изменений и всегда будет применять последние новинки. Причем, если кто-то один самостоятельно изобретет какую-то новинку, это может пройти незамеченным и вскоре забыться. А если новая тенденция подхватывается многими, тогда можно уже говорить о новом модном веянии. Например, недели 2 назад на форуме было модно задавать натуральный счетчик цикла типом float или double. Начинать, как водится, с нуля и честно инкрементировать его на единицу при каждом проходе цикла. А со вчерашнего дня в тренде новая фишка - для получения всех нечетных чисел, или всех чисел кратных n, бежать в цикле с единичным инкрементом и каждый раз старательно проверять, делится ли очередное число на 2 или на n. |
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 13
Комментарии
-
Запись от Andrej размещена 30.09.2014 в 01:08
-
Новинка последних дней: pow(-1, n) - для вычисления (-1)^n при расчете сумм знакопеременных рядов.Запись от _Ivana размещена 03.10.2014 в 23:07
-
Запись от Игорь[Igor] размещена 04.10.2014 в 20:22
-
Это могло бы объяснить регулярное изобилие простейших тем со "спасите/помогите" в модных разделах типа С/С++ и почти полное затишье в других разделах. Но подобные "паттерны" этим объяснить имхо трудно
Запись от _Ivana размещена 04.10.2014 в 20:55
-
[QUOTE=_Ivana;bt10471]Новинка последних дней: pow(-1, n) - для вычисления (-1)^n при расчете сумм знакопеременных рядов.[/QUOTE]А за миграцию в программирование математических паттернов надо заставлять проходить ручной тест за исполнителя при нескольких десятках тысяч членов ряда. Чтоб фигели от монотонности. И при этом заставлять степень на каждом шагу считать накоплением произведения всех минусединиц в равном показателю количестве вложенным циклом с выписыванием всех промежуточных произведений.Запись от taras atavin размещена 04.10.2014 в 21:05
-
Из последних новинок - к концу октября по программе ВУЗов наверное идет мучение студентов вычислением сумм арифметических прогрессий - они, как водится, вследствие атрофированности мозга наводняют форум обилием подобных тем. А местные советчики щедро делятся с ними кодом, в котором искомые суммы вычисляются..... правильно, через цикл
Запись от _Ivana размещена 27.10.2014 в 02:22
-
Всё правильно: такие задачи имеют решения двух видов: программные и математические и раз уж пришли спрашивать здесь, то вот и получают программные решения, а это цикл. Решения же вроде [CPP]return (a0+(d*(double)(n-1))/2.0)*(double)n);[/CPP] - математические. Где строчке хоть какой то намёк на семантику d? Так что программная задача здесь решена совсем другая - вычислить значение выражения (a0+d*(n-1)/2)*n, просто выражение [B]совпало[/B] с формулой суммы арифметической прогрессии. Так что если задача дана в качестве учебной на информатике, то цель - показать, как с помощью цикла получить известный ответ, с которым можно сравнить вывод программы и таким образом проверить, правильно ли она считает. И применение формулы будет не правильным. Другое дело, что это наглядное пособие, как в реальных проектах делать не надо.Запись от taras atavin размещена 27.10.2014 в 04:25
-
Но я и для факториала всегда заставлял писать две функции, а не одну и располагать их рядом. Одна должна была быть через цикл, а вторая рекурсивная. И после теста обеих функций объяснял, чем плоха одна из них. Задача на вычисление суммы прогрессии на информатике тоже должна по-хорошему формулироваться так: даны первый член a0 и шаг d арифметической прогрессии, требуется дважды вычислить сумму n первых её членов: один раз по формуле и один раз с помощью цикла. И после теста программы объяснять, чем плохо решение через цикл. Тогда будут шансы на увеличение доли тех, кто в реальных задачах будет решать подобные подзадачи математически, а не программно.Запись от taras atavin размещена 27.10.2014 в 04:33
-
Из последнего - шедевр вида "что тут думать,трясти надокогда компьютер посчитает"
C++ 1 2
for (int i = 0; i < 999999; i++) if (i % 7 == 0 && (i + 1) % 7 == 0)
Запись от _Ivana размещена 31.10.2014 в 22:01
-
Запись от castorsky размещена 14.06.2015 в 23:53
-
Из нового:
Запись от _Ivana размещена 01.08.2016 в 22:27
-
Как решать? Правильно - суммировать в цикле!
Но поскольку ТС страдает STL головного мозга, то цикл по вектору, в который предварительно запушиваются все 10^15 элементов...Запись от _Ivana размещена 02.08.2016 в 23:32
-
В наше время если ТС слышал об STL это уже хорошо, можно сказать продвинутый чувак. А если уж пытается что нибудь сварганить на его основе, можно за одно это в репу плюсануть. Хуже когда горе помощники, коих тут не мало, например, при разложении в ряд Тейлора, каждый раз вычисляют факториал. И объясняешь человеку, у которого за сотню, а то и более лучших ответов и репа к тысяче, не надо так делать, накладно это. Но он с упорством бывалого маньяка продолжает гнуть свою линию, не слыша и не видя что ему советуют (причем иногда и не один пользователь). А ТС смотрит на такое "решение" и принимает его за чистую монету. А мы потом удивляемся что из институтов выходят недоинженеры, недоконструктора, недопрограммисты.Запись от Manowar размещена 18.06.2017 в 09:09




