Преобразовать схему в алгоритм.
2. У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. вычти 1
Первая из них уменьшает число на экране в 2 раза, вторая уменьшает его на 1. Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 27 числа 5, содержащий не более 5 команд.
Решение оформите в виде списка команд
начало
1.
2.
Конец
ОТВЕТ:
3. Выполни предложенный алгоритм. Укажите результат на каждом шаге алгоритма.
Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечётна, то дублируется средний символ цепочки символов, а если чётна, то в середину цепочки добавляется буква А. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А — на Б, Б — на В и т. д., а Я — на А). Получившаяся таким образом цепочка является результатом работы алгоритма. Например, если исходной была цепочка КОТ, то результатом работы алгоритма будет цепочка ЛППУ, а если исходной была цепочка ВАНЯ, то результатом работы алгоритма будет цепочка ГББОА. Дана цепочка символов САН. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? Русский алфавит:
const n=5; m=7;
type Mas = array [1..n, 1..m] of integer;
var i, j, j1, j2: integer;
Sumj1, Sumj2: real;
A: Mas;
begin
ClrScr;
Randomize;
SumJ1:=0; SumJ2:=0;
for i:=1 to n do
for j:=1 to m do
A[i,j]:=random (10);
WriteLn (' Massiv A: ');
for i:=1 to n do
begin
for j:=1 to m do
Write (A[i,j]:4);
WriteLn;
end; WriteLn;
repeat
Write (' Stolbez #1 = '); ReadLn(j1);
until (j1>=1) and (j1<=m);
repeat
Write (' Stolbez #2 = '); ReadLn(j2);
until (j2>=1) and (j2<=m) and (j1<>j2);
for i:= 1 to n do
SumJ1 := SumJ1+A[i,j1];
for i:= 1 to n do
SumJ2:=SumJ2+A[i,j2];
SumJ1:=SumJ1/n; SumJ2:=SumJ2/n;
WriteLn;
WriteLn (' Srednee stolbza ', j1, ' = ', SumJ1:4:2);
WriteLn (' Srednee stolbza ', j2, ' = ', SumJ2:4:2);
ReadLn;
end.
1.всего пикселей 128*128= 2^14(2 в 14-ой степени)
так как 32 цвет, то один символ кодируется 5 битами (log2(32), если бы было 33 цвета то уже бы потребовалось 6 бит, так как 5 бы не хватило).
Нам нужно в килобайтах значит нужно разделить на 2^13 (т.к. в 1 кбайте 2^13 бит)
(2^14*5)/2^13=10 кбайт
2) (64*128*7)/2^13=(2^13*7)/2^13=7 кбайт
3)(64*256*8)/2^13= 2^17/2^13=2^4=16 кбайт
4)(32*1024*7)/2^13=(2^15*7)/2^13=4*7=28 кбайт
5)(1024*512*6)/2^13=(2^19*6)/2^13=64*6=384 кбайт
6)(512*256*5)/2^13=(2^17*5)/2^13=16*5=80 кбайт
7)(512*128*4)/2^13=2^18/2^13=2^5=32 кбайт
8)(256*128*3)/2^13=(2^15*3)/2^13=4*3=12 кбайт
9)(128*128*8)/2^13=2^17/2^13=2^4=16 кбайт
10)(24*2^13)/(128*256)=2^16*6/2^15=2*3=6 бит, значит 64 цвета
11)(10*2^13)/(128*128)=2^14*5/2^14=5 бит, значит 32 цвета
12)(7*2^13)/(64*128)=(7*2^13)/2^13=7 бит, значит 128 цветов
13)(16*2^13)/(64*256)=2^17/2^14=2^3=8 бит, значит 256 цветов
14)(28*2^13)/(32*1024)=7*2^15/2^15=7 бит, значит 128 цветов
15)(384*2^13)/(1024*512)=(3*2^20)/2^19=3*2=6 бит, значит 64 цвета
16)(80*2^13)/(512*256)=(5*2^17)/2^17=5 бит, значит 32 цвета
17)(32*2^13)/(512*128)=2^18/2^16=2^2=4 бита, значит 16 цветов
18)(12*2^13)/(256*128)=(3*2^15)/2^15=3 бита, значит 9 цветов
19)(16*2^13)/(128*128)=2^17/2^14=2^3=8 бит, значит 256 цветов (Каждый раз возводим в квадрат кол-во бит)