REPEAT
WRITELN('Введите x (3<=x<=6)');
READLN(x);
UNTIL(x>=3) AND (x<=6);
s:=0;
m:=TRUNC(SQR(x)+1);
WHILE m<=TRUNC(EXP(x)) DO
BEGIN
s:=s+SQR(m);
m:=m+1;
END;
WRITELN(s);
С первой частью REPEAT-UNTIL все совершенно понятно, она позволяет вводить только числа от 3 до 6 включительно иначе будет снова запрашивать ввод. С этим все ясно.

А вот что делает цикл WHILE? Понятно, что он считает какую-то сумму, а вот как это выразить "человеческим языком"? То есть для нахождения чего предназначен данный фрагмент кода и цикл while в данном коде в частности?