lukur2005
?>

Какие достоинства и недостатки имеют табличные информационные модели?

Информатика

Ответы

asyaurkova

табличные информационные модели имеют достоинства

1) интуитивная понятность.2) возможность реализации с высокой степенью точности.

недостатки: возможность образования скрытых каналов утечки информации.

 

 

Yumashev

Видимо, для кодирования отрицательных чисел используется прямой код: записывается минус и затем просто двоичное представление модуля числа.

Алгоритм перевода: разбиваем двоичные цифры на группы по 3 (начиная справа) и переводим каждую группу отдельно.

Код (Python 3):

N = input()

sign = ""

if N[0] == "-":

   sign = "-"

   N = N[1:]

oct_reversed = ""

while len(N) > 0:

   N, last_triplet = N[:-3], N[-3:]

   oct_digit = 0

   while len(last_triplet) > 0:

       oct_digit *= 2

       if last_triplet[-1] == "1":

           oct_digit += 1

       last_triplet = last_triplet[:-1]

   oct_reversed += str(oct_digit)

oct = sign + oct_reversed[::-1]

print(oct)

Пример ввода:

-1110010

Пример вывода:

-132

perfectorg
Вариант понимания условия №1. мы достаём монеты по одной, и порядок монет важен (т.е., например, если мы вытащили сначала монету 1 рубль, потом 5 рублей и если сначала 5 рублей, потом 1 рубль - разные способы). обозначим c(n) - число способов набрать n рублей. очевидно, c(n) = c(n-1) + c(n-2) + c(n-5) + c(n-10) [представим себе. что мы знаем число способов набрать n-5 рублей. тогда если мы  уверены, что последней вытащили 5-рублёвую монету, то способов будет c(n). финальный ответ - сумма по всем возможным выборам последней монеты] полагая c(n) = 0 при всех n < 0, c(0) = 1, получим по этой формуле с(66) =  1431020833989040  cчитать можно, например,  такой программой: var  c: array[-9..66] of biginteger; begin   for var i : = -9 to -1 do     c[i] : = 0;   c[0] : = 1;   for var i : = 1 to 66 do     c[i] : = c[i - 1] + c[i - 2] + c[i - 5] + c[i - 10];   print(c[66]); end. вариант понимания условия №2 . нам порядок выдачи не важен. тогда вопрос по сути сводится к числу целых неотрицательных решений уравненияx + 2y + 5z + 10t = 66, где x, y, z, t - число 1-, 2-, 5- и 10-рублёвых монет соответственно. тут можно написать общую формулу, но она будет объемной,  так что вычислять по ней совсем не радостно (даже с компьютером). поэтому проще все варианты  перебрать. ответ получится 700. пример программы: begin   var count : = 0;   for var t : = 0 to 6 do     for var z : = 0 to (66 - 10*t) div 5 do       for var y : = 0 to (66 - 10*t - 5*z) div 2 do         inc(count);   print(count); end. подобным образом можно считать и вручную. по сути нам требуется вычислить сумму [1 +  (66 - 10t - 5z)/2] по всем допустимым t, z ([x] - целая часть x). перебираем сначала t, потом z: t = 0. z = 0,1,. вклад в сумму 34 + 31 + 29 + 26 + 24 + 21 + 19 + 16 + 14 + 11 + 9 + 6 + 4 + 1 = 245. t = 1. z = 0,1,. легко понять, что здесь будут все числа без первых двух слагаемых: 29 + 26 + 24 + 21 + 19 + 16 + 14 + 11 + 9 + 6 + 4 + 1 = 245 - 34 - 31 =  180 аналогично, t = 2: 180 - 29 - 26 = 125 t = 3: 125 - 26 - 21 = 80 t = 4: 80 - 19 - 16 = 45 t = 5: 45 - 14 - 11 = 20 t = 6: 20 - 9 - 6 = 5 итого 245 + 180 + 125 + 80 + 45 + 20 + 5 = 700

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Какие достоинства и недостатки имеют табличные информационные модели?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ustinovalubov6666
olg14855767
mariavayda88734
sergeevna
zimbickij19
shpakohat
shtankosoyuz1629
pokupatel688
Negutsa_Kseniya524
a800000
len4ik1986
lobutev
dimaaristov
olarina6510
Alekseevna1811