Bài tập và thực hành 5
Chia sẻ bởi Nguyễn Thị Kem Ly |
Ngày 10/05/2019 |
53
Chia sẻ tài liệu: Bài tập và thực hành 5 thuộc Tin học 11
Nội dung tài liệu:
Trang bìa
Trang bìa:
BÀI TẬP KIỂU MẢNG - KIỂU XÂU Trắc nghiệm khách quan
Câu 1: Hãy chọn câu trả lời mà em cho là đúng nhất
Khái niệm xâu:
A. Xâu là dãy các kí tự trong bộ mã ASCII.
B. Xâu là dãy các kí tự chữ cái, chữ số.
C. Xâu là dãy hữu hạn các phần tử cùng kiểu.
D. Xâu là dãy các chữ cái trong bộ mã ASCII.
Câu 2: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong NNLT pascal, thủ tục Delete (a, b, c) thực hiện công việc gì trong các công việc sau:
A. Xóa trong xâu a, tại vị trí b, xóa đi c kí tự.
B. Xóa trong xâu a, tại vị trí c, xóa đi b kí tự.
C. Xóa trong xâu c, tại vị trí b, xóa đi a kí tự.
D. Xóa trong xâu c, tại vị trí a, xóa đi b kí tự.
Câu 3: Hãy chọn câu trả lời mà em cho là đúng nhất
Đoạn chương trình sau thực hiện công việc gì? St:= ‘’; {rỗng} For i:= length(S) downto 1 do St:= St S[i];
A. Tạo xâu St giống hệt xâu S.
B. Tạo xâu đảo của xâu S.
C. In xâu S ra màn hình.
D. In xâu đảo của S ra màn hình.
Câu 4: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho S:= ‘Tin học’; Tham chiếu tới phần tử thứ 4 của xâu S ta được kết quả:
A: S[4] = ‘h’
B: S[4] = ‘ ’
C: S[4] = ‘’
D: S[4] = ‘hoc’
Câu 5: Hãy chọn câu trả lời mà em cho là đúng nhất
Cú pháp khai báo tổng quát, đầy đủ của kiểu dữ liệu xâu là:
A. var of string [độ dài lớn nhất của xâu];
B. var string [độ dài lớn nhất của xâu]
C. var: string [độ dài lớn nhất của xâu];
D. var of string;
Câu 6: Hãy chọn câu trả lời mà em cho là đúng nhất
b sẽ có kết quả là gì trong đoạn chương trình sau: a:=` hoc tro`; b:=`tuoi`; insert (a, b, 5);
A. ‘hoc tro’
B. ‘hoc tuoi tro’
C. ‘tuoi hoc tro’
D. Sai cú pháp
Câu 7: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho A:= ‘Ba’; B:= ‘Anh’; Thực hiện phép so sánh hai xâu A và B ta được kết quả:
A. A > B
B. A < B
C: A = B
Câu 8: Hãy chọn câu trả lời mà em cho là đúng nhất
Một xâu có tối đa bao nhiêu kí tự?
A. 64
B. 255
C. 128
D. 256
Câu 9: Hãy chọn câu trả lời mà em cho là đúng nhất
Thực hiện thao tác chèn nào? S1:= ‘CDE’; S2:= ‘ABGHI’; --> Kết quả là: ‘ABCDEGHI’
A : Insert(S1, S2, 4);
B : Insert(S1, S2, 3);
C : Insert(S1, S2, 2);
D : Tất cả điều sai.
Câu 10: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong NNLT Pascal, để xóa đi kí tự đầu tiên của xâu kí tự St ta viết:
A. Delete ( St, 1, 1)
B. Delete ( St, vt, 1)
C. Delete ( St, length(St), 1)
D. Delete ( St, 1, n)
Câu 11: Hãy chọn câu trả lời mà em cho là đúng nhất
Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết :
A. Write (A[20]) ;
B. Write (A(20)) ;
C. Readln (A[20]) ;
D. Write ([20]) ;
Câu 12: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì? Dem:= 0; For i:= 1 to N do If A[i] > = 0 then Dem:= Dem 1; Writeln (Dem);
A. Tính tổng các số nguyên dương.
B. Kiểm tra phần tử thứ i là số âm hay số dương.
C. Cho biết số lượng các số nguyên.
D. Cho biết số lượng các số nguyên không âm.
Câu 13: Hãy chọn câu trả lời mà em cho là đúng nhất
Cú pháp khai báo trực tiếp mảng một chiều là:
A. Var : Array [Kiểu chỉ số] of ;
B. Var : Array [Kiểu phần tử] of ;
C. Var : Array [Kiểu chỉ số]: ;
D. Type : Array [Kiểu chỉ số] of ;
Câu 14: Hãy chọn câu trả lời mà em cho là đúng nhất
Cách tham chiếu đến phần tử trong mảng một chiều
A. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
B. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
C. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
D. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
Câu 15: Hãy chọn câu trả lời mà em cho là đúng nhất
Đoạn chương trình sau làm gi? S:=0; For i:=1 to n do S:=S a[i];
A. Đếm số phần tử của mảng A.
B. In ra mảng A.
C. Tính tổng các phần tử của mảng A.
D. Nhập mảng A.
Câu 16: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong Pascal, để xuất các phần tử của mảng 1 chiều ta dùng mấy vòng For?
A. 1
B. 2
C. 3
D. 4
Câu 17: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong ngôn ngữ lập trình Pascal, đoạn chương trình dùng để làm gì? Var a: array[1..10] of integer; i, d: integer; Begin d:=0; for i:= 1 to n do If a[i] mod 2 = 0 then d:= d 1; End.
A. Đếm số phần tử trong mảng a là số chẵn.
B. Đếm số phần tử trong mảng a là số lẻ.
C. Tính tổng các phần tử trong mảng a.
D. Đếm các phần tử có trong mảng a.
Bài tập kiểu xâu
Bài 1: TRÒ CHƠI TIẾP SỨC
Em hãy ghép các câu lệnh (nhóm lệnh) sau vào chương trình cho sẵn để thành một chương trình hoàn chỉnh. * Các câu lệnh (nhóm lệnh): {1} Write(‘Ket qua la:’,b) ; {2} b:= ‘’; {3} for i:= 1 to length(a) do {4} if (a[i]>= ‘A’) and (a[i])<= ‘Z’) then b:=b a[i]; {5} Write(‘ nhap vao xau a: ’); Readln(a); {6} Var a, b: string; i: byte; * Thân chương trình cho sẵn: ................................ Begin ............................... ............................... .............................. ............................... Readln End. Đáp án bài 1: TRÒ CHƠI TIẾP SỨC
* Thân chương trình hoàn chỉnh {6} Var a, b: string; i: byte; Begin {5} Write(‘ nhap vao xau a:’); Readln(a); {2} b:= ‘’; {3} for i:= 1 to length(a) do {4} if (a[i]>= ‘A’) and (a[i])<= ‘Z’) then b:=b a[i]; {1} Write(‘Ket qua la:’,b) ; Readln End. Theo em, chương trình này thực hiện thao tác gì ? Chương trình này thực hiện thao tác: - Nhập từ bàn phím xâu a. - Tạo xâu b gồm tất cả các chữ cái in hoa có trong xâu a. - Đưa kết quả ra màn hình. Minh họa pascal bài 1: Gõ chương trình hoàn chỉnh và chạy chương trình bằng NNLT pascal
Thao tác Kết quả Bài 2: Bài tập số 10, trang 80, sách giáo khoa Tin học 11.
Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S. Thông báo kết quả ra màn hình. ? Em hãy xác định input, output của bài toán. ? Ý tưởng để giải quyết bài toán. - Input : Xâu S. - Output : Số lượng các chữ số có trong xâu S. - Ý tưởng: Khai báo 1 biến Dem, để đếm số lượng chữ số có trong xâu. Duyệt tất cả các phần tử trong xâu, nếu phần tử nào thuộc [‘0’... ‘9’] thì Dem := Dem 1 ; Thông báo kết quả là Dem. Đáp án bài 2: Chương trình hoàn chỉnh
Var S: string[100]; i, Dem: byte; Begin Write(‘ nhap vao xau S:’); Readln(S); Dem:= 0; for i:= 1 to length(S) do if (S[i]>= ‘0’) and (S[i])<= ‘9’) then Dem:= Dem 1; Write(‘Ket qua la:’,Dem) ; Readln End. Minh họa pascal bài 2: Gõ chương trình hoàn chỉnh và chạy chương trình bằng NNLT pascal
Thao tác Kết quả Bài tập kiểu mảng
Bài 1:
Viết chương trình tính tổng các số dương. ? Xác định input, output. ? Các bước để giải quyết bài toán. - Input: nhập vào mảng gồm n chữ số - Output: xuất ra màn hình tổng các số dương - Các bước giải quyết bài toán: Bước 1: Khai báo mảng và các biến Bước 2: Cho biết số lượng phần tử cần tính Bước 3: Nhập vào từng phần tử của mảng (trước lúc nhập cần có vòng for) Bước 4: Điều kiện ban đầu (tong:=0;); Bước 5: Vòng lặp for (điều kiện của bài toán) Nếu số lớn hơn 0 thì cộng dồn vào tổng Bước 6: Tính toán và đưa ra kết quả Đáp án bài 1: Chương trình hoàn chỉnh
Var A: Array [1..100] of integer; i, n, td:Integer; Begin Writeln(‘ cho biet so phan tu của day’); Readln(n); For i:= 1 to n do Begin Writeln(‘ phan tu thu ‘,i,’ = ‘); Readln(A[i]); End; td:= 0; For i:= 1 to n do If A[i] >= 0 then td:= td A[i]; Writeln(‘tong cac so duong la’, td:8); Readln End. Minh họa pascal bài 1: Gõ chương trình hoàn chỉnh và chạy thử bằng NNLT pascal
Thao tác Kết quả Bài tập về nhà
Bài 1 (Xâu):
Nhập từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘tre em’ bằng cụm kí tự ‘nguoi lon’. Bài 2 (Mảng):
Viết chương trình tính tổng các số chia hết cho 2 và đưa ra màn hình số lượng các chữ số chia hết cho 2.
Trang bìa:
BÀI TẬP KIỂU MẢNG - KIỂU XÂU Trắc nghiệm khách quan
Câu 1: Hãy chọn câu trả lời mà em cho là đúng nhất
Khái niệm xâu:
A. Xâu là dãy các kí tự trong bộ mã ASCII.
B. Xâu là dãy các kí tự chữ cái, chữ số.
C. Xâu là dãy hữu hạn các phần tử cùng kiểu.
D. Xâu là dãy các chữ cái trong bộ mã ASCII.
Câu 2: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong NNLT pascal, thủ tục Delete (a, b, c) thực hiện công việc gì trong các công việc sau:
A. Xóa trong xâu a, tại vị trí b, xóa đi c kí tự.
B. Xóa trong xâu a, tại vị trí c, xóa đi b kí tự.
C. Xóa trong xâu c, tại vị trí b, xóa đi a kí tự.
D. Xóa trong xâu c, tại vị trí a, xóa đi b kí tự.
Câu 3: Hãy chọn câu trả lời mà em cho là đúng nhất
Đoạn chương trình sau thực hiện công việc gì? St:= ‘’; {rỗng} For i:= length(S) downto 1 do St:= St S[i];
A. Tạo xâu St giống hệt xâu S.
B. Tạo xâu đảo của xâu S.
C. In xâu S ra màn hình.
D. In xâu đảo của S ra màn hình.
Câu 4: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho S:= ‘Tin học’; Tham chiếu tới phần tử thứ 4 của xâu S ta được kết quả:
A: S[4] = ‘h’
B: S[4] = ‘ ’
C: S[4] = ‘’
D: S[4] = ‘hoc’
Câu 5: Hãy chọn câu trả lời mà em cho là đúng nhất
Cú pháp khai báo tổng quát, đầy đủ của kiểu dữ liệu xâu là:
A. var
B. var
C. var
D. var
Câu 6: Hãy chọn câu trả lời mà em cho là đúng nhất
b sẽ có kết quả là gì trong đoạn chương trình sau: a:=` hoc tro`; b:=`tuoi`; insert (a, b, 5);
A. ‘hoc tro’
B. ‘hoc tuoi tro’
C. ‘tuoi hoc tro’
D. Sai cú pháp
Câu 7: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho A:= ‘Ba’; B:= ‘Anh’; Thực hiện phép so sánh hai xâu A và B ta được kết quả:
A. A > B
B. A < B
C: A = B
Câu 8: Hãy chọn câu trả lời mà em cho là đúng nhất
Một xâu có tối đa bao nhiêu kí tự?
A. 64
B. 255
C. 128
D. 256
Câu 9: Hãy chọn câu trả lời mà em cho là đúng nhất
Thực hiện thao tác chèn nào? S1:= ‘CDE’; S2:= ‘ABGHI’; --> Kết quả là: ‘ABCDEGHI’
A : Insert(S1, S2, 4);
B : Insert(S1, S2, 3);
C : Insert(S1, S2, 2);
D : Tất cả điều sai.
Câu 10: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong NNLT Pascal, để xóa đi kí tự đầu tiên của xâu kí tự St ta viết:
A. Delete ( St, 1, 1)
B. Delete ( St, vt, 1)
C. Delete ( St, length(St), 1)
D. Delete ( St, 1, n)
Câu 11: Hãy chọn câu trả lời mà em cho là đúng nhất
Để in giá trị phần tử thứ 20 của mảng một chiều A ra màn hình ta viết :
A. Write (A[20]) ;
B. Write (A(20)) ;
C. Readln (A[20]) ;
D. Write ([20]) ;
Câu 12: Hãy chọn câu trả lời mà em cho là đúng nhất
Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì? Dem:= 0; For i:= 1 to N do If A[i] > = 0 then Dem:= Dem 1; Writeln (Dem);
A. Tính tổng các số nguyên dương.
B. Kiểm tra phần tử thứ i là số âm hay số dương.
C. Cho biết số lượng các số nguyên.
D. Cho biết số lượng các số nguyên không âm.
Câu 13: Hãy chọn câu trả lời mà em cho là đúng nhất
Cú pháp khai báo trực tiếp mảng một chiều là:
A. Var
B. Var
C. Var
D. Type
Câu 14: Hãy chọn câu trả lời mà em cho là đúng nhất
Cách tham chiếu đến phần tử trong mảng một chiều
A. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
B. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
C. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
D. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
Câu 15: Hãy chọn câu trả lời mà em cho là đúng nhất
Đoạn chương trình sau làm gi? S:=0; For i:=1 to n do S:=S a[i];
A. Đếm số phần tử của mảng A.
B. In ra mảng A.
C. Tính tổng các phần tử của mảng A.
D. Nhập mảng A.
Câu 16: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong Pascal, để xuất các phần tử của mảng 1 chiều ta dùng mấy vòng For?
A. 1
B. 2
C. 3
D. 4
Câu 17: Hãy chọn câu trả lời mà em cho là đúng nhất
Trong ngôn ngữ lập trình Pascal, đoạn chương trình dùng để làm gì? Var a: array[1..10] of integer; i, d: integer; Begin d:=0; for i:= 1 to n do If a[i] mod 2 = 0 then d:= d 1; End.
A. Đếm số phần tử trong mảng a là số chẵn.
B. Đếm số phần tử trong mảng a là số lẻ.
C. Tính tổng các phần tử trong mảng a.
D. Đếm các phần tử có trong mảng a.
Bài tập kiểu xâu
Bài 1: TRÒ CHƠI TIẾP SỨC
Em hãy ghép các câu lệnh (nhóm lệnh) sau vào chương trình cho sẵn để thành một chương trình hoàn chỉnh. * Các câu lệnh (nhóm lệnh): {1} Write(‘Ket qua la:’,b) ; {2} b:= ‘’; {3} for i:= 1 to length(a) do {4} if (a[i]>= ‘A’) and (a[i])<= ‘Z’) then b:=b a[i]; {5} Write(‘ nhap vao xau a: ’); Readln(a); {6} Var a, b: string; i: byte; * Thân chương trình cho sẵn: ................................ Begin ............................... ............................... .............................. ............................... Readln End. Đáp án bài 1: TRÒ CHƠI TIẾP SỨC
* Thân chương trình hoàn chỉnh {6} Var a, b: string; i: byte; Begin {5} Write(‘ nhap vao xau a:’); Readln(a); {2} b:= ‘’; {3} for i:= 1 to length(a) do {4} if (a[i]>= ‘A’) and (a[i])<= ‘Z’) then b:=b a[i]; {1} Write(‘Ket qua la:’,b) ; Readln End. Theo em, chương trình này thực hiện thao tác gì ? Chương trình này thực hiện thao tác: - Nhập từ bàn phím xâu a. - Tạo xâu b gồm tất cả các chữ cái in hoa có trong xâu a. - Đưa kết quả ra màn hình. Minh họa pascal bài 1: Gõ chương trình hoàn chỉnh và chạy chương trình bằng NNLT pascal
Thao tác Kết quả Bài 2: Bài tập số 10, trang 80, sách giáo khoa Tin học 11.
Viết chương trình nhập từ bàn phím xâu kí tự S có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ số xuất hiện trong xâu S. Thông báo kết quả ra màn hình. ? Em hãy xác định input, output của bài toán. ? Ý tưởng để giải quyết bài toán. - Input : Xâu S. - Output : Số lượng các chữ số có trong xâu S. - Ý tưởng: Khai báo 1 biến Dem, để đếm số lượng chữ số có trong xâu. Duyệt tất cả các phần tử trong xâu, nếu phần tử nào thuộc [‘0’... ‘9’] thì Dem := Dem 1 ; Thông báo kết quả là Dem. Đáp án bài 2: Chương trình hoàn chỉnh
Var S: string[100]; i, Dem: byte; Begin Write(‘ nhap vao xau S:’); Readln(S); Dem:= 0; for i:= 1 to length(S) do if (S[i]>= ‘0’) and (S[i])<= ‘9’) then Dem:= Dem 1; Write(‘Ket qua la:’,Dem) ; Readln End. Minh họa pascal bài 2: Gõ chương trình hoàn chỉnh và chạy chương trình bằng NNLT pascal
Thao tác Kết quả Bài tập kiểu mảng
Bài 1:
Viết chương trình tính tổng các số dương. ? Xác định input, output. ? Các bước để giải quyết bài toán. - Input: nhập vào mảng gồm n chữ số - Output: xuất ra màn hình tổng các số dương - Các bước giải quyết bài toán: Bước 1: Khai báo mảng và các biến Bước 2: Cho biết số lượng phần tử cần tính Bước 3: Nhập vào từng phần tử của mảng (trước lúc nhập cần có vòng for) Bước 4: Điều kiện ban đầu (tong:=0;); Bước 5: Vòng lặp for (điều kiện của bài toán) Nếu số lớn hơn 0 thì cộng dồn vào tổng Bước 6: Tính toán và đưa ra kết quả Đáp án bài 1: Chương trình hoàn chỉnh
Var A: Array [1..100] of integer; i, n, td:Integer; Begin Writeln(‘ cho biet so phan tu của day’); Readln(n); For i:= 1 to n do Begin Writeln(‘ phan tu thu ‘,i,’ = ‘); Readln(A[i]); End; td:= 0; For i:= 1 to n do If A[i] >= 0 then td:= td A[i]; Writeln(‘tong cac so duong la’, td:8); Readln End. Minh họa pascal bài 1: Gõ chương trình hoàn chỉnh và chạy thử bằng NNLT pascal
Thao tác Kết quả Bài tập về nhà
Bài 1 (Xâu):
Nhập từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘tre em’ bằng cụm kí tự ‘nguoi lon’. Bài 2 (Mảng):
Viết chương trình tính tổng các số chia hết cho 2 và đưa ra màn hình số lượng các chữ số chia hết cho 2.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thị Kem Ly
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)