На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Компьютерный ребус

Статья опубликована в выпуске журнала № 3 за 1989 год.
Аннотация:
Abstract:
Авторы: Очков В.Ф. () - , Пухначев Ю.В. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 17547
Версия для печати

Размер шрифта:       Шрифт:

В школьные годы меня здорово раздражали головоломки, которые печатаются на последних страницах научно-популярных журналов. Я жадно читал такие журналы от корки до корки, хотел знать все, прорабатывал каждую статью, а когда добирался до развлекательных разделов со всяческими головоломками, ребусами, шарадами, то недоумевал: зачем нужны пустые !абавы? Уж лучше бы заняли это место еще одной статьей!

Отношение к подобным развлечениям у меня изменилось, когда в школе учился мой сын. Уму непостижимо, сколько задают на дом школьникам! И когда- я видел сына, увлеченно решающего какой-нибудь пустяковый ребус, я. думал: пусть хоть это отвлечет его от бесконечного поглощения информации.

Но вот сын перешел в девятый класс. В расписании появился новый предмет: информатика. И мое отношение к головоломкам из научно-популярных журналов изменилось вновь. Я с удивлением обнаружил, что они не так уж бессодержательны! Разгадывание буквенно-цифровых ребусов представлялось мне не иначе, как перебор числовых комбинаций в арифметическом устройстве ЭВМ, а за раздумьями сыщика над обстоятельствами таинственного преступления виделись логические операции булевой алгебры.

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

Чисто «машинное» решение задачи может в корне отличаться от «человеческого». У людей есть интеллект, смекалка, интуиция, наконец. Компьютер же может похвастаться пока лишь точностью и быстродействием. Оптимальное решение задачи достигается сочетанием ценных качеств машины и человека. Хорошим примером являются, на мой взгляд, бук-вен но-цифровые ребусы. Мне вспоминается один из них. опубликованный в журнале «Квант»:

-

Нужно определить, какие цифры скрываются за латинскими буквами. Разным буквам, естественно, соответствуют разные цифры.

Конечно, эту задачу можно решить чисто «п о -машин ном у» — перебором всех вариантов, последовательно придавая каждой из переменных А, С, Е, Р, R, S, U значения от нуля до девяти и отбирая те комбинации, которые отвечают условию.

Просто, но уж очень долго! Придется примерно десять миллионов раз делать такую проверку. А это пока многовато даже для самого современного персонального компьютера.

Оставим на время компьютер в покое и обратимся к логике. Без всякой ЭВМ ясно, что Р может быть только единицей, a U — девяткой. Если это так, то Е = 0. Проанализировав самый правый столбец букв в условии задачи, делаем вывод, что R=10 —А.

Можно попытаться составить еще гесколько соотношений между буквами и, решив их, найти окончательный ответ. Но не слишком ли долго продлятся такие поиски? Не привлечь ли для этого компьютер?

Варьируя значение А, С, R, S в пределах от 2 до 8 (ведь 0,1 и 9 уже закреплены за Е, Р и U соответственно), машина станет проверять соотношение ■ 900 + 10S + А + 9000 + 100S +

+ 10S + R = 10000 + 100А + ЮС. Если оно выполняется, компьютер заменит буквы цифрами в равенстве USA + USSR = PEACE и выведет его на печать. Если соотношение не выполняется, машина приступит к проверке следующего сочетания букв. Все это можно записать одной строчкой программы:

Эта строчка и составит тело цикла, по которому лучше всего вести поиск ответа.

Полный перебор всех вариантов потребует 7 ■ 7 ■ 7 = 343 проверки. Для человека это по-прежнему многовато, а для машины — ничуть.

Варьируемых переменных у нас не одна, а целых три; А, С, S (R не в счет, поскольку она выражается через А соотношением R = 10 — А). Чтобы проварьировать все три, надо заключить тело цикла в тройную рамку из операторов FOR ... ТО и NEXT, по одной паре операторов для каждой переменной. Это будет уже три цикла, вложенных друг в друга, как матрешки. А еще раньше надо написать строчку, где величинам Е, Р, U будут присвоены значения 0, 1 и 9 соответственно:

Верен лишь первый вариант. В остальных разным буквам соответствуют одинаковые цифры, а это не

Вводим эту программу в машину, нажимаем клавишу RUN, и за несколько секунд на дисплее появляются четыре варианта ответа:

согласуется с условием задачи.

КАК ОТСЕЯТЬ ЛИШНИЕ РЕШЕНИЯ1.'

Откуда взялись лишние, неверные решения буквенно-числового ребуса? В составленной для его разгадки программе значения переменных не проверялись на совпадение. Исправим этот недочет: если, например, очередное С совпало с A, S или R, пропустим такой вариант и тут же перейдем к строчке, где увеличивается значение С:

It С = A OR С = R OR С = S ГНЕИ 60.

Работая по исправленной программе (см. рисунок), ЭВМ выдаст единственное решение головоломки — верное.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=1382&lang=
Версия для печати
Статья опубликована в выпуске журнала № 3 за 1989 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: