Объяснение:
Первыми переправляются дети.
Сын возвращается к маме-папе.
Папа едет на берег к дочери, потом дочь едет за братом и возвращается с ним к папе.
Сын едет к маме, отдает ей лодку, чтобы она переплыла к папе и дочери.
После того, как мама переправилась, дочь садится в лодку и едет к брату, подбирает его, и вместе они едут к родителям.
Дочь остается с родителями, а сын едет к рыбаку, отдает ему лодку.
Рыбак едет к родителям и высаживается.
Дочь садится и едет за братом, привозит его с собой обратно (наконец-то вся семья снова вместе), они отдают лодку рыбаку.
Лодка пересекла реку 13 раз.
Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера, в программу на машинном языке.
Как и сам язык, ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка, поскольку работают с мнемониками машинных инструкций определённого процессора. Вместе с тем, ассемблеры могут быть мультиплатформенными или вовсе универсальными, то есть работать на разных платформах и операционных системах. Среди ассемблеров можно также выделить группу кросс-ассемблеров, имеющих возможность собирать машинный код и исполняемые модули (файлы) для архитектур, отличных от архитектуры и/или операционной системы, в которых работает сам ассемблер (например, трансляция программы для микроконтроллера ассемблером, работающим на компьютере).
В Викисловаре есть статья «макроассемблер»
Многие современные ассемблеры являются макроассемблерами (от греч. μάκρος — большой, обширный), то есть макропроцессорами на базе языка ассемблера[1]. Кроме макросов, ассемблеры при трансляции выполняют другие директивы, набор которых зависит не от аппаратной платформы, для которой транслируется программа, а от самого используемого транслятора.
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. В свою очередь, результатом ассемблирования может быть не исполняемый, а объектный модуль, содержащий разрозненные блоки машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с редактора связей (линкера) может быть получен исполняемый файл.
В отличие от компиляции программ на языках высокого уровня, ассемблирование является более или менее однозначным и обратимым процессом, поскольку в языке ассемблера каждой мнемонике соответствует одна машинная инструкция, в то время как в высокоуровневых языках каждое выражение может преобразовываться в большое число различных инструкций (операция, обратная ассемблированию, называется дизассемблированием). Трансляцию ассемблерных программ иногда также называют компиляцией.