Tài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèmTài liệu có code đi kèm Mảng 1 chiều pascal có code đi kèm
Trang 1Học Sinh : Trần Quang Linh
Lớp :A13 Trường :Trung Học Phổ Thông Triệu Sơn
F.Mảng 1 Chiều
Viết chương trình:
1.nhập vào một mảng A gồm n(n<100) phần tử số nguyên , sau đó hiển thị mảng vừa nhập lên màn hình theo các dạng sau:
a) a0 a1 a2 … an-1 cách nhau 1 khoảng trắng
b) a0,a1,a2,… ,an-1 cách nhau bởi dấu phẩy
c) [a0 a1 a2 … an-1]
bài làm:
a)
program it_linh;
uses crt;
var a:array[0 100] of integer;
n,i:integer;
begin
clrscr;
writeln(' nhap so phan tu cua mang ');
readln(n);
for i:=0 to n do
write('','a',i, ' ');
readln
end.
Trang 2program it_linh;
uses crt;
var a:array[0 100] of integer;
n,i:integer;
begin
clrscr;
writeln(' nhap so phan tu cua mang '); readln(n);
for i:=0 to n do
write('','a',i,',');
readln
end.
c)
program it_linh;
uses crt;
var a:array[0 100] of integer;
n,i:integer;
begin
clrscr;
writeln(' nhap so phan tu cua mang '); readln(n);
write('[');
for i:=0 to n do
write('','a',i,' ');
write(']');
readln
end.
Trang 3Bài 1.
program it_linh;
uses crt;
var a:array[1 100] of integer;
n,i:integer;
begin
clrscr;
writeln(' nhap so phan tu cua mang '); readln(n);
for i:=1 to n do
begin
writeln;
write('nhap phan tu thu ',i,':');
readln(a[i]);
end;
begin
writeln;
write('mang vua nhap la:');
for i:=1 to n do
write('',a[i],' ');
end;
begin
writeln;
write('mang vua nhap la:');
for i:=1 to n do
write('',a[i],',');
end;
begin
writeln;
write('mang vua nhap la:');
write('[');
for i:=1 to n do
write('',a[i],' ');
write(']');
end;
readln
end.
Trang 4Bài 2 khởi tại một mảng có 10 phần tử là các số nguyên khác nhau từng đôi một tìm vị trí và giá trị của phần tử lớn nhất trong mảng
Bài làm
program it_linh;
uses crt;
type manga = array[1 10] of integer;
var n,i,max,dem:integer;
a:manga;
begin
clrscr;
writeln('nhap so phan tu cua mang :');
readln(n);
for i:=1 to n do
begin
writeln;
write('nhap phan thu nhat',i,' : ');
readln(a[i]);
end;
begin
writeln;
write('phan tu co gia tri lan nhat trong mang ');
write('[');
for i:=1 to n do
write('',a[i],' ');
write(']');
end;
max:=a[1];
dem:=1;
for i:=1 to n do
begin
if a[i] >= max then
begin
max:=a[i];
dem:=i;
end;
end;
writeln('la phan tu thu ',dem,',');
writeln('co gia tri la',max);
readln
end.
Trang 5Bài 3 phát sinh 1 mảng gồm n(n≤ 50 ) phần tử là các số nguyên ngẫu nhiên có giá trị thuộc [0,127].
Test nhập số phần tử 5
Mảng ngẫu nhiên gồm 5 phần tử là : [3 7 100 97 23]
Bài làm:
program it_linh;
uses crt;
type ap = array[1 50] of integer;
var n,i:integer;
a:ap;
begin
writeln('nhap so phan tu cua mang bat ki trong (0,127)');
readln(n);
randomize;
for i:=1 to n do
begin
A[i]:=random(127);
end;
write('day so bat ki do la:');
for i:=1 to n do
write(A[i]:5);
readln
end.
Trang 6Bài 4 phát sinh 1 mảng gồm n(n≤ 40 ) phần tử là các số thực ngẫu nhiên có giá trị thuộc [0,100].
Bài làm:
program it_linh;
uses crt;
type ap = array[1 40] of real;
var n,i:integer;
a:ap;
begin
writeln('nhap so phan tu cua mang bat ki trong (0,100)');
readln(n);
randomize;
for i:=1 to n do
begin
A[i]:=random(100);
end;
write('day so bat ki do la:');
for i:=1 to n do
write(A[i]:6:2);
readln
end.
Trang 7Bài 5 phát sinh 1 mảng gồm n(n≤ 50 ) phần tử là các số nguyên ngẫu nhiên
có giá trị thuộc [1,500] sắp xếp lại theo thứ tự tăng dần.
Bài làm:
program it_linh;
uses crt;
type ap = array[1 50] of integer;
var n,i,j,tg:integer;
a:ap;
begin
clrscr;
writeln('nhap so phan tu cua mang bat ki trong (0,500)');
readln(n);
randomize;
for i:=1 to n do
begin
A[i]:=random(500);
end;
write('day so bat ki do la:[ ');
for i:=1 to n do
write(A[i]:6);
write(']');
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if A[i] > A[j] then
begin
tg:=A[i];
A[i]:=A[j];
A[j]:=tg;
end;
end;
writeln;
write('sau khi sap xep la: [ ');
for i:=1 to n do
write(A[i]:6);
write(']');
readln
end.
Trang 8Bài 6 khởi tạo hai mảng A và B cùng kích thước n và m (m,n≤ 40) chứa các nguyên thuộc [1,500] Sắp xếp trộn hai mảng lại in ra theo chiều tăng dần Test
A:[4 7 9 2]
B:[6 8 1 3 5]
Trộn [1 2 3 4 5 6 7 8 9]
Bài làm:
program it_linh;
uses crt;
type ap = array[1 40] of integer;
var n,m,i,j,tg:integer;
a,b,c:ap;
begin
clrscr;
begin
writeln('nhap so phan tu cua mang A');
readln(n);
for i:=1 to n do
begin
writeln('A[',i,']','=');
readln(A[i]);
end;
end;
begin
writeln('nhap so phan tu cua mang B');
readln(m);
for j:=1 to m do
begin
writeln('B[',j,']','=');
readln(B[j]);
end;
end;
begin
for i:=1 to n do
C[i]:= A[i];
for j:=1 to m do
C[j+n]:=B[j];
end;
begin
for i:=1 to (n+m)-1 do
for j:=i+1 to n+m do
Trang 9if C[i] > C[j] then
begin
tg:=C[i];
C[i]:=C[j];
C[j]:=tg;
end;
end;
writeln;
write('mang sau khi sap xep [');
for i:=1 to n+m do
write(C[i]:6);
write(']');
readln
end.
Bài 7.Nhập vào một mảng số thực gồm n (n ≤ 30) phần tử, sau đó kiểm tra xem mảng này có đối
xứng hay không Một mảng được gọi là đối xứng nếu
Mảng A: [7.2 5.0 5.0 7.2]
Mảng này đối xứng
Mảng A: [1.0 3.3 3.3 2.0]
Mảng này không đối xứng
Bài làm:
program it_linh;
uses crt;
type an = array[0 30] of real;
var i,n,d:integer;
a:an;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=0 to n-1 do
begin
writeln('nhap phan thu thu',i,':');
readln(A[i]);
end;
d:=0;
for i:=0 to (trunc (n/2))-1 do
begin
if A[i] = A[(n-1)-i] then d:=d+1;
end;
Trang 10if d = n/2 then writeln('day la day doi xung')
else writeln(' day khong phai day doi xung ');
readln
end.
Bài 8 Nhập vào một mảng các số nguyên gồm n (n≤20) phần tử sau đó tính trung bình cộng các số chẵn.
Bài làm :
program it_linh;
uses crt;
type ar = array [1 20] of integer;
var i,n,j,c:integer;
a:ar;
begin
clrscr;
writeln('nhap so phan tu cua mang');
readln(n);
for i:=1 to n do
begin
write('nhap phan tu thu',i,':');
readln(A[i]);
end;
c:=0;
j:=0;
for i:=1 to n do
begin
if A[i] mod 2 =0 then
begin
c:=c+A[i];
j:=j+1;
end;
end;
writeln('trung binh cong cac so chan cua mang la',c/j:4:2);
readln
end.
Trang 11Bài 9 Liệt kê các phần tử có giá trị ngẫu nghiên nhỏ hơn hoặc bằng x trong một mảng gồm n≤30 phần tử số thực dược sinh ngẫu nhiên , mỗi phần tử có giá trị thuộc đoạn [0,10].
Bài làm :
program it_linh;
uses crt;
type ar = array[1 30] of real;
var n,i,j : integer;
a:ar;
x:real;
begin
writeln('nhap so phan tu cua mang');
readln(n);
randomize;
for i:=1 to n do
A[i]:= random (10);
write('mang sinh ngau nhien la: [');
for i:=1 to n do
write(A[i]:6:2);
write(']');
writeln;
writeln('nhap so can lay nho hon mang ngau nhien');
readln(x);
j:=0;
for i:=1 to n do
begin
if (A[i] < x) or (A[i] = x) then j:=j+1;
end;
write('co ', j ,' phan tu nho hon hoac bang ', x:6:2 ,' la : ');
for i:=1 to n do
begin
if (A[i] < x) or (A[i] = x) then write(A[i]:6:2);
end;
readln
end.
Trang 12Bài 10 nhập vào 1 mảng các số thực gồm n (n≤100) phần tử và số nguyên k xóa phần tử k trong mảng.
Bài làm:
program it_linh;
uses crt;
var n,i,k: integer;
A:array[1 100] of real;
begin
clrscr;
writeln('nhap so phan tu');
readln(n);
writeln;
for i:=1 to n do
begin
write('nhap tu thu ' , i , ':');
readln(A[i]);
end;
write('vi tri phan tu can xoa',':'); readln(k);
if k < 1 then writeln(' khong co vi tri phan tu de xoa')
else if (k < n) and (k > 1) then
begin
write(' mang sau khi xoa phan tu thu ' , k , 'la :');
for i:=k to n-1 do A[i]:=A[i+1];
for i:=1 to n-1 do write(A[i]:4:2, ' ' , ' ');
end;
if k > n then writeln(' khong co vi tri phan tu de xoa');
readln
end.
Trang 13Bài 11.xóa phần tử có giá trị bằng x trong mảng gồm n phần tử trong mảng gồn n số nguyên mảng nguyên được sinh ngẫu nhiên gồm n≤100 phần tử có giá trị từ [0,200] , áp dụng xóa phần tử có giá trị bằng x
Bài làm:
program it_linh;
uses crt;
var a:array[1 100] of integer;
n,i,k,j:integer;
begin
clrscr;
writeln('nhap so phan tu');
readln(n);
randomize;
for i:=1 to n do
begin
A[i]:=random(200);
end;
write('mang bat khi do la :');
for i:=1 to n do
begin
write(A[i]:4);
end;
writeln;
writeln(' nhap gia tri can xoa ');
readln(k);
j:=0;
for i:=1 to n do
begin
if k = A[i] then
begin
j:=j+1;
A[i]:=A[i+1];
for i:=i to n do A[i+1]:=A[i+2];
end;
end;
writeln(' mang co ' , j , ' phan tu bi xoa ');
writeln;
write(' mang sau khi xoa la : ');
for i:=1 to n-j do write( A[i] :4);
readln
end.
Trang 14Bài 12 Chèn một số nguyên x vào mảng A sao cho sau khi chèn mảng A có thứ tự tăng dần biết mảng A đã có thứ tự tăng dần.
Bài làm:
program it_linh;
uses crt;
var A:array[1 100] of integer;
n,i,k,j:integer;
begin
clrscr;
writeln(' nhap so phan tu cua mang ');
readln(n);
writeln(' nhap mang theo thu tu tang dan');
for i:=1 to n do
begin
writeln;
write('nhap phan tu thu ',i,':');
readln(A[i]);
end;
begin
writeln;
write('mang vua nhap la:');
for i:=1 to n do
write('',A[i],' ');
end;
writeln;
writeln('nhap gia tri phan tu can chen ');
readln(k);
i:=1;
while A[i] < k do i:=i+1;
for j:= n downto i do
begin
A[j+1]:=A[j];
end;
A[j]:=k;
for i:=1 to n+1 do write(A[i],' ', ' ');
readln
end.
Trang 15Bài 13 Nhập vào mảng A gồm n (n ≤ 100) phần tử là các số nguyên dương Trong quá trình nhập kiểm tra các phần tử nhập vào không được trùng, nếu trùng thì thông báo và yêu cầu nhập lại Quá trình nhập dừng lại khi nhập vào số 0.
Nhập phần tử thứ 1: 5
Nhập phần tử thứ 2: 3
Nhập phần tử thứ 3: 5
Đã có phần tử này trong mảng Vui lòng nhập lại!
Nhập phần tử thứ 3: 4
Nhập phần tử thứ 4: 0
Mảng vừa là [5 3 4], gồm có 3 phần tử.
Bài Làm:
program it_linh;
uses crt;
var A: array[1 100] of integer;
i,n,c,j :integer;
begin
clrscr;
writeln;
i:=0;
repeat
i:=i+1;
n:=i;
write('nhap phan tu thu ', i , ' la:');
readln(A[i]);
c:=A[i];
if n <> 1 then
begin
for j:= 1 to n-1 do
if A[j] = c then
begin
writeln(' Da Co Phan Tu Nay !!! Vui Long Nhap Lai !');
write('nhap phan tu thu ', i , ' la:');
readln(A[i]);
end;
end;
until A[i] = 0;
writeln;
write(' MANG VUA NHAP LA :[ ');
for i:=1 to n-1 do write(A[i],' ');
write(']');
readln
end.
Trang 16Bài 14 Quay vòng mảng A sang phải k vị trí Nhập số phần tử n: 5
Nhập mảng A: 3 5 1 2 4
Nhập số vị xoay k: 3
Mảng A sau khi xoay 3 vị trí: 1 2 4 3 5 Bài Làm:
program it_linh;
uses crt;
var A,B: array[1 1000] of integer;
i,j,n,k:integer;
begin
clrscr;
writeln('nhap so phan tu');
readln(n);
for i:=1 to n do
begin
write('Nhap phan tu thu',i,':');
readln(A[i]);
end;
writeln('nhap so vi tri xoay sang phai');
readln(k);
for j:=n downto k do B[j]:=A[j];
for j:=1 to n-k do A[j+k]:=A[j];
for j:=n downto k do
A[j-2]:=B[j];
for j:=1 to n do write(A[j],' ');
readln
end.
Trang 17Bài 15 Tách 1 mảng các số nguyên X thành 2 mảng A và B, sao cho mảng A chứa toàn số lẻ và mảng B chứa toàn số chẵn Mảng X được sinh một cách ngẫu nhiên với mỗi phần tử có giá trị thuộc đoạn [1, 50]
Nhập số phần tử của mảng X: 7
Mảng X được sinh ngẫu nhiên: [22 7 14 30 43 6 2] Sau khi tách, ta có: Mảng A: [7 43]
Mảng B: [22 14 30 6 2]
Bài Làm:
program it_linh;
uses crt;
var A,B: array[1 1000] of integer;
i,n,j,k,m:integer;
begin
clrscr;
writeln('nhap so phan tu de boc ngau nhien');
readln(n);
randomize;
k:=0;
m:=0;
randomize;
for i:=1 to n do
A[i]:=random(50);
writeln;
write('mang bat ki la: [');
for i:=1 to n do write(A[i],' ');
write(']');
for i:=1 to n do
if A[i] mod 2 = 0 then
begin
m:=m+1;
B[m]:=A[i];
end;
for i:=1 to n do
if A[i] mod 2 <> 0 then
begin
k:=k+1;
A[k]:=A[i];
end;
writeln;
write('Mang A :[');
for i:=1 to k do write(A[i],' ');
write(']');
writeln;
write('Mang B :[');
for i:=1 to m do write(B[i],' ');
write(']');
readln
end.
Trang 18Bài 16 Nhập vào một mảng A gồm n (n ≤ 100) phần tử số nguyên, sau đó hiển thị các dãy con tăng có trong mảng
Nhập vào số phần tử của mảng: 7
Nhập phần tử thứ 1: 1
Nhập phần tử thứ 2: 2
Nhập phần tử thứ 3: 8
Nhập phần tử thứ 4: 4
Nhập phần tử thứ 5: 7
Nhập phần tử thứ 6: 10
Nhập phần tử thứ 7: 9
Mảng vừa nhập là: [1 2 8 4 7 10 9]
Các dãy con tăng trong mảng là:
- Dãy con thứ 1: 1 2 8
- Dãy con thứ 2: 4 7 10
- Dãy con thứ 3: 9
Bài Làm: