Преподавательское

May 12, 2017 10:17

Вчера студент сказал мне, что функция rand генерирует случайное десятичное число и спросил, какой функцией он может сгенерировать случайное шестнадцатеричное :). Интересно, как он сдал на первом курсе информатику...

Leave a comment

Comments 23

anjutka May 12 2017, 08:22:13 UTC
А бывают такие люди, у которых в голове вместо математики - что-то другое. Как они живут с этим - не представляю:)
Но у меня дочка такая, так что я о них очень в курсе.
Но с другой-то стороны, на программиста она учиться явно не пойдёт)

Reply


kouzdra May 12 2017, 08:25:17 UTC
Кстати в PL/I например этот вопрос имеет совершенно разумный смысл. Так что студент не столь уж глупо поступил задав вопрос, в котором не был 100% уверен

Reply

sola_ May 12 2017, 20:23:24 UTC
Случайная величина помноженная на константу - тоже случайная величина...

Reply

kouzdra May 13 2017, 04:44:02 UTC
бггг.

именно что нет; по двум сраз причинам:

PL/I (как и довольно многие языки) имеет разные типы для десятичных и двоичных чисел - более того с разными физически представлениями (например максимальная разрядност DECIMALO - 15 знаков, а BINARY - 32 двоичных разряда) - уже поэтому соответствующие функции различны.

Но что важнее - он (как опять же довольно многие языки) работает тут не с целыми числами, а с числами с фиксированной точкой - со знаками после запятой - а там результат округления случайность порушит практически 100%

Я же говорю - ваша реплика и пост - пример именно вашей зашоренности.

Reply

aso May 13 2017, 07:33:32 UTC
Двоично-десятичная арифметика в ЯВУ?
Арригинально!
Она умела, вроде, практически, нэ?
Но, вообще - подобные изолированные "дырки" легко могут жить длитеьное время в мозгу, поскольку особенно ни на что не влияют.
fixedpoint'ы однозначно отображаются на целые, да и сама rand является случайной только псевдо.
Собственно, всё это - чисто досужие рассуждения.
Никакого особенного значения это всё не имеет.

Reply


elebroom May 13 2017, 20:47:45 UTC
Ну а у меня в своё время преподаватель (!) на вопрос задачи "представьте число "-0" (имелся в виду ноль с отрицательным знаковым битом) в дополнительном коде не принял ответ "не имеет решения" (в дополнительном коде ноль кодируется единственным образом и знаковый бит у него сброшен, то есть ноль там "положительный").

Reply

karpion May 13 2017, 21:48:03 UTC
Ну а если всё-таки написать "минус ноль" с установленным знаковым битом? По идее, в ряде случаев такое число может возникнуть при вычислениях, и это надо обрабатывать.

Reply

aso May 14 2017, 05:47:10 UTC
Там ничего не отбрасывается.
http://alex-zakharov.livejournal.com/213874.html?thread=994930#t994930

Reply

elebroom May 14 2017, 07:08:44 UTC
В дополнительном коде это не будет кодом числа "ноль", как справедливо написал asox.

Reply


t_a_l_l_y May 15 2017, 09:06:09 UTC
У меня в 11м классе получено удостоверение лаборанта-программиста, но я не поняла, о чем ты :)
Видимо, у меня в голове, как выразилась Аня, "что-то другое" :)
Мне почему-то кажется, что система счисления должна входить в качестве параметра в генератор случайных чисел...

Reply

aso May 15 2017, 20:24:47 UTC
а) Современные компьютеры построены на базе бистабильных, т.е. "двоичных" схем, система "Сетунь", построенная на роичных логических элементах - осталась в далёком прошлом ( ... )

Reply

alex_zakharov May 15 2017, 21:24:57 UTC
Наташа,

вот код, который он видел перед глазами
int a=rand(); //сгенерировали целое число
std::cout << a; //вывели его на экран

После этого на экране - число в десятичном представлении. Но если бы он написал
std::cout << hex() << a ( ... )

Reply


Leave a comment

Up