Одним из наиболее распространенных видов системных программ являются программы, предназначенные для архивации, упаковки файлов путем сжатия хранимой в них информации.
Сжатие информации — это процесс преобразования информации, хранящейся в файле, в результате которого уменьшается ее избыточность, соответственно, требуется меньший объем Памяти для хранения.
Сжатие информации в файлах производится за счет устранения избыточности различными например за счет упрощения кодов, исключения из них постоянных битов или представления повторяющихся символов или повторяющейся последовательности символов в виде коэффициента повторения и соответствующих символов. Применяются различные алгоритмы подобного сжатия информации.
Сжиматься могут как одни, так и несколько файлов, которые в сжатом виде помещаются в так называемый архивный файл, или архив.
Архивный файл — это специальным образом организованный файл, содержащий в себе один или несколько файлов в сжатом или несжатом виде и служебную информацию об именах файлов, дате и времени их создания или модификации, размерах и т. д.
Целью упаковки файлов обычно являются обеспечение более компактного размещения информации на диске, сокращение времени и, соответственно, стоимости передачи информации по каналам связи в компьютерных сетях. Кроме того, упаковка в один архивный файл группы файлов существенно упрощает их перенос с одного компьютера на другой, сокращает время копирования файлов на диски, позволяет защитить информацию от несанкционированного доступа защите от заражения компьютерными вирусами.
Под степенью сжатия понимают отношение размеров сжатого файла и исходного, выраженное в процентах.
Степень сжатия зависит от используемой программы сжатия, метода сжатия и типа исходного файла. Лучше всего сжимаются файлы графических образов, текстовые файлы, файлы данных, степень сжатия которых может достигать 5 — 40%, меньше сжимаются файлы исполняемых программ и загрузочных модулей — 60 — 90%. Почти не сжимаются архивные файлы. Программы для архивации отличаются используемыми методами сжатия, что соответственно влияет на степень сжатия.
Архивация (упаковка) — помещение (загрузка) исходных файлов в архивный файл в сжатом или несжатом виде.
Разархивацияия (распаковка) — процесс восстановления файлов из архива точно в таком виде, какой они имели до загрузки в архив. При распаковке файлы извлекаются из архива и помещаются на диск или в оперативную память.
Программы, осуществляющие упаковку и распаковку файлов, называютсяпрограммами-архиваторами.
Большие по объему архивные файлы могут быть размещены на нескольких дисках (томах). Такие архивы называются многотомными. Том — это составная часть многотомного архива. Создавая архив из нескольких частей, можно записать его части на несколько носителей.
Основные виды программ-архиваторовВ настоящее время применяется несколько десятков программ-архиваторов, которые отличаются перечнем функций и параметрами работы, однако лучшие из них имеют примерно одинаковые характеристики. Из числа наиболее популярных программ можно выделить: Zip (и его модификация WinZip), WinRAR, Arj (и его разновидности), G-Zip, 7-Zip.
Программы-архиваторы позволяют создавать и такие архивы, для извлечения файлов из которых не требуются какие-либо программы, гак как сами архивные файлы могут содержать программу распаковки. Такие архивные файлы называются самораспаковывающимися. Самораспаковывающийся архивный файл — это загрузочный, исполняемый модуль, который к самостоятельной разархивации находящихся в нем файлов без использования программы-архиватора.
Самораспаковывающийся архив получил название SFX-архив (SelF-eXtracting). Архивы такого типа обычно создаются в формате ЕХЕ-файла.
Многие программы-архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы Upx, PKLITE, LZEXE.
Ппрограмма EXPAND, входящая в состав утилит операционной системы Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой управления программой-архиватором
Управление программой-архиватором осуществляется одним из следующих с командной строки, в которой формируется команда запуска, содержащая имя программы-архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов;— с встроенной оболочки и диалоговых панелей, появляющихся после запуска программы и позволяющих вести управление с использованием меню и функциональных клавиш, что создает для пользователя более комфортные условия работы;— с контекстного меню Проводника в операционной системе Windows
Я тебе дал,а ты сам подумай)
Объяснение:
Repeat — это цикл с пост условием то есть в первый раз всё равно выполнится. Теперь разберём цикл, он будет выполнять это действие
(p:=p*0.1) пока (p) не станет меньше 0.1 , теперь работаем в теле цикла, (p) изначально равен двум по этому получаем p:=1*0,1; получаем p:=0,1 проверяем условие 0,1<0,1 нет повторяем второй раз цикл, теперь p:=0,1 а не 1 как было в первый раз p:=0,1*0,1 p:=0,01 проверяем условие
0,01<0,1 да меньше цикл прерывается и (p) остаётся равным 0,01
import linecache
from fractions import Fraction
try:
q=0
n=0
inpfile=open('c:\\test\\input.txt', 'rt')
oupfile=open('c:\\test\\output.txt', 'w')
inputdata=[]
for line in inpfile:
stripped_line = line.strip().replace(" ","+")
inputdata.append(stripped_line)
print(inputdata)
if len(inputdata)==3:
if len(inputdata[1])==1:
print(inputdata[1])
print(inputdata[0])
A=eval(inputdata[0])
print(A)
print(inputdata[2])
B=eval(inputdata[2])
print(B)
if inputdata[1]=='+':
q=A+B
elif inputdata[1]=='-':
q=A-B
elif inputdata[1]=='*':
q=A*B
elif inputdata[1]=='/':
q=A/B
print(q)
entier=int(q)
fraction=q%1
entstr=str(entier)
fractstr=str(Fraction(fraction))
print(fractstr)
oupfile.write(str(entstr + " " + fractstr))
oupfile.close()
except FileNotFoundError:
print('Файл не знайдено')
except ZeroDivisionError:
print('Ви намагаєтеся ділити на нуль')
except TypeError:
print('Ви використовуєте інший тип даних')
Объяснение: