Tải bản đầy đủ (.pdf) (48 trang)

Bài tập Pascal cơ bản đến nâng cao theo chương trình Tin học lớp 11 không phân ban

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (519.16 KB, 48 trang )

Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang

Bài tập pascal cơ bản đến nâng cao theo chương trình TIN 
HỌC lớp 11 không phân ban
Nhằm giúp các bạn học sinh lớp 11 tiếp cận với ngôn ngữ lập trình Pascal một cách dễ 
dàng và vận dụng vào các ngôn ngữ lập trình khác trong tin học, tôi sưu tầm và biên soạn một 
số bài toán cơ bản đến nâng cao có trong chương trình của lớp 11 không  phân ban. Các 
chương trình nhằm mục đích tham khảo cho các bạn ham mê tin học và là tài liệu chuẩn bị 
cho các bài kiểm tra về môn tin học.
Nha trang tháng 3/2011

ĐT  :  0972.311.481

Trang 1


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang

Phần I  :  CÁC BÀI TẬP CƠ BẢN
Bài 1:  Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím).
 Program Program TIM_SO_LON_NHAT;
Uses crt;
Var a,b,c,d,max  : real; 
BEGIN
Clrscr;
Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D'); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');
 

Write('Nhap a='); Readln(a);
Write('Nhap b='); Readln(b); 


Write('Nhap c='); Readln(c); 
Write('Nhap d='); Readln(d); max :=a;
If b>max then max :=b; If c>max then max :=c; if d>max then max :=d;
Writeln('So lon nhat la  : ',max  : 4  : 2); 

Readln;
END.
Bài 1B:  Viêt chương trình nhập ba số dương bất kỳ, kiểm tra ba số vừa nhập có phải là 
ba cạnh của tam giác không? Nếu phải thì tính chu vi và diện tích của tam giác đó.
PROGRAM Kiem_tra_tam_giac;
Uses crt;
Var a,b,c,cv,s,p   :  real;
BEGIN
Clrscr;
Writeln(‘nhap so thu nhat’); readln(a);
Writeln(‘nhap so thu hai’); readln(b);
Writeln(‘nhap so thu ba’); readln(c);
If(a+b>c) And(a+c>b) And(b+c>a) then
Begin 
Cv :=a+b+c; p :=c/2;s :=sqrt(p*(p­a)*(p­b)*(p­c));
Writeln(‘ba so vua nhap la ba canh cua tam giac’);
Writeln(‘ chu vi cua tam gia la’, cv : 4 : 2, ‘ dien tich cua tam giac la’, s:6 :2);

ĐT  :  0972.311.481

Trang 2


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
End

Else Writeln(‘ba so vua nhap khong phai la ba canh cua tam giac’);
Readln
End. 
Bài 1C:  Viết chương trình nhập độ cao h so với mặt đất của một vật rơi tại nơi có gia 
tốc g, 
Tính và hiển thị vận tốc của vật tại mặt đất.
Program  Tinh_van_toc;
Uses crt;
Var h, v,g   :  real;
Begin 
Clrscr;
Writeln(‘nhap do cao cua vat’); readln(h);
Writeln(‘nhap gia toc’); readln(g);
V :=sqrt(2*g*h);
Writeln(‘van toc tai mat dat la’, v  : 6  : 2);
Readln
End.
Bài 2:   Viết chương trình giải phương trình ax+b=0
Program GIAI_PHUONG_TRINH_BAC_NHAT;
Uses crt;
Var a,b,x :  real; 
Begin
Clrscr;
Writeln('GIAI PHUONG TRINH BAC NHAT  :  AX + B=0'); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write ('Nhap a= '); 

readln(a);

Write ('Nhap b= ');


readln(b); 

If(a=0) then
If(b=0) then Writeln(' Phuong trinh co vo so nghiem')
Else  writeln(' Phuong tring vo nghiem')
Else Writeln('Phuong trinh co nghiem x=',­b/a  : 4  : 2); 
Readln

ĐT  :  0972.311.481

Trang 3


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
End.
Bài 3:  Viết chương trình giải bất phương trình bậc 1 (ax + b >  0) 
Program BAT_PHUONG_TRINH_BAC_I;
Uses crt;
Var a,b  :  real;
Begin
Clrscr;
Writeln('GIAI BAT PHUONG TRINH BAC NHAT  :  AX + B>=0'); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('nhap a=');

readln(a);

Write('nhap b=');


readln(b); 

If a<>0 then
If a>0 then Writeln('Bat phuong trinh co nghiem  :  x>=',­b/a  : 4  : 2) 
Else Writeln('Bat phuong trinh co nghiem  :  x<=',­b/a  : 4  : 2)
Else 
If b>=0 then Writeln('Bat phuong trinh co vo so nghiem') 
Else writeln('Bat phuong trinh vo nghiem');
Readln
End.

2
Bài 4:  Viết chương trình giải phương trình  (ax  + bx + c =0)
Program GIAI_PHUONG_TRINH_BACII; 
Uses crt;
Var a,b,c,d,x,x1,x2  : real;
Begin
Clrscr;
Writeln('GIAI PHUONG TRINH BAC II  : '); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap he so a=');

readln(a);

Write('Nhap he so b=');

readln(b); 

Write('Nhap he so c=');


readln(c);

If a=0 then
 If b=0 then
If c=0 then

ĐT  :  0972.311.481

Trang 4


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Writeln('Phuong trinh co vo so nghiem')
Else

Writeln('Phuong trinh vo nghiem')

Else Writeln('Phuong trinh co mot nghiem  :  x=',­c/b  : 4  : 2)
Else
Begin
d :=b*b­4*a*c;
If d=0 then  Writeln('Phuong trinh co nghiem kep  :  x=',­b/(2*a)  : 4  : 2)
Else if d<0 then Writeln(‘phuong trinh vo nghiem’)
Else 
Begin
x1:=(­b+sqrt(d))/(2*a);
x2:=(­b­sqrt(d))/(2*a);
Write('Phuong trinh co hai nghiem  :  ‘); 
Writeln(‘ x1=',x1  : 4  : 2,' va x2=',x2  : 4  : 2);
End;

End;
Readln
End.
Bài 5:  Giải hệ phương trình tuyến tính  : 
ax + by = m
cx + dy = n
Program GIAI_HE_HAI_AN; 
Uses crt;
Var a,b,c,d,m,n  : real;
dx,dy,dd  : real;
BEGIN
Clrscr;
Writeln('GIAI HE HAI AN  : '); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap a=');

readln(a); 

Write('Nhap b=');

readln(b); 

Write('Nhap c=');

readln(c); 

Write('Nhap m='); readln(m); 

ĐT  :  0972.311.481


Trang 5


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Write('Nhap n=');

readln(n);

dd :=a*d­b*c; dx :=m*d­b*n; 

dy :=a*n­c*m; If dd=0 then

If (dx=0) And (dy=0) then
Writeln('He vo so nghiem hoac vo nghiem')
Else writeln('He vo nghiem')
Else
Begin
Write('He co nghiem   : '); Writeln('x=',dx/dd  : 4  : 2,' va  y=',dy/dd  : 4  : 
2);
End;
Readln
End.
Bài 6:  Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra 
màn 
hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây. 
Program DOI_GIO_PHUT_GIAY;
Uses crt;
Var gio, phut,giay, x  :  longint; 
Begin
Clrscr;

Writeln('DOI SANG GIO PHUT GIAY');
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap vao so giay  :  ');
readln(x); 
gio:=x div 3600;

x :=x mod 3600; 

phut :=x div 60; 

x :=x mod 60;

Writeln('Ket qua = ', gio,'gio   :  ', phut, 'phut   :  ', x, 'giay'); 
Readln;
End.
Bài 7:  Nhập vào tâm và bán kính của một đườ ng tròn. Sau đó nhập vào một điểm 
A(x, y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không?
Program KIEM_TRA_DIEM_THUOC_DUONG_TRON; 
Uses crt;
Var x0,y0,xa,ya,d,r

  : 

real; 

Begin

ĐT  :  0972.311.481

Trang 6



Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Clrscr;
Writeln('KIEM TRA DIEM THUOC DUONG TRON  : '); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap ban kinh R= ');

readln(r);

Write('Nhap hoanh do tam duong tron = '); 

readln(x0); 

Write('Nhap tung do tam duong tron = '); 

readln(y0); 

Write('Nhap hoanh do diem a = '); 

readln(xa);

Write('Nhap tung do diem a = '); 

readln(ya);

d :=SQRT(SQR(xa­x0)+SQR(ya­y0)); 
If r=d then

Writeln('Diem A nam tren duong tron')


Else
If d>r then Writeln('Diem A nam ngoai duong tron') 
Else Writeln('Diem A nam trong duong tron');
Readln
End.

Bài 7 b:  Viết chương trình nhập vào tâm và bán kính hai đường tròn, xác định vị 
trí tương đối của hai đường tròn đó.
Program Khao_Sat_Hai_Duong_Tron;
         Var  R 1, R2 ,x1, y1,x2,y2,  Kc, Tong, Hieu   :  Real;
        BEGIN
     

Writeln('KHAO SAT 2 DUONG TRON');

    

Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');

    

Writeln;

    

Writeln('*Duong tron thu nhat');

    


Write('    +Ban kinh  :  ');    

Readln(R1);

    

Write('    +Toa do x  :  ');

Readln(x1);

    

Write('    +Toa do y  :  ');

Readln(y1);

    

writeln;

    

Writeln('*Duong tron thu hai');

    

Write('    +Ban kinh  :  ');     

ĐT  :  0972.311.481


Readln(R2);

Trang 7


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
    

Write('    +Toa do x  :  ');    

Readln(x2);

    

Write('    +Toa do y  :  ');

Readln(y2);

     Kc :=Sqrt(Sqr(x1 – x2) + Sqr(y1 – y2));
    

Tong :=R1 + R2;     

   

Hieu :=ABS(R1 – R2);

If (Kc = 0) AND (Hieu = 0) Then

        


Writeln('­Hai duong tron trung nhau')

   

 Else

        

If (Hieu > Kc) Then

           

Writeln('­Hai duong tron long nhau')

        

 Else If (Tong = Kc) OR (Hieu = Kc) Then

              

Writeln('­Hai duong tron tiep xuc nhau')

          

Else If (Tong > Kc) AND (Hieu < Kc) Then

                 
            


Writeln('­Hai duong tron cat nhau ')
 

                    
    

Else If (Tong < Kc) Then
Writeln('­Hai duong tron o ngoai nhau­');

Readln

End.
y
Bài 8:  Tính x  ( Với x, y là số thực). 
Program X_LUYTHUA_Y;
Uses crt;
Var lt, x,y,z  : real;
Begin
Clrscr;
Writeln(‘TINH X LUY THUA Y  : ’); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap x = '); readln(x); Write('nhap y = '); readln(y);
If x>=0 then
Begin
z :=exp(y*ln(x)); 

ĐT  :  0972.311.481

Trang 8



Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Writeln('x ^ y = ',z  : 4  : 2);
End
Else 
Writeln('Khong tinh duoc do x la so am');
 Readln;
End.
Bài 9:  Tính n!
Program TINH_N_GIAI_THUA; 
Uses crt;
Var i,n,gt  : integer;
Begin
Clrscr;
Writeln('  TINH N GIAI THUA  : '); 
Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­'); 
Write('Nhap n ='); readln(n);

gt :=1;

For i :=1 to n do gt :=gt*i; Writeln(n, '!= ',gt);
Readln;
End.
Bài 10**  :  Đọc ngày tháng năm, sau đó viết ra màn hình đó là ngày thứ mấy trong tuần.
Program 

Ngaythang;

Uses crt;
Var     Thu, Ngay, Thang   :  Byte; 

Nam   :  Integer; 
 BEGIN
Clrscr;
Write (' Doc Ngay   :  ');

Readln ( Ngay );

Write (' Doc Thang   :  ');

Readln ( Thang );

Write (' Doc Nam   :  ');

Readln ( Nam );

Nam :=1900 + ( Nam mod 1900 );
    If Thang < 3 Then

ĐT  :  0972.311.481

Trang 9


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
      Begin
         Thang :=Thang + 12;         Nam :=Nam ­ 1;
      End;
    Thu :=Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3  div 5 + Nam + Nam div 4 ) mod 7;
    Case Thu Of
0   :  Writeln (‘ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay  Chu Nhat ');

1   :  Writeln ('ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay Thu Hai ');
2   :  Writeln ('ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay Thu Ba ');
3   :  Writeln (‘ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay  Thu Tu ');
4   :  Writeln (‘ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay  Thu Nam ');
5   :  Writeln ('ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay Thu Sau ');
6   :  Writeln ('ngay     ’,ngay,’      thang ',thang,’        nam ’,nam,’    la ngay Thu Bay ');
     End;
     Readln;
  END.

Bài 11:  Viết chương trình   : 
  Nhâp số báo danh   Nhập điểm văn, toán, ngoại ngữ 
  In ra màn hình dưới dạng   : 
Phiếu điểm: 
Số báo danh : 
Điểm văn :   
Điểm toán : 
Điểm ngoại ngữ : 
Tổng số điểm:  
Bạn đã trúng tuyển ( hoặc Bạn đã không trúng tuyển ) với điều kiện Tổng số điểm >= 
15 hay ngược lại.
Program INPHIEU;
Uses Crt;

ĐT  :  0972.311.481

Trang 10


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang

 Var SBD   :  Integer; 
Van, Toan, Ngoaingu, Tongdiem   :  Real; 
BEGIN
Clrscr; 
Write (' So bao danh   :  '); Readln( SBD ); 
Write (' Diem toan   :  '); Readln( Toan ); 
Write (' Diem ngoai ngu   :  '); Readln( Ngoaingu ); 
Write (' Diem van   :  '); Readln ( Van ); 
Tongdiem :=Toan + Van + Ngoaingu; 
Writeln (' Phieu Bao Diem '); 
Writeln (' So bao danh         :  ', SBD ); 
Writeln (' Diem van             :  ', Van ); 
Writeln (' Diem toan            :  ', Toan ); 
Writeln (' Diem ngoai ngu   :  ', Ngoaingu); 
Writeln (' Tong diem      :  ', Tongdiem); 
If Tongdiem >= 15 Then 
Writeln(' Ban da trung tuyen ')
    Else  Writeln(' Ban khong trung tuyen ');
Readln; 
END.
Bài 12: Viết chương trình nhập hai số thực. Sau đó hỏi phép tính cần thực hiện và in 
kết quả của phép tính đó.
  Nếu là “+”, in kết quả của tổng lên màn hình.
  Nếu là “­”, in kết quả của hiệu lên màn hình.
  Nếu là “/”, in kết quả của thương lên màn hình.
  Nếu là “*”, in kết quả của tích lên màn hình.  Nếu là “+”, in kết quả của tổng lên 
màn hình.
  Nếu là “+”, in kết quả của tổng lên màn hình.

ĐT  :  0972.311.481


Trang 11


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Program 

Chuongtrinh_tinh;

Uses Crt; 
Var      a, b, T   :  Real; 
Pt   :  Char; 
BEGIN
    Clrscr; 
    Write (' a = '); Readln( a ); 
    Write (' b = '); Readln( b ); 
    Write (' Phep tinh thuc hien la (+ ­ * /)   :  '); 
    Readln( Pt ); 
    

If Pt = '+’ Then T :=a + b; 

   

 If Pt =  '­’ Then T:=a ­ b; 

   

 If Pt = '*’ Then T :=a * b; 


   

 If Pt = '/’  Then T :=a / b; 

  

Write ( a, pt, b, ' = ', T ); 

    Readln; 
  END.

ĐT  :  0972.311.481

Trang 12


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang

PHẦN II  :  CÂU LỆNH CÓ CẤU TRÚC
Bài 12.  Cho số tự nhiên n, hãy lập trình để tính các tổng sau   : 
a. 1 + 1/22 + 1/32 + … + 1/n2 

b. 1 + 1/2! + 1/3! + … + 1/n! 

Program 

Caua;

Uses crt;
 Var  n, i   :  Word; 

          S   :  Real; 
BEGIN
Clrscr;
Write (' Nhap n   :  '); Readln (n); 
S :=0; 
For i :=1 To n Do  
 S :=S + 1 / sqr(i); 
Writeln ('Tong la  S = ', S  : 6  : 2); 
Readln
  END. 
Program 

Cau_b;

Uses crt;
Var n, i, j, p   :  Word; 
S   :  Real; 
BEGIN 
Clrscr;
Write (' Nhap n   :  '); 

Readln(n); 

p :=1;      s :=0; 
For i  :=1 To n  Do 
Begin 
p :=p * i;       S :=S + 1 / p; 

ĐT  :  0972.311.481


Trang 13


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
End; 
Writeln ('Tong la S = ', S  : 6  : 2);  
Readln
End.
Câu 13a :  Lập trình tính tổng   : 
A = 1 + 1/2 + 1/3 + … + 1/n
ở đây n là số tự nhiên được nhập vào từ bàn phím.
Program 

tinhtong;

Uses Crt; 
Var i, n   :  Integer; 

tong  :  Real; 

BEGIN 
Clrscr; 
Write (' Cho so tu nhien n   :  '); Readln (n); 
tong :=0; 

i :=1; 

While i <= n Do 
Begin 
tong:=tong + 1/i; 


i:=i + 1; 

End; 
Writeln (' Tong can tim la  :  ', tong  : 8  : 2 ); 
Readln; 
END.
Câu 13b :  Tính số hạng thứ n của dãy FIBONAXI biết n nhập từ bàn phím và quy 
luật dãy như sau
F0=0; F1=1 và Fn=Fn­1+Fn­2
Program 

FIBONAXI;

Uses crt;
Var A  : 

 array[0..1000] of integer;

n   :  integer;
Begin

ĐT  :  0972.311.481

Trang 14


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Clrscr;
Writeln(‘can so hang thu may cua day Fibonaxi’); 


readln(n);

A[0] :=0; A[1] :=1;
For i :=2 to n do
A[i] :=A[i­1]+A[i­2];
Writeln(‘so hang thu’, n,’cua day fibonaxi la’, A[n]);
Readln
End.
Câu 14a :  Tính hàm lũy thừa an, ở đây a thực và n tự nhiên được nhập vào từ bàn 
phím.
Program 

Tinhgiaithua;

Uses Crt; 
Var  i, n   :  Integer; 
a, giatri   :  Real; 
 BEGIN
Clrscr; 
Write (' nhap co so a =  :  '); Readln(a); 
Write (' nhap  so mu n =  :  '); Readln(n); 
i :=1; 

giatri :=1; 
While i <= n Do 
Begin 
giatri :=giatri * a;
i:=i+1; 
End; 


Writeln(' a mu n bang   :   ', giatri  : 8  : 2 ); 
Readln; 
END.

ĐT  :  0972.311.481

Trang 15


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang

ĐT  :  0972.311.481

Trang 16


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Bài 14b. Viết chương trình nhập vào hai số nguyên dương a, b bất kỳ, hiển thị ước 
chung lớn nhất của hai số và bội chung nhỏ nhất của hai số đó.
Program 

UC_BC;

Uses crt;
Var a, b, uc, bc   :  integer;
BEGIN
Clrscr;
Writeln(‘nhap so thu nhat ’); 


readln(a);

Writeln(‘nhap so thu hai

readln(b);

’); 

While (a<>b) do
Begin
If a>b then a :=a­b else b :=b­a;
End;
uc :=a; 

bc :=(a*b)/uc;

Writeln(‘uoc chung lon nhat cua   ‘,a,’ va  ’,b,’    la

‘,uc);

Writeln(‘boi chung nho nhat cua ‘,a,’va ’,b,’      la    ‘,bc);
Readln
END.
Câu 15 :  Chương trình nhập mảng một chiều gồm n phần tử n<=100 kiểu nguyên 
rồi thực hiện
a. Đếm số lượng phần tử dương cho kết quả ra màn hình
b. Tính tổng các phần tử dương trong mảng.
c. Tính trung bình các phần tử  trong mảng.
d. Tính trung bình các phần tử dương trong mảng
e. Tìm vị trí đầu tiên của phần tử =k với k nhập từ bàn phím.

f.

Tìm vị trí phần tử =k với k nhập từ bàn phím, nếu có nhiều phần tử =k thì 
hiển thị ra màn hình tất cả vị trí phần tử=k đó.

g. Đếm số lượng phần tử là nguyên tố trong mảng.

ĐT  :  0972.311.481

Trang 17


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
h. Kiểm tra mảng vừa nhập có phải là cấp số cộng hay không?
i.

Sắp xếp mảng theo thứ tự tăng dần các phần tử và hiển thị ra màn hình 
mảng tăng đó

Prgram BAI_15;
Uses crt;
Var A  :  array[1..100] of 

integr;

i, k,demd, s, demnt, tg,n, d, dd,j

  :  integer;

tb, tbm   :  real;

Begin
Clrscr;
Writeln(‘nhap so luong phan tu cua mang’); readln(n);
Writeln(‘­­­­­­­­­­­­­­­­­­­­­­nhap mang­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­‘);
For i :=1 to n do
Begin
Writeln(‘nhap so hang thu’, I, ‘A[‘,I,’]=  ‘);
Readln(A[i]);
End;
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau a­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
demd :=0;
For i :=1 to n do if A[i]>0 then demd :=demd+1;
Writeln(‘ so luong phan tu duong  cua mang la’, demd); 
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau b­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
s :=0; 
For i :=1 to n do if A[i]>0 then s :=s+ A[i];
Writeln(‘ tong cac phan tu duong  cua mang la’, s);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau c­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
s :=0;

ĐT  :  0972.311.481

Trang 18


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
For i :=1 to n do s :=s+A[i];
tbm :=s/n;
Writeln(‘ trung binh cac phan tu  cua mang la   ’, tbm  : 6  : 2);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau d­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­} 

s :=0; demd :=0;
For i :=1 to n do
Begin 
 if A[i]>0 then s :=s+ A[i]; demd :=d+1;
End;
tb :=s/demd;
Writeln(‘ trung binh cac phan tu duong  cua mang la   ’, tb  : 6  : 2);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau e­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
Writeln(‘  nhap gia tri can tim vi tri  ’);  readln(k);
J :=1;
While (j<=n) And (A[j]<>k) do j :=j+1;
If j> n then Writeln(‘khong co gia tri  ’, k, ’ trong mang’)
Else Writeln(k, ‘   nam o vi tri thu  ’, j,’   trong mang’);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau f­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
Writeln(‘  nhap gia tri can tim vi tri  ’); 

readln(k);

J :=1; writeln(‘cac vi tri xuat hien cua  ’,k,’  trong mang la’); 
While (j<=n) do
Begin
If A[j]=k  then write(j  : 5);
 j :=j+1;
end;
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau g­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
Demnt :=0;
For i:=1 to n do

ĐT  :  0972.311.481


Trang 19


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
Begin 
j:=2;
While( j<=A[i] ­ 1 ) And (A[i] mod j<>0) do
Begin
J:=j+1;
End;
If j> A[i] ­ 1 then demnt :=demnt+1;
End;
Writeln(‘  so luong phan tu la nguyen to la’, demnt);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau h­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
d :=A[2]­A[1];

j:=3;

While (j<=n) And (A[j]­A[j­1]=d) do

 j:=j+1;

if j>n then Writeln(‘ mang vua nhap la cap so cong’)
else Writeln(‘ mang vua nhap khong phai la cap so cong’);
{­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­Cau i­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­}
For i :=1 to n do
For j :=i+1 to n­1 do 
If A[j]>A[j+1] then
Begin {doi vi tri hai phan tu A[j] va A[j+1]}
tg :=A[j];

A[j] :=A[j+1];
A[j+1] :=tg;
End;
Writeln(‘mang sau khi duoc sap xep la’);
For i :=1 to n do write(A[i]  : 5);
Readln
END.

Bài 15 b:  Viết chương trình nhập vào mảng gồm n phần tử (n<=100) tìm và hiển 
thị vị trí phần tử có giá trị lớn nhât, sau đó sắp xếp các phần tử theo thứ tự tăng 
dần và hiển thị các phần tử sắp xếp đó ra màn hình.
Program   Tim_vi_tri;
uses crt;
ĐT  :  0972.311.481

Trang 20


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
var a  :  array[1..100] of integer;
var i,n,j, tg,max, vt   :  integer;
begin
clrscr;
write(' nhap so phan tu cua mang ');
readln(n);
writeln(' moi nhap cac phan tu cua mang ');
for i:=1 to n do
begin
write('A', i,']= ');
readln(a[i]);

end;
Max :=a[1]; vt :=1;
For i :=1 to n do
begin
If A[i]>max then
Begin
Max :=a[i]; vt :=i;
End; 
End;
Writeln('gia tri lon nhat la  ', max, ' nam o vi tri thu ',vt);
for i:=1 to n­1 do
for j :=i+1 to n do
if a[i]>a[j] then
Begin
tg :=a[i];
ĐT  :  0972.311.481

Trang 21


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
a[i] :=a[j];
a[j] :=tg;
End;
writeln(' day sau khi sap xep la ');
for i :=1 to n do
write( a[i]  : 4);
readln;
End.
Bài 15C:  Viết chương trình nhập mảng gồm n phần tử kiểu nguyên(n<=100) và 

cho ra màn hình phần tử xuât hiện nhiều nhất và số lần xuât hiện của nó trong 
mảng
Program 

Tansuat;

Uses crt;
var i,k,j,n,max:integer; 
b,st: array [1..100] of integer; 
begin 
clrscr;
 

write('Nhap so pt:');readln(n); 

 

for i:=1 to n do 

  

Begin 

   

write('st[',i,']=');readln(st[i]); 

  

End; 

b[i]:=0; 
 

for i:=1 to n do 

   
    
ĐT  :  0972.311.481

for j:=i to n do 
if st[i]=st[j] then inc(b[i]); 
Trang 22


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
 

max:=b[1]; 

 

for i:=1 to n do if b[i]>max then max:=b[i]; 

 

write('­­So xuat hien nhieu nhat la­­'); 

 

for i:=1 to n do 


  

if max=b[i] then write(st[i],'  '); 

 

write('­­­xuat hien­­­ ',max,' –lan­­'); 

 

Readln 

End.  
Bài 16. Viết chương trình nhập mảng gồm n (n<=100) phần tử rồi chèn vào một 
số bất kỳ vào một vị trí nào đó trong mảng, số cần chèn và vị trí chèn nhập từ 
bàn phím.
Program 

Chen;

Uses crt;
    Var   i,spt, so,vitri   :  Integer;
A  :  Array[1..100] Of Integer;
Begin
Clrscr;
    

Writeln(' + CHEN MOT SO VAO MANG +');


    

Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');

   

Write('­Co bao nhieu phan tu­  :  ');

    

Readln(spt);

   

For i :=1 To spt Do

      

 Begin

          

Write('­Phan tu A[',i,']= ');

          

Readln(a[i]);

     
  


 End;
 Writeln;

   Writeln('­­MANG TRUOC KHI CHEN­­');
   

For i :=1 To spt Do
Writeln;

   
ĐT  :  0972.311.481

Write('­Can che so  :  ');
Trang 23

Write(a[i]  : 6);


  

Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
 Readln(so);

   

Write('­Vao vi tri  :  ');

  


 Readln(vitri);

  

 For i :=spt+1 Downto Vitri+1 Do

       
  

a[i] :=a[i­1];
 Writeln;

a[vitri] :=so;

  

 Writeln('MANG SAU KHI CHEN');

   
   Readln

For i :=1 To spt Do       Write(a[i]  : 6);

spt :=spt+ 1;

End.
Bài 17. Viết chương trình nhập mảng gồm n  (n<=100)phần tử rồi xóa đi một 
phần tử
 nào đó có vị trí nhập từ bàn phím
Program 


Xoa_Pt;

    Var       i,spt,vitri  : Integer;
      a  : Array[1..100] Of Integer;
Begin
    

Writeln('­­XOA PHAN TU TRONG MANG­­');

   

Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');

   

Writeln;

  

 Write('­Mang co bo nhieu phan tu­ ');

 

  Readln(spt);

   

For i :=1 To spt Do


      

 Begin

         

 Write('­Phan tu A[',i  : 2,']= ');

      

   

    

  End;

  

Readln(A[i]);

 Writeln;

  

 Writeln(' ­­MANG TRUOC KHI XOA­­');

   

Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');


  

 Writeln;

  

 For i :=1 To spt Do

ĐT  :  0972.311.481

Write(a[i]  : 6);
Trang 24


Trần Văn Chung trường THPT Hoàng Văn Thụ Nha Trang
   

Writeln;

 

 Writeln;

   

Write('­Vi tri muon xoa  :  ');

   Readln(vitri);

   For i :=vitri to spt ­ 1 Do        a[i] :=a[i+1];

    

spt :=spt ­ 1;

  

  Writeln;

    

Writeln(' MANG SAU KHI XOA');

    

Writeln('­ ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');

    

Writeln;

    

For  i:=1 to spt Do         Write(a[i]  : 6);

    

Writeln;

   Writeln;


   

 Writeln('   Bam phim <Enter> de ket thuc ');

    Readln
End.
Bài 18. Viết chương trình nhập mảng gồm n  (n<=100)phần tử rồi xóa đi những 
phần 
tử trùng nhau trong mảng và in ra màn hình phần tử sau khi đã bỏ bớt.
Program 

Bo_so_trung;

Uses crt;
    

Const       Max=100;

    

Var    A   : Array[1..Max] Of Integer;

   

i,j,k,n  : Integer;

Begin
    

Writeln('XOA BO CAC SO TRUNG NHAU');


   

Writeln('­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­');

   

Writeln;

  
   
       
          

 Write('­Nhap so phan tu mang:  ');
For i :=1 To N Do
Begin
Write('­Phan tu A[',i,']= ');

ĐT  :  0972.311.481

Trang 25

   Readln(n);


×