Антивірусне програмне забезпечення зазвичай використовує два різних методи для виконання своїх задач.Наприклад:Перегляд (сканування) файлів для пошуку відомих вірусів, що відповідають визначенню в словнику вірусів та знаходження підозрілої поведінки будь-якої з програм, що схожа на поведінку зараженої програми.При цьому методі антивірусна програма під час перегляду файлу звертається до словника з відомими вірусами, що складений авторами програми-антивірусу.У разі відповідності якоїсь ділянки коду програми, що проглядається, відомому коду (сигнатурі) вірусу в словнику, програма-антивірус може виконувати одну з наступних дій.Хоча антивірусні програми створені на основі пошуку відповідності визначенню вірусу в словнику, за звичайних обставин, вони можуть досить ефективно перешкоджати збільшенню випадків зараження комп'ютерів, автори вірусів намагаються триматися на півкроку попереду таких програм-антивірусів, створюючи «олігоморфні», «поліморфні» і, найновіші, «метаморфічні» віруси, у яких деякі частини шифруються або спотворюються так, щоб неможливо було знайти спільне з визначенням в словнику вірусів.
// PascalABC.NET 3.3, сборка 1549 от 17.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:array[,] of integer; repeat // обеспечить уникальность элементов a:=MatrRandom(n,n,-999,999) until a.Rows.SelectMany(x->x).Distinct.Count=n*n; a.Println(5); Writeln(5*a.ColCount*'-'); var jmin:=a.ElementsWithIndexes.MinBy(t->t[0])[2]; Writeln(a.Col(jmin).Sum) end.