Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
MasterZiv > Например те же итераторы STL постинкремент реализуют в инлайн методе, > который после подстановки и удаления неиспользуемого кода, которое > выполняется любым самым захудалым компилятором, превращается в преинкремент. Это я что-то очень сомневаюсь. Пруфлинк ? Заменить преинкремет на постинкремент -- это всё равно, что заменить, например, сложение на умножение. Ради оптимизации. +1. Оптимизатор - может. У компилятора разные функции вызываются operator++() и operator++(int) Он просто не знает, что подмена возможна. Конечно, это в одном модуле - парсин и оптимизация, но этапы разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 20:23 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
mayton Верно. Но не надо забывать, даже Мартин Фаулер пишет что начальство вобщем не заинтересовано в рефакторинге. Нет экономически точких показателеф полезности этого процесса. Поддержка кода в "живом", готовом к эволюции состоянии - это 100% задача разработчика. И это сродни хорошему этикету в сообществе девелоперов. Моя начальница не знает такого слова - рефакторинг :) Эфективность есть - легче сопровождать, развивать. Но иногда лучше не трогать код, если он надежно работает, а рефакторинг в данной ситуации пользы особой не принесет. Тут нужна разумная мера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 20:26 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Это верно. Самое сложно в рефакторинге - доказать эквивалентность преобразований. Т.е. ты кодишь-кодишь, улучшаешь... а потом - Бац! И софт не работает. А модульные тесты прошли успешно. Хотя что такое тесты? Мне удавалось тестами охватить только статические функции и редкий набор инстанциируемых в памяти классов (эдакие сферические лошади в вакууме). До функциональных тестов я как-то не доходил по причине сложности формирования условий. (Это уже не 20% времени от разработки, а поболее будет). И это для Java. А в других технологиях подкидывает дерьмеца Oracle/PLSQL для которой модульные тесты - слабо интегрируются да и само их применение - под большим вопросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 20:57 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
MasterZiv > Например те же итераторы STL постинкремент реализуют в инлайн методе, > который после подстановки и удаления неиспользуемого кода, которое > выполняется любым самым захудалым компилятором, превращается в преинкремент. Это я что-то очень сомневаюсь. Пруфлинк ? Заменить преинкремет на постинкремент -- это всё равно, что заменить, например, сложение на умножение. Ради оптимизации. Я не говорю что сам компилятор заменяет пост на пре. Я говорю что пост-операторы в STL внутри реализованы как копирование плюс пре-оператор либо как пост-оператор непосредственно с raw-указателем. Поэтому при подстановке лишнее копирование будет соптимизировано и останется только пре-оператор. Для конкретики возьмем vector::iterator (<vector> в MSVC и <bits/stl_iterator.h> в G++). Понятно что можно извратиться и специально сделать, чтобы постоператоры в таком контексте нельзя было оптимизировать. Но вряд ли кто-то это будет делать специально, верно? Вот я и спрашивал, в каких же таких случаях реализовано так что компилятор не сможет соптимизировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2010, 21:59 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
системы личных сообщений нет? как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2010, 21:49 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток господа Джедаи, властители силы ! Помогите начинающему ОбиВану в его нелегком пути познания истины всего могущества светлой стороны. я запутался. как такое вообще возможно? задача: авторФункция floor может использоваться для округления значения до ближайшего целого. Оператор: y = floor ( x * 10 + .5 ) / 10; округляет х с точностью до одной десятой (первая позиция справа от десятичной точки). Оператор: y = floor ( x * 100 + .5 ) / 100; округляет х с точностью до одной сотой (вторая позиция справа от десятичной точки). Напишите программу, которая определяет четыре функции для округления х различными способами: a) roundToInteger (number) b) roundToTenths (number) c) roundToHundredths (number) d) roundToThousandths (number) Для каждого прочитанного значения ваша программа должна печатать исходное значение, число, округленное до ближайшего целого; число, округленное до ближайшей десятой, число округленное до ближайшей сотой, число округленное до ближайше тысячной. все вроде бы понятно. но непонятно одно как вообще это представлять? ведь выражение floor(х) это округление х до наибольшего целого, не меньшего чем х . другими словами я не понимаю смысл выражения y = floor ( x * 10 + .5 ) / 10; не важно какие аргументы у floor а, ведь отдает он целый результат. может ошибка где в задаче? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:01 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
double floor ( double x ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:13 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
все понял уже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:15 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Siemargl, обязательно ли нужно прибавлять 0.5? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:18 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281все понял уже Понял понял. (с) Star Wars RTFM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:24 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Siemargl, а я думал Великим Джедаям чужды подобные ухмылки к чему добавлять половину то? физический смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:35 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281, если есть ceil(x) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 00:38 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281к чему добавлять половину то?приведение double к int по правилам С++ - отброс дробной части, округление в математическом смысле - округление до ближайшего целого, для эмуляции математического округления в С++ используется конструкция ( x + 0.5 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 01:31 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
egorych, чем же ceil(x) не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 21:15 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281santexnik281, если есть ceil(x) Есть три вида округления. С избытком. С недостатком. И арифметическое. Т.е. по правилам математики, если дробная часть больше половины то единица идёт в старший разряд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 21:52 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
mayton пишет: > Есть три вида округления. С избытком. С недостатком. И арифметическое. > Т.е. по правилам математики, если дробная часть больше половины то единица > идёт в старший разряд. Есть ещё бухгалтерское. Что-то типа чётное десятое в одну сторону, нечётное -- в другую. Хотя я сам про применение такого не слышал. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 22:25 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
MasterZivЕсть ещё бухгалтерское. Что-то типа чётное десятое в одну сторону, нечётное -- в другую. Хотя я сам про применение такого не слышал. Да... это странно. Алхимия какая-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2010, 22:58 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281egorych, чем же ceil(x) не устраивает?потому что ceil округляет всегда в большую сторону, а это не арифметическое округление ни разу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 02:19 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
mayton, да понял я что округляет. есть некий господин Икс, допустим его надо округлить.. Зачем ДО округления прибавлять половину то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 10:37 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Надо взять modf и написать то округление которое надо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 11:05 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281mayton, да понял я что округляет. есть некий господин Икс, допустим его надо округлить.. Зачем ДО округления прибавлять половину то?затем, чтобы продемонстрировать, чего надо получить. Это же задание? предполагается, видимо, что выполняющий его знает, как происходит округление в С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 11:51 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
santexnik281mayton, да понял я что округляет. есть некий господин Икс, допустим его надо округлить.. Зачем ДО округления прибавлять половину то? Какой-же ты непроходимый болв сантехник Чтобы число 2.5 после мат. округления дало 3.0 надо к нему прибавить 0.5 и вычислить floor. Чтобы формула работала для заданного разряда, число подвергают линейной функции (в данном случае - это умножение на число кратное десяти) и переносят операцию округления на любой разряд, а потом линейно возвращают обратно. Чтобы не задавать слишком глупых вопросов надо сначала почитать матчасть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 13:14 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
mayton, а как на счет -2.5 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 13:48 |
|
||
|
задача для начинающих
|
|||
|---|---|---|---|
|
#18+
Я общий принцип объяснил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2010, 14:03 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=36618846&tid=2019278]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 142ms |

| 0 / 0 |
