ầ ườ ụ 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
ọ
ạ
ữ ậ
ớ
ộ
ằ ậ ụ
ớ ữ ậ
ư ầ
ọ ủ ớ
ươ
ạ ng trình c a l p 11 không phân ban. Các ẩ ọ
ơ ả ằ
ươ
ệ
ả
ạ
ị 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
ể
ọ
ễ ế ậ 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 ụ ch ề 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.
ấ ỳ ể
ươ
ậ
ả
ng b t k , ki m tra ba s v a nh p có ph i là
ậ ng trình nh p ba s d
ố ươ ả
ố ừ ủ
ủ
ế
ệ
ạ
Bài 1B: Viêt ch 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*(pa)*(pb)*(pc));
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
End
Else Writeln(‘ba so vua nhap khong phai la ba canh cua tam giac’);
Readln
End.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ươ
ộ ậ ơ ạ ơ
ậ ộ
ế
ớ ặ ấ ủ 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
Bài 1C: Vi t ch ố 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
End.
Bài 3: Viết chương trình gi
iả b tấ ph
ngươ trình bậc 1 (ax + b >(cid:149) 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.
Bài 4: Viết chương trình gi
iả ph
2 nươ g 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
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ĐT : 0972.311.481 Trang 4
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*b4*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:=(bsqrt(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);
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ĐT : 0972.311.481 Trang 5
Write('Nhap n=');
readln(n);
dd :=a*db*c; dx :=m*db*n;
dy :=a*nc*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.
nườ g tròn. Sau đó nhập vào một điểm
Bài 7: Nh pậ vào tâm và bán kính của m tộ đ 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
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ĐT : 0972.311.481 Trang 6
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(xax0)+SQR(yay0));
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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ế ươ ậ ườ ị 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 : '); Readln(R2);
ĐT : 0972.311.481 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
Bài 8: Tính x
y ( 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));
End.
ĐT : 0972.311.481 Trang 8
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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ọ
ế
ứ ấ
ầ
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.
Ngaythang;
Program
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
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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ế
ươ
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:
(cid:0)
ố
S báo danh :
ể
(cid:0) Đi m văn :
ể
(cid:0) Đi m toán :
ữ
ể
ạ
(cid:0) Đi m ngo i ng :
(cid:0)
ố ể
ổ
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 >=
ạ ượ ạ c l 15 hay ng
i.
Program INPHIEU;
Uses Crt;
(cid:0)
ĐT : 0972.311.481 Trang 10
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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ươ
ố ự
ự
ỏ
ệ
ậ
ầ
ng trình nh p hai s th c. Sau đó h i phép tính c n th c hi n và in
ế ả ủ
ế
Bài 12: Vi t ch 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
Chuongtrinh_tinh;
Program
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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Đ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!
Caua;
Program
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
End;
Writeln ('Tong la S = ', S : 6 : 2);
Readln
End.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ổ
ậ
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.
ố ạ
ủ
ế
ậ ừ
t n nh p t
bàn phím và quy
ư
ậ
ứ Câu 13b : Tính s h ng th n c a dãy FIBONAXI bi lu t dãy nh sau
F0=0; F1=1 và Fn=Fn1+Fn2
FIBONAXI;
Program
Uses crt;
Var A :
array[0..1000] of integer;
n : integer;
Begin
ĐT : 0972.311.481 Trang 14
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[i1]+A[i2];
Writeln(‘so hang thu’, n,’cua day fibonaxi la’, A[n]);
Readln
End.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ở
ự
ượ
ậ
ừ
ự đây a th c và n t
nhiên đ
c nh p vào t
bàn
Câu 14a : Tính hàm lũy th a aừ 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
ế
ươ
ấ ỳ ể
ng a, b b t k , hi n th
ị ướ c
ố ng trình nh p vào hai s nguyên d ỏ ấ ủ
ươ t ch ấ ủ
ố
ớ
ố
ậ Bài 14b. Vi ộ chung l n nh t c a hai s và b i chung nh nh t c a hai s đó.
UC_BC;
Program
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 :=ab else b :=ba;
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.
ươ
ề ồ
ầ ử
ả
ậ
ộ ng trình nh p m ng m t chi u g m n ph n t
ể n<=100 ki u nguyên
Câu 15 : Ch ệ ồ ự 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.
ầ ử
ớ
ậ ừ
ế
ề
ầ ử
=k thì
ị 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 ầ ử
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
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
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ĐT : 0972.311.481 Trang 19
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[j1]=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 n1 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.
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ế ươ ầ ử ồ ậ ả ể 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 n1 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.
ồ ế ươ t ch
ậ ệ ệ ủ ầ ử ề ấ ầ ử ể ả ki u nguyên(n<=100) và ng trình nh p m ng g m n ph n t ố ầ xuât hi n nhi u nh t và s l n xuât hi n c a nó trong
Bài 15C: Vi cho ra màn hình ph n t 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
for j:=i to n do
if st[i]=st[j] then inc(b[i]);
ĐT : 0972.311.481 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.
Chen; Program
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 Write(a[i] : 6);
Writeln;
Write('Can che so : ');
ĐT : 0972.311.481 Trang 23
ầ ụ 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[i1]; a[vitri] :=so; spt :=spt+ 1; Writeln;
Writeln('MANG SAU KHI CHEN');
For i :=1 To spt Do Write(a[i] : 6); Readln
End.
ế ươ ầ ử ồ ộ ậ ả t ch ồ ng trình nh p m ng g m n (n<=100)ph n t r i xóa đi m t Bài 17. Vi 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,']= ');
Readln(A[i]);
End;
Writeln;
Writeln(' MANG TRUOC KHI XOA');
Writeln('');
Writeln;
For i :=1 To spt Do Write(a[i] : 6);
ĐT : 0972.311.481 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
Readln
End.
ế ươ ầ ử ồ ữ ậ ả t ch ồ ng trình nh p m ng g m n (n<=100)ph n t r i xóa đi nh ng
ầ ử ỏ ớ ả Bài 18. Vi ph n ầ ử trùng nhau trong m ng và in ra màn hình ph n t sau khi đã b b t. 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: '); Readln(n);
For i :=1 To N Do
Begin
Write('Phan tu A[',i,']= ');
ĐT : 0972.311.481 Trang 25
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Readln(a[i]);
End;
i :=2;
While i <= N Do
Begin
j :=1;
While a[j] <> a[i] Do
j :=j+1;
If j < i Then
Begin
For k :=i to n1 Do
a[k]:=a[k+1];
n :=n1;
End
Else
i :=i+1;
End;
Writeln;
Write('Mang con lai : ');
For i :=1 to n Do Write(a[i] : 8);
Writeln;
Writeln(' Bam phim
Readln
End.
ậ
ầ
Bài t p ph n xâu :
ố ầ ươ ậ ừ bàn phím các ký t ự ươ ch ế ng trình đ m s l n
ng trình nh p t ự ỗ ấ Bài t pậ 1: Ch ệ ủ xu t hi n c a m i ký t
Program Dem_so_lan;
ĐT : 0972.311.481 Trang 26
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Uses Crt ;
Var a : Array[ 'A'..'Z' ] of integer;
ch : char ;
i : byte ;
BEGIN
Clrscr ;
For ch :='A' to 'Z' Do a[ch] :=0 ;
Writeln (' Go phim 50 lan ') ;
For i :=1 To 50 Do
Begin
ch :=Readkey ;
ch :=Upcase(ch) ;
a[ch] :=a[ch] + 1 ;
End;
Writeln (' So lan xuat hien cac ki tu la : ') ;
For ch :='A' to 'Z' do
If a[ch] > 0 Then
Writeln (ch ‘xuat hien’, a[ch] : 4, ' lan. ');
Readln ;
END.
ậ ướ ố ứ ể ả ậ Bài t p 2: Nh p xâu cho tr c ki m tra có ph i xâu đ i x ng hay không?
Program Xaudoixung;
Uses Crt;
Var St : string;
dx : Boolean;
i, len : byte;
ĐT : 0972.311.481 Trang 27
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
BEGIN
Clrscr;
Write(' Nhap xau St = '); Readln(St);
dx:=True; i :=1; len:=Length(St);
While dx And (i<=(len div 2)) do
Begin
dx :=(St[i] = St[len i+1]);
I :=i+1;
End;
If dx then Write(' St la xau doi xung ')
Else Write(St,’ khong phai la xau doi xung ') ;
Readln;
END.
ươ ủ ọ ộ ậ ườ ế ự ậ ng trình nh p vào h tên c a m t ng i sau đó xóa h t ký t
ắ Bài t p 3: Ch ư ừ tr ng d th a
Uses crt;
Const Chu=['a'..'z'];
Var Hoten : string;
i,len : byte;
BEGIN
Clrscr;
Write('Ho ten='); Readln(Hoten);
Len :=length(Hoten);
If Hoten[1] in Chu then Hoten[1] :=Upcase(Hoten[1]);
For i :=2 to len do
If (Hoten[i1]=#32)And(Hoten[i] in Chu) then
ĐT : 0972.311.481 Trang 28
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Hoten[i] :=Upcase(Hoten[i]);
Write('Ho ten sau khi dieu chinh la : ', Hoten);
Readln;
END.
ế ươ ộ ậ ấ ậ t ch ng trình nh p vào m t xâu, sau đó xu t ra xâu sau khi đã xóa
ế Bài t p 4: Vi ự ố s . h t ký t
xoa_ky_tu_so; Program
Uses crt;
Var I,k : byte;
S : string;
Ch : char;
Begin
Clrscr;
Writeln(‘nhap xau ‘); readln(s);
K :=length(s); i :=1;
For ch :=’0’ to ‘9’ do
Begin
While (i<=k) And (pos(ch,s))<>0 do
Begin
Delete(s,pos(ch,s),1);
i :=i+1;
End;
End;
Writeln(‘xau sau khi xoa het so la : ’,s);
Readln
End.
ĐT : 0972.311.481 Trang 29
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ậ ự ấ ế ng trình nh p vào xâu ký t và xu t ra màn hình xâu sau khi đã
ươ t ch ự ắ ư ừ Bài 5: Vi ỏ ế b h t ký t tr ng d th a.
xoa_ky_tu_trang; Program
Uses crt;
Var I,k : byte;
S : string;
Begin
Clrscr;
Writeln(‘nhap xau’); Readln(s);
While (s[1]=’ ‘ do Delete(s,1,1);
While (s[lengh(s)] =’ ‘ do Delete(s,length(s),1);
While pos(‘ ‘,s)<>0 do Delete(s,pos(‘ ‘,s),1);
Writeln(‘ xau sau khi xoa het ky tu trang du thua la’, s);
Readln
End.
ế ộ ế ự ắ ư ừ tr ng d th a và
ổ ươ t ch ự ầ ủ ng tình nh p vào m t xâu, sau đó xóa h t ký t ữ ậ ỗ ừ Bài 6: Vi đ i các ký t thành ch hoa. đ u c a m i t
Doi_chu; Program
Uses crt;
Var I,k : byte;
S : string;
Begin
Clrscr;
Writeln(‘nhap xau’); Readln(s);
While (s[1]=’ ‘ do Delete(s,1,1);
While (s[lengh(s)] =’ ‘ do Delete(s,length(s),1);
ĐT : 0972.311.481 Trang 30
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
While pos(‘ ‘,s)<>0 do Delete(s,pos(‘ ‘,s),1);
K :=length(s);
For i :=1 to k do if ( s[i]=’ ‘ )And( s[i+1]<>’ ‘) do upcase(s[i+1];
Writeln(‘xau sau khi dieu chinh la’,s);
Readln
End.
ầ
ả
ậ
Bài t p ph n b n ghi, file
ổ ớ ủ ọ ọ ồ ọ ậ ươ ng trình nh p danh sách h c sinh g m H tên, tu i, l p c a h c
ậ ậ ừ Bài t p 1: Ch sinh,in ra danh sách v a nh p
danh_sach; Program
Uses Crt;
Const n=15;
Type Danhsach=record
holot : string[25];
ten : string[10];
tuoi : 0..99;
lop : string[3];
End;
Var ds : array [1..n] of Danhsach;
i : byte;
BEGIN
ClrScr;
Writeln('Hay nhap danh sach hoc sinh : ');
Writeln;
For i :=1 to n do
Begin
ĐT : 0972.311.481 Trang 31
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Writeln('Thong tin hoc sinh thu ',i);
Write('Cho ho lot : '); Readln(ds[i].holot);
Write('Cho ten : '); Readln(ds[i].ten);
Write('Cho tuoi : '); Readln(ds[i].tuoi);
Write('Cho lop : '); Readln(ds[i].lop);
Writeln;
End;
Writeln('Danh sach hoc sinh : ');
For i :=1 to n do
With ds[i] do Writeln(holot : 20,ten : 10,tuoi : 4,lop : 5);
Writeln;
Write('Bam Enter de ket thuc...');
Readln;
END.
ươ ổ ớ ọ ậ ng trình nh p danh sách h c sinh g m H tên, tu i, l p.
ọ ắ ế ồ ứ ự ươ ng trình in ra danh sách sau khi s p x p theo th t ầ . tăng d n Bài t p ậ 2: Ch Ch
sap_xep; Program
Uses Crt;
Const n=5;
Type
Danhsach=record
holot : string[25];
ten : string[10];
tuoi : 0..99;
lop : string[3];
End ;
ĐT : 0972.311.481 Trang 32
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Var ds : array [1..20] of Danhsach;
i,j : byte;
f : file of Danhsach;
Procedure Doi(i,j : byte);
Var tg : Danhsach;
Begin
tg :=ds[i];
ds[i] :=ds[j];
ds[j] :=tg;
End;
BEGIN
ClrScr;
Writeln('Nhap danh sach hoc sinh tu file data.dat : ');
Writeln;
Assign(f,'data.dat'); Reset(f);
For i :=1 to n do Read(f,ds[i]);
Close(f);
For i :=1 to n1 do
For j :=i+1 to n do
begin
If (ds[i].ten>ds[j].ten) then Doi(i,j)
Else
If (ds[i].ten=ds[j].ten)And(ds[i].holot>ds[j].holot) then Doi(i,j);
end;
Writeln('Danh sach hoc sinh : ');
For i:=1 to n do
ĐT : 0972.311.481 Trang 33
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
With ds[i] do Writeln(holot : 20,ten : 11,tuoi : 4,lop : 5);
Writeln;
Write('Bam Enter de ket thuc...');
Readln;
END.
ề ỗ ọ ộ ả ồ ườ Bài t p ậ 3 : Thông tin v m i h c sinh là m t b n ghi g m các tr ng :
ọ ệ ự ộ H đ m : m t xâu 25 kí t .
ự ộ Tên : m t xâu 10 kí t .
ộ ố ổ ữ ố Tu i : m t s nguyên hai ch s .
ữ ố ữ ớ ộ ộ ế L p : m t xâu hai ch s và m t ch cái vi t hoa
ả ộ ớ ồ ứ ọ ộ ậ
ườ ộ ộ ươ ỗ ể ị M t file b n ghi ch a m t danh sách m t l p g m 20 h c sinh. Hãy l p ch ng trình hi n th danh sách lên màn hình, m i ng i m t dòng.
Program Nhaphocsinh;
Uses Crt; Const n=5;
Type Danhsach=record
holot : string[25];
ten : string[10];
tuoi : 0..99;
lop : string[3];
end;
Var ds : Danhsach;
i : byte;
f : file of Danhsach;
ĐT : 0972.311.481 Trang 34
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
BEGIN
ClrScr;
Writeln('Danh sach hoc sinh tu file bai2.dat');
Writeln;
Assign(f,'bai2.dat'); Reset(f);
For i:=1 to n do
Begin
Read(f,ds);
With ds do Writeln(holot : 20,ten : 11,tuoi : 4,lop : 5);
End;
Close(f);
Writeln;
Write('Bam Enter de ket thuc...');
Readln;
END.
ề ỗ ọ ứ ọ ả
ộ ươ ộ ư ứ ố ộ ậ ả ạ
ng trình t o m t file b n ghi khác ch a ườ ồ Bài t p ậ 4 : M t file b n ghi ch a m t danh sách h c sinh, thông tin v m i h c sinh gi ng nh bài trên. Hãy l p ch ỗ ả danh sách đó, m i b n ghi g m các tr ng :
ọ ộ H tên : m t xâu 35 kí t ự .
ộ ố ổ ữ ố Tu i : m t s nguyên hai ch s .
ộ ố ố ữ ố Kh i : m t s nguyên hai ch s .
ữ ớ ế ộ L p : m t ch cái vi t hoa
Prorgam file_banghi;
Uses Crt;
Type Danhsach1=record
holot : string[25];
ĐT : 0972.311.481 Trang 35
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ten : string[10];
tuoi : 0..99;
lop : string[3];
End;
Danhsach2=record
hoten : string[35];
tuoi : byte;
khoi : byte;
lop : char;
End;
Var ds1 : Danhsach1;
ds2 : Danhsach2;
f1 : file of Danhsach1;
f2 : file of Danhsach2;
c : integer;
BEGIN
ClrScr;
Writeln('Ghi tu file bai3.dat sang bai3n.dat : ');
Writeln;
Assign(f1,'bai3.dat'); Reset(f1);
Assign(f2,'bai3n.dat'); Rewrite(f2);
While not Eof(f1) do
Begin
Read(f1,ds1);
With ds1 do
Begin
ĐT : 0972.311.481 Trang 36
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ds2.hoten :=holot+ten;
val(copy(lop,1,2),ds2.khoi,c);
ds2.tuoi:=tuoi;
ds2.lop :=UpCase(lop[3]);
Write(f2,ds2);
End;
End;
Close(f1); Close(f2);
Writeln;
Writeln('Bam Enter de ket thuc!');
Readln;
END.
ĐT : 0972.311.481 Trang 37
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
ậ ề ươ
Bài t p v ch
ng trình con
ộ ố ự ể ướ ệ ơ ố ủ ụ Bài t p 1ậ . Dùng th t c chuy n m t s t nhiên n cho tr c sang h c s 2.
Procedure Change ( n : integer ; Var St : String ) ;
b : Array[0.. 1] Of Char = ('0', '1') ;
Var
du, So : Integer ;
S : String ;
Begin
S :='' ; {tao xau rong}
So :=n ;
Repeat
Du:= So mod 2 ;
So:=So div 2 ;
S:=b[du] + s ;
Until So = 0 ;
St :=S ;
End ;
2 + bx + c = 0
ủ ụ ả ươ ậ Bài t p ậ 2: Dùng th t c gi i ph ng trình b c hai ax
Uses Crt ;
Var a, b, c, x1, x2 : real;
{================================}
Procedure Nhapabc(var aa,bb,cc : real);
Begin
Write('a='); Readln(aa);
Write('b='); Readln(bb);
ĐT : 0972.311.481 Trang 38
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Write('c='); Readln(cc);
End;
{=================================}
Procedure GPTB2;
Var Delta : real;
Begin
Delta :=sqr(b)4*a*c;
If Delta<0 then Writeln('Phuong trinh vo nghiem.')
Else
If Delta=0 then
Begin
Write('Phuong trinh co nghiem kep : ');
Write('x1,2=',b/(2*a) : 8 : 2);
End
Else
Begin
x1 :=(b+sqrt(Delta))/(2*a);
x2 :=(bsqrt(Delta))/(2*a);
Writeln('Phuong trinh co 2 nghiem phan biet la : ');
Writeln('X1=',x1 : 8 : 2, 'X2=',x2 : 8 : 2);
End;
End;
{============================================}
BEGIN { CT chính }
Clrscr;
Writeln(' Giai Phuong Trinh Bac Hai Voi Cac He So : ');
ĐT : 0972.311.481 Trang 39
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Nhapabc(a,b,c);
If a<>0 then GPTB2
Else Writeln(' Khong phai phuong trinh bac hai ');
Readln ;
END.
ế ươ ệ ầ ượ ệ ậ Bài t p 3: Vi t ch ự ng trình th c hi n l n l t các công vi c sau :
(cid:0) ố ự ươ ủ ụ ậ ừ ậ L p th t c nh p ba s th c d ng a, b, c t bàn phím.
(cid:0) ậ ủ ụ ủ ể ậ ạ ố
L p th t c ki m tra xem ba s trên có l p thành ba c nh c a tam giác hay không ?
(cid:0) Vi
ế ủ ụ ủ ệ t th t c tính di n tích c a tam giác.
(cid:0) Vi
ế ế ủ ủ ụ t th t c tính các trung tuy n c a tam giác.
(cid:0) Vi
ế ệ ươ t hoàn thi n ch ng trình chính.
Chuong_trinh; Program
Uses Crt;
Var a, b, c : real ;
{================================}
Procedure Nhap(Var a, b, c : real);
Procedure input (Var a : real; tenbien : Char);
Begin
Repeat
Write('Nhap ' + tenbien+' = '); Readln(a);
Until (a>=0);
End;
Begin
Input(a, 'a');
Input(b, 'b');
ĐT : 0972.311.481 Trang 40
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Input(c, 'c');
End;
Procedure Kiemtra(a, b, c : Real);
Begin
If (a
Writeln(a :0 :2, ', ', b : 0 : 2, ' va ', c : 0 : 2, ' lap thanh ba canh cua tam giac ')
Else Writeln('Khong lap thanh ba canh cua tam giac') ;
End;
Procedure Trung_tuyen (a, b, c : Real);
Var ma, mb, mc : real;
Begin
ma :=sqrt((2*sqr(b)+2*sqr(c)sqr(a))/4);
mb :=sqrt((2*sqr(a)+2*sqr(c)sqr(b))/4);
mc :=sqrt((2*sqr(a)+2*sqr(b)sqr(c))/4);
Writeln('Cac trung tuyen cua tam giac la : ') ;
Writeln('ma=', ma : 0 : 2, ' mb=', mb : 0 : 2, ' mc=', mc : 0 : 2);
End;
{================================}
Procedure Dientich (a, b, c : real); Var p, S : real;
Begin
p :=(a+b+c)/2;
S :=sqrt(p*(pa)*(pb)*(pc));
Writeln('Dien tich =', S : 0 : 2);
End;
{================================}
BEGIN
ĐT : 0972.311.481 Trang 41
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Clrscr;
Nhap(a, b, c);
Kiemtra(a, b, c);
Dientich(a, b, c);
Trung_tuyen(a, b, c);
Readln;
END.
ố ổ ố ả ướ ủ ừ ằ S Hoàn H o là s có t ng các c c a nó (tr nó) b ng chính nó
ậ Bài t p 4 : ụ Ví d : 6 = 1 + 2 + 3
a. Vi
ế ươ ể ả ố t ch ố ng trình ki m tra xem 1 s có là s hoàn h o không
b. Li
ệ ấ ả ố ả ừ ế t kê t t c s hoàn h o t 1..2000 và đ m xem có bao nhi êu số
Program So_hoan_hao;
uses crt;
var n,i,d,k,j : integer;
Procedure hoanhao;
Begin
d :=0;
for i :=1 to n1 do
if n mod i=0 then d :=d+i;
if d=n then writeln(' So vua nhap la so hoan hao')
else writeln(' So vua nhap khong la so hoan hao');
end;
Procedure Viet_len;
ĐT : 0972.311.481 Trang 42
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
Begin
write(' Day so hoan hao tu 1>2000 : ');
k :=0;
for i :=1 to 2000 do
Begin
d :=0;
for j :=1 to i1 do
if i mod j=0 then d :=d+j;
if d=i then
Begin
write(i : 5); k :=k+1;
End;
End;
writeln;
writeln(' Trong day 1>2000 co ',k,' so hoan hao');
End;
Begin
clrscr;
write(' Nhap n='); readln(n);
hoanhao;
vietlen;
ĐT : 0972.311.481 Trang 43
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
readln;
End.
ồ ậ ế ươ ự ệ ố Bài 5 : Nh p vào 1 s nguyên g m 4 ch s ữ ố vi t ch ng trình con th c hi n
(cid:0) Ki m tra tình ch n l
ắ ẻ ể
(cid:0) Ki m tra xem có ph i là s nguyên t
ố ể ả ố không
(cid:0) Ki m tra xem có ph i là s chính ph
ố ể ả ươ ng không
ươ ả ờ ố ừ ộ ố ậ ể Sau đó trên ch ng trình chính ki m tra và tr l i s v a nh p thu c s nào?
Program chuong_trinh;
uses crt;
var i,n,k,d : integer;
ok : boolean;
Function chanle(n : integer) : boolean;
Begin ok :=true;
if n mod 2<>0 then ok :=false;
chanle :=ok;
End; Function nguyento(n : integer) : boolean; Begin
ok :=true; d :=0;
ĐT : 0972.311.481 Trang 44
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
for i :=2 to n1 do
if n mod i=0 then d :=d+1;
if d<>1 then ok :=false;
nguyento :=ok;
End;
Function chinhphuong(n : integer) : boolean;
Begin
ok :=true; k :=trunc(sqrt(n));
if sqr(k)<>n then ok :=false;
chinhphuong :=ok;
End;
Begin
clrscr;
write(' Nhap n=');readln(n);
if chanle(n) then writeln(' So vua nhap la chan')
else writeln(' So vua nhap la so le');
if nguyento(n) then writeln(' So vua nhap la nguyen to')
else writeln(' So vua nhap khong phai la so nguyen to');
if chinhphuong(n) then writeln(' So vua nhap la so chinh phuong')
else writeln(' So vua nhap khong la so chinh phuong');
readln;
ĐT : 0972.311.481 Trang 45
ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang
End.
ế ươ ậ ừ ớ Bài 6. Vi t ch ng trình con t ính a Giai Th aừ v i a nh p t bàn phím
Program giaithua;
uses crt;
integer; var a :
gt(n : byte) : Longint; Function
Var s : Longint; i : byte;
Begin
s :=1; For i :=2 to n do s :=s*i;
gt :=s;
End;
Begin
clrscr;
write ('Nhap so can tinh giai thua : ');readln(a);
writeln('Giai thua cua ',a,' = 1')
if a :=0 or a :=1 then else writeln('Giai thua cua',a,' =', gt(a) );
End.
ậ ả ồ ố ố ố có trong
Bài 7. Nh p vào 1 m ng g m n s nguyên (2 Program Mang; uses crt; var a : array [ 1..20] of byte; i,n,d,j,k : integer; Procedure nhap; Begin ĐT : 0972.311.481 Trang 46 ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang for i :=1 to n do Begin write(' a[',i,']='); readln(a[i]); End; End; Procedure nguyento; Begin
write(' Day so cac so nguyen to : '); k :=0; for i :=1 to n do
Begin
d :=0; for j :=1 to a[i]1 do if d=1 then if a[i] mod j=0 then
d :=d+1;
Begin
write(' ',a[i]);
k :=k+1;
End;
End;
if k=0 then
write(' khong co so nao')
else
begin
writeln;
writeln(' Trong day co ',k,' so nguyen to');
End;
End;
Begin
clrscr;
repeat write(' Nhap n='); readln(n); until (2 ĐT : 0972.311.481 Trang 47 ầ ườ ụ Tr n Văn Chung tr ng THPT Hoàng Văn Th Nha Trang nhap; nguyento; readln; End. ĐT : 0972.311.481 Trang 48

