|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Приоритет математических операций...
Здравствуйте, господа! Кто знает приоритеты выполнения математических операций, а именно сложение, вычитание, деление, умножение и возведение в степень?
|
#2
|
|||
|
|||
Ниже перечислены математические операции в порядке убывания приоритета:
Цитата:
еще тут и тут P.S.: видимо гугел и яндекс придумали для меня одного )) взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#3
|
|||
|
|||
Цитата:
Честное слово я гуглил! Но внятного ничего не нашёл((( P.S. По этим ссылкам я был... Но так ничего и не понял... Последний раз редактировалось link-oln, 31.03.2011 в 19:06. |
#4
|
|||
|
|||
ну щас поняли или нет, по тому что я написал?
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#5
|
|||
|
|||
Да, но тут у меня ещё один вопрос по теме:
Учитывает ли Delphi эти приоритеты? Если например ввести - s := a+b/c*b/d-c; то она выдаст правильный ответ? |
#6
|
||||
|
||||
Цитата:
a+((b/c)*b)/d-c) = a+b/c*b/d-c Тоесть сначала к а добавим б/с затем результат *б затем что получилось /д и в конце -с Последний раз редактировалось Konrad, 31.03.2011 в 21:43. |
#7
|
|||
|
|||
Вот, в том и загвоздка! Что имеет первый приоритет, умножение или деление???
Последний раз редактировалось link-oln, 31.03.2011 в 21:47. |
#8
|
||||
|
||||
Цитата:
Они равнозначны. Тоесть если написать а*б/с то сначала а*б а потом /с если а/б*с то а/б а потом *с. |
#9
|
||||
|
||||
Да заключи в скобки и задай нужный приоритет и не парся.
Меня греют ваши плюсы к моей репутации... |
#10
|
|||
|
|||
Но ведь как не возьми: a+((b/c)*b)/d-c) или a+((b/c)*(b/d))-c результат кажется один и тот... Так что он в итоге всегда будет "правильным". Или я не прав?
|
#11
|
|||
|
|||
Короче, я дошел к такому умовыводу: как пример не задай, главное сначала произвести все возведения в степень, потом все деления\умножения и напоследок все сложить, и результат будет тот что надо. И да будет мне счастье!
|
#12
|
||||
|
||||
Цитата:
А дроби в школе выучил?))) (b/c)*b)/d = (b*b)/(c*d) = (b/d)*b/c = (b/c)*(b/d) = (b/d)*(b/c) и т.д. и делфи тут не при чем. Последний раз редактировалось Konrad, 31.03.2011 в 22:15. |
#13
|
|||
|
|||
Я - ИДИОТ! (И Вы все тоже!)
Вот как вы прикажете вычислить это: 16/4*10??? Ибо 40 <> 0,4 !!! Решение: Как мы учили в школе - при умножении дробного числа на целое это число нужно умножить на числитель и результат поделить на знаменатель! Выходит: (16/4=4)*10 == (16*10=160)/4 == 40! Так что НИФИГА "*" и "/" не равноправны, а деление имеет БОЛЬШИЙ приоритет чем умножение! Вот так, сам дал себе ответ на свой вопрос. Всем спасибо за внимание! |
#14
|
|||
|
|||
(16 разделить на 4) * 10 = 4 * 10 = тоже 40
взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя |
#15
|
|||
|
|||
Цитата:
(16/4=4)*10 == (16*10=160)/4 == 40! |