61 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

 

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;

 

 

End.

 

 

doc39 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 6230 | Lượt tải: 1download
Tóm tắt nội dung 61 bài tập Pascal cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
); 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

File đính kèm:

  • doc61 bài tập Pascal cơ bản.doc
Tài liệu liên quan