Задание №1 Выполнить сканирование и лечение локального диска, содержащего зараженные вирусами файлы с не менее чем двух антивирусных программ.
Можно использовать следующие дополнительные утилиты:
http://support.kaspersky.ru/viruses/kss3
http://z-oleg.com/secur/avz/download.php
Использовать все доступные режимы сканирования этих программ.
Содержание отчета:
Общие характеристики компьютера, на котором выполнялось сканирование, в т.ч. жесткого диска.
Названия и версии антивирусных программ.
Краткое описание режимов работы антивирусных программ.
Сводная таблица результатов сканирования, содержащая следующую информацию для каждого из режимов сканирования:
название режима сканирования,
время сканирования,
количество проверенных объектов,
количество обнаруженных вирусов,
количество зараженных файлов,
количество вылеченных файлов.
Выводы, содержащие сравнительную характеристику использованных антивирусных программ и их режимов работы.
Задание №2
ответьте на следующие вопросы.
1. Какие существуют угрозы для информации?
2. Какие мероприятия применяются для устранения возможности возникновения угроз и их последствий?
3. Что такое компьютерный вирус? Какими свойствами обладают компьютерные вирусы?
4. Опишите схему функционирования загрузочного вируса.
5. Каковы пути проникновения вирусов в компьютер и признаки заражения компьютера вирусом?
Исходный код (Python 3.8 x64):
class InvalidArgumentException(Exception): pass
class KeyValuePair:
def __init__(self, key, value):
self._key = key
self._value = value
@staticmethod
def FromList(pair: list):
if (len(pair) != 2): raise InvalidArgumentException("List must contain strictly 2 elements for initialize KeyValuePair")
return KeyValuePair(pair[0], pair[1])
@property
def Key(self):
return self._key
@property
def Value(self):
return self._value
def strip(string: str):
return string.strip()
def readWordPairs(wordCount: int, pairSeparator: str = "-") -> dict:
temp = dict()
for i in range(wordCount):
wordPair = KeyValuePair.FromList(list(map(strip, input(f'{i} pair: ').lower().split(pairSeparator
if wordPair.Key in temp.keys():
temp[wordPair.Key] = [temp[wordPair.Key], wordPair.Value]
else:
temp[wordPair.Key] = wordPair.Value
return temp
def main():
wordCount = int(input("Enter words pairs count:\n"))
wDict = readWordPairs(wordCount)
while True:
word = input("Enter word: ")
if word.lower() == "exit": break
print(f"Synonim: {wDict[word]}" if word in wDict.keys() else "Not found")
input("press any key to close program")
if __name__ == "__main__":
main()
Объяснение:
Если есть вопросы - не стесняйтесь задать в комментариях к ответу. Ошибок, которые вы описали в задании, в данном случае не наблюдается. Единственное, я сделал так, что бы программа не завершалась после первого найденного слова, а запрашивала слова до тех пор, пока пользователь не введёт команду exit
Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.