Bài tập Pascal (cơ bản)

Bài tập Pascal (cơ bản)

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;

 

doc 39 trang Người đăng quocviet Lượt xem 1991Lượt tải 1 Download
Bạn đang xem 20 trang mẫu của tài liệu "Bài tập Pascal (cơ bản)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 a0 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<min then min:=b;
 If c<min then min:=c; If d<min then min:=d;
Writeln('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
W ... em:=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]<a[j] then
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 code0; 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

Tài liệu đính kèm:

  • doc61 Bai Pascal co ban.doc