Для групповых операций с файлами используются маски имён файлов. Маска представляет собой последовательность букв, цифр и прочих допустимых в именах файлов символов, в которых также могут встречаться следующие символы: Символ «?» (вопросительный знак) означает ровно один произвольный символ. Символ «*» (звёздочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. Определите, какое из указанных имён файлов удовлетворяет маске: ??pri*.?*
смотрите тут что дано.
26 лат букв и десятичные цифры т.е от 0 до 9 итого 10,мы все складываем получаем 36 различных символов,потом находим от этого числа кол-во информации по формуле i=log по основанию 2 от числа,в нашем случае от 36,результат всегда округляется к большему,т.е. 2^5 =32,не хватает а в 2^6=64,но так как округляем к большему,то берем 6 и у нас получаетс 6 бит кол-во информации,потом умножаем 6 на кол-во символов,в данном случае на 8 и получаем 48 бит,в условии сказано что мы должны узнать сколько байт необходимо для хранения 30 номеров,пожтому переводи биты в байты,т.е. 48/8=6 байт,почему именно на 8, потому что в 1 байте - 8 бит,
получив 6 байт умножаем на 30 номеров получаем в итоге 180 байт.
ответ: 180 байт
На языке Паскаль:
const n=5; - объявляем константу n, в которой будет храниться размер двумерного массива
var a:array [1..n,1..n] of integer;-объявляем массив
min:integer;-объявление переменной где будет храниться минимальный элемент
i,j:byte;-объявляем две вс переменные для цикла
begin - тело программы
for i:=1 to n do - цикл по строкам
for j:=1 to n do begin - цикл по столбцам
readln(a[i,j]); - вводим элемент в массив
if (i=1) and (j=1) then min:=min:=a[i,j]; - здесь происходит присваивание первого элемента для сравнения с последующими
if min>a[i,j] then min:=a[i,j]; - проверяем на условие минимума, если переменная min больше элемента массива, то присваиваем ей значение массива
end;
writeln('Минимальный элемент двумерного массива=',min); - вывод минимального элемента
end.