ВЫПОЛНИТЕ ЗАДАНИЕ Задание 1. Удаление и добавление слов. Количество информации в тексте
1. В одной из кодировок каждый символ кодируется 8 битами. Вова написал текст (в нём нет лишних пробелов):
«Фиалка, лютик, роза, гвоздика, мак, хризантема, гладиолус – это цветы».
Затем он добавил в список название ещё одного растения. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 11 байт больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия растения в символах.
2. В одной из кодировок Unicode каждый символ кодируется 16 битами. Вова написал текст (в нём нет лишних пробелов):
«Собака, кошка, курица, корова, лошадь, коза, овца – домашние животные».
Затем он добавил в список название ещё одного животного. Заодно он добавил необходимые запятые и пробелы. При этом размер нового предложения в данной кодировке оказался на 14 байт больше, чем размер исходного предложения. Напишите в ответе длину добавленного названия животного в символах.
Еще пример: магазинные чеки. Не будет же машина (из-за технической сложности) или человек (из-за лени) писать на чеке: "продано столько-то столько-то того-то того-то ... пакет апельсинов весил шестьсот пядесят три грамма ... итд". На чеке будет табличка, где четко и точно будет написано то, что человек приобрел.
Вот. Так что табличные модели, несомненно, лучше словесных.
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte);
var i:byte;
begin
for i:=k to n-1 do z[i]:=z[i+1];
z[n]:=0;
end;
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
begin
Del(a,i);
writeln('Размерность массива = ',n-1);
for i:=1 to n-1 do write(a[i]:4);
writeln;
end else writeln('Массив не изменился');
end.
Пример:
12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Размерность массива = 19
12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18