От разведчика была получена шифрованная радиограмма с азбуки морзе. при передаче было потеряно разбиение на буквы,но известно,что в радиограмме использовались только следующие буквы: а- ._ д- т- л- . диаграмма:
Pascal: 1) const n = 10; var a:array [1..n] of integer; i:integer; begin randomize; for i:=1 to n do begin a[i]:=random(21)-10; write (a[i]:3); end; writeln; for i:=1 to n do begin if a[i]>0 then a[i]:=99; write (a[i]:3); end; writeln; end.
2) const n = 10; var a:array [1..n] of integer; p,s,i:longint; begin p:=1; s:=0; randomize; for i:=1 to n do begin a[i]:=random(21)-10; if a[i]>0 then p:=p*a[i] else if a[i]<0 then s:=s+a[i]; write(a[i]:3); end; writeln; writeln ('Proizvedenie: ',p); writeln ('Summa: ',s); end.
1)
const n = 10;
var a:array [1..n] of integer;
i:integer;
begin
randomize;
for i:=1 to n do
begin
a[i]:=random(21)-10;
write (a[i]:3);
end;
writeln;
for i:=1 to n do
begin
if a[i]>0 then a[i]:=99;
write (a[i]:3);
end;
writeln;
end.
2)
const n = 10;
var a:array [1..n] of integer;
p,s,i:longint;
begin
p:=1;
s:=0;
randomize;
for i:=1 to n do
begin
a[i]:=random(21)-10;
if a[i]>0 then p:=p*a[i] else
if a[i]<0 then s:=s+a[i];
write(a[i]:3);
end;
writeln;
writeln ('Proizvedenie: ',p);
writeln ('Summa: ',s);
end.
C++:
1)
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
int a[10];
srand (time(NULL));
for (int i = 0; i<10; i++)
{
a[i] = rand()%20-10;
cout <<a[i] <<" ";
if (a[i]>0)
a[i] = 99;
}
cout <<endl;
for (int i = 0; i<10; i++)
cout <<a[i] <<" ";
cout <<endl;
return 0;
}
2)
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
int a[10];
int p = 1,s = 0;
srand (time(NULL));
for (int i = 0; i<10; i++)
{
a[i] = rand()%20-10;
cout <<a[i] <<" ";
if (a[i]>0)
p*=a[i];
else if (a[i]<0) s+=a[i];
}
cout <<endl;
cout <<"Summa: " <<s <<endl
<<"Proizvedenie: " <<p <<endl;
return 0;
}
287 / 2 = 143,5 1
143 / 2 = 71,5 1
71 / 2 = 35,5 1
35 / 2 = 17,5 1
17 / 2 = 8,5 1
8 / 2 = 4 0
4 / 2 = 2 0
2 / 2 =1 0
1 / 2 =0,5 1
Ноль уже не делиться, значит завершаем деления и записываем полученные (1 и 0) в обратном порядке т.е с конца
получается 287=100011111
2)
101011011
1*2^8 + 0*2^7 + 1*2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 1*256+0*128+1*64+0*32+1*16+1*8+0*4+1*2+1*1 = 347