1. Есть число n.
Пускай n=123. Что будет, если разделить его на 10?
Получится 12,3. То есть 12 - целая часть, а 3 - остаток.
Далее снова делим на 10. 1,23.
И в последний раз: 0,123. Целая часть =0. На этом останавливаемся.
А сколько раз выполнили деление? 3. Вот и ответ.
Теперь запишем на паскале:
Как видно из вышенаписанного, нужно продолжать выполнять действия, пока целая часть не равна 0. То есть
while n>0 do
И у нас есть некоторый счетчик итераций, значение которого и будет являться ответом.
А тело цикла:
n div 10 (целочисленное деление)
inc(k) (увеличение счетчика)
=================================== ========
Вторая:
Как я понял, нужно просто вывести на экран то, что должно получиться?
Нужно в цикле пройти по каждому символу.
Если он равен "*" (if s[i] = '*' then), ничего не делать.
Иначе вывести его два раза (write(s[i],s[i])).
====================
Добавить данные в начало файла нельзя. Нужно либо записывать в новый, либо перезаписывать исходный (предварительно считав все в память)