Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi tp pascal c bn n nng cao theo chng trnh TIN HC


lp 11 khng phn ban
Nhm gip cc bn hc sinh lp 11 tip cn vi ngn ng lp trnh Pascal mt cch d
dng v vn dng vo cc ngn ng lp trnh khc trong tin hc, ti su tm v bin son mt s
bi ton c bn n nng cao c trong chng trnh ca lp 11 khng phn ban. Cc chng
trnh nhm mc ch tham kho cho cc bn ham m tin hc v l ti liu chun b cho cc bi
kim tra v mn tin hc.

Nha trang thng 3/2011

T: 0972.311.481 Trang 1
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Phn I: CC BI TP C BN
Bi 1: Tm gi tr ln nht trong 4 s a, b, c, d (a, b, c, c nhp t bn phm).
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.
Bi 1B: Vit chng trnh nhp ba s dng bt k, kim tra ba s va nhp c phi l ba
cnh ca tam gic khng? Nu phi th tnh chu vi v din tch ca tam gic .
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);

T: 0972.311.481 Trang 2
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Writeln( chu vi cua tam gia la, cv: 4: 2, dien tich cua tam giac la, s:6:2);
End
Else Writeln(ba so vua nhap khong phai la ba canh cua tam giac);
Readln
End.
Bi 1C: Vit chng trnh nhp cao h so vi mt t ca mt vt ri ti ni c gia tc g,
Tnh v hin th vn tc ca vt ti mt 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.
Bi 2: Vit chng trnh gii phng trnh 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);
T: 0972.311.481 Trang 3
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Readln
End.
Bi 3: Vit chng trnh gii bt phng trnh bc 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.
Bi 4: Vit chng trnh gii phng trnh (ax2 + 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

T: 0972.311.481 Trang 4
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

If b=0 then
If c=0 then
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.
Bi 5: Gii h phng trnh tuyn tnh:
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);

T: 0972.311.481 Trang 5
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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


Write('Nhap m='); readln(m);
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.
Bi 6: Nhp vo thi gian 1 cng vic no l x giy. Hy chuyn i v vit ra mn
hnh s thi gian trn di dng bng bao nhiu gi, bao nhiu pht, bao nhiu giy.
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.
Bi 7: Nhp vo tm v bn knh ca mt ng trn. Sau nhp vo mt im
A(x, y) bt k v kim tra xem n c thuc ng trn hay khng?
Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;
Uses crt;
Var x0,y0,xa,ya,d,r : real;
T: 0972.311.481 Trang 6
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Begin
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.
Bi 7 b: Vit chng trnh nhp vo tm v bn knh hai ng trn, xc nh v
tr tng i ca hai ng trn .

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');

T: 0972.311.481 Trang 7
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Write(' +Ban kinh: '); Readln(R2);


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.

Bi 8: Tnh xy ( Vi x, y l s thc).

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
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Writeln('x ^ y = ',z: 4: 2);


End
Else
Writeln('Khong tinh duoc do x la so am');
Readln;
End.
Bi 9: Tnh 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.
Bi 10**: c ngy thng nm, sau vit ra mn hnh l ngy th my trong tun.

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
Trn Vn Chung trng THPT Hong Vn 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.

Bi 11: Vit chng trnh:

Nhp s bo danh Nhp im vn, ton, ngoi ng

In ra mn hnh di dng:

Phiu im:
S bo danh:
im vn:
im ton:
im ngoi ng:
Tng s im:

Bn trng tuyn ( hoc Bn khng trng tuyn ) vi iu kin Tng s im >= 15


hay ngc li.

Program INPHIEU;

Uses Crt;

Var SBD: Integer;

Van, Toan, Ngoaingu, Tongdiem: Real;

T: 0972.311.481 Trang 10
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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.

Bi 12 : Vit chng trnh nhp hai s thc. Sau hi php tnh cn thc hin v in kt
qu ca php tnh .

Nu l +, in kt qu ca tng ln mn hnh.

Nu l -, in kt qu ca hiu ln mn hnh.

Nu l /, in kt qu ca thng ln mn hnh.

Nu l *, in kt qu ca tch ln mn hnh. Nu l +, in kt qu ca tng ln mn


hnh.

Nu l +, in kt qu ca tng ln mn hnh.

Program Chuongtrinh_tinh;

Uses Crt;

T: 0972.311.481 Trang 11
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

PHN II: CU LNH C CU TRC


Bi 12. Cho s t nhin n, hy lp trnh tnh cc tng sau:

a. 1 + 1/2 2 + 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;

End;
T: 0972.311.481 Trang 13
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Writeln ('Tong la S = ', S: 6: 2);

Readln

End.

Cu 13a: Lp trnh tnh tng:

A = 1 + 1/2 + 1/3 + + 1/n

y n l s t nhin c nhp vo t bn phm.

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.

Cu 13b: Tnh s hng th n ca dy FIBONAXI bit n nhp t bn phm v quy lut


dy 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

Clrscr;

T: 0972.311.481 Trang 14
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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.

Cu 14a: Tnh hm ly tha an, y a thc v n t nhin c nhp vo t bn


phm.

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
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi 14b. Vit chng trnh nhp vo hai s nguyn dng a, b bt k, hin th c


chung ln nht ca hai s v bi chung nh nht ca 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.

Cu 15: Chng trnh nhp mng mt chiu gm n phn t n<=100 kiu nguyn ri
thc hin

a. m s lng phn t dng cho kt qu ra mn hnh


b. Tnh tng cc phn t dng trong mng.
c. Tnh trung bnh cc phn t trong mng.
d. Tnh trung bnh cc phn t dng trong mng
e. Tm v tr u tin ca phn t =k vi k nhp t bn phm.
f. Tm v tr phn t =k vi k nhp t bn phm, nu c nhiu phn t =k th hin
th ra mn hnh tt c v tr phn t=k .
g. m s lng phn t l nguyn t trong mng.
h. Kim tra mng va nhp c phi l cp s cng hay khng?
i. Sp xp mng theo th t tng dn cc phn t v hin th ra mn hnh mng
tng

T: 0972.311.481 Trang 16
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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;

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-------------------------------------}

T: 0972.311.481 Trang 17
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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
Begin
j:=2;
While( j<=A[i] - 1 ) And (A[i] mod j<>0) do
Begin
J:=j+1;
End;
T: 0972.311.481 Trang 18
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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.
Bi 15 b: Vit chng trnh nhp vo mng gm n phn t (n<=100) tm v hin th
v tr phn t c gi tr ln nht, sau sp xp cc phn t theo th t tng dn v
hin th cc phn t sp xp ra mn hnh.

Program Tim_vi_tri;

uses crt;

var a: array[1..100] of integer;

var i,n,j, tg,max, vt: integer;

begin

clrscr;

write(' nhap so phan tu cua mang ');

T: 0972.311.481 Trang 19
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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];

a[i]:=a[j];

a[j]:=tg;

End;

writeln(' day sau khi sap xep la ');

for i:=1 to n do

T: 0972.311.481 Trang 20
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

write( a[i]: 4);

readln;

End.

Bi 15C: Vit chng trnh nhp mng gm n phn t kiu nguyn(n<=100) v cho
ra mn hnh phn t xut hin nhiu nht v s ln xut hin ca n trong mng

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]);
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.

T: 0972.311.481 Trang 21
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi 16. Vit chng trnh nhp mng gm n (n<=100) phn t ri chn vo mt s


bt k vo mt v tr no trong mng, s cn chn v v tr chn nhp t bn
phm.
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 Write(a[i]: 6);
Writeln;
Write('-Can che so: ');
Readln(so);
Write('-Vao vi tri: ');
Readln(vitri);
For i:=spt+1 Downto Vitri+1 Do
a[i]:=a[i-1]; 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: 0972.311.481 Trang 22
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi 17. Vit chng trnh nhp mng gm n (n<=100)phn t ri xa i mt phn t


no c v tr nhp t bn phm
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);
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);

T: 0972.311.481 Trang 23
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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

End.

Bi 18. Vit chng trnh nhp mng gm n (n<=100)phn t ri xa i nhng phn


t trng nhau trong mng v in ra mn hnh phn t sau khi b bt.
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,']= ');
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 n-1 Do

T: 0972.311.481 Trang 24
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

a[k]:=a[k+1];
n:=n-1;
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 <Enter> de ket thuc ');
Readln

End.

Bi tp phn xu:

Bi tp1: Chng trnh nhp t bn phm cc k t chng trnh m s ln xut


hin ca mi k t

Program Dem_so_lan;

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

T: 0972.311.481 Trang 25
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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.

Bi tp 2: Nhp xu cho trc kim tra c phi xu i xng hay khng?

Program Xau-doi-xung;

Uses Crt;

Var St: string;

dx: Boolean;

i, len: byte;

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 ')

T: 0972.311.481 Trang 26
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Else Write(St, khong phai la xau doi xung ') ;

Readln;

END.

Bi tp 3: Chng trnh nhp vo h tn ca mt ngi sau xa ht k t trng


d tha

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[i-1]=#32)And(Hoten[i] in Chu) then

Hoten[i]:=Upcase(Hoten[i]);

Write('Ho ten sau khi dieu chinh la: ', Hoten);

Readln;

END.

Bi tp 4: Vit chng trnh nhp vo mt xu, sau xut ra xu sau khi xa


ht k t s.

Program xoa_ky_tu_so;

Uses crt;

Var I,k: byte;

S: string;

Ch: char;

T: 0972.311.481 Trang 27
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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.

Bi 5: Vit chng trnh nhp vo xu k t v xut ra mn hnh xu sau khi b


ht k t trng d tha.

Program xoa_ky_tu_trang;

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);


T: 0972.311.481 Trang 28
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Writeln( xau sau khi xoa het ky tu trang du thua la, s);

Readln

End.

Bi 6: Vit chng tnh nhp vo mt xu, sau xa ht k t trng d tha v i


cc k t u ca mi t thnh ch hoa.

Program Doi_chu;

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);

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.

Bi tp phn bn ghi, file


Bi tp 1: Chng trnh nhp danh sch hc sinh gm H tn, tui, lp ca hc
sinh,in ra danh sch va nhp

Program danh_sach;

Uses Crt;

Const n=15;

Type Danhsach=record

T: 0972.311.481 Trang 29
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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

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;

T: 0972.311.481 Trang 30
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

END.

Bi tp 2: Chng trnh nhp danh sch hc sinh gm H tn, tui, lp. Chng
trnh in ra danh sch sau khi sp xp theo th t tng dn.

Program sap_xep;

Uses Crt;

Const n=5;

Type

Danhsach=record

holot: string[25];

ten: string[10];

tuoi: 0..99;

lop: string[3];

End ;

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;
T: 0972.311.481 Trang 31
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Assign(f,'data.dat'); Reset(f);

For i:=1 to n do Read(f,ds[i]);

Close(f);

For i:=1 to n-1 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

With ds[i] do Writeln(holot: 20,ten: 11,tuoi: 4,lop: 5);

Writeln;

Write('Bam Enter de ket thuc...');

Readln;

END.

Bi tp 3: Thng tin v mi hc sinh l mt bn ghi gm cc trng:

Hm: mt xu 25 k t.

Tn: mt xu 10 k t.

Tui: mt s nguyn hai ch s.

Lp: mt xu hai ch s v mt ch ci vit hoa

Mt file bn ghi cha mt danh sch mt lp gm 20 hc sinh. Hy lp chng


trnh hin th danh sch ln mn hnh, mi ngi mt dng.

T: 0972.311.481 Trang 32
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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;

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.

T: 0972.311.481 Trang 33
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi tp 4: Mt file bn ghi cha mt danh sch hc sinh, thng tin v mi hc sinh


ging nh bi trn. Hy lp chng trnh to mt file bn ghi khc cha danh sch
, mi bn ghi gm cc trng:

Htn: mt xu 35 k t.

Tui: mt s nguyn hai ch s.

Khi: mt s nguyn hai ch s.

Lp: mt ch ci vit hoa

Prorgam file_banghi;

Uses Crt;

Type Danhsach1=record

holot: string[25];

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

T: 0972.311.481 Trang 34
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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

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 35
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi tp v chng trnh con


Bi tp 1. Dng th tc chuyn mt s t nhin n cho trc 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 ;

Bi tp 2: Dng th tc gii phng trnh bc hai ax2 + bx + c = 0

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);

Write('c='); Readln(cc);

T: 0972.311.481 Trang 36
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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:=(-b-sqrt(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 chnh }

Clrscr;

Writeln(' Giai Phuong Trinh Bac Hai Voi Cac He So: ');

Nhapabc(a,b,c);

T: 0972.311.481 Trang 37
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

If a<>0 then GPTB2

Else Writeln(' Khong phai phuong trinh bac hai ');

Readln ;

END.

Bi tp 3: Vit chng trnh thc hin ln lt cc cng vic sau:

Lp th tc nhp ba s thc dng a, b, c t bn phm.


Lp th tc kim tra xem ba s trn c lp thnh ba cnh ca tam gic hay
khng ?
Vit th tc tnh din tch ca tam gic.
Vit th tc tnh cc trung tuyn ca tam gic.
Vit hon thin chng trnh chnh.

Program Chuong_trinh;

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');

Input(c, 'c');

End;

Procedure Kiemtra(a, b, c: Real);

T: 0972.311.481 Trang 38
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Begin

If (a<b+c) And (b<a+c) And (c<a+b) then

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*(p-a)*(p-b)*(p-c));

Writeln('Dien tich =', S: 0: 2);

End;

{================================}

BEGIN

Clrscr;

Nhap(a, b, c);

Kiemtra(a, b, c);

T: 0972.311.481 Trang 39
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Dientich(a, b, c);

Trung_tuyen(a, b, c);

Readln;

END.

Bi tp 4: S Hon Ho l s c tng cc c ca n (tr n) bng chnh n


V d: 6 = 1 + 2 + 3

a. Vit chng trnh kim tra xem 1 s c l s hon ho khng


b. Lit k tt c s hon ho t 1..2000 v m xem c bao nhiu s

Program So_hoan_hao;
uses crt;

var n,i,d,k,j: integer;

Procedure hoanhao;

Begin

d:=0;

for i:=1 to n-1 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;

Begin

write(' Day so hoan hao tu 1-->2000: ');

k:=0;

T: 0972.311.481 Trang 40
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

for i:=1 to 2000 do

Begin

d:=0;

for j:=1 to i-1 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;

readln;

End.

T: 0972.311.481 Trang 41
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

Bi 5: Nhp vo 1 s nguyn gm 4 ch s vit chng trnh con thc hin

Kim tra tnh chn l


Kim tra xem c phi l s nguyn t khng
Kim tra xem c phi l s chnh phng khng

Sau trn chng trnh chnh kim tra v tr li s va nhp thuc s no?

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;

for i:=2 to n-1 do

if n mod i=0 then d:=d+1;

if d<>1 then ok:=false;

nguyento:=ok;
End;

T: 0972.311.481 Trang 42
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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;

End.

Bi 6. Vit chng trnh con tnh a Giai Tha vi a nhp t bn phm

Program giaithua;

uses crt;

var a: integer;

Function gt(n: byte): Longint;

T: 0972.311.481 Trang 43
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

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);


if a:=0 or a:=1 then writeln('Giai thua cua ',a,' = 1')
else writeln('Giai thua cua',a,' =', gt(a) );
End.

Bi 7. Nhp vo 1 mng gm n s nguyn (2<n<20). In ra cc s nguyn t c trong


mng.

Program Mang;

uses crt;

var a: array [ 1..20] of byte;

i,n,d,j,k: integer;

Procedure nhap;

Begin

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: ');

T: 0972.311.481 Trang 44
Trn Vn Chung trng THPT Hong Vn Th Nha Trang

k:=0;

for i:=1 to n do
Begin
d:=0;

for j:=1 to a[i]-1 do

if a[i] mod j=0 then


d:=d+1;
if d=1 then
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<n)And(n<20);

nhap;

nguyento;

readln;
End.

T: 0972.311.481 Trang 45

You might also like