Составить программу в паскале. в массиве x(n) каждый элемент равен 0, 1 или 2. переставить элементы массива так, чтобы сначала располагались все единицы, затем все двойки и, наконец, все нули (дополнительного массива не заводить).
Const n=10; var a:array[1..n]of integer; i,j,buf:integer; begin for i:=1 to n do begin a[i]:=random(3); write(a[i]:4); end; {сортирую по возрастанию} for i:=1 to n-1 do for j:=i+1 to n do if a[i]<a[j]then begin buf:=a[i]; a[i]:=a[j]; a[j]:=buf; end; {пересылаю нули в конец масива} for i:=1 to n-1 do for j:=i+1 to n do if a[i]=0 then begin buf:=a[i]; a[i]:=a[j]; a[j]:=buf; end; for i:=1 to n do write(a[i]:4); end.
Чисто по определениям (без примеров): 1) Платное - ты платишь за возможность использования полного функционала программы единажды. Бесплатное - полный функционал программы распространяется бесплатно Условно-беспланое - программное обеспечение, распространяемое бесплатно, но имеющее платные "модули" 2) Системное - все программы и компоненты, поставляемые вместе с операционной системы, загружаемые с загрузочного диска независимо от желания пользователя. Прикладное - все программное обеспечение, установленное пользователем.
Для решения задач нам понадобится формула, связывающая между собой информационный вес каждого символа, выраженный в битах (b), и мощность алфавита (N):
N = 2b Задача 1:
Алфавит содержит 32 буквы. Какое количество информации несет одна буква?
Дано:
Мощность алфавита N = 32 Какое количество информации несет одна буква? Решение:
1. 32 = 2 5, значит вес одного символа b = 5 бит.
ответ: одна буква несет 5 бит информации.
Задача 2:
Сообщение, записанное буквами из 16 символьного алфавита, содержит 10 символов. Какой объем информации в битах оно несет?
Дано:
Мощность алфавита N = 16 текст состоит из 10 символов Определить объем информации в битах. Решение:
1. 16 = 2 4, значит вес одного символа b = 4 бита.
2. Всего символов 10, значит объем информации 10 * 4 = 40 бит.
ответ: сообщение несет 40 бит информации (8 байт).
Задача 3:
Информационное сообщение объемом 300 бит содержит 100 символов. Какова мощность алфавита?
Дано:
Объем сообщения = 300 бит текст состоит из 100 символов Какова мощность алфавита? Решение:
1. Определим вес одного символа: 300 / 100 = 3 бита.
2. Мощность алфавита определяем по формуле: 2 3 = 8.
ответ: мощность алфавита N = 8.
Попробуйте следующие задачи решить самостоятельно.
Задача 4:
Объем сообщения, содержащего 20 символов, составил 100 бит. Каков размер алфавита, с которого записано сообщение?
Проверить решение
Задача 5:
Сколько символов содержит сообщение, записанное с символьного алфавита, если объем его составил 120 бит?
Проверить решение
Задача 6:
В книге 100 страниц. На каждой странице 60 строк по 80 символов в строке. Вычислить информационный объем книги.
n=10;
var
a:array[1..n]of integer;
i,j,buf:integer;
begin
for i:=1 to n do
begin
a[i]:=random(3);
write(a[i]:4);
end;
{сортирую по возрастанию}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j]then
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
{пересылаю нули в конец масива}
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]=0 then
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
for i:=1 to n do
write(a[i]:4);
end.