Сначала считывается введенное слово в переменную. Далее, в цикле от начала слова и до его конца проверяется, является ли текущая буква, равной искомой, то есть букве "а". Если такая буква найдена, то выводится её позиция в слове.
А теперь комментарий по каждой из строчек кода.
// Блок объявления переменных var a:string; var i:integer; // Начало программы begin // Ввод слова writeln('Введите слово'); // Считывание слова read(a); // Цикл от 1 до длины считанного слова for i:=1 to length(a) do begin // Условие на то, является ли текущая буква заданной if (a[i]='а') then begin // Если является, вывод её позиции на экран writeln('Найдена буква “а”, ее позиция:' , i); // и прерывание дальнейшего цикла, выход из него break; // Завершение блока "if" end; // Завершение цикла end; // Завершение программы end.
Пусть *(n) - число звёздочек, которое выведет процедура f(n).
Так как f(n) всегда выводит 1 звёздочку, а если если n > 2 - то вызывает f(n - 1) и f(n - 2), то *(n) = 1 при n <= 2 *(n) = 1 + *(n - 1) + *(n - 2) при n > 2.