Trong bài tập 3.35 sbt tin 11 có đoạn tìm max và min của hàm f(x)=x^3+2x^2-4x+1 và giải thì sách viết
clrscr;
write('a,b= ');readln(a,b);
n:=0;
while n<=0 do
begin
write('n= ');readln(n);
if n<=0 then writeln('n phai >0');
end;
h:=(b-a)/n;
max:=-maxint;
min:=maxint;
for i:=0 to n do
begin
x:=a+i*h;
fx:=((x+2)*x-4)*x+1;
if fx>max then max:=fx;
if fx<min then min:=fx;
end;
writeln('a) Max = ',max:7:3,' ; Min = ',min:7:3);
readln
end.
Khi chạy nếu nhập a=5;b=9 và n=3 đúng ra kq max=856 còn min=156 nhưng khi ở lệnh gán
max:=-maxint;
min:=maxint;
for i:=0 to n do
begin
x:=a+i*h;
fx:=((x+2)*x-4)*x+1;
if fx>max then max:=fx;
if fx<min then min:=fx
Hình như mình thấy min=max=f(x) ??

if fx>max then max:=fx;
if fx<min then min:=fx;

Giải sử: hàm "For i:=0 to n do"
Với i = 0, fx = 10. Khi đó max = min = 10
Với i = 1, fx = 20. Khi đó (fx > max) đúng nên max = 20 và (fx < min) sai nên min giữ nguyên giá trị là 10
Với i = 2, fx = 5. Khi đó (fx > max) sai nên max vẫn là 20 và (fx < min) đúng nên min = 5

Trả lời Songuku95
  Hiện bài gốc

Cảm ơn anh , em chưa chú ý đên vòng for chạy nên quên mất

Trả lời lovelink117
  Hiện bài gốc

Lần sau bạn post code vào thẻ code cho mọi người dễ nhìn nhé :D 

Bạn nhìn vào cái thanh đen đen phía trên chỗ bạn gõ text í, nút thứ 11 từ trái sang :D