BÀI TẬP KIỂU FILE

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thiên Tứ (trang riêng)
Ngày gửi: 13h:46' 25-10-2012
Dung lượng: 379.0 KB
Số lượt tải: 9
Nguồn:
Người gửi: Nguyễn Thiên Tứ (trang riêng)
Ngày gửi: 13h:46' 25-10-2012
Dung lượng: 379.0 KB
Số lượt tải: 9
Số lượt thích:
0 người
DỮ LIỆU KIỂU TỆP
Bài 1 :Bạn hãy viết hàm Card(A) đếm số phần tử của tập hợp A cho trước có kiểu Set Of 0 .. 99 . Bài 2 :Bạn hãy lập chương trình tạo một tập hợp các số nguyên chẵn kiểu Byte và loại khỏi nó các số chia hết cho 3 . Kết quả thể hiện trên màn hình . Bài 3 :Xét chương trình sau : Program B4 ; Var Thoat : Set Of Char = [‘e’ , ’E’] ; BEGIN Write (‘ Hay go E de ket thuc : ‘) ; Repeat Ch := Readkey ; Until Ch in thoat ; END . Hãy tìm và sửa lỗi trong chương trình đó . Bài 4 :Bạn hãy lập chương trình hiển thị một menu dạng sau trên màn hình 1. Xem 2. Sua chua 3. Loai bo 4. Nhap them 5. Thoat Lua chon cua ban : _ Sau đó đợi gõ phím . Chương trình phải đợi cho tới khi phím gõ vào là một trong các chữ số 1 .. 5 hoặc các chữ cái đầu của các tuỳ chọn thì thông báo phím gõ vào hợp lệ và kết thúc chương trình . Trong chương trình phải dùng một tập hợp để kiểm tra việc nhập giá trị cho biến từ bàn phím . Bài 5 :Hãy lập chương trình nhập vào một xâu nhị phân . Các kí tự nhập vào không hợp lệ bị bỏ qua . Bài 6 :Hãy lập chương trình nhập vào một xâu kí tự từ bàn phím . Yêu cầu các kí tự nhập vào phải là các chữ cái thuộc bảng chữ cái tiếng Anh , bỏ qua các phím khác . Bài 7 :Viết chương trình có chức năng thêm phần tử vào tập hợp trực tiếp từ bàn phím và loại bớt phần tử khỏi tập hợp cũng trực tiếp từ bàn phím . ĐÁP ÁN: 1) Mã:
Uses Crt;
Type Tap=set of 0..99;
Const inp=`Number.dat`;
Var S : Tap;
i : byte;
Procedure Nhap;
Var a: byte; f: text;
Begin
S:=[];
Assign(f,inp); Reset(f);
While not SeekEoF(f) do
begin
Readln(f,a); If (a>=0)and(a<=99) then S:=S+[a];
End;
Close(f);
End;
Function Card(S: Tap): byte;
Var i,n: byte;
Begin
n:=0;
For i:=0 to 99 do If i in S then Inc(n);
Card:=n;
End;
BEGIN
Nhap;
Clrscr;
Write(`Tap S co `,Card(S),` phan tu.`);
Readln;
END.
2) Mã:
Uses Crt;
Var tap: set of char;
ch: char;
BEGIN
tap:=[];
Writeln(`Nhap cac phan tu cho mot tap hop cac ki tu: `);
Repeat
ch:=ReadKey;
tap:=tap+[ch];
Writeln(ch);
Until not(ch in [`a`..`z`]);
Writeln(`Cac phan tu cua tap hop la:`);
For ch:=`a` to `z` do
If ch in tap then Write(ch,` `);
Writeln;
Writeln(`Ban muon bo cac phan tu nao khoi tap hop:`);
Repeat
ch:=ReadKey;
tap:=tap-[ch];
Writeln(ch);
Until not(ch in [`a`..`z`]);
Writeln(`Cac phan tu con lai cua tap hop la:`);
For ch:=`a` to `z` do
If ch in tap then Write(ch,` `);
Readln;
END .
3) Mã:
Uses Crt;
Const
thoat: set of char=[`e`,`E`];
Var
ch: char;
BEGIN
Write(`Hay go E de thoat khoi chuong trinh: `);
Repeat
ch:=readkey;
Until ch in thoat;
END .
4) (* Hiển thị menu *) Mã:
Uses Crt;
Const
menu: set of char = [`1`..`5`,`X`,`S`,`L`,`N`,`T`];
Var
ch: char;
BEGIN
Clrscr;
Writeln(` 1. Xem `);
Writeln(` 2. Sua chua `);
Writeln(` 3. Loai bo `);
Writeln(` 4. Nhap them`);
Writeln(` 5. Thoat `);
Bài 1 :Bạn hãy viết hàm Card(A) đếm số phần tử của tập hợp A cho trước có kiểu Set Of 0 .. 99 . Bài 2 :Bạn hãy lập chương trình tạo một tập hợp các số nguyên chẵn kiểu Byte và loại khỏi nó các số chia hết cho 3 . Kết quả thể hiện trên màn hình . Bài 3 :Xét chương trình sau : Program B4 ; Var Thoat : Set Of Char = [‘e’ , ’E’] ; BEGIN Write (‘ Hay go E de ket thuc : ‘) ; Repeat Ch := Readkey ; Until Ch in thoat ; END . Hãy tìm và sửa lỗi trong chương trình đó . Bài 4 :Bạn hãy lập chương trình hiển thị một menu dạng sau trên màn hình 1. Xem 2. Sua chua 3. Loai bo 4. Nhap them 5. Thoat Lua chon cua ban : _ Sau đó đợi gõ phím . Chương trình phải đợi cho tới khi phím gõ vào là một trong các chữ số 1 .. 5 hoặc các chữ cái đầu của các tuỳ chọn thì thông báo phím gõ vào hợp lệ và kết thúc chương trình . Trong chương trình phải dùng một tập hợp để kiểm tra việc nhập giá trị cho biến từ bàn phím . Bài 5 :Hãy lập chương trình nhập vào một xâu nhị phân . Các kí tự nhập vào không hợp lệ bị bỏ qua . Bài 6 :Hãy lập chương trình nhập vào một xâu kí tự từ bàn phím . Yêu cầu các kí tự nhập vào phải là các chữ cái thuộc bảng chữ cái tiếng Anh , bỏ qua các phím khác . Bài 7 :Viết chương trình có chức năng thêm phần tử vào tập hợp trực tiếp từ bàn phím và loại bớt phần tử khỏi tập hợp cũng trực tiếp từ bàn phím . ĐÁP ÁN: 1) Mã:
Uses Crt;
Type Tap=set of 0..99;
Const inp=`Number.dat`;
Var S : Tap;
i : byte;
Procedure Nhap;
Var a: byte; f: text;
Begin
S:=[];
Assign(f,inp); Reset(f);
While not SeekEoF(f) do
begin
Readln(f,a); If (a>=0)and(a<=99) then S:=S+[a];
End;
Close(f);
End;
Function Card(S: Tap): byte;
Var i,n: byte;
Begin
n:=0;
For i:=0 to 99 do If i in S then Inc(n);
Card:=n;
End;
BEGIN
Nhap;
Clrscr;
Write(`Tap S co `,Card(S),` phan tu.`);
Readln;
END.
2) Mã:
Uses Crt;
Var tap: set of char;
ch: char;
BEGIN
tap:=[];
Writeln(`Nhap cac phan tu cho mot tap hop cac ki tu: `);
Repeat
ch:=ReadKey;
tap:=tap+[ch];
Writeln(ch);
Until not(ch in [`a`..`z`]);
Writeln(`Cac phan tu cua tap hop la:`);
For ch:=`a` to `z` do
If ch in tap then Write(ch,` `);
Writeln;
Writeln(`Ban muon bo cac phan tu nao khoi tap hop:`);
Repeat
ch:=ReadKey;
tap:=tap-[ch];
Writeln(ch);
Until not(ch in [`a`..`z`]);
Writeln(`Cac phan tu con lai cua tap hop la:`);
For ch:=`a` to `z` do
If ch in tap then Write(ch,` `);
Readln;
END .
3) Mã:
Uses Crt;
Const
thoat: set of char=[`e`,`E`];
Var
ch: char;
BEGIN
Write(`Hay go E de thoat khoi chuong trinh: `);
Repeat
ch:=readkey;
Until ch in thoat;
END .
4) (* Hiển thị menu *) Mã:
Uses Crt;
Const
menu: set of char = [`1`..`5`,`X`,`S`,`L`,`N`,`T`];
Var
ch: char;
BEGIN
Clrscr;
Writeln(` 1. Xem `);
Writeln(` 2. Sua chua `);
Writeln(` 3. Loai bo `);
Writeln(` 4. Nhap them`);
Writeln(` 5. Thoat `);
 







Các ý kiến mới nhất