Смотри. всё просто. тебе из 8 нужно перевести в двоичную, при этом у тебя дробное число. то есть у тебя есть целая часть (247) и дробная часть (16). нужно переводить по очереди, вначале целую часть, потом дробную, при этом при переводе целой - нужно делить, при переводе дробной - умножать, сейчас покажу алгоритм. вначале целую часть: мы делим на 2, потом пишем результат деления, а в скобочках пишем остаток. 247/2=123(1) 123/2=61(1) 61/2=30(1) 30/2=15(0) 15/2=7(1) 7/2=3(1) 3/2=1(1) теперь нам нужно записать то, что получилось, записывается снизу-вверх, начиная от той единички, что у нас получилась при делении 3 на 2. итого: 11110111 - это твоя целая часть. теперь дробная часть (16), мы должны приписать ноль, чтобы у нас получилось 0,16 (ведь это дробная часть). теперь умножаем на 2 пока не получится ровно единица, при этом записываем в ответ 0, если у нас целая часть получается ноль и 1, если целая часть получается 1. сейчас поймёшь: 0,16 * 2 = 0,32 - видишь, получился ноль, поэтому мы его в ответ пишем и продолжаем умножать на 2 часть после ноля, пока не получится ровно 1. 0,32 * 2 = 0,64 - опять ноль получился, в ответ ноль записываем еще. 0,64 * 2 = 1,28 - тут уже у нас единица получилась, в ответ 1, отбрасываем 1 и опять множим на 2, пока не будет ровно единица в ответе. 0,28 * 2 = 0,56 - в ответ 0 0,56 * 2 = 1,12 - в ответ 1 0,12 * 2 = 0,24 - в ответ 0 0,24 * 2 = 0,48 - в ответ 0 0,48 * 2 = 0,96 - в ответ 0 0,96*2 = 1,92 - в ответ 1 0,92*2 = 1,84 - в ответ 1 у тебя тут такое число, в котором ты бесконечно будешь умножать и у тебя не получится никогда ровно 1(либо получится, но не скоро), поэтому просто спроси у учителя, до скольки знаков тебе считать. я обычно до 5 считал всегда, но тут я тебе показал аж до 10. дробная часть получилась такой - 0010100011. теперь записываешь целую часть, что получил ранее и дробную, что вычислил сейчас. у тебя получается: 11110111,0010100011 ответ: 11110111,0010100011
Butsan-Bagramyan
25.11.2022
Var s,ss: string; i: integer; begin write('введите строку: '); readln(s); for i: =length(s) downto 1 do begin ss: =s[i]+s[i]; insert(ss,s,i) end; writeln('результат: ',s) end. пример решения введите строку: я умею писать программы! результат: ! var s: string; i: integer; begin write('введите слово: '); readln(s); for i: =length(s) downto 1 do insert(' ',s,i); writeln('результат: ',s) end. пример решения введите слово: паскаль результат: п а с к а л ь var s1,s2,s3: string; i: integer; begin write('введите первое слово: '); readln(s1); write('введите второе слово той же длины: '); readln(s2); s3: =''; for i: =1 to length(s1) do s3: =s3+s1[i]+s2[i]; writeln('результат: ',s3) end. пример решения введите первое слово: корова введите второе слово той же длины: собака результат: ксоорбоавкаа