Криптекс<span>, придуман автором </span>Дэном Брауном<span> в его романе «</span>Код да Винчи<span>» в 2003 году, который обозначал портативное хранилище, используемое для секретных сообщений. </span>Первый рабочий криптекс был создан в 2004 году Джастином Кирком Нэвинсом<span>
</span>
<em>// PascalABC.NET 3.2, сборка 1338 от 16.11.2016</em>
type
matrix=array[1..3,1..3] of real;
vector=array[1..3] of real;
procedure MatPrint(a:matrix);
begin
for var i:=1 to 3 do begin
for var j:=1 to 3 do Write(a[i,j]:6:2);
Writeln
end
end;
procedure VecPrint(a:vector);
begin
for var i:=1 to 3 do Write(a[i]:6:2);
Writeln
end;
procedure MV(a:matrix; v:vector; var t:vector);
// Умножение матрицы на вектор
begin
for var i:=1 to 3 do begin
var s:=0.0;
for var j:=1 to 3 do
s+=a[i,j]*v[j];
t[i]:=s
end;
end;
procedure VS(a,b:vector; var t:vector);
// Вычитание векторов
begin
for var i:=1 to 3 do t[i]:=a[i]-b[i]
end;
function SP(a,b:vector):real;
// Скалярное произведение векторов
begin
Result:=0.0;
for var i:=1 to 3 do Result+=a[i]*b[i]
end;
begin
var A:matrix:=((1,2,3),(1,2,1),(3,2,0));
var B:matrix:=((3,1,2),(0,4,3),(1,1,1));
var p:vector:=(0.1,1.7,-1.5);
var q:vector:=(-1.6,0.8,1.1);
var r:vector:=(-0.7,1.3,0.2);
Writeln('Матрица А'); MatPrint(A);
Writeln('Матрица B'); MatPrint(B);
Writeln('Вектор p'); VecPrint(p);
Writeln('Вектор q'); VecPrint(q);
Writeln('Вектор r'); VecPrint(r);
var t1,t2,t3:vector;
MV(A,q,t1);
MV(B,p,t2);
VS(t1,t2,t3);
Writeln('Скалярное произведение равно ',SP(t3,r))
end.
Результаты
Матрица А
1.00 2.00 3.00
1.00 2.00 1.00
3.00 2.00 0.00
Матрица B
3.00 1.00 2.00
0.00 4.00 3.00
1.00 1.00 1.00
Вектор p
0.10 1.70 -1.50
Вектор q
-1.60 0.80 1.10
Вектор r
-0.70 1.30 0.20
Скалярное произведение равно -5.27
Sub z()
n = InputBox("Введите троичное число")
Do
d = d + (n Mod 10) * 3 ^ i
i = i + 1
n = n \ 10
Loop Until n = 0
MsgBox ("Десятичное: " & d & "; восьмеричное: " & Oct(d))
d = 0
i = 0
n = InputBox("Введите восьмеричное число")
Do
d = d + (n Mod 10) * 8 ^ i
i = i + 1
n = n \ 10
Loop Until n = 0
x = d
Do
t = t & (x Mod 3)
x = x \ 3
Loop Until x = 0
t = StrReverse(t)
MsgBox ("Десятичное: " & d & "; троичное: " & t)
End Sub
Данные в таблице практически везде неверные, если свериться с астрономическими справочниками. Ну да не суть важно.
Во вложении - файл Microsoft Word-2003 с таблицей.
Program odin;
var a,b,c,d:integer;
x,y:integer;
begin
readln(a,b,c,d);
x:=a+b+c+d;
y:=a*b*c*d;
writeln('сумма чисел = ', x);
writeln('произведение чисел = ', y);
end.
// ------------------------------------------
program dva;
const p=3.14;
var r:integer;
s:real;
begin
writeln('Введите радиус ');
readln(r);
s:= pi * r * r;
writeln('Площадь круга = ', s);
end.