Где найти программиста?

Аватара пользователя
Avatar-Lion

Где найти программиста?

Сообщение Avatar-Lion »

В общем, нужна простенькая программа под Винду: окошечко, которое заполняется полоской с процентами (ну как при установке программы или игры). Но с одним условием: чтобы каждый процент был случайным, т.е. чтобы +1% или -1% было полностью рандомным и чтобы статус этой полосочки с процентами обновлялся, скажем, несколько раз в секунду. Ну и кнопка закрытия, естественно. Всё. Больше ничего не надо.



У самого просто ни одного знакомого программиста нет, а искать каких-нибудь фрилансеров не умею, да и не хочется заморачиваться так серьезно ради простой программки. В общем, никто не даст контакты человечка, который за бесплатно или N рублей напишет такую вещицу?
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Цитата Avatar-Lion:



Но с одним условием: чтобы каждый процент был случайным, т.е. чтобы +1% или -1% было полностью рандомным
Где найти программиста?




Жаль, что у Вас нет и ни одного знакомого математика — он бы Вам подсказал, что в данном случае индикатор останется «танцевать» около начального значения.
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Iska, Да, именно это и нужно.
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Avatar-Lion, а смысл? Индикатор же должен «продвигаться» вперёд?



Ну, не знаю — индикатор такого типа:



Код:

Код: Выделить всё

$i, $j = 0, 0
while($j -le 100) {
    Write-Progress -Activity "Search in Progress" -Status "$j% Complete" -PercentComplete $j;
    $i++
    $j = [math]::Truncate([math]::Log($i) * 10)
}

мне лично больше нравится Изображение.
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Iska, Скажем так: он МОЖЕТ продвинуться вперёд, но, как вы понимаете, для этого нужно чтобы очень много раз выпало +1, а не -1.



P.S. Куда этот текст вставить?
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Цитата Avatar-Lion:



Iska, Скажем так: он МОЖЕТ продвинуться вперёд, но, как вы понимаете, для этого нужно чтобы очень много раз выпало +1, а не -1.
Где найти программиста?




Даже при том, что случайные числа, генерируемые компьютером, на самом деле всего лишь псевдослучайны — количества выпадающих «+1» и «-1» будет стремиться к равенству. Это обычная теория вероятностей.




Цитата Avatar-Lion:



P.S. Куда этот текст вставить?
Где найти программиста?




Это пример «выводящего из себя» индикатора на PowerShell.
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Iska, Послушайте, я вроде бы весьма ясно дал понять, что отлично понимаю суть своей просьбы. Да, мне нужно именно то, о чем вы говорите: примерно равный шанс выпадения тех или иных значений. Ваш скрипт попробовал: он не делает того, что я описывал. Он просто заполняет строку до 100% и останавливается. Есть еще идеи?
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Avatar-Lion, я Вас прекрасно понял. Могу показать, как будет выглядеть Ваш заказ. Но давайте внесём хоть какое-то разнообразие — третью вероятность:



Код:

Код: Выделить всё

$oRandom = New-Object System.Random
$i = 0
while($true) {
    $i = [math]::Min([math]::Max(0, $i + [math]::Truncate($oRandom.Next(-1, 2))), 99)
    Write-Progress -Activity "Search in Progress" -Status "$i% Complete:" -PercentComplete $i;
}
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Iska, Так, ага, это уже больше похоже на правду... Спасибо. А что за третья вероятность? Я просто в этих скриптах все равно ничего не понимаю, поэтому желательно пояснить что к чему.
Аватара пользователя
Iska

Re: Где найти программиста?

Сообщение Iska »

Кроме «-1» и «+1» выпадает ещё и «0». Это делает движение индикатора несколько менее равновероятным (хотя на общий итог сие не влияет).
Ответить

Вернуться в «Хочу все знать»