Проект «Контролируемая случайность»
В человеческом обществе испокон веков существует такая гипотеза, что если попросить нечто высшее о чем-то конкретном или тривиальном, то есть шанс, что это нечто даст просящему то, что он просит в той или иной форме. Проходят столетия – человеческая цивилизация развивается, и эта гипотеза вместе с ней: раньше просили Духов, потом Бога, а теперь Вселенную.
Так вот, я решил поставить эксперимент, подтверждающий эту гипотезу, – поставить эксперимент над Реальностью.
Эксперимент не удался! Но это не опровергает выше описанную гипотезу. Во-первых, существует очевидный конфликт данного эксперимента с этой гипотезой. В эксперименте я рассматриваю Дающего, как нечто математическое, некий не живой Абсолют, что противоречит гипотезе, ведь по ее концепции, это Дающее может быть и не живое, но способное живым быть.
Анализ задания и математическая постановка задачи
И так, мы имеем задачу получить от Реальности, рассмотрим ее как глобальную динамическую матрицу или всеобщую систему, нечто то, что мы хотим. Далеко ходить не будем, пускай это нечто будет конкретным числом или парой чисел, как в случае моей программы. Для этого нам понадобится алгоритм, выдающий случайные значения, и в результате выпадения случайных значений мы за минимальное количество попыток должны получить, загаданные нами, числа. Так же по условию задачи мы должны «просить» всеобщую матрицу о том, чтобы она выдала нам загаданные нами значения. Это «просить» я реализовал тем способом, что банально подсказываю всеобщей системе, какие значения я загадал. Для этого я создал стартовую комбинацию чисел и «новую». Я сравниваю стартовую комбинацию чисел и новую и выбираю ту, которая по своему значению ближе к загаданным значениям.
И так мы имеет шесть переменных – три пары по две: c и d, x и y и a и b.
с, d – значения, которые мы загадываем,
х, y – стартовая комбинация,
а, b – новая комбинация.
Во второй программе все устроено аналогично, с тем отличием, что мы имеем английский алфавит, и наша задача получить случайным образом две гласные буквы. Хоть мы работаем и с буквами, решается задача так же чисто математически, аналогично как в первой программе.
Разработка схемы алгоритма, разработка программы и их описание
Ключевой компонент программы это набор условий «if», с помощью которых мы выбираем наиболее похожие значения на загаданные нами. Заключаем условия «if» в цикл, условием которого является выполнение поставленной задачи. Вводим дополнительную переменную, считающую количество выполнения циклов, и конечное значение переменной является результатом выполнения программы.
Инструкция по использованию разработанных программ
Программа с числами: вводим два любых (оба положительных или оба отрицательных, и не 1) числа от -20 до 20, запускаем программу.
Программа с буквами: просто запускам программу.
Решение контрольных примеров и проверка правильности функционирования программы
Для проверки правильности функционирования программы я использовал метод шагов, то есть в процессе выполнения программы я вижу, что выполняются все этапы программы.
При тестировании программы результаты оказались отрицательными относительно ожидания. Происходило то, что с условием «if» и без него результат программы, а именно количество выполнений цикла, каждый раз было совершенно случайным, а ожидалось, что будет некая зависимость.
И так, эксперимент не удался, но это тоже результат. Результат, из которого пока что любые выводы будут поспешны. Ведь речь идет об области нашего Бытия, неподвластного на данный момент науке. Я говорю об области идеальной, универсальной.
Приложение: тексты программ
Программа с числами:
Алгоритм программы можно описать следующим образом:
Настройка кодировки и инициализация генератора случайных чисел:
Устанавливается кодировка консоли для корректного отображения текста.
Инициализируется генератор случайных чисел с использованием текущего времени для обеспечения разнообразия случайных чисел.
Ввод данных:
Пользователю предлагается ввести два числа (оба положительных или оба отрицательных, и не равные 1) в диапазоне от -20 до 20.
Инициализация переменных:
Переменные a, b, x, y и счетчик i инициализируются значением 1.
Цикл поиска:
Программа выполняет цикл, пока a не станет равным c и b не станет равным d.
В каждом цикле:
Генерируются два случайных числа a и b в диапазоне от -20 до 20.
Увеличивается счетчик i.
Логика выбора:
Если оба введенных числа положительные:
Программа проверяет различные условия, чтобы выбрать пару чисел a и b, которая ближе всего к введенным числам c и d по среднему арифметическому.
Если оба введенных числа отрицательные:
Программа выполняет аналогичные проверки, но для отрицательных чисел.
Сравнение и выбор:
Программа сравнивает текущую пару чисел с новой парой, основываясь на их средних арифметических, и выбирает ту, которая ближе к введенным значениям.