Программирование арифметических операций на языке Ассемблер Составить программу на языке ассемблер для микропроцессора Intel 8080, вычисляющую значение функции Y. Соблюдение указанного приоритета операций обязательно.
Выбрать произвольно адреса ячеек памяти (в пределах адресуемого Intel 8080 пространства) для хранения значений аргументов и значения функции. Составить программу и отладить её в эмуляторе Intel 8080.
Y=x1–(x2+x3–x4
Компью́тер (англ. computer, МФА: [kəmˈpjuː.tə(ɹ)][1] — «вычислитель») — устройство или система выполнять заданную, чётко определённую изменяемую последовательность операций. Это чаще всего операции численных расчётов и манипулирования данными, однако сюда относятся и операции ввода-вывода. Описание последовательности операций называется программой[2].
Электро́нная вычисли́тельная маши́на, ЭВМ — комплекс технических средств, где основные функциональные элементы (логические, запоминающие, индикационные и др.) выполнены на электронных элементах, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач[3][4].
ЭВМ используется как один из реализации компьютера. В настоящее время термин ЭВМ, как относящийся больше к вопросам конкретной физической реализации компьютера, почти вытеснен из бытового употребления и в основном используется инженерами цифровой электроники, как правовой термин в юридических документах, а также в историческом смысле — для обозначения компьютерной техники 1940—1980-х годов и больших вычислительных устройств, в отличие от персональных.
Электронная вычислительная машина подразумевает использование электронных компонентов в качестве её функциональных узлов, однако компьютер может быть устроен и на других принципах — он может быть механическим, биологическим, оптическим, квантовым и т. п. (подробнее: Классы компьютеров#По виду рабочей среды), работая за счёт перемещения механических частей, движения электронов, фотонов или эффектов других физических явлений. Кроме того, по типу функционирования вычислительная машина может быть цифровой (ЦВМ) и аналоговой (АВМ).
С другой стороны, термин «компьютер» предполагает возможность изменения выполняемой программы (перепрограммирования). Многие электронные вычислительные машины могут выполнять строго определенную последовательность операций, содержат устройства ввода и вывода или состоят из похожих на используемые в электронном компьютере конструктивных элементов (например, регистры), но не предполагают возможность перепрограммирования
Оптимизация: в центре у палиндрома четной длины всегда пара одинаковых символов. Их можно найти, а затем увеличивать длину до тех пор, пока это возможно. Плюс этого наблюдения в том, что если пара попадется не в центре, то максимальная длина подстроки-палиндрома с центром в этой паре, будет ограничена сверху. Однако в худшем случае (все символы одинаковы) всё равно придется произвести немалое число сравнений.
Однако задачу можно решить и за линейное время. Например, существует алгоритм Манакера, основанный на том, что можно использовать информацию, что часть строки является палиндромом. А именно, если в длинную-длинную строку-палиндром входит другая подстрока-палиндром, то можно не начинать проверку заново, а использовать уже имеющуюся информацию.
Пример 1: "длинная" подстрока-палиндром:
cbbaabbaabbc
в которой известна подстрока-палиндром. Тогда в строке есть симметричная подстрока-палиндром:
cbbaabbaabbc
Пример 2: "длинная" подстрока палиндром:
bbaabbaabbaa
Зная, что в ней есть подстрока-палиндром
bbaabbaabbaa,
можно явные сравнения для подстроки с центром в
bbaabbaabbaa
начинать уже с
bbaabbaabbaa
Если не хочется писать самостоятельно, алгоритм Манакера легко находится.