1) Размечаем позиции: пишем двоичные нулевые тетрады по числу шестнадцатиричных цифр 0000 0000 0000 0000 2) Оставляем только шесть нулей так, чтобы число было максимально возможным 1111 1111 1100 0000 3) Каждую тетраду заменяем шестнадцатиричной цифрой FFС0
Написано и протестировано в PascalABC.NET (версия 2.2, сборка 842) const s='велосипедист'; var t:='кытунак'; p:string; begin // 1 Writeln(LeftStr(s,9),', ', s[12]+s[2]+s[5]+s[12]+s[4],', ', s[4]+Copy(s,3,2)+s[1]+s[4]); // 2 Writeln('Позиция буквы "д" в слове "'+s+'" равна ',s.IndexOf('д')+1); // 3 Write('Было: ',t,', стало: '); t[2]:='о'; t[4]:='е'; t:=t.Replace('а','о'); Writeln(t); // 4 Write('Коды символов слова ',t,': '); foreach c:char in t do Write(Ord(c),' '); Writeln; // 5 Write('В слове ',t,' количество букв '); if Odd(t.Length) then Writeln('нечетное') else Writeln('четное') end.
Результат выполнения программы: велосипед, тесто, олово Позиция буквы "д" в слове "велосипедист" равна 9 Было: кытунак, стало: котенок Коды символов слова котенок: 234 238 242 229 237 238 234 В слове котенок количество букв нечетное
0000 0000 0000 0000
2) Оставляем только шесть нулей так, чтобы число было максимально возможным
1111 1111 1100 0000
3) Каждую тетраду заменяем шестнадцатиричной цифрой
FFС0