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 ой строчке
|
|
| |