Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г и Д, решили использовать неравномерный двоичный код, позволяющий однозначно декодировать двоичную последовательность, появляющуюся на приемной стороне канала связи. Для букв А, Б и В использовали такие кодовые слова: А — 0, Б — 10, В — 110. Какими кодовыми словами могут быть закодированы буквы Г и Д? Код должен удовлетворять свойству однозначного декодирования. Если можно использовать разные варианты кодовых слов, укажите кратчайшие из них.
Решение задачи представьте с бинарного дерева.
const n = 10; //В константе n указываем количество элементов в массиве
var a:array[1..n]of integer;
i,s,max,min:integer;
begin
write('Массив: '); //Вывод на экран слова "Массив: "
for i:= 1 to n do //Цикл с параметром для последовательной обработки массива
begin
a[i]:= random(21)-10; //Заполнение массива случайными числами из промежутка [-10,10]
if (a[i]>0){//Проверяем положительный элемент или нет} and (a[i] mod 2 = 0){//Проверяем чётный элемент или нет} then s:=s+1; //В переменной s будет считаться количество чётных положительных элементов при выполнении, указанных условий
write(a[i],' ') //Вывод на экран массива в строку
end;
writeln; //Переход на новыю строку
if s=0 then write('Чётных положительных элементов в массиве нет') //Вывод на экран сообщения "Чётных положительных элементов в массиве нет" и завершение программы
else //Продолжении программы при нахождении хотя бы 1-го чётного положительного элемента
begin
max:=2; //Т.к. 2 минимальное чётное положительное число, то присваиваем это значение переменной max
for i:= 1 to n do //Поиск max элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]>max){//Проверяем больше текущий элемент max или нет} then max:=a[i]; //Присваиваем переменной max значение текущего элемента при выполнении, указанных условий
min:=max; //Т.к. max значение элемента массива уже найдено, то переменной min присваиваем значение переменной max
for i:= 1 to n do //Поиск min элемента
if (a[i]>0) and (a[i] mod 2 = 0) and (a[i]<min){//Проверяем меньше текущий элемент min или нет} then min:=a[i]; //Присваиваем переменной min значение текущего элемента при выполнении, указанных условий
if max=min then write ('Максимальным и минимальным чётным положительным элементом является один и тот же элемент: ',max) //Вывод на экран результатов
else
begin
writeLn('Максимальный чётный положительный элемент: ',max);//Вывод на экран результатов
write('Минимальный чётный положительный элемент: ',min)//Вывод на экран результатов
end
end
end.
Процесор вставляється в спеціальне місце – сокет (англ. socket – гніздо, розетка) на системній (материнській) платі, яка, у свою чергу, розміщується в системному блоці.
Для охолодження процесорів застосовують кулери — пристрої, які складаються з вентилятора і радіатора. На процесор встановлюють радіатор (зазвичай з алюмінію чи міді), а на нього — вентилятор, що забезпечує притік повітря до радіатора.
МАТЕРИНСЬКА ПЛАТА
Материнська, або системна, плата (від англ. motherboard) — це складна багатошарова друкована плата, до якої підключено практично всі пристрої комп’ютера. Друкована плата являє собою пластину з діелектрика, вкриту мережею мідних провідників-доріжок, якими електричні сигнали надходять до змонтованих на платі мікросхем та рознімів, куди вставляють інші пристрої комп’ютера.
На материнській платі розміщено центральний процесор та чіпсет (від англ. chip set) — набір мікросхем, спроектований для спільної роботи а метою виконання певних функцій. Оперативну пам’ять, відеокарту тощо вставляють у спеціальні розніми на материнській платі — слоти розширення.