Роман


Приятная, интеллигентная музыка

http://www.realmusic.ru/tiredtoys


Выставка-продажа картин

Программа "Счастливые билеты"

Постановка задачи.
Задача, решаемая этой программой звучит так: у нас есть набор чисел (к примеру номер автобусного билета), нужно расставить между числами знаки сложения, вычитания, умножения, деления и скобки так, чтобы посчитав это выражение мы получили бы нужное (загаданное) значение, например нам нужно получить число 100 из набора чисел 26364, тогда одним из возможных вариантов является выражение ((2*(6*3))+64). Данная программа выдает все возможные выражения, вычисление которых приводит к нужному результату.

Способ решения.
Окно программы содержит два строки для ввода строки и целого числа.

В первой строке должен быть введен "номер" билета, во второй число, которуму должны равняться найденные нами значения (по умолчанию это чило равняется ста). В качестве проверки работоспособности программы лучше вводить в первое текстовое поле строку, состяшую из не более чем шести символов, нельзя забывать, что скорости выполнения программы не сравнимы с откомпилированными программами, написанными к примеру на С; после ввода строки чисел длиной где-нибудь около десяти, до получение результата можно спокойно, неторопясь пообедать и погулять (если у вас не суперкомпьютер). Окно содержит также четыре кнопки. Первая кнпока нужна для выхода. При нажатии на вторую кнпоку открывается окно, содержащее небольшую справку для пользователя. Третья кнопка нужна тем, кто желает проверить себя. При нажатии на нее открывается окно, в текстовое поле которого нужно ввести выражение, которое должно по мнению пользователя приводить к нужному результату. При нажатии на кнопку "Test" в этом окне программа считает выражение и показывает получившееся значение.
Четвертая для начала поиска вариантов выражений (это можно сделать и нажав на Enter в первом текстовом поле).

Теперь немного о поиске подходяших комбинаций. Эта часть занимает очень небольшую часть всей программы - всего несколько строчек. Нужные комбинации находятся методом простого перебора. Нужные комбинации получаем, применяя ко всему множеству сочетаний фильтр, который пропускает только "правильные" комбинации.

Исходный текст программы.

Сайт создан в системе uCoz