IndexIndex  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  Đăng kýĐăng ký  Đăng Nhập  


425 Số bài - 28%
 
key (425)
309 Số bài - 20%
 
Chu Miu (309)
307 Số bài - 20%
 
NTSno.1 (307)
117 Số bài - 8%
 
Admin (117)
116 Số bài - 8%
 
tientala (116)
54 Số bài - 4%
 
Jenny Doll (54)
53 Số bài - 3%
 
jazzminlove (53)
53 Số bài - 3%
 
mycomputer (53)
46 Số bài - 3%
 
hyunjin (46)
38 Số bài - 3%
 
myhanhdk (38)
Các bài gửi mới nhấtNgười gửi cuối


Share | 
 

 61 bai tap pacal thong dung

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
p3thjkute96



Posts : 7
Points : 33
Thanked : 0
Sinh Nhật : 18/02/1996
Tuổi : 21
Đến từ : Vinh Hiền _hàm rồng
Nick chat : p3thjkute96
Sở thích : nghe nhạc, online
>

Thú 3D

birdie

•»»-»birdie«-««•

Posts : 7
Points : 33
Thanked : 0
Sinh Nhật : 18/02/1996
Tuổi : 21
Đến từ : Vinh Hiền _hàm rồng
Nick chat : p3thjkute96
Sở thích : nghe nhạc, online

Bài gửiTiêu đề: 61 bai tap pacal thong dung  Sat Oct 15, 2011 7:49 am


  Bài 1: Nhập vào 2 cạnh của một hình chữ nhật. In ra màn hình diện tích và chu vi của nó. Program HINH_CHU_NHAT;
Uses Crt;
Var a,b,s,c: real; Begin















End.

Clrscr;
Writeln(‘ TINH DIEN TICH & CHU VI HINH CHU NHAT:’); Writeln(‘--------------------------------------------------------------‘); Write('Nhap chieu dai='); readln(a);
Write('Nhap chieu rong=');readln(b);
s:=a*b;
c:=(a+b)*2;
Writeln('Dien tich hinh chu nhat la:’,s:6:2); Writeln('Chu vi hinh chu nhat:',c:6:2); Readln;


Bài 2: Nhập vào bán kính của hình tròn. In ra màn hình diện tích và chu vi của nó. Program HINHTRON;
Uses Crt;
Var r,dt,cv:real; Begin
Clrscr;
Writeln('TINH DIEN TICH & CHU VI HINH TRON:'); Writeln('------------------------------------------------------'); Write ('Nhap ban kinh R=');readln(r);
dt:=pi*r*r;
cv:=2*pi*r;
Writeln('Dien tich hinh tron la:',dt:6:2); Writeln('Chu vi hinh tron la:',cv:6:2);
Readln; End.
Bài 3 : Tính tam giác: Nụâp vào ba số a,b,c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac'. Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình.
Program TAMGIAC; Uses crt;
Var a,b,c,s,p : real; Begin
Clrscr;
Writeln(‘BAI TOAN TAM GIAC:’); Writeln('---------------------------------'); Write('nhap a =');readln(a);
Write ('nhap b =');readln(b); Write('nhap c =');readln(c);
If ((a+b)>c)and((b+c)>a)and((a+c)>b) then
Begin








Else









End




p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Chu vi tam giac:',2*p:4:2) ; Writeln('Dien tich tam giac:',s:4:2);















Trang 1




End.

Writeln(a,’, ‘, b,’, ‘, c, ‘ khong phai la ba canh cua tam giac') ; Readln;





Bài 4: Viết chương trình giải phương trình bậc 1 (ax + b = 0) Program GIAI_PHUONG_TRINH_BAC_NHAT;
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

Else






writeln(' Phuong tring vo nghiem')





End.

Writeln('Phuong trinh co nghiem x=',-b/a:4:2); Readln;



Bài 5: Viết chương trình giải bất phương trình bậc 1 (ax + b • 0) Program BAT_PHUONG_TRINH_BACI;
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');



End..

Readln;


Bài 6: Viết chương trình giải phương trình bậc 2 (ax2 + bx + c =0)
.Program GIAI_PHUONG_TRINH_BACII; Uses crt;
Var a,b,c,d,x,x1,x2:real; Begin

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











Trang 2

If a=0 then
If b=0 then
If c=0 then
Writeln('Phuong trinh co vo so nghiem')




Else

Else






Writeln('Phuong trinh vo nghiem')




Else
Begin





Writeln('Phuong trinh co mot nghiem: x=',-c/b:4:2)



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














End.











End; Readln;


Else
Begin






End;








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








Bài 7: 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 TIM_SO_LON_NHAT;
Uses crt;
Var a,b,c,d,max:real; Begin


















End.

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 d>max then max:=d;
Writeln('So lon nhat la:',max:4:2); Readln;


Bài 8: Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím). Program TIM_SO_NHO_NHAT;
Uses crt;
Var a,b,c,d,min:real; Begin

Clrscr;
Writeln('TIM SO NHO NHAT TRONG BON SO A, B, C, D');






Trang 3

















End.

Writeln('---------------------------------------------------------------'); Write('Nhap a='); Readln(a);
Write('Nhap b='); Readln(b); Write('Nhap c='); Readln(c); Write('Nhap d='); Readln(d); min:=a;
If b If cWriteln('So nho nhat la:',min:4:2); Readln;


Bài 9: 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); 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



End;




Write('He co nghiem :'); Writeln('x=',dx/dd:4:2,' va y=',dy/dd:4:2);




End.

Readln;


Bài 10: 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');


Trang 4












End.

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;


Bài 11: 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
Writeln('KIEM TRA DIEM THUOC DUONG TRON:'); Writeln('--------------------------------------------------------'); Write('Nhap ban kinh R= ');readln(r);
Write('Nhap toa do tam duong tron = '); readln(x0, y0); Write('Nhap toa do diem a = '); readln(xa, 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');



End.

Readln;



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





Else




End


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







End.

Writeln('Khong tinh duoc do x la so am'); Readln;




Bài 13: Tính n!
Program TINH_N_GIAI_THUA; Uses crt;
Var i,n,gt:integer;











Trang 5

Begin













End.


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;


Bài 14: Tính xn (Với n là số nguyên không âm). Program TINH_X_LUY_THUA_N;
Uses crt;
Var i,n,x:integer;
lt:real;

Begin













End.


Writeln(' TINH X LUY THUA Y:'); Writeln('----------------------------------'); Write('Nhap x ='); readln(x); Write('Nhap n ='); readln(n);
lt:=1;
For i:=1 to n do lt:=lt*x;
Writeln(x, '^',n,' = ',lt:4:2); Readln;




n
Bài 15: Tính tổng S =  1
i=0 i!
Program TINH_TONG1; Uses crt;
Var i,n,gt: integer;
s:real;

Begin














Clrscr;
Writeln('CHUONG TRINH TINH TONG:'); Writeln('----------------------------------------'); Write('Nhap n='); Readln(n);
gt:=1;
s:=1;
For i:=1 to n do
Begin




End;

gt:=gt*i;
s:=s+1/gt;





End.

Writeln('Tong S = ',s:8:2); Readln;






Trang 6

n
Bài 16: Tính tổng S =  x i
i=1
Program TINH_TONG2; Uses Crt;
Var i,n:integer;
x,s,lt:real;

Begin
















Clrscr;
Writeln('TINH TONG LUY THUA:'); Writeln('----------------------------------'); Write('Nhap x = '); readln(x); Write('nhap n = '); readln(n) ;
s:=0;
lt:=1;
For i:=1 to n do
Begin




End;

lt:=lt*x ;
s:=s+lt ;





End.

Writeln('Tong S = ',s:8:2); Readln;


n i
Bài 17: Tính tổng S =  x
i= 0 i! Program TINH_TONG3; Uses Crt;
Var i,n,gt:integer;
x,s,lt:real;

Begin

















Clrscr;
Writeln('TINH TONG LUY THUA/GIAI THUA:'); Writeln('--------------------------------------------------'); Write('Nhap x = '); readln(x);
Write('nhap n = '); readln(n) ;
s:=2; gt:=1; lt:=1;
For i:=1 to n do
Begin





End;

lt:=lt*x ; gt:=gt*i; s:=s+lt/gt ;





End.

Writeln('Tong S = ',s:8:2); Readln;


Bài 18: Tìm tất cả các chữ số có ba chữ số abc sao cho tổng các lập phương của các chữ
số thì bằng chính số đó ( abc = a3 + b3 + c3). Program TIM_SO;
Uses crt;

Trang 7

Var i,j,k:integer; Begin
Writeln('CHUONG TRINH TIM SO:'); Writeln('----------------------------------'); For i:=1 to 9 do
For j:=0 to 9 do
For k:=0 to 9 do
if (100*i+10*j+k)=(i*i*i + j*j*j + k*k*k) then
Writeln(i,j,k,' = ',i,'^3 + ',j,'^3 + ',k,'^3');



End.

Readln;


Bài 19: Nhập vào một số nguyên không âm, kiểm tra xem nó có phải là số nguyên tố hay không?
Program SO_NGUYEN_TO; Uses crt;
Var i,n: integer; Begin
Clrscr;
Writeln('KIEM TRA SO NGUYEN TO:'); Writeln('----------------------------------------'); Write ('Nhap so can kiem tra n = '); readln(n); If (n=0) or (n=1) then
Writeln(n,' Khong phai la so nguyen to')

Else














Begin









End;




i:=1; Repeat
i:= i+1;
Until (n mod i= 0) or (i*i>n);
If i*i>n then Writeln (n,' la so nguyen to')
Else Writeln (n,' khong phai la so nguyen to');




End.

Readln;


Bài 20: In ra các số nguyên tố nhỏ hơn hoặc bằng N (N là số nguyên không âm được nhập từ bàn phím).
Program CAC_SO_NGUYEN_TO; Uses crt;
Var n,i,t: integer; Begin
Clrscr;
Writeln('IN RA CAC SO NGUYEN SO <=N'); Writeln('---------------------------------------------'); Write('Nhap n = ');readln(n);
If n<2 then
Writeln('Khong co so nguyen to nao <=',n)

Else
Begin








Writeln('Cac so nguyen to <= ',n,' la:'); For i := 2 to n do
Begin

t:= 1;





Trang 8









End; Readln;
End.








End;





Repeat
t:= t+1;
Until ( i mod t = 0) or ( t*t>i ) ; If( t*t>i) then
Write(i:4);








Bài 21: Nhập 3 loại tiền và số tiền cần đổi. Hãy tìm tất cả các tổ hợp có được của 3 loại tiền trên cho số tiền vừa nhập.
Program DOI_TIEN; Uses Crt;
Var x,y,z,n,i,j,h,s:longint; Begin
Clrscr;
Writeln('CHUONG TRINH DOI TIEN:'); Writeln('---------------------------------------'); Write('Nhap so tien can doi n = ');readln(n); Write('Nhap loai tien thu 1: ');readln(x); Write('Nhap loai tien thu 2: ');readln(y); Write('Nhap loai tien thu 3: ');readln(z); Writeln('Loai ',x:6,' Loai ',y:6,' Loai ',z:6); For i:=0 to (n div x) do
For j:=0 to (n div y) do
For h:= 0 to (n div z) do
If (i*x+j*y+h*z=n) then
Writeln (i:8,j:12,h:10);



End.

Readln;


Bài 22:
Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Trâu già ba con một bó. Hỏi có bao nhiêu con mỗi loại?
Program TRAMTRAU_TRAMCO; Uses crt;
Var td,tn,tg:integer; Begin
Clrscr;
Writeln(' TRAM TRAU TRAM CO:'); Writeln('----------------------------------'); Writeln('Trau dung Trau nam Trau gia'); For td:=0 to 20 do
For tn:=0 to 33 do
For tg:=0 to 100 do
If ((5*td+3*tn+tg/3=100)and (td+tn+tg=100)) then
Writeln(td:6, tn:12, tg:15);

Readln;
End.






Trang 9

Bài 23: Tạo bảng số dạng sau:


0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
.........................................................................


Program BANG_SO; Uses crt;
Var i,j,n:integer; Begin
Clrscr;
Writeln(' TAO BANG SO TU 0-99'); Writeln('---------------------------------------------'); For i:=0 to 99 do
Begin








End.





End; Readln;


If (i mod 10 = 0) then
Writeln; Write(i:3)







Bài 24: Tạo hình

a)
*





b) c)
* * * * * *

* *
* * *
* * * *
* * * * *

Program TAO_HINH_A; Uses Crt;
Var i,j,n: integer; Begin

* * * *
* * *
* *
*







* * *
* * * * *
* * * * * * *
* * * * * * * * *







Clrscr;
Writeln(' TAO HINH A:'); Writeln('------------------------'); Write('Nhap so dong n=');readln(n); For i:= 1 to n do
Begin





End;

For j:=1 to i do
Write('* '); Writeln;




End.

Readln;



Program TAO_HINH_B; Uses Crt;
Var i,j,n,m: integer;











Trang 10

Begin
Clrscr;
Writeln(' TAO HINH B'); Writeln('----------------------------'); Write('Nhap so dong n= ');readln(n); For i:= n downto 1 do
Begin







Readln; End.





End;




For j:=1 to i do
Write('* '); Writeln;






Program TAO_HINH_C; Uses Crt;
Var i,j,n,m: integer; Begin
Clrscr;
Writeln(' TAO HINH C'); Writeln('----------------------------'); Write('Nhap so dong n= ');readln(n);
For i:= 1 to n do
Begin








Readln; End.







End;




Gotoxy(n-i+5,i+5); For j:=1 to 2*i-1 do Write('*');
Writeln;






Bài 26: Tính an (dùng chương trình con) Program LUY_THUA;
Uses Crt;
Var a,n:integer;
Function lt(a,n:integer):longint; Var i:integer; kq:longint; Begin
kq:=1;
For i:=1 to n do kq:=kq*a;




Begin




End;


Clrscr;

lt:=kq;





Writeln('CHUONG TRINH TINH A^N:'); Writeln('------------------------------------------'); Write('Nhap a = '); readln(a);
Write('Nhap n = '); readln(n); Writeln(a,'^',n,' = ',lt(a,n)); Readln;












Trang 11

End.
Bài 27: Tính n! (dùng chương trình con) Program GIAI_THUA;
Uses Crt;
Var n:integer;
Function gt(n:integer):longint; Var kq,i:integer;
Begin








Begin








End;


Clrscr;

kq:=1;
For i:=1 to n do kq:=kq*i;
gt:=kq;












End.

Writeln('CHUONG TRINH TINH N! :'); Writeln('---------------------------------------'); Write('Nhap n = '); readln(n);
Writeln(n,'! = ',gt(n)); Readln;


Bài 28: Tính C kn (dùng chương trình con) Program TO_HOP;
Uses Crt;
Var n,k:integer;
Function gt(n:integer):longint; Var kq,i:integer;
Begin







End;

kq:=1;
For i:=1 to n do kq:=kq*i;
gt:=kq;


Function C(n,k:integer):real; Begin




Begin




End;


Clrscr;

c:=gt(n)/(gt(k)*gt(n-k));














End.

Writeln('CHUONG TRINH TINH N CHAP K :'); Writeln('----------------------------------------------'); Write('Nhap n = '); readln(n);
Write('Nhap k = ');readln(k); Writeln('C(',n,',',k,') = ',c(n,k):6:0); Readln;




Bài 29: Lập tam giác PASCAL, bằng Cn k(dùng chương trình con)
n

Program TAM_GIAC_PASCAL; Uses Crt;
Var i,j,n,k:integer;








Trang 12

Function gt(n:integer):longint; Var kq,i:integer;
Begin







End;

kq:=1;
For i:=1 to n do kq:=kq*i;
gt:=kq;


Function C(k,n:integer):real; Begin




Begin




End;


Clrscr;

C:=gt(n)/(gt(k)*gt(n-k));





Writeln('VIET TAM GIAC PASCAL:'); Writeln('---------------------------------'); Write(' Nhap n = '); readln(n);
For i:=0 to n do
Begin








End.





End; Readln;


For j:=0 to i do
Write(C(j,i):3:0); Writeln;





Bài 30: Viết các chương trình con tính diện tích tam giác, tròn, vuông, chữ nhật trong một chương trình. Sau đó hỏi chọn một trong các phương án tính diện tích bằng cách chọn trong bảng chọn lệnh sau:
0. Không làm gì hết và trở về màn hình soạn thảo.
1. Tính diện tích hình vuông
2. Tính diện tích hình tròn
3. Tính diện tích tam giác
4. Tính diện tích hình chӳ nhұt
Program TINH_DIEN_TICH; Uses crt;
Procedure HV;
Var s,a:real; Begin







End;

Writeln('TINH DIEN TICH HINH VUONG:'); Write('Nhap chieu dai cua canh a = ');readln(a); s:=a*a;
Writeln('Dien tich hinh vuong = ',s:6:2);


Procedure HT;
Var s,r:real; Begin







End;

Writeln('TINH DIEN TICH HINH TRON:'); Write('Nhap ban kinh R = ');readln(r); s:=pi*r*r;
Writeln('Dien tich hinh tron = ',s:6:2);


Procedure TG;





Trang 13

Var a, b, c,s,p:real; Begin
Writeln('TINH DIEN TICH TAM GIAC:'); Write('nhap a =');readln(a);
Write ('nhap b =');readln(b); Write('nhap c =');readln(c);
If ((a+b)>c)and((b+c)>a)and((a+c)>b) then
Begin











End;







End
Else




p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Chu vi tam giac:',2*p:4:2) ; Writeln('Dien tich tam giac:',s:4:2);



Writeln(a,', ',', ',c,' khong phai la ba canh cua tam giac') ;


Procedure CN;
Var a, b, s:real; Begin








End;

Writeln('TINH DIEN TICH HINH CHU NHAT:'); Write('Nhap chieu dai a =');readln(a);
Write('Nhap chieu rong b= ');readln(b);
s:= a*b;
Writeln('Dien tich hinh chu nhat, s= ',s:6:2);


Procedure menu; Var d:integer; Begin
Clrscr;
Writeln('CHON MOT TRONG CAC PHUONG AN SAU:'); Writeln('----------------------------------------------------------'); Writeln('0: Quay ve man hinh soan thao');
Writeln('1: Tinh dien tich hinh vuong'); Writeln('2: Tinh dien tich hinh tron'); Writeln('3: tinh dien tich tam giac'); Writeln('4: Tinh dien tich hinh chu nhat');
Writeln('===================================='); Write(' Hay chon mot phuong an: '); readln(d); Writeln('===================================='); Writeln;
Case d of
0: Exit;
1: HV;
2: HT;
3: TG;
4: CN;


End; Begin



End.



End;



menu; Readln;













Trang 14

Bài 31: Tính các số Fibonacci:
- F1=F2 = 1
- Fn = Fn-1 + Fn-2
Program FIBONACII; Uses Crt;
Var n,kq:integer;
Function F(n:integer):integer; Begin
If (n=1) or (n=2) then
F:=1





Begin





End;


Clrscr;

Else









F:=F(n-1)+F(n-2);












End.

Writeln(' TINH SO FIBONACII:'); Writeln('-------------------------------'); Write('Nhap n = '); Readln(n); Write('F(',n,')= ',f(n));
Readln;


Bài 32: Viết chương trình tìm số đảo của một số nguyên dương . Ví dụ: - Số = 12345
- Số đảo = 54321
Program TIM_SO_DAO; Uses crt;
Var n:longint;
Function daoso(n: longint):longint; Var s:string;
ch:char; i,l,code:integer; kq:longint;

Begin







str(n,s);
For i:=1 to length(s) div 2 do
Begin





End;

ch:=s[i]; s[i]:=s[length(s)-i+1]; s[length(s)-i+1]:=ch;






Begin





End;


Clrscr;

val(s,kq,code);
daoso:=kq;












End.

Writeln(' TIM SO DAO CUA MOT SO'); Writeln('--------------------------------------'); Write('Nhap so can tim dao n= ');readln(n); Writeln('So dao cua ',n,' la: ', daoso(n)); Readln;




Trang 15

n
Bài 33: Tính tổng S =  1 (dùng chương trình con)
i=0 i!
Program TONG1; Uses Crt;
Var i,n:integer;
s:real;
Function gt(n:integer):longint; Var kq,i:integer;
Begin








Begin








End;


Clrscr;

kq:=1;
For i:=1 to n do kq:=kq*i;
gt:=kq;
















End.

Writeln(' CHUONG TRINH TINH TONG:'); Writeln('----------------------------------------------'); Write('Nhap n='); Readln(n);
S:=1;
For i:= 1 to n do
S:=S+1/gt(i); Write('Tong la: ',S:6:2); Readln;


n
Bài 34: Tính tổng S =  x i (dùng chương trình con)
i=1
Program TONG2; Uses Crt;
Var i,x,n:integer;
s:longint;
Function lt(a,n:integer):longint; Var i:integer;
kq:longint;

Begin







kq:=1;
For i:=1 to n do kq:=kq*a;




Begin




End;


Clrscr;

lt:=kq;





Writeln(' CHUONG TRINH TINH TONG:'); Writeln('----------------------------------------------'); Write('Nhap x = ');readln(x);
Write('Nhap n='); Readln(n);
S:=0;
For i:= 1 to n do S:=S+lt(x,i); Writeln('Tong la: ',s);


Trang 16


End.


Readln;



Bài 35: Tính tổng S
Program TONG3; Uses Crt;
Var i,x,n:integer;
s:real;


Function lt(a,n:integer):longint; Var i:integer;
kq:longint;

Begin







kq:=1;
For i:=1 to n do kq:=kq*a;



End;

lt:=kq;


Function gt(n:integer):longint; Var kq,i:longint;
Begin







End;

kq:=1;
For i:=1 to n do kq:=kq*i;
gt:=kq;




Begin














End.




Clrscr;
Writeln(' CHUONG TRINH TINH TONG:'); Writeln('-------------------------------'); Write('Nhap x = ');readln(x);
Write('Nhap n= '); Readln(n); S:=0;
For i:= 0 to n do
S:=S+(1+lt(x,i))/gt(1+i); Writeln('Tong la: ',s:6:2); Readln;


Bài 36: Giải hệ phương trình: Viết chương trình giải hệ phương trình tuyến tính 2 ẩn dùng ma trận.
a11.x + a12.y = c1
a21 + a22.y = c2


Bài 37: Hãy viết chương trình nhập giá trị cho ma trận vuông cấp n.
a. Tính tổng các phần tử nằm trên đường chéo chính
b. Tính tổng bình phương các số nằm trên hàng chẵn.
c. Tính tổng căn bậc hai các số không âm trên cột lẻ.
d. Đếm số phần tử có giá trị trong khoảng [1..5].
Program MAT_TRAN1; Uses Crt;
Type MT = array[1..20,1..20] of integer;

















Trang 17

Var a:MT;
n:integer;
Procedure Input(Var a:MT; n:integer); Var i, j:integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin




End;



End;


Write('a',i,j,'='); Readln(a[i,j]);




Procedure Output(a:MT;n:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to n do
Write (a[i,j]:3); Writeln;




{Tong cac phan tu tren duong cheo chinh} Function Sum1(a:MT;n:integer):integer;
Var i,kq:integer; Begin







End;

kq:=0;
For i:=1 to n do kq:=kq + a[i,i];
sum1:=kq;


{Tong binh phuong cac so tren hang chan} Function Sum2(a:MT;n:integer):integer;
Var i,j,kq:integer; Begin








End;

kq:=0;
For i:=1 to n do
For j:=1 to n do
If(i mod 2 =0) then kq:=kq+SQR(a[i,j]); Sum2:=kq;


{Tong can bac hai cac so tren cot le} Function Sum3(a:MT;n:integer):real;
Var i,j:integer;
kq:real;

Begin










kq:=0;










For i:=1 to n do
For j:=1 to n do
If (j mod 2 =1) and (a[i,j]>=0)then kq:=kq + SQRT(a[i,j]);



End;



Sum3:=kq;







Trang 18

{So phan tu cua ma tran co gia tri nam trong [1..5]} Function Count(a:MT;n:integer):integer;
Var i,j,kq:integer; Begin
kq:=0;
For i:=1 to n do
For j:=1 to n do
If (a[i,j]>=1) and(a[i,j]<=5) then kq:=kq+1;




Begin



End;


Count:=kq;


















End.

Writeln('CHUONG TRINH TINH TONG CAC PHAN TU CUA MA TRAN'); Writeln('-----------------------------------------------');
Write('Nhap cap cua ma tran n = ');readln(n); Input(a,n);
Output(a,n);
Writeln('Tong cac phan tu tren duong cheo chinh la = ',sum1(a,n)); Writeln('Tong binh phuong cac phan tu tren hang chan la = ',sum2(a,n)); Writeln('Tong can bac hai cac so khong am tren cot le = ',sum3(a,n):6:2); Writeln('So phan tu trong khoang[1..5] = ', count(a,n));
Readln;



Bài 38: Viết chương trình nhập vào một ma trân, tính tổng bình phương của các số âm trong ma trận trên.
Program MAT_TRAN2; Uses Crt;
Type MT = array[1..20,1..20] of integer; Var a:MT;
n,m:integer;
Procedure Input(Var a:MT; n,m:integer); Var i, j:integer;
Begin
For i:=1 to n do
For j:=1 to m do
Begin




End;



End;


Write('a',i,j,'='); Readln(a[i,j]);




Procedure Output(a:MT;n,m:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to m do
write (a[i,j]:3);
writeln;




{Tong binh phuong cac phan tu am} Function Sum(a:MT;n,m:integer):integer;






Trang 19

Var i,j,kq:integer;
Begin
kq:=0;
For i:=1 to n do
For j:=1 to m do
If(a[i,j]< 0) then kq:=kq+SQR(a[i,j]);


End; Begin













End.

Sum:=kq;



Clrscr;
Writeln('TINH TONG BINH CAC PHAN TU AM'); Writeln('------------------------------');
Write('Nhap vao so dong n = ');readln(n); Write('Nhap vao so cot m = ');readln(m); Input(a,n,m);
Output(a,n,m);
Writeln('Tong binh phuong cac phan tu am = ',sum(a,n,m)); Readln;


Bài 39: Viết chương trình nhập vào một ma trận. In ma trận chuyển vị của nó ra
màn hình. Ma trận B là ma trận chuyển vị của ma trận A nếu các phần tử của chúng có quan hệ B[i, j] = A[j, i].
Program MAT_TRAN_CHUYEN_VI; Uses Crt;
Type MT = array[1..20,1..20] of integer; Var a,b:MT;
n,m:integer;
Procedure Input(Var a:MT; n,m:integer); Var i, j:integer;
Begin
For i:=1 to n do
For j:=1 to m do
Begin




End;



End;


Write('a',i,j,'='); Readln(a[i,j]);




Procedure Output(a:MT;n,m:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to m do
write (a[i,j]:3);
writeln;




Procedure Chuyenvi(a:MT;n,m:integer; var b:MT); Var i,j:integer;
Begin

For j:=1 to m do
For i:=1 to n do






Trang 20


End; Begin






Clrscr;

b[j,i]:=a[i,j];





















End.

Writeln('TIM MA TRAN CHUYEN VI'); Writeln('----------------------');
Write('Nhap vao so dong n = ');readln(n); Write('Nhap vao so cot m = ');readln(m); Input(a,n,m);
Writeln('Ma tran a la:'); Output(a,n,m); Chuyenvi(a,n,m,b);
Writeln('Ma tran chuyen vi b la:'); Output(b,m,n);
Readln;


Bài 40 :Viết chương trình nhập vào một ma trận A vuông cấp n. Chuyển A thành chính mà trận chuyển vị của A (không sử dụng ma trận trung gian).
Program MAT_TRAN_CHUYEN_VI; Uses Crt;
Type MT = array[1..20,1..20] of integer; Var a,b:MT;
n,m:integer;
Procedure Input(Var a:MT;n:integer); Var i, j:integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin




End;



End;


Write('a',i,j,'='); Readln(a[i,j]);




Procedure Output(a:MT;n:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to n do
Write (a[i,j]:3); Writeln;




Procedure Chuyenvi(var a:MT; n:integer); Var i,j,t:integer;
Begin
For i:=1 to n do
For j:=i+1 to n do
Begin





End;



t:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=t;










Trang 21

End; Begin
















End.




Clrscr;
Writeln('TIM MA TRAN CHUYEN VI'); Writeln('-------------------------------------');
Write('Nhap vao cap ma tran vuong n = ');readln(n); Input(a,n);
Writeln('Ma tran a la:'); Output(a,n); Chuyenvi(a,n);
Writeln('Ma tran chuyen vi b la:'); Output(a,n);
Readln;


Bài 41: Viết chương trình nhập vào một dãy số nguyên có n phần tử. In ra màn hình phần tử nhỏ nhất, phần tử lớn nhất và giá trị trung bình của danh sách ra màn hình. Program MAX_MIN_AVG;
Uses crt;
Var a:array[1..20]of integer;i,n,max,min,sum:integer; Begin
Clrscr;
Writeln('TIM MAX, MIN, AVERAGE CUA MOT DAY SO'); Writeln('-------------------------------------');
Write('Nhap so phan tu cua day n=');readln(n); For i:=1 to n do
Begin



End;

Write('Nhap a[',i,']=');readln(a[i]);


Min:=a[1]; Max:=a[1]; Sum:=0; For i:=1 to n do
Begin





End;

If (Min > a[i]) then Min:=a[i]; If (Max < a[i]) then Max:=a[i]; Sum :=sum+a[i];















End.

Writeln('Day so vua nhap la: '); Writeln('-------------------------'); For i:=1 to n do
Write(a[i]:4); Writeln;
Writeln('Gia tri lon nhat la:',Max); Writeln('gia tri nho nhat la:',Min); Writeln('gia tri trung binh la:',Sum/n:6:2); Readln;


Bài 42: Viết chương trình nhập vào một dãy số nguyên có n phần tử.
a. Đưa những phần tử lẻ ra đầu danh sách, những phần tử chẵn về cuối danh sách và in kết quả ra màn hình.
b. Sắp xếp các phần tử lẻ đầu danh sách theo thứ tứ tăng dần, sắp xếp các phần tử
chẵn cuối danh sách theo thứ tự giảm dần. In danh sách ra màn hình. Program DAY_CHAN_LE;
Uses crt;

Trang 22

Type ma=array[1..50] of integer; Var a:ma;n:integer;
Procedure Input(var a:ma;n:integer); Var i: integer;
Begin
For i:=1 to n do
Begin





End;




End;


Write('nhap phan tu thu ',i,'='); Readln(a[i]);




Procedure Output(a:ma;n:integer); Var i:integer;
Begin




End;

For i:=1 to n do
Write(a[i]:3);


Procedure Odd_Even(var a:ma;n:integer); Var l,r,t:integer;
Begin
l:=1; r:=n; Repeat
While (lWhile (r>l) and (a[r] mod 2 = 0) do r:=r-1;
If lBegin








End;





End; Until l>=r;


t:=a[l]; a[l]:=a[r]; a[r]:=t;





Procedure Sort( var a:ma;n:integer); Var i,j,k,t:integer;
Begin
k:=0;
For i :=1 to n do
If a[i] mod 2 <> 0 then k:=k+1; For i:=1 to k-1 do
For j :=i+1 to k do
If a[i]>a[j] then
Begin





End;

t:=a[i]; a[i]:=a[j]; a[j]:=t;


For i:=k+1 to n -1 do
For j :=i+1 to n do
If a[i]







Trang 23








End; Begin












Clrscr;

Begin




End;






t:=a[i]; a[i]:=a[j]; a[j]:=t;




























End.

Writeln('CHUONG TRINH SAP XEP CHAN LE'); Writeln('------------------------------------------------'); Write('Nhap so phan tu cua day n= ');readln(n); Input(a,n);
Writeln('Day ban bau la: '); Output(a,n); odd_even(a,n);
Writeln;
Writeln('Day sau tach le va chan:'); Output(a,n);
Writeln;
Writeln('Day sau sap xep la:'); Sort(a,n);
Output(a,n); Readln;


Bài 43: Chuyển 1 số từ hệ thập phân sang nhị phân. Program DOI_THAP_PHAN_SANG_NHI_PHAN; Uses Crt;
Var d:array[1..20] of byte;
i,j,n:integer;

Begin




















End.



Clrscr;
Writeln('DOI SO THAP PHAN SANG NHI PHAN:'); Writeln('--------------------------------------------------'); Write('Nhap so thap phan la n='); Readln(n);
i:=1; Repeat
d[i]:=n mod 2; n:=n div 2; i:=i+1;
Until(n=0);
Write('So nhi phan la:'); For j:=i-1 downto 1 do Write (d[j]);
Readln;


Bài 44: Chuyển 1 số từ hệ thập phân sang bát phân. Program DOI_THAP_PHAN_SANG_BAT_PHAN; Uses Crt;
Var d:array[1..20] of byte;
i,j,n:integer;

Begin






Clrscr;






Trang 24



















End.

Writeln('DOI SO THAP PHAN SANG BAT PHAN:'); Writeln('-------------------------------');
Write('Nhap so can doi n = ');Readln(n);
i:=1; Repeat
d[i]:=n mod 8; n:=n div 8; i:=i+1;
Until n=0;
Write('So bat phan la:'); For j:=i-1 downto 1 do Write(d[j]);
Readln;


Bài 45: Viết chương trình nhập vào một chuỗi kí tự, sau đó nhập vào một kí tự bất kì và
đếm số lần của nó trong chuỗi đã nhập.
Program DEM_SO_KY_TU;
Uses Crt;
Var st:string[30];
x:char;i,dem:integer;

Begin














End.



Clrscr;
Writeln('DIEM SO LAN XUAT HIEN CUA 1 KY TU'); Writeln('------------------------------------------------------'); Write('Nhap chuoi ky tu la:');readln(st);
Write('Nhap ky tu x=');readln(x);
dem:=0;
For i:=1 to length(st) do
If x= st[i] then dem:=dem+1;
Writeln('so lan xuat hien cua ',x,' trong chuoi "', st,'" la: ',dem); Readln;


Bài 46: Viết chương trình nhập vào một chuỗi ký tự, Kiểm tra xem nó có đối xứng hay không (Ví dụ: Chuỗi đối xứng RADAR, MADAM).
Program CHUOI_DOI_XUNG; Uses Crt;
Var st:string; i:integer; ok:boolean;

Begin














Clrscr;
Writeln('KIEM TRA CHUOI DOI XUNG'); Writeln('----------------------------------------'); Write('Nhap chuoi ky tu: ');Readln(st);
ok:= true;
For i:=1 to length(St)div 2 do
If st[i]<>st[length(st)-i+1] then ok:=false;

If ok then
Writeln(st,' la chuoi doi xung')

Else






Writeln(st, ' khong la chuoi doi xung');






Trang 25


End.

Readln;


Bài 47: Viết chương trình nhập vào họ tên của một người. Sau đó in chuỗi họ tên ra màn hình với các ký tự đầu đổi thành chữ hoa, toàn bộ chuỗi họ và tên đổi thành chữ hoa. Program DOI_CHUOI_CHU_HOA;
Uses Crt;
Var i:integer;st:string; Begin


















End.

Clrscr;
Writeln('DOI CHUOI SANG CHUOI HOA'); Writeln('-----------------------------------------'); Write('Nhap ho ten:');readln(st); st[1]:=upcase(st[1]);
For i:=1 to length(St) do
If st[i]=' ' then st[i+1]:=upcase(st[i+1]); Writeln('Ho ten sau khi doi lan 1 la: ',st);
For i:=1 to length(St) do st[i]:=upcase(st[i]);
Writeln('Ho ten sau khi doi lan 2 la: ',st); Readln;


Bài 48: Viết chương trình nhập vào một chuỗi ký tự . Sau đó in chuỗi ra màn hình với các ký tự đầu đổi thành chữ thường, các ký tự cuối của từ trong chuỗi sang chữ hoa.
Program CHUOI_CHU_THUONG;
Uses Crt;
Var i,l:integer;
st:string[50];

Begin













Clrscr;
Writeln('DOI CHUOI SANG CHUOI CHU THUONG'); Writeln('------------------------------------------------------'); Write('Nhap chuoi ky tu: '); Readln(st);
For i:=1 to length(st) do
If (st[i]>='A') and (st[i]<='Z') then st[i]:= chr(ord(st[i])+32);

















End.

Writeln;
Writeln('Chuoi doi thanh chu thuong la : '); Writeln(st);
Writeln; l:=length(st); st[l]:=upcase(st[l]); For i:=l downto 2 do
If st[i]=' ' then st[i-1]:=upcase(st[i-1]); Writeln('Chuoi cac ky tu cuoi cua tu la ky tu hoa: '); Writeln(st);
Readln;


Bài 49.1: Viết chương trình cộng hai số phức A, B. Program TONG_SO_PHUC;
Uses Crt; Type

sophuc= record





Trang 26

pa,pt:real;
end;
Var a,b,c:sophuc; Begin
Clrscr;
Writeln('TONG HAI SO PHUC'); Writeln('----------------------------');
Write('Nhap phan thuc cua so a=');readln(a.pt); Write('Nhap phan ao cua so a=');readln(a.pa); Write('Nhap phan thuc cua so b=');readln(b.pt); Write('Nhap phan ao cua so b=');readln(b.pa); c.pt:=a.pt +b.pt;
c.pa:=a.pa + b.pa;
Writeln('Tong cua hai so phuc a va b la: '); If c.pa<0 then
Writeln('c=',c.pt:6:2,'-j',abs(c.pa):4:2)

Else




Writeln('c=',c.pt:6:2,'+j',c.pa:4:2);



End.

Readln;



Bài 49.2: Viết chương trình nhân hai số phức A, B. Program NHAN_SO_PHUC;
Uses Crt; Type
sophuc= record
pa,pt:real;
end;
Var a,b,c:sophuc; Begin
Clrscr;
Writeln('NHAN HAI SO PHUC'); Writeln('----------------------------');
Write('Nhap phan thuc cua so a=');readln(a.pt); Write('Nhap phan ao cua so a=');readln(a.pa); Write('Nhap phan thuc cua so b=');readln(b.pt); Write('Nhap phan ao cua so b=');readln(b.pa); c.pt:=(a.pt)*(b.pt)-(a.pa)*(b.pa); c.pa:=(a.pa)*(b.pt)+(a.pt)*(b.pa);
Writeln('Tich cua hai so phuc a va b la: '); If c.pa<0 then
Writeln('c=',c.pt:6:2,'-j',abs(c.pa):4:2)

Else




Writeln('c=',c.pt:6:2,'+j',c.pa:4:2);



End.

Readln;


Bài 50. Viết chương trình đọc vào hai đa thức. Thực hiện phép cộng hai đa thức rồi in kết quả ra màn hình.
Mô tả: CONST
Bacmax = 50;

TYPE





Trang 27

Dathuc = Record
Bac: Integer; Heso:Array[0..Bacmax] of Real;
End; Program CONG_DA_THUC; Uses Crt;
Type dathuc=record
bac:integer;
heso:array[0..50]of integer;
end;
Var a,b,c:dathuc;i:integer; Begin
Clrscr;
Writeln(‘CONG HAI DA THUC’); Writeln(‘----------------------------‘);
Write('Nhap bac cua da thuc a= ');Readln(a.bac); Writeln('nhap he so cua da thuc a:');
For i:=0 to a.bac do
Begin




End;

Write('nhap he so a[',i,']:='); Readln(a.heso[i]);


Write('Nhap bac cua da thuc b= ');Readln(b.bac); Writeln('nhap he so cua da thuc b:');
For i:=0 to b.bac do
Begin




End;

Write('nhap he so b[',i,']:='); Readln(b.heso[i]);


If a.bac Begin










Else


















End


Begin







End;

c.bac:=b.bac;
For i:=0 to a.bac do c.heso[i]:=a.heso[i]+b.heso[i];
For i:=a.bac+1 to b.bac do c.heso[i]:=b.heso[i];




c.bac:=a.bac;
For i:=0 to b.bac do c.heso[i]:=a.heso[i]+b.heso[i];
For i:=b.bac+1 to a.bac do c.heso[i]:=a.heso[i];









End.

Writeln('Bac cua da thuc tong la: ',c.bac); Write('Cac he so lan luot la: ');
For i:=0 to c.bac do
Write(c.heso[i]:2); Readln;


Bài 51: Viết chương trình nhập vào một dãy số nguyên có n phần tử.





Trang 28

a. Sắp xếp dãy theo thứ tự tăng dần và in kết quả ra màn hình.
b. Nhập vào một số x bất kì, đếm số lần xuất hiện của nó trong dãy trên. c. In ra màn hình số phần tử nhỏ hơn hoặc bằng x.
d. In ra màn hình số phần tử lớn hơn x. Program DAY_SO;
Uses Crt;
Var t,n,x,i,j,dem:integer;
a:array[1..20] of integer;

Begin









Writeln('SAP XEP DAY SO:'); Writeln('-------------------------');
Write('Nhap so phan tu cua day n = '); Readln(n); For i:=1 to n do
Begin




End;

Write('a[',i,']= '); Readln(a[i]);


{sap xep day so} For i:=1 to n-1 do
For j:=i+1 to n do
If a[i]>a[j] then
Begin





End;

t:=a[i]; a[i]:=a[j]; a[j]:=t;


Writeln('Day sau khi sap xep la:'); For i:=1 to n do
Write(a[i]:3); Readln;
{Nhap vao mot so dem so lan xuat hien} Write('Nhap vao so x='); Readln(x);
dem:=0;
For i:=1 to n do
If a[i]=x then dem:=dem+1;
Write('So lan xuat hien cua ',x,' la: ',dem); Readln;
{Cac phan tu nho hon hoac bang x} Writeln('Cac phan tu <= ',x,' la:'); For i:=1 to n do
If(a[i]<=x) then
Write(a[i]:3);
Readln;
{In cac phan tu lon hon x} Writeln('Cac phan tu > ',x, ' la:'); For i:=1 to n do
If a[i]>x then
Write(a[i]:3);



End.

Readln;


Bài 52: Viết chương trình nhập vào một dãy số nguyên có n phần tử . Sắp xếp dãy số theo

Trang 29

thứ tự giảm dần & tính giá trị trung bình của dãy. Program DAY_SO1;
Uses Crt;
Var s,n,i,j,t:integer;
a:array[1..20] of integer;

Begin











Clrscr;
Writeln('SAP XEP DAY SO:'); Writeln('------------------------');
Write('Nhap so phan tu cua day n = '); Readln(n); For i:=1 to n do
Begin




End;

Write('a[',i,']= '); Readln(a[i]);


{sap xep day so giam dan} For i:=1 to n-1 do
For j:=i+1 to n do
If a[i]Begin





End;

t:=a[i]; a[i]:=a[j]; a[j]:=t;
















End.

Writeln(' Day sau khi sap xep giam dan la:'); For i:=1 to n do
Write(a[i]:4); Readln;
{Tinh trung binh day}
s:=0;
For i:=1 to n do s:=s+a[i];
Writeln('Gia tri trung binh la: ',s/n:6:2); Readln;


Bài 53: Viết chương trình nhập vào một ma trận vuông cấp n. a. In ra trong các phần tử trên đường chéo chính.
b. In ra màn hình trong các phần tử trên đường chéo phụ. Program MATRAN_TONGDUONGCHEO;
Uses Crt;
Var i,j,n,sum1,sum2:integer;
a:array[1..10,1..10]of integer;

Begin













Clrscr;
Writeln('TINH TONG DUONG CHEO CHINH & PHU:'); Writeln('---------------------------------');
Write('Nhap cap ma tran vuong n = '); Readln(n); For i:=1 to n do
For j:= 1 to n do
Begin

Write('a[',i,j,']= '); Readln(a[i,j]);






Trang 30

End;
Writeln(' Ma tran vua nhap la:'); For i:=1 to n do
Begin





End;
sum1:=0;

For j:= 1 to n do
Write(a[i,j]:4); Writeln;















End.

For i:=1 to n do sum1:=sum1+a[i,i];
Writeln('Tong cac phan tu tren duong cheo chinh la: ', sum1);
sum2:=0;
For i:=1 to n do sum2:=sum2+a[i,n-i+1];
Writeln('Tong cac phan tu tren duong cheo phu la: ', sum2); Readln;


Bài 54: Viết chương trình nhập vào một ma trận vuông cấp n. Kiểm tra xem ma trận có
đối xứng hay không ?
Program MA_TRAN_DOI_XUNG; Uses Crt;
Type MT=array[1..20,1..20] of integer; Var a: MT; n:integer;
Procedure Input(var a:MT; n:integer); Var i,j:integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin





End;




End;


Write ('nhap a[',i,j,']='); Readln(a[i,j]);




Procedure output(a:MT;n:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to n do
Write(a[i,j]:4); Writeln;




Procedure KTMT( a:MT;n:integer); Var i,j:integer;
ok:boolean; Begin

ok:=true;
For i:=1 to n do
For j:=i+1 to n do
If(a[i,j]<>a[j,i]) then ok:=false;









Trang 31







Begin






End;


Clrscr;

If ok then
Writeln('Ma tran la doi xung') Else Writeln('Ma tran khong doi xung');















End.

Writeln('KIEM TRA MA TRAN DOI XUNG:'); Writeln('--------------------------------------------'); Write('Nhap cap ma tran n= '); Readln(n); Input(a,n);
Output(a,n); KTMT(a,n); Readln;



Bài 55: Viết chương trình nhập vào một ma trận vuông cấp n. a. Tính tổng của 2 ma trận.
b. Tính tích của 2 ma trận. Program TONG_TICH_MA_TRAN; Uses Crt;
Type MT=array[1..20,1..20] of integer; Var a,b,c,d: MT; n:integer;
Procedure Input(var a:MT; n:integer); Var i,j:integer;
Begin
For i:=1 to n do
For j:=1 to n do
Begin





End;




End;


Write ('nhap a[',i,j,']='); Readln(a[i,j]);




Procedure output(a:MT;n:integer); Var i,j:integer;
Begin
For i:=1 to n do
Begin







End;





End;


For j:=1 to n do
Write(a[i,j]:4); Writeln;




Procedure Sum(a,b:MT;var c:MT; n:integer); Var i, j:integer;
Begin





End;

For i:=1 to n do
For j:=1 to n do c[i,j]:=a[i,j]+b[i,j];


Procedure Product(a,b:MT;var d:MT; n:integer); Var i,j,k:integer;
Begin








Trang 32

For i:=1 to n do For j:=1 to n do Begin








Begin








End;


Clrscr;





End;





d[i,j]:=0;
For k:=1 to n do d[i,j]:=d[i,j]+a[i,k]*b[k,j];













































End.

Writeln('TONG & TICH HAI MA TRAN VUONG:'); Writeln('--------------------------------------------------'); Write('Nhap cap cua hai ma tran n= '); readln(n); Writeln('NHAP MA TRAN A:');
Writeln('----------------'); Input(a,n);
Writeln('NHAP MA TRAN B:'); Writeln('----------------'); Input(b,n);
Writeln('MA TRAN A lA:'); Writeln('----------------'); Output(a,n);
Readln;
Writeln('MA TRAN B lA:'); Writeln('----------------'); Output(b,n);
Readln;
Writeln('MA TRAN TONG CUA A & B lA:'); Writeln('----------------');
Sum(a,b,c,n); Output(c,n); Readln;
Writeln('MA TRAN TICH CUA A & B lA:'); Writeln('----------------');
Product(a,b,d,n); Output(d,n); Readln;


Bài 56: Đếm số từ trong một chuỗi. Program DEM_SO_TU;
Uses Crt;
Var st:string;
i,dem:integer;

Begin











Clrscr;
Writeln('DEM SO TU TRONG CHUOI:'); Writeln('-------------------------------------'); Write('Nhap chuoi: ');readln(st);
If st[1]=' ' then dem:=0

Else






dem:=1;






Trang 33








End.

For i:=1 to length(st)-1 do
If (st[i] = ' ')and (st[i+1] <>' ') then dem:=dem+1;
Writeln('So tu trong chuoi la: ',dem); Readln;


Bài 57: Trộn hai mảng đã được sắp xếp theo thứ tự tăng dần lại thành một mảng mới mà vẫn đảm bảo thứ tự của nó.
Program TRON_HAI_MANG; Uses Crt;
Type
Mang=array[1..50] of integer; Var a,b,c:Mang;
n,m,l:integer;
Procedure Input(var a:Mang; n:integer); Var i:integer;
Begin
For i:=1 to n do
Begin





End;




End;


Write('a[',i,']= '); Readln(a[i]);




Procedure Output(a:Mang;n:integer); Var i:integer;
Begin





End;

For i:=1 to n do write(a[i]:3);
Writeln;


Procedure Sort(Var a:Mang; n:integer); Var i,j,t:integer;
Begin
For i:= 1 to n-1 do
For j:=i+1 to n do
If a[i] > a[j] then
Begin







End;





End;


t:=a[i]; a[i]:=a[j]; a[j]:=t;




Procedure Merge(a,b:Mang; Var c:Mang; n, m:integer; var l:integer); Var i,j,t:integer;
Begin
i:=1; j:=1 ;t:=1;
While (i<=n )and(j<= m) do If a[i]<=b[j] then Begin

c[t]:=a[i]; t:=t+1; i:=i+1;








Trang 34

End Else Begin




End;





c[t]:=b[j]; t:=t+1; j:=j+1;


While i<=n do
Begin





End;

c[t]:=a[i]; t:=t+1; i:=i+1;


While j<=m do
Begin








End; Begin








l:=t-1;



Clrscr;





End;







c[t]:=b[j]; t:=t+1; j:=j+1;








Writeln('TRON HAI DAY SO DA DUOC SAP XEP'); Writeln('-----------------------------------------------------'); Writeln('Nhap du lieu cho day a:');
Write('Nhap so phan tu cua day a: ');readln(n); Input(a,n);
Writeln('Nhap du lieu cho day b: '); Write('Nhap so phan tu cua day b: ');readln(m); Input(b,m);
Readln; Clrscr;
Writeln('Day a sau khi sap xep tang dan:'); Writeln('--------------------------------------'); sort(a,n);
output(a,n); Readln;
Writeln('Day b sau khi sap xep tang dan'); Writeln('--------------------------------------'); sort(b,m);
output(b,m); Readln;
Writeln('Tron cua day a va b la:'); Writeln('-----------------------------'); merge(a,b,c,n,m,l);
output(c,l); Readln;
End.
Bài 58: Viết chương trình nhập vào một danh sách sinh viên có n người ( mỗi sinh viên có họ, tên, tuổi, quê quán). In danh sách sinh viên ra màn hình. Sắp xếp danh sách sinh viên theo tuổi và in danh sách sau khi sắp xếp ra màn hình.

Trang 35

Program DANH_SACH_SV; Uses Crt;
Type sinhvien=record
ho:string[10];
ten:string[10];
tuoi: byte;
qq:string[30];
end;
danhsach=array [1..50] of sinhvien; Var ds: danhsach; n:integer;
Procedure Input(var a:danhsach;n:integer); Var i:integer;
Begin
For i:= 1 to n do With a[i] do Begin










End;








End;


Write('Ho sinh vien ',i,' : ');readln(ho); Write('Ten sinh vien ',i,' : ');readln(ten); Write('Tuoi sinh vien ',i,' : ');readln(tuoi); Write('Que quan sv ',i,' : '); readln(qq); Writeln;




Procedure Output(a:danhsach;n:integer); Var i:integer;
Begin
Writeln('ho Ten Tuoi Que quan'); Writeln('-------------------------------------'); For i:= 1 to n do
With a[i] do
Begin










End;








End;


Write(ho); Write(ten:10); Write(tuoi:6); Write(qq:10); Writeln;




Procedure Sort(var a:danhsach;n:integer); Var i,j:integer;t: sinhvien;
Begin
For i:=1 to n-1 do
For j:=i+1 to n do
If a[i].tuoi>a[j].tuoi then
Begin







End; Begin













Clrscr;







End;







t:=a[i]; a[i]:=a[j]; a[j]:=t;


















Trang 36

















End.

Writeln('SAP XEP DANH SACH SV THEO TUOI'); Writeln('------------------------------');
Write('So sinh vien n = ');readln(n); Input(ds,n);
Output(ds,n); sort(ds,n); Readln; Clrscr;
Writeln('DANH SACH DUOC SAP XEP:'); Output(ds,n);
Readln;



Bài 59. Viết chương trình nhập vào một file số nguyên. In file số nguyên này ra màn hình.
Program FILE_SONGUYEN; Uses Crt;
Var i,so,code:integer; f:file of integer; fn,s:string;

Begin





















Clrscr;
Writeln('CHUONG TRINH NHAP VA IN FILE OF INTEGER'); Writeln('----------------------------------------------------------------'); Write('Nhap ten tap tin:');readln(fn);
Assign(f,fn); Rewrite(f);
Writeln('CHUONG TRINH NGUNG, KHI NHAP KHONG PHAI LA SO:');
i:=1; Repeat
Write('So thu ',i, ' = ');readln(s);
val(s,so,code);
If (code = 0) then
Write(f,so);

i:=i+1; Until code<>0; Close(f); reset(f); Readln;
Clrscr;
Writeln('FILE VUA NHAP LA:'); Writeln('----------------------------'); While not eof(f) do
Begin







End.




End; Readln;


read(f,i);
write(i:3);





Bài 60: Mở một file số nguyên đã có trên đĩa, sao chép nội dung của nó sang một tập tin mới và in nội dung của tập tin sau khi sao chép ra màn hình.
Program COPY_FILE;

Trang 37

Uses Crt;
Var i:integer; fn,fd:string; Ch:char; f1,f2: file of integer;

Begin


















Clrscr;
Writeln('CHUONG TRINH SAO CHEP FILE'); Writeln('---------------------------------------------'); Write('Nhap file nguon: '); Readln(fn); Write('Nhap file dich: '); Readln(fd); Assign(f1,fn);
Reset(f1); Assign(f2,fd); Rewrite(f2);
While not eof (f1) do
Begin




End; Close(f1); Seek(f2,0);

Read(f1,i); Write(f2,i);





Writeln('Noi dung cua file dich la:'); Writeln('-----------------------------'); While not eof (f2) do
Begin








End.




End; Close(f2); Readln;


Read(f2,i); Write(i:3);







Bài 61. Viết chương trình tạo ra một file F3 chứa các số nguyên bằng cách nối hai file số
nguyên F1 và F2 đã có trên đĩa. In nội dung của cả 3 tập tin trên ra màn hình. Program GHEP_FILE;
Uses Crt;
Var f1,f2,f3: file of Integer;
fn1,fn2,fd:String;
i: Integer;

Begin




















Clrscr;
Write('Nhap file nguon 1: '); Readln(fn1); Write('Nhap file nguon 2: '); Readln(fn2); Write('Nhap file dich 3: '); Readln(Fd); Assign(f1,fn1);
Reset(f1); Assign(f2,fn2); Reset(f2); Assign(f3,Fd); Rewrite(f3);
While not eof(f1) do
Begin

Read(f1,i); Write(f3,i);






Trang 38

End;
While not eof(f2) do
Begin




End;

Read(f2,i); Write(f3,i);


Writeln('Noi dung cua file nguon 1:'); Writeln('-------------------------------'); seek(f1,0);
While not eof(f1) do
Begin




End; Close(f1); Readln;

Read(f1,i); Write(i:4);





Writeln('Noi dung cua file nguon 2:'); Writeln('--------------------------------'); seek(f2,0);
While not eof(f2) do
Begin




End; Close(f2); Readln;

Read(f2,i); Write(i:4);





Writeln('Noi dung cua file ghep:'); Writeln('---------------------------'); seek(f3,0);
While not eof(f3) do
Begin







End.




End; Readln;


Read(f3,i); Write(i:4);




























Trang 39







Chữ kí của p3thjkute96

Về Đầu Trang Go down
Xem lý lịch thành viên
key



Posts : 425
Points : 1703
Thanked : 11
Sinh Nhật : 12/12/1993
Tuổi : 23
Đến từ : Mỹ Lợi
Nick chat : monkeyshandsome
Sở thích : Nghiên cứu khoa học
>

Thú 3D

sheep

•»»-»sheep«-««•

Posts : 425
Points : 1703
Thanked : 11
Sinh Nhật : 12/12/1993
Tuổi : 23
Đến từ : Mỹ Lợi
Nick chat : monkeyshandsome
Sở thích : Nghiên cứu khoa học

Bài gửiTiêu đề: Re: 61 bai tap pacal thong dung  Sat Oct 15, 2011 8:27 am


  Có ai test chưa?






Chữ kí của key


"Sống cho hôm nay, sống cho ngày mai, sống cho thế hệ sau"
Ta không sợ gì hết

Về Đầu Trang Go down
Xem lý lịch thành viên
NTSno.1



Posts : 307
Points : 995
Thanked : 8
Sinh Nhật : 08/08/1994
Tuổi : 22
Đến từ : Vinh Hải Pro-MU VIP
Sở thích : Football
>

Thú 3D

sheep

•»»-»sheep«-««•

Posts : 307
Points : 995
Thanked : 8
Sinh Nhật : 08/08/1994
Tuổi : 22
Đến từ : Vinh Hải Pro-MU VIP
Sở thích : Football

Bài gửiTiêu đề: Re: 61 bai tap pacal thong dung  Sat Oct 15, 2011 9:47 am


  Chỉ việc copy va past nhưng sao nhiều lỗi quá!! Không phải lỗi về cấu trúc nhưng lỗi về bài viết này!! hihi






Chữ kí của NTSno.1



Về Đầu Trang Go down
Xem lý lịch thành viên
Chu Miu



Posts : 309
Points : 1120
Thanked : 7
Sinh Nhật : 22/02/1996
Tuổi : 21
Đến từ : 10A2
Nick chat : bbxp_mm
Sở thích : thíck nhìu thứ ^^
>

Thú 3D

sheep

•»»-»sheep«-««•

Posts : 309
Points : 1120
Thanked : 7
Sinh Nhật : 22/02/1996
Tuổi : 21
Đến từ : 10A2
Nick chat : bbxp_mm
Sở thích : thíck nhìu thứ ^^

Bài gửiTiêu đề: Re: 61 bai tap pacal thong dung  Sun Oct 16, 2011 8:42 am


  Ủa,.. sao dạo nì pé Thi kute nhà ta.. "yêu pascal" thế nhỉ ??






Chữ kí của Chu Miu


♥ I'm a small grass in Grass Paradise ♥

- I'm finding a wind..
- Wind.. Where are you..
- I want to meet you now..!!


- If anyone knows, please tell me...!!


P/s: Grass love Wind..

Về Đầu Trang Go down
Xem lý lịch thành viên
NTSno.1



Posts : 307
Points : 995
Thanked : 8
Sinh Nhật : 08/08/1994
Tuổi : 22
Đến từ : Vinh Hải Pro-MU VIP
Sở thích : Football
>

Thú 3D

sheep

•»»-»sheep«-««•

Posts : 307
Points : 995
Thanked : 8
Sinh Nhật : 08/08/1994
Tuổi : 22
Đến từ : Vinh Hải Pro-MU VIP
Sở thích : Football

Bài gửiTiêu đề: Re: 61 bai tap pacal thong dung  Sun Oct 16, 2011 9:02 am


  Mặc dù Pascal rất hay nhưng về ứng dụng sau này thì dường như không có!! Bạn Thi gì đó cũng không nên đầu tư quá nhiều vào Pascal đâu!!






Chữ kí của NTSno.1



Về Đầu Trang Go down
Xem lý lịch thành viên
Sponsored content



>

Thú 3D


•»»-»«-««•


Bài gửiTiêu đề: Re: 61 bai tap pacal thong dung  


  







Chữ kí của Sponsored content

Về Đầu Trang Go down
 

61 bai tap pacal thong dung

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 

 Similar topics

-
» EM K BIET DUNG MOD, LAM ON DUNG HOI EM MOD, HUHUHU TOI NGHIEP EM MAY BAC !
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Chuyên mục :: Pascal-
 


Free forum | rpg diễn đàn | Trường học - Cao đẳng | © phpBB | Free forum support | Liên hệ | Report an abuse | Free blog