Цель любой антивирусной программы — обнаружить вирусы на компьютере, если они есть, и устранить возможные опасные последствия. В работе антивирусных программ можно выделить три основные функции:
• обнаружение зараженных объектов;
• дезактивация вирусов;
• восстановление пораженных объектов (« лечение »).
Существует три типа объектов, подверженных заражению компьютерными вирусами:
• носители;
• файлы;
• записи баз данных.
Обнаружение вируса состоит в выявлении зараженного объекта. Решение, что с ним делать, должен принять и выполнить сам пользователь. Демонстрационные и пробные версии антивирусных программ часто работают в режиме «только обнаружение».
Дезактивация вируса состоит в отключении активного вируса и блокировании средств его запуска. При этом возможно «вычищение» вируса из оперативной памяти, корректировка файлов, используемых при загрузке системы, перенос зараженных файлов в отдельный каталог (карантин) для последующего изучения. Последний прием обычно применяется, если вирус обнаружен в момент копирования файла на компьютер. Файл, временно помещенный в специальную папку, не может быть запущен ни случайно, ни автоматически.
При лечении вирус уничтожается и восстанавливается прежнее состояние системы. Это возможно, потому что вирус скрывает свое присутствие и зараженная программа должна работать точно так же, как и незараженная. Поэтому в файле, пораженном вирусом, как правило, остается все, что необходимо для его восстановления.
1) begin var a:=ArrRandom(ReadInteger('n='),20,79); a.Println; var x:=a.Where(t->t.IsEven).Count; If x>0 then Println('Количество четных:',x) else Println('Четных нету'); var y:=a.Where(t->t mod 10=6).Count; If y>0 then Println('Количество оканч. на 6:',y) else Println('Оканч. на 6 нету'); end.
Пример: n= 5 79 29 27 74 27 Количество четных: 1 Оканч. на 6 нету
2) begin var a:=ArrRandom(10,0,100); a.Println; Println('Кол-во пар:',Range(0,8,2).Where(t->a[t]=a[t+1]).Count) end.
Количество значащих нулей = 9