Ассе́мблер (от англ. assembler — сборщик) — транслятор программы из текста на языке ассемблера, в программу на машинном языке.
Как и сам язык, ассемблеры, как правило, специфичны для конкретной архитектуры, операционной системы и варианта синтаксиса языка, поскольку работают с мнемониками машинных инструкций определённого процессора. Вместе с тем, ассемблеры могут быть мультиплатформенными или вовсе универсальными, то есть работать на разных платформах и операционных системах. Среди ассемблеров можно также выделить группу кросс-ассемблеров, имеющих возможность собирать машинный код и исполняемые модули (файлы) для архитектур, отличных от архитектуры и/или операционной системы, в которых работает сам ассемблер (например, трансляция программы для микроконтроллера ассемблером, работающим на компьютере).
В Викисловаре есть статья «макроассемблер»
Многие современные ассемблеры являются макроассемблерами (от греч. μάκρος — большой, обширный), то есть макропроцессорами на базе языка ассемблера[1]. Кроме макросов, ассемблеры при трансляции выполняют другие директивы, набор которых зависит не от аппаратной платформы, для которой транслируется программа, а от самого используемого транслятора.
Ассемблирование может быть не первым и не последним этапом на пути получения исполнимого модуля программы. Так, многие компиляторы с языков программирования высокого уровня выдают результат в виде программы на языке ассемблера, которую в дальнейшем обрабатывает ассемблер. В свою очередь, результатом ассемблирования может быть не исполняемый, а объектный модуль, содержащий разрозненные блоки машинного кода и данных программы, из которого (или из нескольких объектных модулей) в дальнейшем с редактора связей (линкера) может быть получен исполняемый файл.
В отличие от компиляции программ на языках высокого уровня, ассемблирование является более или менее однозначным и обратимым процессом, поскольку в языке ассемблера каждой мнемонике соответствует одна машинная инструкция, в то время как в высокоуровневых языках каждое выражение может преобразовываться в большое число различных инструкций (операция, обратная ассемблированию, называется дизассемблированием). Трансляцию ассемблерных программ иногда также называют компиляцией.
cd ~
mkdir folder1
cd folder1
touch file1
touch file2
touch file3
touch file4
tar cvf archive.tar *
mkdir ../folder2
cd ../folder2
touch new_file
cp ../folder1/archive.tar .
tar rvf archive.tar new_file
tar vf archive.tar --delete file3
tar vf archive.tar --list > list1
tar vf ../folder1/archive.tar --list > list2
diff list1 list2
#Разъединение выполнить не получится, потому что все файлы пустые, но если засовывать не пустые, то
split -b 10M archive.tar "part" # вместо 10M нужный размер
cat part* > joined_archive.tar
tar vf archive.tar --list
tar vf joined_archive.tar --list
tar czvf final_archive.tar archive.tar ../folder1/archive.tar joined_archive.tar
Відповідь:
Пояснення:
print("Введить координати вершин трикутника по зростанню х")
x1, y1, x2,y2, x3,y3 = map(float, (input().split()))
print("Введить координати точки")
tx, ty = map(float, (input().split()))
S = (x1-x3)*(ty-y3)-(y1-y3)*(tx-x3)
if S==0:
print("Трикутик не існує...")
if(ty-y1)*(x2-x1) - (tx-x1)*(y2-y1) >= 0 and (ty-y2)*(x3-x2) - (tx-x2)*(y3-y2) >= 0 and (ty-y3)*(x1-x3) - (tx-x3)*(y1-y3) >= 0 \
or (ty-y1)*(x2-x1) - (tx-x1)*(y2-y1) <= 0 and (ty-y2)*(x3-x2) - (tx-x2)*(y3-y2) <= 0 and (ty-y3)*(x1-x3) - (tx-x3)*(y1-y3) <= 0:
print("Точка належить трикутнику")
else:
print("Точка НЕ належить трикутнику")