program bt;
uses crt;
var a, b: integer;
.......i: real;
begin
....clrscr;
....writeln('Nhap khoang gia tri: ');
....write('Dau: ');readln(a);
....write('Cuoi: ');readln(b);
....i:=a;
....write('Cac so chinh phuong:');
....if a>=b then
........while i<=b do
............begin
................if int(sqrt(i))=sqrt(i) then write(i:0:0,',');
................i:=i+1;
............end;
....else
........begin
............i:=b;
............while i<=a do
................begin
....................if int(sqrt(i))=sqrt(i) then write(i:0:0,',');
....................i:=i+1;
................end;
........end;
....readln;
end.
giờ mình sẽ giải thích:
chỗ while: hàm $int(x)$ là hàm lấy phần nguyên của số $x$ $of$ $real,...$, hàm $sqrt(x)$ là hàm lấy giá trị căn của $x$
còn chỗ xét điều kiện $a<b, a>=b$ thì không cần thiết nếu ai cũng không thích nghịch
và mình thì thích biến tăng nên làm như vây
nói tới đây chắc bạn hiểu