Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да там же, в хелпе:
Извините, что вмешиваюсь в дискуссию, но в учебнике есть еще одно место, которое заставило меня напрячься (не имея пока достаточно заний и опыта приходится все прокручивать в голове и придираться ко всему). Я вроде уже все выяснил, но для других, кто только начинает осваивать азы, возможно не лишним будет пояснение.
Дело в следующем:
Раздел "Операции и выражения" Вот что я там увидел:
1. Вычисление выражения производится слева направо, причём каждый промежуточный результат вычисляется по правилам приведения типов и вычисления значений и уже в таком виде участвует в дальнейших вычислениях.
2. Задача 6. Вычислить значения выражений А/В*С и А*С/В для целых чисел А, В и С.
int A = 3; // Значение целого типа
int B = 5; // Значение целого типа
int C = 6; // Значение целого типа
int Res_1 = A/B*C; // Результат 0 (ноль)
int Res_2 = A*C/B; // Результат 3 (три)
С этим все понятно - по правилам.
3. Фрагмент из рабочей программы, написанной для обучения, по расчету гипотенузы:
int A = 3; // Первый катет
int B = 4; // Второй катет
int C_2 = A*A + B*B; // Сумма квадратов катетов
int C = MathSqrt( C_2); // Вычисление гипотенузы
Вот здесь стало не понятно.
Так как в самом начале раздела отмечаются различия между языком программы и некоторыми математическими алгоритмами, фраза "по правилам приведения типов и вычисления значений", была понята мною так:
по правилам приведения типов - речь об иерархии типов: string - double - все остальные
по правилам вычисления значений - речь идет о правилах округления целых чисел типа int
Таким образом, Согласно п. 1 получаем:
int C_2 = A*A + B*B = 3*3+4*4 = 9+4*4 = 13*4 = 52
Может стоит добавить в правило что-то вроде "при этом операции выполняются в математической последовательности".
Andy_Kon, а вот эту фразу ты понимаешь?
Andy_Kon, а вот эту фразу ты понимаешь?
1. Я не помню, чтобы мы вместе пили (не переходим на фамильярности).
2.
Возвращает ближайшее меньшее целое от х.
ОК, на Вы. На самом деле это не фамильярность, но я спорить не собираюсь.
Ага, аналогично: это и есть максимальное из всех целых, которые не больше числа х. Эту фразу Вы тоже не понимаете?
P.S. Ну и ладно. Проехали.
Может стоит добавить в правило что-то вроде "при этом операции выполняются в математической последовательности".
Общий смысл замечания понятен.
Вообще-то, как само собой разумеющееся, нужно понимать, что приоритет математических операций в программировании сохраняется таким же, как и в простой арифметике. Разница состоит лишь в том, что в программировании, при вычислении промежуточных значений, работает правило отношения типов.
Поскольку возник вопрос, то придётся, видимо, изменить формулировку и дать небольшой пример с комментариями. Подумаю как лучше это сделать.
Спасибо, что обратили внимание.
ОК, на Вы. На самом деле это не фамильярность, но я спорить не собираюсь.
Ага, аналогично: это и есть максимальное из всех целых, которые не больше числа х. Эту фразу Вы тоже не понимаете?
О способе написания.
Чтобы было всегда и всем понятно.
Округляет дробь в меньшую сторону.
Округляет дробь в большую сторону.
Вот и всё.
По ходу та же ошибка, про которую писал в первом посте.
На этот раз глава "Оператор continue":
{ // Начало тела внешн. цикла
//--------------------------------------------------------------
for ( day = 1 ; day <= 30 ; day ++ ) // Цикл по дням месяца
One_Farm = One_Farm * ( 1 + Perc_day 100 ) ; //Накопление на 1й ферме
//--------------------------------------------------------------
Mons ++; // Считаем месяцы
if ( One_Farm < One_Farm_max ) // Если меньше допустимого,.
continue ; // .. то овец не переводим
Two_Farm = Two_Farm + One_Farm * Perc_exit 100 ; //Количес. на 2 ферме
One_Farm = One_Farm * ( 1 - Perc_exit 100 ) ; // Остаток на 1 ферме
} // Конец тела внешнего цикла
Кажется везде (не только в этом моменте, - по ходу всей главы) вместо Perc_day100 и Perc_exit100 должно быть Perc_day/100 и Perc_exit/100
Я прав?
Кажется везде (не только в этом моменте, - по ходу всей главы) вместо Perc_day100 и Perc_exit100 должно быть Perc_day/100 и Perc_exit/100
Я прав?