PascalABCNETУказание: для каждой задачи создайте алгоритм и программу. Заполните одномерный числовой массив D(15) случайными цел
PascalABCNET
Указание: для каждой задачи создайте алгоритм и программу. Заполните одномерный числовой массив D(15) случайными целыми числами в интервале [-20; 18]. Выведите значения элементов массива сначала в столбик, а затем в строку, причем на каждый элемент отведите 4 позиции. Ответ каждой задачи следует выводить с новой строки и с пояснительным текстом. Кроме того, следует каждый раз производить пвывод массива на экран, если в нем произошли изменения: перестановка, замена, изменение значения элементов и т.д.
Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. Задание 2. Найдите произведение элементов, имеющих значение меньше -2 (минус два). Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива. Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива. Задание 6*. Найдите в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то выведите сообщение об этом на экран. Задание 7*. Выведите на экран одномерный массив, раскрасив в нем красным цветом кратные 12 элементы.
Const n=15; var d:array[1..n] of integer; i:integer; begin //Инициализация и вывод Randomize; Writeln('Исходный массив в столбик:'); for i:=1 to n do begin d[i]:=Random(-20,18); Writeln(d[i]:4) end; Writeln('Исходный массив в строку:'); for i:=1 to n do Write(d[i]:4); Writeln; { Задание 1. Найдите отдельное количество отрицательных и положительных элементов массива. } begin var ineg,ipos:integer; ineg:=0; ipos:=0; for i:=1 to n do if d[i]>0 then Inc(ipos) else if d[i]<0 then Inc(ineg); Writeln('Задание 1'); Writeln('Количество отрицательных элементов ',ineg, ', положительных- ',ipos) end; { Задание 2. Найдите произведение элементов, имеющих значение меньше -2 } begin var p:integer:=1; for i:=1 to n do if d[i]<-2 then p*=d[i]; Writeln('Задание 2'); Writeln('Произведение элементов, меньших -2: ',p) end; { Задание 3. Найдите максимальный элемент массива из элементов, стоящих на местах, номера которых кратны пяти. } begin var dmax:integer; i:=10; dmax:=d[5]; while i<=n do begin if dmax<d[i] then dmax:=d[i]; i+=5 end; Writeln('Задание 3'); Writeln('Максимальный элемент массива из элементов,'); Writeln('стоящих на местах с номером, кратным 5: ',dmax) end; { Задание 4. Замените отрицательные элементы, стоящие на нечётных местах на последний элемент массива } i:=1; while i<=n do begin if d[i]<0 then d[i]:=d[n]; i+=2 end; Writeln('Задание 4'); Writeln('Отрицательные элементы, стоящие на нечётных местах,'); Writeln('заменены последним элементом массива:'); for i:=1 to n do Write(d[i]:4); Writeln; { Задание 5. Если в массиве имеются нулевые элементы, то найдите сумму элементов массива, имеющих значение, кратное трем, иначе выведите на экран положительные элементы массива } begin var sum:integer:=0; var FlagSum:boolean:=False; for i:=1 to n do begin Flagsum:=(d[i]=0); if FlagSum then break end; Writeln('Задание 5'); if FlagSum then begin for i:=1 to n do if (d[i] mod 3)=0 then sum+=d[i]; Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum) end else begin Writeln('Положительные элементы массива:'); for i:=1 to n do if d[i]>0 then Write(d[i]:4); Writeln end end; { Задание 6*. Найти в массиве элементы, кратные 12, и вывести на экран их номера. Если таких элементов нет, то вывести сообщение об этом на экран. } Writeln('Задание 6*'); begin var k:integer:=0; var p:array[1..n] of integer; for i:=1 to n do if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end; if k>0 then begin Writeln('Номера элементов массива, кратных 12:'); for i:=1 to k do Write(p[i]:3); Writeln end else Writeln('В массиве нет элементов, кратных 12') end end.
<em><u>Тестовое решение:</u></em> Исходный массив в столбик: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 Исходный массив в строку: -12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20 Задание 1 Количество отрицательных элементов 7, положительных- 8 Задание 2 Произведение элементов, меньших -2: -96000 Задание 3 Максимальный элемент массива из элементов, стоящих на местах с номером, кратным 5: 17 Задание 4 Отрицательные элементы, стоящие на нечётных местах, заменены последним элементом массива: -20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20 Задание 5 Положительные элементы массива: 15 13 12 17 12 14 2 3 Задание 6* Номера элементов массива, кратных 12: 9 11
<em><u>Задание 7*. Выведите на экран одномерный массив,</u></em> <em><u>раскрасив в нем красным цветом кратные 12 элементы.</u></em>
uses GraphABC; const n=15; var d:array[1..n] of integer; i:integer; begin SetWindowSize(800,600); Randomize; for i:=1 to n do begin d[i]:=Random(-20,18); if (d[i] mod 12)=0 then begin SetFontColor(clRed); Write(d[i]:4); SetFontColor(clBlack) end else Write(d[i]:4) end; Writeln end.
//PascalABC.Net 3.2 begin var a: array of integer; setLength (a, readinteger('Введите размерность массива: ')); var count:=0; for var i:=0 to length(a)-1 do a[i]:=readinteger ('Введите элемент: '); for var i:=1 to length(a)-1 do if (a[i-1]*a[i])<0 then count+=1; write ('Кол-во раз: ', count); end.
В блоке объявления переменных (var) тип переменной (в данном случае byte) объявляется после двое точия, а не знака равно То есть вместо Var h=byte; нужно Var h:byte;
1) Вирус - это вредоносная программа, которая распространяется копируя себя (возможно не полностью). Различаются по способу попадания на устройство, типу заражаемых объектов, способу распространения и типу вредоносных действий
В среднем жизненный цикл вируса такой: попадание на устройство, активация, поиск объектов для заражения, заражение, распространение
2) Вообще вирус может делать все то же, что и другая программа. Теоретически вирус может быть даже полезным. Но так или иначе он совершает действия не санкционированные самим пользователем или системой
Примеры вредоносных действий
использование ресурсов системы в своих целях (вычисления, Ддос атаки,...)
удаление или порча, шифрование файлов
нарушение работы системы/ОС
кража личных данных пользователя (напр. данных банковских карт, паролей)
нарушение работы программ
перегрузка/блокировка линий связи
спам, внедрение угрожающих/рекламных сообщений, переходы на нежелательные сайты