1. Современный вариант
// PascalABC.NET 3.2, сборка 1359 от 11.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
Print(Range(1.0,5.0,Floor((5-1)/0.5)).Select(x->x*x-3*x+ln(x)).Max)
end.
Результат
11.6094379124341
2. Школьный вариант (ну вот так у нас в школах учат!)
var
x,y,max:real;
begin
max:=-1000;
x:=1;
while x<=5 do<br> begin
y:=sqr(x)-3*x+ln(x);
if max x:=x+0.5
end;
Write(max)
end.