В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Nagoshka
Nagoshka
28.12.2021 02:08 •  Информатика

За четверть ученик получил 8 оценок. Сообщение о том, что он получил пятерку, несёт 2 бита информации. Сколько пятёрок ученик получил за четверть?

Показать ответ
Ответ:
Annet234
Annet234
08.03.2020 04:42

Исходный код (Python 3.8 x64):

class InvalidArgumentException(Exception): pass

class KeyValuePair:

def __init__(self, key, value):

 self._key = key

 self._value = value  

@staticmethod

def FromList(pair: list):

 if (len(pair) != 2): raise InvalidArgumentException("List must contain strictly 2 elements for initialize KeyValuePair")

 return KeyValuePair(pair[0], pair[1])

@property  

def Key(self):

 return self._key  

@property

def Value(self):

 return self._value

 

def strip(string: str):

return string.strip()

def readWordPairs(wordCount: int, pairSeparator: str = "-") -> dict:

temp = dict()

for i in range(wordCount):

 wordPair = KeyValuePair.FromList(list(map(strip, input(f'{i} pair: ').lower().split(pairSeparator

 if wordPair.Key in temp.keys():

  temp[wordPair.Key] = [temp[wordPair.Key], wordPair.Value]

 else:

  temp[wordPair.Key] = wordPair.Value

return temp

def main():

wordCount = int(input("Enter words pairs count:\n"))

wDict = readWordPairs(wordCount)

while True:

 word = input("Enter word: ")

 if word.lower() == "exit": break

 print(f"Synonim: {wDict[word]}" if word in wDict.keys() else "Not found")

input("press any key to close program")

if __name__ == "__main__":

   main()

Объяснение:

Если есть вопросы - не стесняйтесь задать в комментариях к ответу. Ошибок, которые вы описали в задании, в данном случае не наблюдается. Единственное, я сделал так, что бы программа не завершалась после первого найденного слова, а запрашивала слова до тех пор, пока пользователь не введёт команду exit

0,0(0 оценок)
Ответ:
bosiy01
bosiy01
21.08.2021 07:14

Объяснение:

1) Расписываем так же, как и для десятичной системы, только используя степени 2, а не 10:

10010110_2=1\cdot2^7+0\cdot2^6+0\cdot2^5+1\cdot2^4+0\cdot2^3+1\cdot2^2+1\cdot2^1+0\cdot2^0=\\=128+0+0+16+0+4+2+0=150

1110011100_2=1\cdot2^9+1\cdot2^8+1\cdot2^7+0\cdot2^6+0\cdot2^5+1\cdot2^4+1\cdot2^3+\\+1\cdot2^2+0\cdot2^1+0\cdot2^0=512+256+128+0+0+16+8+4+0+0=\\=924

10011010_2=1\cdot2^7+0\cdot2^6+0\cdot2^5+1\cdot2^4+1\cdot2^3+0\cdot2^2+1\cdot2^1+0\cdot2^0=\\=128+0+0+16+8+0+2+0=154

2) Тут можно делить на 2, выписывая остатки, и после этого написать остатки в обратном порядке, или представить исходное число в виде суммы степеней двойки, или воспользоваться результатами предыдущего задания.

a. Последовательно делим на 2:

159 : 2 = 79 (ост. 1)

79 : 2 = 39 (ост. 1)

39 : 2 = 19 (ост. 1)

19 : 2 = 9 (ост. 1)

9 : 2 = 4 (ост. 1)

4 : 2 = 2 (ост. 0)

2 : 2 = 1 (ост. 0)

1 : 2 = 0 (ост. 1)

Выписываем остатки в обратном порядке и получаем:

159=10011111_2

Можно было также заметить, что 159 = 154 + 5 = 154 + 4 + 1, тогда (пользуемся предыдущим пунктом)

159=(128+0+0+16+8+0+2+0) + (4+1)=\\=2^7+0+0+2^4+2^3+2^2+2^1+2^0=10011111_2

b. 342 = 256 + 86 = 256 + 64 + 22 = 256 + 64 + 16 + 6 = 256 + 64 + 16 + 4 + 2, значит,

342=101010110_2

c. Тут сразу можно заметить, что 512=2^9, тогда двоичное представление - 1 и 9 нулей

512=1000000000_2

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота