Bài 1: so sánh câu lệnh while do và for do ,có thể thay thế while do cho for do ko giải thích cho VD Bài 2 Lập trình tính: (sin^2(x)*cos^2(y))/(x*y(c+d)) Bài 3: nhập từ bàn phím dãy gồm n số: đưa ra màn hình theo thứ tự ngược lại, chia dãy thành 2 dãy nhỏ, 1 dãy chứa số âm, 1 dãy chứa dương Bài 4: nhập bàn phím 1 xâu thay từ "anh" trong xâu bằng từ "em" Giai Bài 2: Var x,y,c,d:real; Begin Write('Nhap x,y); Write('Nhap c,d); Writeln('Ket qua: ',(sqr(sin(x))*sqr(cos(x)))/(x*y*(c+d)); Readln; End. Bài 3: Var a,b,c:array[1 100] of integer; n,i,sb,sc:integer; Begin Write('Nhap so phan tu: '); Readln(n); For i:=1 to n do begin Write('Nhap phan tu thu ',i,' cua day: '); Readln(a[i]); end; Writeln('Day so theo thu tu nguoc lai: '); For i:=n downto 1 do Write(a[i],' '); Readln; {Chia thành 2 day:} sb:=0; sc:=0; For i:=1 to n do If a[i]<0 then begin inc(sb); b[sb]:=a[i]; end else begin inc(sc); c[sc]:=a[i]; end; End. Bài 4: Var s,tg:string; x:integer; Begin Write('Nhap xau: '); Readln(s); While pos('anh',s)<>0 do begin x:=pos('anh',s); delete(s,x,3); tg:=copy(s,x,length(s)-x+1); delete(s,x,length(s)-x+1); s:=s+'em'+tg; end; End. program bai4; uses crt; {-- Thủ tục thay thế chuỗi anh bằng em --} procedure replace(var s:string); var i:longint; begin repeat delete(s,pos('anh',s),3); insert('em',s,pos('anh',s)); until pos('anh',s)=0; end; var s:string; begin clrscr; write('Nhap s : '); readln(s); writeln; replace(s); writeln('Chuoi da sua : ',s); readln; end. program bai_4; uses crt; var a,b:string; i,k:byte; begin clrscr; write('nhap vao mot xau:'); readln(a); k:=length(a); {gán độ dài xâu bằng 1 biến 'k'} b:='em'; {gán 1 xâu la:'em'} while pos('anh',a)<>0 {điều kiện cho vị trí của xâu 'anh'} begin delete(a,pos('anh',a),3); {xóa tất cả cac từ 'anh' trong x a} insert(b,a,pos('anh',a)); {chèn xâu b vào vt vừa xóa} end; write(a); readln end.