Приветствую Вас ГостьПятница, 06.12.2019, 21:03

Для начинающих программистов

Наш опрос
Оцените мой сайт
Всего ответов: 28

Алгоритм заполнения массива случайными числами - Форум

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Liberty Basic » Обсуждение команд и операторов » Алгоритм заполнения массива случайными числами (Обсуждение особенностей работы алгоритма)
Алгоритм заполнения массива случайными числами
TimurARДата: Вторник, 21.08.2018, 19:29 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 10
Репутация: -1
Статус: Offline
Как и почему работает данный алгоритм
Dim ch(15) 
For i=1 to 15 
[L1] 
    x=Int(Rnd(1)*15+1) 
    if ch(x)>0 and ch(x)<16 then goto [L1] 
    ch(x)=i 
Next i 
For i=1 to 15 
    print "ch(";i;")=";ch(i) 
Next i
 
TimurARДата: Вторник, 21.08.2018, 19:37 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 10
Репутация: -1
Статус: Offline
  • Одним из посетителей был задан вопрос:
  • Правильно ли я понимаю работу программы?

  • Каждую строчку я понимаю так:1 Создаём массив А, в котором будет 15 элементов2. Задаём цикл, повторяющийся 15 раз3. Место, куда возвращается программа при выполнении условия4. Создаётся случайное число от 0 до 1, которое в последствии умножается на 15 и прибавляется единица, после чего мы остаток отбрасываем, получается мы можем получить только целые числа от 1 до 155. Для моего понимания пока пропущу6. Если вдруг у какого-то элемента массива А будет значение х, то этому элементу присваивается номер i в массиве (например для i=1 генерируется число 5, это значит, что если в массиве А есть элеменент со значением 5, то номер этого элемента будет равен 1)5. Если значение массива уже входит в этот диапазон, то выполняется условие [3]7. Цикл переходит на следующее значение i8. Задаём цикл9. Выводить на экран значение элемента i массива А10. Следующее значение i11. Конец программыПравильно ли я соображаю, особенно касается пунктов 5 и 6


Ответ:
  • несовсем

  • первое это свойство инициализированного массива в операторе Dim - это его нулевые значения

  • второе генерируемое число является индексом массива

  • третье берется член массива с генерируемым индексом и проверяется его содержание - если содержание равно числу в диапазоне от 1 до 15 то это значит что в этот элемент массива уже было добавлено число и надо брать другой элемент массива с другим индексом, если соответственно элемент массива остался равным нулю то значит в этот элемент можно положить число и переходим к 6 ой строчке
 
Форум » Liberty Basic » Обсуждение команд и операторов » Алгоритм заполнения массива случайными числами (Обсуждение особенностей работы алгоритма)
  • Страница 1 из 1
  • 1
Поиск:

Вход на сайт
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • База знаний uCoz