Chủ Đề: Một số bài tập Pascal vềmảngmộtchiều Đề bài: Nhập vào mộtmảng gồm n số nguyên và số nguyên k. TÌm và đưa ra màn hình: a.Giá trị lớn nhất của mảng, vị trí lớn nhất đó b. Gía trị nhỏ nhất của màng, vị trí c. Tính tổng bình phương các giá trị ở vị trí chẵn d. Sắp xếp mảng theo thứ tự tăng dần e. Đếm xem trong mang có bao nhiêu giá trị bằng k. var a:array[1 200] of integer; max,min,m,j,n,imin,imax,d,k,s,tg:integer; Begin write('Nhap so phan tu:');readln(n); write('Nhap k:'); readln(k); for m:=1 to n do begin write('Nhap a[',m,']=');readln(a[m]); end; max:=a[1];min:=a[1];d:=0;s:=0;imin:=1;imax:=1; for m:= 2 to n do begin if a[m]>max then begin max:=a[m]; imax:=m; end; if a[m]<min then begin min:=a[m]; imin:=m; end; if a[m]=k then d:=d+1; if m mod 2=0 then s:=s+sqr(a[m]); end; {sx day tang dan} For m:=1 to n-1 do For j:=m+1 to n do if a[m]>a[j] then begin tg:=a[m]; a[m]:=a[j]; a[j]:=tg; end; Writeln('Gia tri lon nhat cua day la ', max,' o vi tri',imax); Writeln('Gia tri nho nhat cua day la ', min,' o vi tri',imin); Writeln('Tong binh phuong cac so o vi tri chan ',s); writeln('So phan tu co gia tri bang ',k,' la ',d); Writeln('Mang sau khi sap xep'); for m:=1 to n do write(a[m]); readln; End. {Tim doan dai nhat gom cac so 0 lien tiep} var a:array[1 100] of integer; n,dem,i,j,tong,max,vt:integer; begin write('Nhap so phan tu cua mang:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; dem:=0; for i:=1 to n do begin if a =0 then dem:=dem+1 else dem:=0; if dem>max then max:=dem; end; write('Doan dai nhat gom cac so 0 lien tiep la ',max); readln; end. {Kiem tra mot day la cap so cong} var a:array[1 100] of integer; d,i,n:integer; kt:boolean; begin write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; kt:=true;i:=3; d:=a[2]-a[1]; while (i<=n) do begin if a-a[i-1] <>d then kt:=false; inc(i); end; if kt then write('day la cap so cong') else write('day khong la csc'); readln; end. {Tim day con tang co tong lon nhat, in ra day con do} var a:array[1 100] of integer; n, i,j,tong,max,vt:integer; begin write('Nhap so phan tu cua mang:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; i:=1;max:=0; while (i<=n) do begin j:=i+1;tong:=a; while (j<=n) and (a[j]>a[j-1]) do begin tong:=tong+a[j]; if tong>max then begin max:=tong; vt:=i; end; inc(j); end; tong:=0; inc(i); end; writeln('Day co tong tang lon nhat'); while (vt<=n) and (a[vt]<a[vt+1]) do begin write(a[vt]); vt:=vt+1; end; writeln(a[vt]); write('Voi tong lon nhat la ',max); readln; end. {Tron hai mang duoc sap xep tang dan thanh motmang duoc sap xep tang dan} WriteLN('NHAP PHAN TU CHO MANG A:'); Writeln('_________________________'); write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; WRIteln('NHAP PHAN TU CHO MANG B:'); write('Nhap m:');readln(m); for i:=1 to m do begin write('Nhap b[',i,']:');readln(b); end; i:=1;j:=1;k:=1; {Ca hai day chua het} while (i<=n) and (j<=m) do begin if a<b[j] then begin c[k]:=a; inc(i); end else begin c[k]:=b[j]; inc(j); end; inc(k); end; {Day b het} while (i<=n) do begin c[k]:=a; inc(i); inc(k); end; {Day a het} while (j<=m) do begin c[k]:=b[j]; inc(j); inc(k); end; WRITELN('DAY SAU KHI TRON LA'); writeln('___________________'); for k:=1 to n+m do write(c[k],' ') ;} {Tron mang theo pp chan o cuoi} {Type mang=array[1 100] of integer; var a,b,c:mang; i,m,k,n,j:integer; begin write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; write('Nhap m:');readln(m); for j:=1 to m do begin write('Nhap b[',j,']:');readln(b[j]); end; a[n+1]:=32001; b[m+1]:=32001; i:=1;j:=1; for k:=1 to m+n do begin if a<b[j] then begin c[k]:=a;inc(i);end else begin c[k]:=b[j];inc(j);end; end; writeln('Day sau khi tron la'); for k:=1 to m+n do write(c[k]);} readln; end. {Doi cho phan tu lon nhat va nho nhat} write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; i:=1;j:=n;min:=a[1];max:=a[n]; while i<=n do begin if a<=min then begin min:=a; k:=i; end; inc(i); end; while j>=1 do begin if a[j]>= max then begin max:=a[j]; x:=j; end; dec(j); end; a[k]:=max; a[x]:=min; for i:=1 to n do write(a) {Tinh tong ca so nam giua so 0 dau tien va so 0 cuoi cung neu hai so 0 nam canh nhau thi ket qua se la 0} write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; i:=1;j:=n; x:=0; while (i<=n) and (a<>0) do inc(i); while (j>=1) and (a[j]<>0) do dec(j); if (j-i)>=2 then begin for k:=i to j do x:=x+a[k]; end else writeln('Tong la 0'); writeln('Tong la ',x);} {Liet ke cac so nguyen to co trong day:'} begin write('Nhap n:');readln(n); for i:=1 to n do begin write('Nhap a[',i,']:');readln(a); end; {cach 1} i:=1; while (i<=n) do begin d:=0; for j:=1 to a do if a mod j= 0 then inc(d); if d=2 then writeln(a,'la so nguyen to'); inc(i); end; {cach 2} i:=1; while (i<=n) do begin j:=2; while (a mod 2 <>0) and (j<=round(sqrt(a))) do inc(j); if j>round(sqrt(a)) then writeln(a,'la so nguyen to'); inc(i); end; {Liet ke cac so hoan hao co trong day} i:=1; while (i<=n) do begin x:=0; for j:=1 to (a div 2) do if a mod j=0 then x:=x+j; if x=a then write(a,' La so hoan hao'); inc(i); end; . Đề: Một số bài tập Pascal về mảng một chiều Đề bài: Nhập vào một mảng gồm n số nguyên và số nguyên k. TÌm và đưa ra màn hình: a.Giá trị lớn nhất của mảng, . màng, vị trí c. Tính tổng bình phương các giá trị ở vị trí chẵn d. Sắp xếp mảng theo thứ tự tăng dần e. Đếm xem trong mang có bao nhiêu giá trị bằng k.