4. Выполни задания на диске по теме «Шифрование инфор- мации». Анализируем и сравниваем Для чего используют шифрование и дешифрование ин- формации? Подумай, сравни и поделись мыслями. Выполняем в тетради Заполни таблицу. Электронная подпись Криптография Шифр Цезаря Домашнее задание Диана выполняла домашнее задание. Мама спросила у нее, что такое электронная цифровая подпись. Диана рассказала ей о том, что узнала на уроке информатики. Но ее информация была неполной. Как бы ты Диане? Поделись информацией об электронной подписи с друзьями и родителями.
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var m,n:integer; Write('Количество строк и столбцов матрицы: '); Read(n,m); var a:=MatrixRandom(n,m,10,99); for var i:=0 to n-1 do begin for var j:=0 to m-1 do Print(a[i,j]); Writeln end; var p:=ReadInteger('Введите число Р:'); var b:array of integer; SetLength(b,4*m); var k:=0; for var i:=n-p to n-1 do for var j:=0 to m-1 do if a[i,j] mod 4=0 then begin b[k]:=a[i,j]; Inc(k) end; SetLength(b,k); b.Print end.
Function IsPrime(n:integer):Boolean; { Проверка, является ли число простым } var p:integer; found:Boolean; begin found:= (n mod 2 = 0); p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p:=p+2 end; IsPrime:=(not found) or (p = 2) end;
const m1 = 20; n1 = 20;
var a: array[1..m1, 1..n1] of integer; s,k:array[1..n1] of integer; i, j, m, n, sum, kol: integer;
begin Write('Введите через пробел число строк и столбцов массива: '); Readln(m, n); Randomize; Writeln(#13#10, 'Исходный массив'); for i := 1 to m do begin for j := 1 to n do begin a[i,j]:= Random(99)+1; Write(a[i,j]:3) end; Writeln end; for j:=1 to n do begin sum:=0; kol:=0; for i:=1 to m do if IsPrime(a[i,j]) then begin sum:=sum+a[i,j]; kol:=kol+1 end; s[j]:=sum; k[j]:=kol end; Writeln('*** Сумма простых элементов по столбцам ***'); for j:=1 to n do Write(s[j]:4); Writeln; Writeln('*** Количество простых элементов по столбцам ***'); for j:=1 to n do Write(k[j]:4); Writeln end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 12 15
begin
var m,n:integer;
Write('Количество строк и столбцов матрицы: ');
Read(n,m);
var a:=MatrixRandom(n,m,10,99);
for var i:=0 to n-1 do begin
for var j:=0 to m-1 do Print(a[i,j]);
Writeln
end;
var p:=ReadInteger('Введите число Р:');
var b:array of integer;
SetLength(b,4*m);
var k:=0;
for var i:=n-p to n-1 do
for var j:=0 to m-1 do
if a[i,j] mod 4=0 then begin
b[k]:=a[i,j]; Inc(k)
end;
SetLength(b,k);
b.Print
end.
Тестовое решение:
Количество строк и столбцов матрицы: 6 8
67 70 68 72 38 72 96 38
49 75 24 55 72 63 21 40
72 12 60 22 74 30 13 45
22 45 39 24 35 97 64 31
76 62 15 94 56 28 31 13
41 67 75 37 67 13 25 20
Введите число Р: 4
72 12 60 24 64 76 56 28 20
{ Проверка, является ли число простым }
var
p:integer;
found:Boolean;
begin
found:= (n mod 2 = 0);
p:=3;
while (not found) and (sqr(p)<=n) do
begin
found:=(n mod p = 0);
p:=p+2
end;
IsPrime:=(not found) or (p = 2)
end;
const
m1 = 20;
n1 = 20;
var
a: array[1..m1, 1..n1] of integer;
s,k:array[1..n1] of integer;
i, j, m, n, sum, kol: integer;
begin
Write('Введите через пробел число строк и столбцов массива: ');
Readln(m, n);
Randomize;
Writeln(#13#10, 'Исходный массив');
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i,j]:= Random(99)+1;
Write(a[i,j]:3)
end;
Writeln
end;
for j:=1 to n do
begin
sum:=0; kol:=0;
for i:=1 to m do
if IsPrime(a[i,j]) then
begin sum:=sum+a[i,j]; kol:=kol+1 end;
s[j]:=sum; k[j]:=kol
end;
Writeln('*** Сумма простых элементов по столбцам ***');
for j:=1 to n do Write(s[j]:4);
Writeln;
Writeln('*** Количество простых элементов по столбцам ***');
for j:=1 to n do Write(k[j]:4);
Writeln
end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 12 15
Исходный массив
36 74 72 75 25 58 26 45 25 51 35 83 34 8 99
53 55 3 51 31 7 65 91 99 95 40 91 86 80 39
61 5 92 50 28 40 7 93 46 46 20 2 61 45 91
85 10 47 49 54 29 15 10 49 13 70 83 73 79 85
67 40 65 85 90 31 90 83 80 59 46 61 57 5 12
6 4 46 9 10 30 44 37 27 11 46 94 44 38 57
57 34 14 61 79 80 37 75 55 60 94 27 67 90 8
67 58 5 37 7 67 37 64 69 55 24 3 38 75 44
36 47 46 23 2 12 47 96 26 31 69 28 91 49 16
4 76 47 19 43 88 89 7 31 90 21 69 45 6 55
78 98 1 11 24 48 80 44 88 96 21 61 79 7 38
39 46 16 54 52 47 55 20 33 56 46 40 16 33 81
*** Сумма простых элементов по столбцам ***
248 52 103 151 160 181 217 127 31 114 0 291 280 91 0
*** Количество простых элементов по столбцам ***
4 2 5 5 4 5 5 3 1 4 0 5 4 3 0