Думаю так, седьмая задача, спрашивай, что непонятно :)
101(2) = 5(10)
1101(2) = 8+4+1 = 13(10)
10101(2) = 16+4+1 = 21(10)
Следующее число 11101(2) = 16+8+4+1 = 29(10) уже больше 25.
Ответ: 5, 13, 21
Var
i,a:integer;
ch:set of char;
n:string;
Begin
Write('Введите число ');
Readln(n);
ch:=['0'..'9'];
for i:= 1 to length(n) do
if n[i] in ch then a:=a+1;
case a of
1:Write('В числе ',a,' цифра');
2..4:Write('В числе ',a,' цифры')
else Write('В числе ',a,' цифр');
End;
<span>End. </span>