Программы детекторы - это программы: 1) резиденты в озу и о вирусе 2) правильный вариант отсутствует 3) сравнивающие текущее состояние диска с запомненным 4) обнаруживающие файлы зараженные вирусом 5) уничтожающие тело вируса
Детекторы основаны на сравнении последовательности кодов содержащихся в теле вируса с кодами проверяемых программ. Позволяют также лечить зараженные файлы
// PascalABC.NET 3.0, сборка 1088 const n=9; m=7; var a:array[1..n,1..m] of integer; b:array[1..n] of boolean; i,j,k:integer; begin Randomize; Writeln('*** Исходный массив ***'); for i:=1 to n do begin k:=0; for j:=1 to m do begin a[i,j]:=Random(225)-112; Write(a[i,j]:5); if a[i,j]<0 Then Inc(k) end; Writeln; b[i]:=k>3 end; Writeln('*** Строки, содержащие больше 3 отрицательных элементов ***'); for i:=1 to n do if b[i] then Write(i,' '); Writeln end.
Расстояние от точки до начала координат находится как длина гипотенузы прямоугольного треугольника, катетами которого являются координаты точки. Поскольку нам нужны не сами расстояния, а лишь сравнить их, то можно сравнивать квадраты, чтобы не извлекать корня.
// PascalABC.NET 3.0, сборка 1088 var x1,x2,y1,y2,r1,r2:real; begin Write('Введите координаты первой точки: '); Read(x1,y1); Write('Введите координаты второй точки: '); Read(x2,y2); r1:=sqr(x1)+sqr(y1); r2:=sqr(x2)+sqr(y2); if r1>r2 then Writeln('Ближе вторая точка') else if r1<r2 then Writeln('Ближе первая точка') else Writeln('Точки равноудалены') end.
Тестовое решение: Введите координаты первой точки: 16.3 -11.7 Введите координаты второй точки: 15.8 12 Ближе вторая точка