В Паскале есть стандартная функция Pos, которая возвращает начальную позицию вхождения подстроки в строку или 0, если такое вхождение не обнаружено. С её данная задача решается очень просто.
var s:string; ip,iv:integer; begin Write('Введите строку: '); Readln(s); ip:=Pos('П',s); iv:=Pos('В',s); if ip*iv=0 then Writeln('П или В или обе не найдены в тексте') else if ip<iv then Writeln('П встретилось раньше В') else Writeln('В встретилось раньше П') end.
Тестовое решение: Введите строку: НА ЛУГУ ПАСЕТСЯ КОРОВА П встретилось раньше В
Для вычисления среднего учащихся, сдавших экзамен, нужно просмотреть все n=30 учащихся и найти сумму s и количество k для тех учащихся, которые набрали более а затем получить и вывести s/k с нужной точностью.
const n=30; var x:array[1..n] of integer; i,k,s: integer; begin Randomize; Writeln('Результаты сдачи'); k:=0; s:=0; for i:=1 to n do begin x[i]:=Random(101); Write(x[i]:4); if x[i]>20 then begin s:=s+x[i]; Inc(k) end end; Writeln; Writeln('Средний сдавших равен ',s/k:6:3) end.