а) 1001110011₂ = 115₁₀
б) 1001000₂ = 72₁₀
в) 1111100111,01₂ = 999,25₁₀
г) 1010001100,101101₂ = 652,703125₁₀
Объяснение:
В самом задании сказано, что нужно перевести значения из 2-й СС в 10-ю. Поэтому задание 1 - все буквы и задание 2 - Д,Е не подходят по условию задания, решу только, что требуется:
а) 1001110011₂ = 2⁸*0 + 2⁷*0 + 2⁶*1 + 2⁵*1 + 2⁴*1 + 2³*0 + 2²*0 + 2¹*1 + 2⁰*1 = 0 + 0 + 64 + 32 + 16 + 0 + 0 + 2 + 1 = 115₁₀
б) 1001000₂ = 2⁶*1 + 2⁵*0 + 2⁴*0 + 2³*1 + 2²*0 + 2¹*0 + 2⁰*0 = 64 + 0 + 0 + 8 + 0 + 0 + 0 = 72₁₀
в) 1111100111,01₂ = 999,25₁₀
Узнаем целую часть: 2⁹*1 + 2⁸*1 + 2⁷*1 + 2⁶*1 + 2⁵*1 + 2⁴*0 + 2³*0 + 2²*1 + 2¹*1 + 2⁰*1 = 512 + 256 + 128 + 64 + 32 + 0 + 0 + 4 + 2 + 1 = 999₁₀
Узнаем дробную часть: 01₂ = 2⁻¹*0 + 2⁻²*1 = 0.25₁₀
г) 1010001100,101101₂ = 652,703125₁₀
Узнаем целую часть: 2⁹*1 + 2⁸*0 + 2⁷*1 + 2⁶*0 + 2⁵*0 + 2⁴*0 + 2³*1 + 2²*1 + 2¹*0 + 2⁰*0 = 512 + 0 + 128 + 0 + 0 + 0 + 8 + 4 + 0 + 0 = 652₁₀
Узнаем дробную часть: 2⁻¹*1 + 2⁻²*0 + 2⁻³*1 + 2⁻⁴*1 + 2⁻⁵*0 + 2⁻⁶*1 = 0.703125₁₀
def output(year): #начало функции output
import datetime
ans = datetime.date(year, 1, 1).strftime("%a") #выдаст название первого дня недели (за то что там в скобочках один один)
print('отладочная информация')
print('первый день недели',ans)
#определяем колво дней которых нужно дождаться до среды
if (ans == "Mon") : s = 2 #Пон
elif (ans == "Tue") : s = 1 #Втор
elif (ans == "Wed") : s = 0 #Среда
elif (ans == "Thu") : s = 6
elif (ans == "Fri") : s = 5
elif (ans == "Sub") : s = 4
elif (ans == "Sun") : s = 3
print ('до среды осталось',s,'дней')
#определяем колводней нужных до воскресенья
if (ans == "Mon") : z = 6 #Пон
elif (ans == "Tue") : z = 5 #Втор
elif (ans == "Wed") : z = 4 #Сред
elif (ans == "Thu") : z = 3
elif (ans == "Fri") : z = 2
elif (ans == "Sub") : z = 1
elif (ans == "Sun") : z = 0 #Воскресенье
print ('до воскресенья осталось',z,'дней')
#Определяем високостный год
if (year % 4 == 0) : leapyear=366 #366 дней
else: leapyear=365 #365 дней
print ('всего дней в году ',leapyear)
print ('сред ', (leapyear-s)//7)
print ('воскр ',(leapyear-z)//7)
print('')
#считаем и выводим итог
if (((leapyear-z) // 7) > ((leapyear-s)//7)) : print ('результат 0') #делим на 7 (это промежуток между повтором дня недели) а дробное число отбрасываем далее сравниваем больше ли воскресений
elif (((leapyear-z) // 7) < ((leapyear-s)//7)) : print ('результат 1') #делим на 7 (это промежуток между повтором дня недели) а дробное число отбрасываем далее сравниваем больше ли сред
elif (((leapyear-z) // 7) == ((leapyear-s)//7)) : print ('результат 2') #делим на 7 (это промежуток между повтором дня недели) а дробное число отбрасываем далее сравниваем равенство ли
else: print ('какаято ошибка')
output(2015) #запускаем функцию output(с2015годом) работает от 1 до 9999, разные результы у 2014,2015,2017
Объяснение:
план такой: определяем первое число года первого месяца падает на какой день недели отсчитываем сколько дней нужно ждать до среды и отдельно до воскресенья далее выяснив сколько дней в году у нас есть минусуем их прожданными днями до первой среды и получившийся остаток дней так как мы на первой среде делим на промежуток в семь дней до следующей среды и выясняем сколько этих сред таким образом будет а дробный остаток выкидываем команда посчитать без остатка сразу это // например 366 // 7 = итог целое колво дней без кусочков но это если первый день сразу нужный попадется правда а теперь тоже самое дело для воскресений сколько до перв. воскр. прождали вычтеным из нашего запаса дней оставшихся до конца года пока ждали этого воскр. и делим узнаем колво воскресений в году так между ними всегда 7 дней же промежуток кажись. Теперь воплощаем план
отдельное за приёмы как писать которые сильно крайне даже это задание этим людям из интернета мне не известных в точности за (year %4 ==0) и как им пользоватся чтобы високостный узнать и за datetime.date(year, 1, 1).strftime("%a") вот эта болеее всех и задание который выводит название дня недели от числа введеного
name = input("What is your name? ")
print("Dobro pozhalovat, " + name+"!")
А вариант в одну строку
print("Dobro pozhalovat, "+input("What is your name? ")+"!")