При однозначном декодировании в коде одного символа не должно быть дублирования(повторения) части кода другого символа.
Т.к. длина кода должна быть наименьшей, то начнем с длины кода =1.
Все возможные варианты: 0, 1.
Вариант 0 возможен.
Вариант 1 не возможен, т.к. он является частью кода А Б В Г
Возьмём длину кода =2.
Все возможные варианты: 00, 01, 10, 11.
Вариант 00 возможен.
Вариант 01 возможен.
Вариант 10 не возможен, т.к. он является частью кода А Б
Вариант 11 не возможен, т.к. он является частью кода В Г
Возьмём длину кода =3.
Все возможные варианты: 000, 001, 010, 011, 100, 101, 110, 111.
Варианты 000, 001, 010, 011 возможны.
Варианты 100, 101, 110, 111 не возможны, т.к. уже заняты другими буквами.
Из предложенных ответов есть 000.
Вариант 1111 можно не брать, т.к. получается, что В (111) это часть кода 1111, то есть код 1111 состоит из символа, закодированного единицей + В
РЕШЕНИЕ. Составим таблицу всех вариантов поклажи на животных:
№ варианта
А
Б
В
Г
Д
Е
Ж
З
Осёл
М
М
М
М
Ф
Ф
Ф
Ф
Козёл
М
М
Ф
Ф
М
М
Ф
Ф
Верблюд
М
Ф
М
Ф
М
Ф
М
Ф
По первому условию, если осёл перевозит финики, то козёл – масло. Это исключает варианты Ж и З.
По второму условию, если осёл перевозит масло, то верблюд – финики. Это исключает варианты А и В.
По третьему условию, если козёл перевозит финики, то верблюд – масло. Это исключает вариант Г.
№ варианта
Б
Д
Е
Осёл
М
Ф
Ф
Козёл
М
М
М
Верблюд
Ф
М
Ф
Проверяем оставшиеся варианты Б, Д, Е на наличие противоречий.
В варианте Б нет противоречий: и осёл, и козёл перевозят масло, а верблюд – финики. Это соответствует условию второму, где говорится: если осёл перевозит масло, то верблюд – финики. Условие первое сообщает: если на осле доставляют финики, то на козле – масло. Однако, если осёл не перевозит финики, то козёл должен перевозить либо финики, либо масло. Из условия третьего следует: если козёл тащит на себе финики, то верблюд – масло. Но если козёл не перевозит финики, то тогда верблюд может перевозить и финики, и масло.
В варианте Д нет противоречий: на осле доставляют финики, а на козле и верблюде – масло. По условию первому, если осёл тащит на себе финики, то козёл – масло. Раз осёл не перевозит масло, то, учитывая условие второе, верблюд может перевозить и масло, и финики. Раз козёл не перевозит финики, делаем вывод из условия третьего, что верблюд может перевозить и финики, и масло.
В варианте Е нет противоречий: и осёл, и верблюд перевозят финики, а козёл- масло. В условии первом говорится: если на осле доставляют финики, то на козле - масло. Т.к. осёл перевозит финики, а не масло, то делаем вывод из условия второго, что верблюд перевозит и то, и другое. Поскольку козёл перевозит масло, а не финики, точно так же можно предположить (исходя из условия третьего), что нет никакого противоречия в том, что верблюд перевозит финики.
Единственное животное, чья поклажа теперь известна наверняка, - козёл. Во всех трёх возможных ситуациях (Б,Д,Е) он перевозит только масло.
В предыдущих статьях мы приступили к рассмотрению возможностей 3D редакторов применительно к созданию деталей для моделей роботов, был приведен пример создания моделей деталей в редакторе FreeCAD:
Основы работы в 3D редакторе FreeCAD.
Теперь приступим к изучению возможностей 3D редактора SketchUP Make. Скачать можно здесь. После установки запускаем программу.
В правом верхнем углу нажимаем кнопку «Choose Template»,
в открывшемся окне выбираем «3DPrinting– Millimeters»,
в нижнем углу нажимаем «StartusingSketchUp».
После запуска программы в центре рабочего поля выделим мышкой и удалим изображение ограничительного куба — он не потребуется, зная размеры детали и возможности принтера, можно обойтись без него.
Сохранять файлы в формате 3DS, подходящем для 3D печати, в SketchUP можно лишь в течение ограниченного периода, однако можно установить плагин, с которого без труда файлы экспортируются в формат STL, а также в формат DXF, который необходим для нарезки деталей на станке ЧПУ. Скачать плагин можно с сайта http://www.guitar-list.com, в разделе Download - Convert SketchUp SKP files to DXF or STL размещен файл skp_to_dxf.rbz. После установки и перезагрузки программы, плагин появится в меню Tools.
Теперь настроим рабочий стол в удобном для нас виде:
в меню программы выберем wiev-toolbars
в открывшемся окне снимем «галочки» напротив всех строчек, поставим напротив Large Tool Set, закроем окно кнопкой Close
в меню выберем Window – Model Info
в открывшемся окне слева выберем Units
настроим в соответствии с картинкой (рис 1)
Основные инструменты, которые будут использованы для создания моделей деталей, отмечены на следующем рисунке (рис 2).
Начнем с инструмента «выделение». С этого инструмента можно выделять части чертежа. Кликом левой кнопки мыши (ЛКМ) выделяется один элемент, движением мыши с нажатой ЛКМ:
слева-направо — только элементы, оказавшиеся полностью в зоне выделения
справа-налево — все элементы, которые хотя бы частично попали в зону выделения.
Переключаться на выделение можно также нажатием клавиши «пробел».
«Блок навигации» -здесь располагаются кнопки перемещения по рабочему полю, масштабирования отображения, вращения. Однако пользоваться удобнее клавишами мыши (рис 3):
Как видно, вращение и сдвиг тут не так, как во FreeCAD расположены, а наоборот. Можно подвигать, потренироваться.
В редакторе есть возможность переключать стандартные виды в меню Camera-StandardViews. В работе будем пользоваться, в основном изометрическим видом — Iso. Кроме того, если перемещение по чертежу заведет в ситуацию, когда потеряется ориентация в пространстве, можно просто выбрать в меню этот вид и все вернется к удобоваримому отображению.
Еще одна особенность — изометрия рисунка может искажать его реальный вид и при отображении нельзя доверять глазам, нужно проверять только измерением.
Следующий важный инструмент - «Рулетка» С этого инструмента можно ставить размерные точки, измерять расстояния, но самая главная функция — установка направляющих. Ну и еще важное замечание, отмена изменений — Ctrl Z.Вернуть Ctrl Y. Или в меню Edit.
В процессе обучения будем создавать модели деталей для того же самого робота, что и в статье о FreeCAD, причем две детали создадим те же самые, чтобы можно было сравнить методы и возможности.
Нарисуем цилиндрическую проставку, Для тренировки воспользуемся «Рулеткой» и установим направляющие, которые дадут в своем пересечении центр окружности:
выберем «Рулетку»
дважды кликнем по каждой из осей — X и Y, на них появились направляющие
кликнем по оси Y, но не в центре координат (только кликнем, удерживать не надо) и двинем мышь вдоль оси Х (красной). За курсором будет двигаться направляющая (рис 4). О том, что движение действительно происходит вдоль оси, подскажет красный цвет линии (1)
не нажимая кнопок мыши, введем расстояние в миллиметрах, например 10. Это число, показывающее расстояние от оси до направляющей, отобразится в окошке размеров в правом нижнем углу окна программы (2)
нажмем на клавиатуре Enter, направляющая установлена.
поставим еще одну направляющую, теперь вдоль оси Х, отодвинув ее от оси на те же 10 мм.
Если направляющая «не вытягивается», значит вы переключили режим «Рулетки».Переключиться обратно можно двойным кликом ЛКМ рулеткой на пустом поле чертежа (у курсора-рулетки должен быть маленький "+")