Всем привет!
Задали мне тут вопрос, почему нет цикла for c таким типом. Человек вторую неделю осваивает программирование, поэтому ему непонятно. В принципе, я ответил, что раньше операции с плавающей запятой были затратные, поэтому в Си сделали циклы с типом int. А вы что думаете?
-------- это кусок из его поста у меня на форуме ------------
Вообще-то, ситуация могла быть немного странной.. но теоретически могла быть..
Например, сделать цикл по цене
[quote]
int start()
{
double p;
for(p=1.22;p<1.28;p+=0.01)
Alert("Докупился по цене", p ,"пипс");
}
vog>Задали мне тут вопрос, почему нет цикла for c таким типом.
во-первых, как заметили выше, он есть.
во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный.
vog>>Задали мне тут вопрос, почему нет цикла for c таким типом.
D>во-первых, как заметили выше, он есть. D>во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный.
В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще?
Здравствуйте, dilmah, Вы писали:
D>во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный.
Каким образом он превратится в бесконечный?
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, dilmah, Вы писали:
D>>во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный. MM>Каким образом он превратится в бесконечный?
для double вполне может быть что x + 0.1 == x будет true
D>>во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный. MM>Каким образом он превратится в бесконечный?
Каким образом он может БЫТЬ бесконечным достаточно очевидно: есть числа для которых a+b==a и если такие числа встретятся в этой поcледовательности, то цикл перестает прогрессировать.
Каким образом он может ПРЕВРАТИТЬСЯ в бесконечный -- ну либо если пределы/шаг цикла задаются неконстантами. Либо при портировании на другую платформу, с другим форматом/округлением флоатов.
Здравствуйте, vog, Вы писали:
vog>Всем привет! vog>Задали мне тут вопрос, почему нет цикла for c таким типом. Человек вторую неделю осваивает программирование, поэтому ему непонятно. В принципе, я ответил, что раньше операции с плавающей запятой были затратные, поэтому в Си сделали циклы с типом int. А вы что думаете?
туда можно пихать все, даже нескалярные типы — итераторы например. а можно вообще for(;)
но ответом на вопрос почему чаще всего там int скорее всего будет
1) потому что очень часто i используется для перебора массива и double там будет как зайцу стоп-сигнал
2) можно нарваться на неразбериху с "масштабом". кто-то добрый поменяет 0.01 на 0.1 и привет
3) double считать таки затратнее чем int
If the message above is in English — means I'm wasting my work time and work computer to post here. No hard feelings
Здравствуйте, vog, Вы писали:
vog>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще?
C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет.
Здравствуйте, Miroff, Вы писали:
M>Здравствуйте, vog, Вы писали:
vog>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще?
M>Java, Python, Ruby, JavaScript. Сложнее сказать в каком нет.
А покажите пожалуйста в питоне как. Каноничный range вроде требует целые.
Здравствуйте, vpchelko, Вы писали:
V>По крайне мере такие циклы не приемлемы при работе с индексами массивов данных.
А мужики-то не знали. Как же тогда функции по таблицам считают?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, dilmah, Вы писали:
D>Каким образом он может БЫТЬ бесконечным достаточно очевидно: есть числа для которых a+b==a и если такие числа встретятся в этой поcледовательности, то цикл перестает прогрессировать.
Очевидно, по-моему, обратное. Что в данном случае ничего бесконечного не будет. Приведи мне цифры от 1.22 до 1.28 с шагом 0.01, которые способны застопорить цикл? Максимум можем получить одну лишнюю или недостающую итерацию.
D>Каким образом он может ПРЕВРАТИТЬСЯ в бесконечный -- ну либо если пределы/шаг цикла задаются неконстантами. Либо при портировании на другую платформу, с другим форматом/округлением флоатов.
По такой логике ничего дробного вообще нельзя использовать ни в каких циклах
Здравствуйте, GarryIV, Вы писали:
MM>>Каким образом он превратится в бесконечный? GIV>для double вполне может быть что x + 0.1 == x будет true
Для какого double в диапазоне от 1.22 до 1.28?
Здравствуйте, vog, Вы писали:
vog>Всем привет! vog>Задали мне тут вопрос, почему нет цикла for c таким типом. Человек вторую неделю осваивает программирование, поэтому ему непонятно. В принципе, я ответил, что раньше операции с плавающей запятой были затратные, поэтому в Си сделали циклы с типом int. А вы что думаете? vog>-------- это кусок из его поста у меня на форуме ------------
Потому что существуют неточности. И если шаг 0.1 можно использовать, то 0.333333333333333 уже может привести к проблемам.
MM>Очевидно, по-моему, обратное. Что в данном случае ничего бесконечного не будет. Приведи мне цифры от 1.22 до 1.28 с шагом 0.01, которые способны застопорить цикл? Максимум можем получить одну лишнюю или недостающую итерацию.
я не упоминал конкретных значений.
Я только указал на наличие непримиримой классовой борьбы между ПЛАВАЮЩЕЙ запятой и ФИКСИРОВАННЫМ шагом.
В случае 1.22->1.28 с шагом 0.01 естественно напрашивается фиксированная запятая.
MM>По такой логике ничего дробного вообще нельзя использовать ни в каких циклах
ну это недалеко от правды. Принимать РЕШЕНИЯ (а выходить или не выходить из цикла это тоже решение) нужно опираясь как можно больше на дискретное, комбинаторное состояние, а не на результаты вычислений с плавающей точкой.
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, GarryIV, Вы писали:
MM>>>Каким образом он превратится в бесконечный? GIV>>для double вполне может быть что x + 0.1 == x будет true MM>Для какого double в диапазоне от 1.22 до 1.28?
О, да.
Написать в комментах, что для диапазона [1.22 ; 1.28) работает, а для других — тестируйте сами.
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, dilmah, Вы писали:
D>>Каким образом он может БЫТЬ бесконечным достаточно очевидно: есть числа для которых a+b==a и если такие числа встретятся в этой поcледовательности, то цикл перестает прогрессировать. MM>Очевидно, по-моему, обратное. Что в данном случае ничего бесконечного не будет. Приведи мне цифры от 1.22 до 1.28 с шагом 0.01, которые способны застопорить цикл? Максимум можем получить одну лишнюю или недостающую итерацию.
Но ведь на кухнебирже это может очень сильно повлиять на расклад сил.
D>>Каким образом он может ПРЕВРАТИТЬСЯ в бесконечный -- ну либо если пределы/шаг цикла задаются неконстантами. Либо при портировании на другую платформу, с другим форматом/округлением флоатов. MM>По такой логике ничего дробного вообще нельзя использовать ни в каких циклах
Для таких штук лучшие собаководы успешные трейдеры придумали использовать целые.
Здравствуйте, blackhearted, Вы писали:
B>О, да. B>Написать в комментах, что для диапазона [1.22 ; 1.28) работает, а для других — тестируйте сами.
Угу, я уже понял, что никто здесь в управляющих переменнах цикла никогда числа с плавающей запятой не использует. А то не дай Бог, цикл превратиться в бесконечный. О! А еще по int-у тоже нельзя цикл гонять, вдруг за границу выйдем. Как страшно жить.
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, blackhearted, Вы писали:
B>>О, да. B>>Написать в комментах, что для диапазона [1.22 ; 1.28) работает, а для других — тестируйте сами. MM>Угу, я уже понял, что никто здесь в управляющих переменнах цикла никогда числа с плавающей запятой не использует. А то не дай Бог, цикл превратиться в бесконечный. О! А еще по int-у тоже нельзя цикл гонять, вдруг за границу выйдем. Как страшно жить.
Везде стараемся обойтись целыми, есть такая фигня.
Как научили, так и копаемся. Жить страшновато, согласен.
Здравствуйте, blackhearted, Вы писали:
D>>>Каким образом он может БЫТЬ бесконечным достаточно очевидно: есть числа для которых a+b==a и если такие числа встретятся в этой поcледовательности, то цикл перестает прогрессировать. MM>>Очевидно, по-моему, обратное. Что в данном случае ничего бесконечного не будет. Приведи мне цифры от 1.22 до 1.28 с шагом 0.01, которые способны застопорить цикл? Максимум можем получить одну лишнюю или недостающую итерацию. B>Но ведь на кухнебирже это может очень сильно повлиять на расклад сил.
Безусловно. Но это уже другой вопрос. Я же спрашивал про превращение приведенного цикла в бесконечный. Сейчас уже понял, что спутал контекст. dilmah ответил про циклы по double в общем, а я думал, что он имеет ввиду "бесконечность" приведенного цикла.
Здравствуйте, MxMsk, Вы писали:
MM>Угу, я уже понял, что никто здесь в управляющих переменнах цикла никогда числа с плавающей запятой не использует. А то не дай Бог, цикл превратиться в бесконечный. О! А еще по int-у тоже нельзя цикл гонять, вдруг за границу выйдем. Как страшно жить.
и никому не говорить про указатели...
Будет накапливаться погрешность. А это не всегда приемлемо.
double d;
for (d = 0.0; d < 1000.0; d += 0.01) ;
Console.WriteLine(d);
---------------------
Output: d оказалось больше тысячи!
1000,00999999924
Press any key to continue . . .
Здравствуйте, dima_ksk, Вы писали:
_>Потому что существуют неточности. И если шаг 0.1 можно использовать, то 0.333333333333333 уже может привести к проблемам.
Хинт — основание в double хранится в двоичном виде, и иррациональные числа для двоичной и десятичной системы не совпадают.
Здравствуйте, msk78, Вы писали:
M>Будет накапливаться погрешность. А это не всегда приемлемо. M>double d; M>for (d = 0.0; d < 1000.0; d += 0.01) ; M>Console.WriteLine(d); M>--------------------- M>Output: d оказалось больше тысячи! M>1000,00999999924 M>Press any key to continue . . .
В приведённом примере d обязано быть больше тысячи
Здравствуйте, andyag, Вы писали:
A>Здравствуйте, vog, Вы писали:
vog>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет.
В Паскале и его наследниках: Модула-2, Оберон, Компонентный паскаль...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
vog>>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет. LVV>В Паскале и его наследниках: Модула-2, Оберон, Компонентный паскаль...
Здравствуйте, andyag, Вы писали:
vog>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет.
Здравствуйте, Deprivator, Вы писали:
D>Здравствуйте, LaptevVV, Вы писали:
vog>>>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>>>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет. LVV>>В Паскале и его наследниках: Модула-2, Оберон, Компонентный паскаль...
D>так це ж разве языки?!
Покруче С/С++ будут...
С сайта Информатика-21
2012-05-09
Ко Дню Победы приурочиваем новость, пришедшую из команды нашего консультанта, конструктора БПЛА Н.В.Чистякова, ещё во время визита Н.Вирта принявшего решение о переходе на Оберон, с чем, однако, имели место трудности из-за сугубой специфики используемого тогда "железа": ... наконец-то, перешли с Embedded Pascal на Astrobe Oberon-07.
После устранения обнаруженных ошибок в компиляторе Astrobe, он нас стал устраивать.
Николаю Валерьевичу Оберон понравился ...
Вот, по-моему, в чём состоят основные преимущества перехода с Embedded Pascal на Оберон:
Теперь нет ни одной строчки на ассемблере.
Удобен тип SET, именно в таком виде, как в Обероне. Особенно в системном программировании.
Компилятор гораздо надёжнее, т. к. язык проще.
В Embedded Pascal были неустранённые ошибки, которые были известны, и их обходили стороной, в том числе использованием ассемблера...
Перешли с архитектуры 8051 на более простую — ARM. ...
Выделены пункты в актуальную и обсуждаемую тему о пригодности Оберонов в системном программировании. Напомним, что тип SET в Обероне -- это средство побитовой работы, математически элегантно и концептуально чисто реализованное в теоретико-множественной парадигме (см. Сообщение о языке).
Приятно, что в команде Чистякова теперь работает выпускник Физического факультета МГУ Александр Ширяев, прошедший через спецкурс Ф.В.Ткачева.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, Ночной Смотрящий, Вы писали:
_>>Потому что существуют неточности. И если шаг 0.1 можно использовать, то 0.333333333333333 уже может привести к проблемам.
НС>Хинт — основание в double хранится в двоичном виде, и иррациональные числа для двоичной и десятичной системы не совпадают.
Иррациональное число — это такое, которое непредставимо в виде дроби n/m для целых n, m, и это от основания системы счисления не зависит. То, которое не совпадает, называется «бесконечные периодические дроби».
Здравствуйте, avpavlov, Вы писали:
A>Здравствуйте, msk78, Вы писали:
M>>Будет накапливаться погрешность. А это не всегда приемлемо. M>>double d; M>>for (d = 0.0; d < 1000.0; d += 0.01) ; M>>Console.WriteLine(d); M>>--------------------- M>>Output: d оказалось больше тысячи! M>>1000,00999999924 M>>Press any key to continue . . .
A>В приведённом примере d обязано быть больше тысячи
A>
A>for (int i=0; i < 10; i++);
A>Console.WriteLine(d);
A>
Здравствуйте, koandrew, Вы писали:
D>>Бабло ни в коем случае нельзя хранить в double. Бабло надо хранить исключительно в unsigned long long. K>В правильных языках для хранения бабла существуют типы данных с фиксированной точкой — вот в них бабло и надо хранить
Целочисленная арифметика граздо быстрее и эффективнее и в плане хранения тоже. Более того, никто не обещает, что в валюте "штука" вообще есть что-либо после запятой.
И терминальные устройство зачастую оперируют именно целым числом. Но вообще всё на самом деле зависит от задачи и то что с этими суммами делать. В оперднях может и имеет смысл использовать десятичные типы — а в онлайн процессингах — никак нет, проверено практикой.
Здравствуйте, koandrew, Вы писали:
K>В правильных языках для хранения бабла существуют типы данных с фиксированной точкой — вот в них бабло и надо хранить
Только вот, как нужно считать проценты, любые банковские или по ставкам налогов, или просто делить, например, сумму на количество, всплывают всё те же проблемы, что и при использовании double.
vog>int start()
vog>{
vog> double p;
vog> for(p=1.22;p<1.28;p+=0.01)
vog> Alert("Докупился по цене", p ,"пипс");
vog>}
Для начала, все эти числа (1.22, 1.28, 0.01) в double непредставимы точно...
Так что суммы лучше просто в __int64 в центах выражать и не страдать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Ночной Смотрящий, Вы писали:
_>>Потому что существуют неточности. И если шаг 0.1 можно использовать, то 0.333333333333333 уже может привести к проблемам.
НС>Хинт — основание в double хранится в двоичном виде, и иррациональные числа для двоичной и десятичной системы не совпадают.
Иррациональные совпадают, конечно, но в целом мысль верная
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Deprivator, Вы писали:
LVV>>В Паскале и его наследниках: Модула-2, Оберон, Компонентный паскаль... D>так це ж разве языки?!
Они по крайней мере на машинный код в текстовом редакторе не похожи.
Здравствуйте, vog, Вы писали:
vog> Человек вторую неделю осваивает программирование, поэтому ему непонятно. ... поэтому в Си сделали циклы с типом int. А вы что думаете?
vog>int start()
Чел mql4 штурмует, а ты его про си грузишь. нэ хорошо.
Здравствуйте, alzt, Вы писали:
A>Здравствуйте, andyag, Вы писали:
vog>>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет.
A>В языках, которых нет циклов и типа дабл.
Я так понимаю, это про арифмометр имени Феликса Эдмундовича Дзержинского? Видел такой в детстве )))
Здравствуйте, koandrew, Вы писали:
K>Здравствуйте, Dair, Вы писали:
D>>Бабло ни в коем случае нельзя хранить в double. Бабло надо хранить исключительно в unsigned long long.
K>В правильных языках для хранения бабла существуют типы данных с фиксированной точкой — вот в них бабло и надо хранить
А ещё лучше бабло хранить не в языках, а в реальных ценностях типа нефти/золота
Здравствуйте, MxMsk, Вы писали:
B>>О, да. B>>Написать в комментах, что для диапазона [1.22 ; 1.28) работает, а для других — тестируйте сами. MM>Угу, я уже понял, что никто здесь в управляющих переменнах цикла никогда числа с плавающей запятой не использует.
Стараются не использовать, ес-но.
MM>А то не дай Бог, цикл превратиться в бесконечный.
Чаще всего набегает банальная погрешность. Размеров вплоть до нескольких шагов цикла.
MM>О! А еще по int-у тоже нельзя цикл гонять, вдруг за границу выйдем. Как страшно жить.
По инту можно и нужно. Диапазон надо знать, любая платформа дает максимальные и минимальные значения числовых типов. Гоняй масштабированный цикл на int, а внутри получай каждый раз из него double, и будет тебе щастье с минимумом погрешностей.
Здравствуйте, pagid, Вы писали:
P>Только вот, как нужно считать проценты, любые банковские или по ставкам налогов, или просто делить, например, сумму на количество, всплывают всё те же проблемы, что и при использовании double.
Не всплывают, если внимательно читать требования. Потому что куда девать ошибки округления там должно оговариваться.
Здравствуйте, vog, Вы писали:
A>>В языках, которых нет циклов и типа дабл.
vog>Я так понимаю, это про арифмометр имени Феликса Эдмундовича Дзержинского? Видел такой в детстве )))
Была в свое время такая система — Gupta Centura, так вот в том местном языке единственный цикл был while.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Не всплывают, если внимательно читать требования. Потому что куда девать ошибки округления там должно оговариваться.
Должны оговариваться, но внимания эти особенности требуют куда, как больше, чем возможное (согласен, конечно — нежелательное) использование double для денег.
Здравствуйте, GarryIV, Вы писали:
D>>>во-вторых, писать такой цикл (для плавающей точки) с фиксированным шагом это дурной тон, потому что такой цикл рискует незаметно превратиться в бесконечный. MM>>Каким образом он превратится в бесконечный? GIV>для double вполне может быть что x + 0.1 == x будет true
если что, там в условии < а не ==, так что бесконечным он никак не станет
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, Centaur, Вы писали:
_>>>Потому что существуют неточности. И если шаг 0.1 можно использовать, то 0.333333333333333 уже может привести к проблемам. НС>>Хинт — основание в double хранится в двоичном виде, и иррациональные числа для двоичной и десятичной системы не совпадают. C>Иррациональное число — это такое, которое непредставимо в виде дроби n/m для целых n, m, и это от основания системы счисления не зависит.
А если основание 3, то 1/3 можно точно представить будет?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, ДимДимыч, Вы писали:
V>>А если основание 3, то 1/3 можно точно представить будет? ДД>Конечно. 1/3 представляется как 0.1.
А если основание — иррациональное число? К примеру — e?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, ДимДимыч, Вы писали:
V>>А если основание — иррациональное число? К примеру — e? ДД>Хм. Тогда точно представляется любое число-сумма e^x, где x есть из Z. Соответственно, рациональные числа, кроме 0 и 1, точно не представляются.
Т.е. основание всё-таки влияет на иррациональность числа и 1 стала иррациональной?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, ДимДимыч, Вы писали:
V>>Т.е. основание всё-таки влияет на иррациональность числа и 1 стала иррациональной? ДД>С чего бы это?
Ну так мы ж не может представить 1 конечной дробью, значит иррациональное.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, vog, Вы писали:
vog>Всем привет! vog>Задали мне тут вопрос, почему нет цикла for c таким типом. Человек вторую неделю осваивает программирование, поэтому ему непонятно. В принципе, я ответил, что раньше операции с плавающей запятой были затратные, поэтому в Си сделали циклы с типом int. А вы что думаете?
А тут и думать нечего. Если перебор нельзя организовать по целым числам, то их что нельзя сосчитать? Это ж бред..
Здравствуйте, ДимДимыч, Вы писали:
V>>Ну так мы ж не может представить 1 конечной дробью, значит иррациональное. ДД>1 = e⁰
Сами себя решили опровергнуть?
Соответственно, рациональные числа, кроме 0 и 1, точно не представляются
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Здравствуйте, ДимДимыч, Вы писали:
V>>Сами себя решили опровергнуть? V>>
V>>Соответственно, рациональные числа, кроме 0 и 1, точно не представляются
ДД>И что не правильно?
разве e^0 не точное представление единицы?
ДД>Не пойму, что вы пытаетесь доказать и с чем спорите.
Не доказать, а понять почему это от основания не зависит когда зависит. К примеру, если не 1 то можно взять 2, его ведь тоже точно не представить числом с основанием "e"? Тогда получается что 2 в этом случае иррациональное число.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
V>>>Соответственно, рациональные числа, кроме 0 и 1, точно не представляются
ДД>>И что не правильно? V>разве e^0 не точное представление единицы?
Точное, я об этом и сказал.
V>Не доказать, а понять почему это от основания не зависит когда зависит.
Что зависит, рациональность? Число может быть рациональным, или иррациональным, это свойство самого числа, независимо от его представления в системе счисления. А возможность точного представления числа зависит от основания системы счисления, но к рациональности отношения не имеет.
V>К примеру, если не 1 то можно взять 2, его ведь тоже точно не представить числом с основанием "e"? Тогда получается что 2 в этом случае иррациональное число.
2 представимо в виде дроби целого числа 2 и натурального числа 1. Оно рационально по определению.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
vog>>>>В каком языке есть цикл for с типом double? Так, сам себе отвечаю — в Матлабе есть )) А еще? A>>>C, C++, C#, Java. Я бы скорее задал вопрос — в каком языке его нет.
A>>В языках, которых нет циклов и типа дабл.
vog>Я так понимаю, это про арифмометр имени Феликса Эдмундовича Дзержинского? Видел такой в детстве )))
Ну, в функциональных языках есть тип дабл, но нет циклов
Здравствуйте, ДимДимыч, Вы писали:
ДД>ДимДимыч писал:
ДД>>В фокале (эх, БК-0010) и синклеровском диалекте бейсика и того не было. IF/GOTO, и хватит.
ДД>А, не, гоню. В бейсике FOR был, а STEP там не было.
Поять гонишь В Sinclair BASIC STEP был.