![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
jenka |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Евгения Репутация: ![]() ![]() ![]() |
Сразу говорю, я пользовалась поиском и все прочла, но есть такие вопросы:
вот фрагмент задачи: beginВ этом фрагменте заполняется массив вещественными, положительными и отрицательными числами. Мне не понятно, почему пишется Random*100 без скобок(в принципе, то что без скобок это понятно, т.к вещественные числа) и и почему со знаком * (умножить)? Как еще можно показывать диапозон генерации случайных чисел в функции Random? немогли бы вы привести примеры ,как это делать с вещественными и целыми числами ,какие еще есть варианты, какие можно применять знаки, и как все это понять, что он будет конкретно делать, т.е с какого диапозона брать числа и какие? И еще, (по фрагменту задачи) можно ли подругому, но тоже с rondom, заполнить массив из n вещественных элементов, чтоб были положительные и отрицательные элементы? Спасибо за помощь. Пожалуйста, используй теги. Выдели программу блоком и выбери нужный тип кода в выпадающем меню над мессаджем Сообщение отредактировано: lapp - 15.11.2006 22:51 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата не понятно, почему пишется Random*100 без скобок(в принципе, то что без скобок это понятно, т.к вещественные числа) и и почему со знаком * (умножить)? Дело-то все в том, что Random имеет 2 формы записи, как ты правильно заметила. Первая, без параметра, возвращает случайное вещественное число X (0 <= X < 1) а вторая (с параметром) - целое число в интервале 0 <= X < {параметр} Здесь - первый вариант... Но: допустим, задача - получить вещественные случайные числа в интервале 0<=X<100. Что делаем? Правильно, раз простой Random выдает до единицы, то Random*100 выдаст до 100 ![]() Цитата можно ли подругому, но тоже с rondom, заполнить массив из n вещественных элементов, чтоб были положительные и отрицательные элементы? Можно... Вот так, например:const |
jenka |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Евгения Репутация: ![]() ![]() ![]() |
a[i]:=random*100; эта строка заполняе массив вещественными элементами, но положительными, так? if random(100)<50 then a[i]:=a[i]*-1; А эта строка, что переделывает их в отрицательные? Если это так, то какие из этих чисел будут отрицццательными? И почему здесь уже Random стоит со скобками. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата эта строка заполняе массив вещественными элементами, но положительными, так? ![]() Цитата А эта строка, что переделывает их в отрицательные? ![]() Цитата Если это так, то какие из этих чисел будут отрицццательными? Случайно выбранные... Вызывается вторая (целочисленная) форма Random, генерирующая случайное число в интервале 0 .. 99С какой вероятностью это число будет < 50? Вот точно с такой же вероятностью полученное ранее вещественное число будет преобразовано в отрицательное... |
jenka |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Евгения Репутация: ![]() ![]() ![]() |
![]() ![]() Случайно выбранные... Вызывается вторая (целочисленная) форма Random, генерирующая случайное число в интервале 0 .. 99 С какой вероятностью это число будет < 50? Вот точно с такой же вероятностью полученное ранее вещественное число будет преобразовано в отрицательное... а можно поподробнее, если не трудно, я думала, что все числа, которые меньше 50, станут отрицательными, но это получается не так, так какие же именно будут отрицательными? как он их выбирае, наугад? Есть еще одна проблемма. Какая из этих так называемых формул правильная: random от start до finish (начало интервала и конец интервала) - random (finish - start +1) +start или random (finish - start ) +start ? |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата так какие же именно будут отрицательными? как он их выбирае, наугад? Читаем внимательно!!! Я же написал, что СГЕНЕРИРОВАННОЕ вещественное число станет отрицательным с той же вероятностью, с какой результат Random(100) будет меньше 50, то есть, компилятор сгенерирует ЕЩЕ ОДНО (на этот раз целое) число от 0 до 99 , и проверит его на "< 50". В случае если оно меньше, у РАНЕЕ сгенерированного и находящегося уже в массиве вещественного числа будет изменен знак...Цитата Какая из этих так называемых формул правильная: Во-первых, почему "так называемых"? А во-вторых, вот эта:random(finish - start +1) + start;!!! не путать с Цитата random * (range_finish - range_start) + range_start !!!Это совершенно разные вещи! |
jenka |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Евгения Репутация: ![]() ![]() ![]() |
фуу, ну наконец- то понятно, приогромнейшее тебе МЕГАспасибо за разжевывание и терпение!!!
1. random(finish - start +1) + start; 2. random * (range_finish - range_start) + range_start И еще немного: А в чем состоит разница между этими формулами? что значит range_start и range_finish ? Сообщение отредактировано: jenka - 16.11.2006 3:08 |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
И еще немного: А в чем состоит разница между этими формулами? что значит range_start и range_finish ? Разница между какими формулами? Напиши точно, плз. range_start - это начало диапазона range_finish - конец диапазона -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
FreeMan |
![]()
Сообщение
#9
|
- ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 480 Пол: Мужской Репутация: ![]() ![]() ![]() |
1 генерит целое число, а 2 вещественное.
-------------------- бб
|
Гость |
![]()
Сообщение
#10
|
Гость ![]() |
У меня похожий вопрос. Как можно с помощью Random задать массив в диапозоне от (-10;10)?
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 14:55 |