Здравствуйте. Пожалуйста, помогите!
Мне необходимо сделать так, чтобы из определённого списка цифр, при нажатии кнопки, программа мне выдавала случайное число только один раз, а затем, после второго нажатия кнопки, сокращала этот список на это же число и выдавала уже случайный выбор из сокращённого списка и так до тех пор, пока это список не кончится. Когда он кончится – можно чтобы была либо пустая ячейка, либо надпись «Конец» - это не важно.
Объясню для чего мне это нужно. При изучении иностранных языков слова часто учат по карточкам. То есть настригают карточек, пишут на них слова или выражения, с другой стороны карточки перевод, раскладывают их перед собой и пытаются вспомнить, что значит то или иное выражение, не переворачивая при этом карточку. Вот. Здесь я хотел создать то же самое, но у меня получилось только лишь сделать, чтобы выбиралось просто случайное значение из списка и выбирается оно бесконечно. Соответственно чтобы все слова и фразы хотя бы по разу увидеть на экране, мне необходимо нажать на эту кнопку (в прикреплённом файле) очень много раз. Гораздо больше, чем есть идиом в примере (34 шт.), потому что один и тот же вариант может повторяться и повторяться, в то время, как выражение из какой-либо другой ячейки появится только через десять-пятнадцать нажатий. То есть нельзя, 34 раза нажать на кнопку и за это время просмотреть в произвольном порядке все 34 идиомы. За тридцать четыре нажатия в моём случае промелькнёт в лучшем случае половина всех выражений.
Я не разбираюсь в языке программирования, макрос для кнопки просто записал.
Функция СЛУЧМЕЖДУ(1;34) только выбирает произвольно число из диапазона.
RandomSelect (из PLEX) - выбирает случайный элемент из списка тоже
Lotto (из PLEX) – делает то же самое.
Они работают бесконечно. Может быть, есть какая-нибудь более умная функция, которая будет именно исключать значения, которые один раз уже были использованы? Или же это каким-то образом можно реализовать через макрос?
Или даже ещё проще. Я могу сделать с помощью «Генератора случайных чисел» (из PLEX) диапазон из неповторяющихся случайных чисел от 1 до 34. Но при этом нужна функция, которая бы не выбирала случайный элемент из списка, как это делает RandomSelect, а выбирала бы последовательно элементы, один за другим. То есть – нажал я кнопку один раз, функция выбрала цифру из ячейки А3, нажал второй – из А4, третий – из А5 и т.д. Так хотя бы и порядок появления слов будет всегда разным и не будет повторов.
Пожалуйста, помогите. Бьюсь над этим уже долго, но понял, что мне самому не осилить. А очень хочется J. Кроме сборника идиом у меня есть ещё файлы, где слов и выражений значительно больше. Например, 300 штук и больше, чем 300. И чтобы их все хотя бы по разу увидеть, нужно, наверное, раз 600 нажать на кнопку и то не факт. От такой перспективы, как правило, просто всё желание пропадает учить слова.
Заранее благодарен всем, кто откликнется.
Мне необходимо сделать так, чтобы из определённого списка цифр, при нажатии кнопки, программа мне выдавала случайное число только один раз, а затем, после второго нажатия кнопки, сокращала этот список на это же число и выдавала уже случайный выбор из сокращённого списка и так до тех пор, пока это список не кончится. Когда он кончится – можно чтобы была либо пустая ячейка, либо надпись «Конец» - это не важно.
Объясню для чего мне это нужно. При изучении иностранных языков слова часто учат по карточкам. То есть настригают карточек, пишут на них слова или выражения, с другой стороны карточки перевод, раскладывают их перед собой и пытаются вспомнить, что значит то или иное выражение, не переворачивая при этом карточку. Вот. Здесь я хотел создать то же самое, но у меня получилось только лишь сделать, чтобы выбиралось просто случайное значение из списка и выбирается оно бесконечно. Соответственно чтобы все слова и фразы хотя бы по разу увидеть на экране, мне необходимо нажать на эту кнопку (в прикреплённом файле) очень много раз. Гораздо больше, чем есть идиом в примере (34 шт.), потому что один и тот же вариант может повторяться и повторяться, в то время, как выражение из какой-либо другой ячейки появится только через десять-пятнадцать нажатий. То есть нельзя, 34 раза нажать на кнопку и за это время просмотреть в произвольном порядке все 34 идиомы. За тридцать четыре нажатия в моём случае промелькнёт в лучшем случае половина всех выражений.
Я не разбираюсь в языке программирования, макрос для кнопки просто записал.
Функция СЛУЧМЕЖДУ(1;34) только выбирает произвольно число из диапазона.
RandomSelect (из PLEX) - выбирает случайный элемент из списка тоже
Lotto (из PLEX) – делает то же самое.
Они работают бесконечно. Может быть, есть какая-нибудь более умная функция, которая будет именно исключать значения, которые один раз уже были использованы? Или же это каким-то образом можно реализовать через макрос?
Или даже ещё проще. Я могу сделать с помощью «Генератора случайных чисел» (из PLEX) диапазон из неповторяющихся случайных чисел от 1 до 34. Но при этом нужна функция, которая бы не выбирала случайный элемент из списка, как это делает RandomSelect, а выбирала бы последовательно элементы, один за другим. То есть – нажал я кнопку один раз, функция выбрала цифру из ячейки А3, нажал второй – из А4, третий – из А5 и т.д. Так хотя бы и порядок появления слов будет всегда разным и не будет повторов.
Пожалуйста, помогите. Бьюсь над этим уже долго, но понял, что мне самому не осилить. А очень хочется J. Кроме сборника идиом у меня есть ещё файлы, где слов и выражений значительно больше. Например, 300 штук и больше, чем 300. И чтобы их все хотя бы по разу увидеть, нужно, наверное, раз 600 нажать на кнопку и то не факт. От такой перспективы, как правило, просто всё желание пропадает учить слова.
Заранее благодарен всем, кто откликнется.