>>> "читайте правила сообщества". Это не домашняя задачка, если вы про этот пункт из правил.
Фишка в том, что выражение равно либо 26, либо 50, в зависимости от того, в каком порядке выполнены действия. Мне любопытно, какое из решений правильно. Проверяла компилятором, он выдает разные результаты в зависимости от типа данных: если брать целые, то в результате получается 50, если вещественные - 26.
Теперь с вычислениями: eax = x2 eax = x2-x1=2 t = x2 - x1=2 ecx = y2 ecx =y2 - y1=5 t = y2-y1=5 edx = t=5 edx = t^2=25 eax = t=5 eax = t^2=25 eax = edx+edx=50 r = eax=50 Вот так получилось 50. То есть он сначала содержимое скобок подсчитал.
А на бумажке у меня с самого начала получилось 29, здесь согласен.
вообще - просто уровнение составлено с ошибкой... так как одна и та-же переменная в одном и том-же уравнении не может иметь разные значения... но если уж решать...
Ri э... даже не знаю что ответить, а неизвесные не могут менять значение? Вы вообще с математикой знакомы? Видели в учебниках фразы... "уравнение с двумя неизвесными, система уравнений с тремя неизвесными" и тд?
Lrd_Aurum Переменная не может хранить два значения одновременно. Сначала t присваивается значение x2-x1, в данном случае это 2. Затем в эту же переменную записывается значение y2-y1, то есть 5, а старое значение пропадает. Далее выполняется умножение: t*t+t*t = 5*5 + 5*5 = 50.
при x2 = 3, x1 = 1, y2 = 10, y1=5
Равняется "читайте правила сообщества".
Это не домашняя задачка, если вы про этот пункт из правил.
Фишка в том, что выражение равно либо 26, либо 50, в зависимости от того, в каком порядке выполнены действия. Мне любопытно, какое из решений правильно.
Проверяла компилятором, он выдает разные результаты в зависимости от типа данных: если брать целые, то в результате получается 50, если вещественные - 26.
42 было, 42 есть, 42 будет есть)
У меня компилятор в обоих случаях считает 50...
целочисленный вариант
читать дальше
вещественный вариант:
читать дальше
Если вы покажете код в асме вашего компилятора, тогда можно будет сказать, почему различия...
Over 9000, палюбому.
(t=x2-x1)*t + (t=y2-y1)*t
при:
x2 = 3 ; x1 = 1
y2 = 10 ; y1 = 5
Решение:
(3-1)*2 + (10-5)*5
2*2 + 5*5
4+25 = 29 - ответ
читать дальше
Вот так получилось 50. То есть он сначала содержимое скобок подсчитал.
А на бумажке у меня с самого начала получилось 29, здесь согласен.
А вот почему у вещественных вдруг 26 получилось - любопытно весьма.
Trotil
Чем вы компилируете? Я gcc и g++ пробовала.
вариант на С++
Если заменить double на int, результат другой.
Visual Studio.
Условие:
(t=x2-x1)*t + (t=y2-y1)*t
при:
x2 = 3 ; x1 = 1
y2 = 10 ; y1 = 5
Решение:
(3-1)=t=2
(10-5)=t=5
t*2 + t*5
5*2 + 5*5
10 + 25 = 35 - ответ
Если вам так критично то пожалуйста...
Хотя уравнение - выражение с одним и более неизвесными...
Условие:
(t=x2-x1)*t + (t=y2-y1)*t
при:
x2 = 3 ; x1 = 1
y2 = 10 ; y1 = 5
Решение:
(t=x2-x1)*t + (t=y2-y1)*t = z
(3-1)=t=2
(10-5)=t=5
t*2 + t*5 = z
5*2 + 5*5 = z
10 + 25 = z = 35 - ответ
Так сойдет за уравнение?
э... даже не знаю что ответить, а неизвесные не могут менять значение?
Вы вообще с математикой знакомы?
Видели в учебниках фразы... "уравнение с двумя неизвесными, система уравнений с тремя неизвесными" и тд?
t*t+t*t = 5*5 + 5*5 = 50.