SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI I HÌNH TH C KI M TRA Ứ Ể Tr c nghi m khách quan 50% + T lu n 50% ắ ệ ự ậ (20 câu tr c nghi m + 2 câu T lu n) ắ ệ ự ậ II TH I GIAN LÀM BÀI 45 Ờ phút III N I DUNGỘ 1 Lý thu[.]
TRƯỜNG THPT SƠN ĐỘNG SỐ 3 ĐỀ CƯƠNG ƠN TẬP KIỂM TRA HỌC KỲ 1 NHĨM TIN HỌC Mơn Tin học Lớp 11 Năm học: 2022 – 2023 I. HÌNH THỨC KIỂM TRA: Trắc nghiệm khách quan 50% + Tự luận 50% (20 câu trắc nghiệm + 2 câu Tự luận) II. THỜI GIAN LÀM BÀI : 45 phút III. NỘI DUNG 1. Lý thuyết BÀI 1: KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Biết và phân biệt được có 3 lớp ngơn ngữ lập trình là ngơn ngữ máy, hợp ngữ và ngơn ngữ bậc cao. Biết vai trị của chương trình dịch. Có 2 loại chương trình dịch là: biên dịch và thơng dịch. Hiểu lập trình và NNLT là gì BÀI 2: CÁC THÀNH PHẦN CƠ BẢN CỦA NGƠN NGỮ LẬP TRÌNH Biết ngơn ngữ lập trình có ba thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. hiểu được ba thành phần này Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng(từ khố), hằng và biến. nhận biết được các loại hằng, tên trong NNLT pascal BÀI 3. CẤU TRÚC CỦA CHƯƠNG TRÌNH Hiểu cấu trúc chung của một chương trình: Gồm 2 phần là khai báo và thân Hiểu, nhận biết được các thành phần của một chương trình: BÀI 4 + 5. MỘT SỐ KIỂU DỮ LIỆU CHUẨN, KHAI BÁO BIẾN Biết một số kiểu dữ liệu chuẩn: ngun, thực, kí tự, logic Hiểu được cách khai báo biến và vận dụng vào khai báo được biến cho 1 bài tốn cụ thể BÀI 6: PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN Biết, hiểu các khái niệm: Phép tốn, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ Hiểu lệnh gán Vận dụng được các phép tốn, biểu thực, câu lệnh gán để giải quyết 1 số bài tốn đơn giản BÀI 7. CÁC THỦ TỤC VÀO/RA CHUẨN Biết được ý nghĩa của các thủ tục vào/ ra chuẩn đối với lập trình Biết được các cấu trúc chung của thủ tục vào/ ra trong ngơn ngữ lập trình Pascal Viết được thủ tục đưa dữ liệu ra màn hình, nhập dữ liệu vào từ bàn phím để giải các bài tập trong pascal BÀI 8. SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH Biết và thực hiện được các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình trong pascal Biết được một số cơng cụ của mơi trường Pascal BÀI 9. CẤU TRÚC RẼ NHÁNH Biết nhu cầu cần có cấu trúc rẽ nhánh trong biểu diễn thuật tốn Hiểu câu lệnh rẽ nhánh ifthen (dạng thiếu và dạng đầy đủ) trong pascal Hiểu câu lệnh ghép Vận dụng được câu lệnh ifthen để diễn đạt các thao tác của thuật tốn có cấu trúc rẽ nhánh BÀI 10: CẤU TRÚC LẶP Biết, hiểu và vận dụng cấu trúc lặp để giải quyết 1 số bài tập cơ bản Bài 11: KIỂU MẢNG Biết mảng là gì, cách tham chiếu 1 phần tử của mảng Cách khai báo biến mảng, nhập xuất mảng 1 chiều Bài 12: KIỂU XÂU Biết cách khai báo và sử dụng kiểu xâu Hiểu và vận dụng được 1 số hàm, thủ tục của xâu 2. Một số dạng bài tập lí thuyết và tốn cần lưu ý a) Bài tốn kiểm tra tính chẵn lẻ của 1 số ngun dương b) Bài tốn tính tổng các số thỏa mãn điều kiện nào đó c) Bài tốn tính diện tích, chu vi các hình (Tam giác, vng, chữ nhật, trịn) 3. Một số bài tập minh họa hoặc đề minh họa: 3.1 Trắc nghiệm Câu 1: Với khai báo sau: Var m:array[1 10] of byte; Kiểu phần tử của mảng là kiểu gì A. Kiểu thực B. Kiểu xâu C. Kiểu nguyên D. Kiểu logic Câu 2: Với khai báo sau: Var m:array[1 10] of byte; Tên của mảng là? A. m B. Array C. Var D. Byte Câu 3: Với khai báo sau: Var m:array[1 10] of byte; Chỉ số đầu của mảng là? A. 1 B. 2 C. 3 D. 4 Câu 4: Câu 160: Với khai báo sau: Var m:array[1 10] of byte; Chỉ số cuối của mảng là : A. 11 B.10 C.12 D.1 Câu 5: Tham chiếu tới phần tử của mảng 1 chiều được xác định bởi tên mảng cùng chỉ số được viết trong cặp ngoặc nào? A. [ ] B. ( ) C. “ “ D.{ } Câu 6: Độ dài tối đa của xâu kí tự trong Pascal là: A. 255 B. 256 C. 0 D. Khơng giới hạn C. Chứa kí tự 0 D. Xâu ngắn Câu 7: Xâu kí tự có độ dài bằng 0 gọi là: A. Khơng tồn tại B. Xâu rỗng Câu 8: Kí tự đầu tiên trong xâu được đánh số là: A. 0 B. 1 C. Do người lập trình đặt D. Khơng quy định Câu 9: Cú pháp khai báo biến xâu là: A. Var :string[độ dài lớn nhất của xâu]; B. Var tên biến :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 tên biến :string(độ dài lớn nhất của xâu); Câu 10: Để khai báo biến xâu ta sử dụng tên dành riêng: A. Array B. String C. Type D. Const Câu 11: Thủ tục Delete(a,b,c) có nghĩa là: A. Xóa c kí tự của biến xâu a bắt đầu từ vị trí b B. Xóa a kí tự của biến xâu b bắt đầu từ vị trí c C. Xóa c kí tự của biến xâu b bắt đầu từ vị trí a D. Xóa a kí tự của biến xâu c bắt đầu từ vị trí b Câu 12: Hàm Copy(a,b,c) có nghĩa là: A. Tạo xâu gồm a kí tự liên tiếp bắt đầu từ vị trí b của xâu c B. Tạo xâu gồm b kí tự liên tiếp bắt đầu từ vị trí c của xâu a C. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí a của xâu b D. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí b của xâu a Câu 13: Thủ tục Insert(a,b,c) có nghĩa là: A. Chèn xâu c vào xâu b bắt đầu ở vị trí a B. Chèn xâu a vào xâu c bắt đầu ở vị trí b C. Chèn xâu a vào xâu b bắt đầu ở vị trí c D. Chèn xâu b vào xâu a bắt đầu ở vị trí c Câu 14: Khai báo nào sau đây sai? A. Var a:string[10]; B. A. Var a:string[100]; C. A. Var a:string; D. A. Var a:string(10); Câu 15: Cho xâu S:=’tinhoc’ muốn tham chiếu tới kí tự ‘c’ ta viết như thế nào? A. S[6]; B. S[1]; C. S[2] D.S[4]; Câu 16: Cho xâu S:=’tinhoc’ khi tham chiếu S[1] ta được kí tự nào A. ‘t’ B.’I’ C. ‘n’ Câu 17: Để sao chép xâu ta sử dụng hàm nào? A. Insert B. Copy D. Delete C. Pos Câu 18: Để tính độ dài ta sử dụng hàm nào? A. Insert B. Copy D. Length C. Pos Câu 19: Để nhập giá trị cho 2 biến a và b ta dùng lệnh : A. Write(a,b); B. Real(a,b); C. Readln(a,b); D. Read(‘a,b’); Câu 20: Cho x là biến thực đã được gán giá trị 10.41235. Để thực hiện lên màn hình nội dung “x=10.41” cần chọn câu lệnh nào sau đây ? A. Writeln(x); B. Writeln(‘x=’,x:5:2); C. Writeln(x:5:2); D. Writeln(x:5); Câu 21: Phần thân chương trình bắt đầu bằng ….và kết thúc bằng …? A. BEGIN…END B. BEGIN…END C. BEGIN…END, D. BEGIN…END; Câu 22: Cho hai dạng lặp FOR – DO trong PASCAL như sau : Dạng lặp tiến : FOR := TO DO ; Dạng lặp lùi : FOR := DOWNTO DO ; Chọn phát biểu sai trong các phát biểu đưới dây : A. Biến đếm là biến đơn, thường có kiểu ngun B. Với mỗi giá trị của biến đếm trong khoảng từ giá trị đầu đến giá trị cuối, câu lệnh sau DO được thực hiện một lần C. Phải có lệnh thay đổi biến đếm trong mỗi sau DO trong cấu trúc lặp này, vì giá trị của biến đếm không được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp D. Ở dạng lặp tiến câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối Câu 23: Cho hai dạng lặp FOR – DO trong PASCAL như sau : Dạng lặp tiến : FOR := TO DO ; Dạng lặp lùi : FOR := DOWNTO DO ; Chọn phát biểu đúng trong các phát biểu sau đây: A. Ở dạng lặp tiến câu lệnh sau DO ln được thực hiện ít nhất một lần B. Ở dạng lặp lùi câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối C. Ở dạng lặp lùi câu lệnh sau DO có thể khơng được thực hiện lần nào, đó là trường hợp giá trị cuối nhỏ hơn giá trị đầu D. Biểu thức giá trị đầu và biểu thức giá trị cuối có thể thuộc kiểu số thực Câu 24: Trong ngơn ngữ lập trình Pascal, về mặc cú pháp câu lệnh nào sau đây là đúng với cấu trúc lặp For có một lệnh con ? A. For i := 1 to 100 do a := a – 1 ; B. For i := 1 to 100 do; a := a – 1 ; C. For i := 1 to 100 do a := a – 1 D. For i := 1 ; to 100 do a := a – 1 ; Câu 25: : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? For i := 10 downto 1 do write(i, ‘ ’); A. 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1 C. Đưa ra 10 dấu cách D. Khơng đưa ra kết quả gì Câu 26: : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? For i := 10 to 1 do write(i, ‘ ’); A. 1 2 3 4 5 6 7 8 9 10 B. 10 9 8 7 6 5 4 3 2 1 C. Đưa ra 10 dấu cách D. Khơng đưa ra kết quả gì Câu 27: : _ i := 0 ; Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau thực hiện cơng việc gì ? while i 0 do write(i, ‘ ’) ; A. Đưa ra màn hình 10 chữ số 0 ; B. Khơng đưa ra thơng tin gì; C. Lặp vơ hạn việc đưa ra màn hình số 0 ; D. Đưa ra màn hình một chữ số 0 ; Câu 139: : _ Trong ngơn ngữ lập trình Pascal, đoạn chương trình sau thực hiện cơng việc gì ? T := 0 ; For i := 1 to N do If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ; A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N ; B. Tính tổng các ước thực sự của N ; C. Tính tổng các số chia hết cho cả 3 và 5 trong phạm vi từ 1 đến N ; D. Tìm một ước số của số N ; Câu 28: Mảng 1 chiều là gì A. Là một tập hợp các số ngun; B. Độ dài tối đa của mảng là 255; C. Là một dãy hữu hạn các phần tử cùng kiểu; D. Mảng khơng thể chứa kí tự; Câu 29: Hãy chọn phương án ghép Để khai báo số phần tử mảng PASCAL, người lập trình cần A. khai báo một hằng số là số phần tử của mảng; B. khai báo chỉ số bắt đầu và kết thúc của mảng; C. khai báo chỉ số kết thúc của mảng; D. khơng cần khai báo gì, hệ thống sẽ tự xác định; Câu 30: Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất ? A. Dùng để truy cập đến một phần tử bất kì trong mảng; B. Dùng để quản lí kích thước của mảng; C. Dùng trong vịng lặp với mảng; D. Dùng trong vịng lặp với mảng để quản lí kích thước của mảng; Câu 31: Phát biểu nào sau đây về mảng là khơng chính xác ? A. Chỉ số của mảng khơng nhất thiết bắt đầu từ 1; B. Có thể xây dựng mảng nhiều chiều; C. Xâu kí tự cũng có thể xem như là một loại mảng; D. Độ dài tối đa của mảng là 255; Câu 32: Thế nào là khai báo biến mảng gián tiếp ? A. Khai báo mảng của các bản ghi; B. Khai báo mảng xâu kí tự; C. Khai báo mảng hai chiều; D. Khai báo thơng qua kiểu mảng đã có; Câu 33: Phương án nào dưới đây là khai báo mảng hợp lệ ? A. mang : ARRAY[0 10] OF INTEGER; B. mang : ARRAY[0 10] : INTEGER; C. mang : INTEGER OF ARRAY[0 10]; D. mang : ARRAY(0 10) : INTEGER; Câu 34: Để mơ tả mảng 1 chiều cần xác định? A. Kiểu của các phần tử B. Cách đánh số các phần tử C. Số lượng các phần tử D. Kiểu của các phần tử và cách đánh số các phần tử của nó Câu 35: Cú pháp khai báo mảng trực tiếp A. Var :array [kiểu chỉ số] of ; B. Var :array [kiểu phần tử] of ; C. Var =array [kiểu chỉ số] of ; D. Var :array [kiểu chỉ số] = ; Câu 36: Cú pháp khai báo mảng gián tiếp A. Type = array [kiểu chỉ số] of ; var :; B. Type = array [kiểu chỉ số] of ; var :; C. Type : array [kiểu chỉ số] of ; var :; D. Type = array [kiểu chỉ số] of ; var :; Câu 37: Trong khai báo mảng thì kiểu phần tử là gì? A. Kiểu của các phần tử mảng B. Kiểu của các phần tử xâu C. Kiểu của các phần tử tệp D. Kiểu dữ liệu ngun Câu 38: Cú pháp tham chiếu tới 1 phần tử nào đó của mảng là? A. Tên mảng B. Tên mảng[chỉ số]; C. Var[chỉ số]; D. Tên mảng ; Câu : Khai báo mảng nào sau đây là đúng? A. Var a =array[1 100] of integer; B. Var a : array[1 100] of integer; C. Var a / array[1 100] of integer; D. Var a : array[1 100] of integer; 3.2 Tự luận Câu 1. Mảng 1 chiều là gì. Nêu cách khai báo biến mảng 1 chiều Câu 2. Viết chương trình tính tổng các giá trị là bội của 3 trong phạm vi từ 1 đến N (Số ngun dương N được nhập vào từ bàn phím) Câu 3. Viết chương trình kiểm tra tính chẵn lẻ của số ngun N Câu 4: viết chương trình nhập vào 4 số thực a, b, c, d. đưa ra màn hình số có giá trị nhỏ nhật và số có giá trị lớn nhất Câu 5; Viết chương trình nhập vào 1 mảng A có n số ngun. Tính tổng các số chẵn trong mảng a? ... 3. Một số b? ?i? ?tập minh họa hoặc đề minh họa: 3. 1 Trắc nghiệm Câu 1: V? ?i? ?khai báo sau: Var m:array[1 10] of byte;? ?Ki? ??u phần tử của mảng là? ?ki? ??u gì A.? ?Ki? ??u thực B.? ?Ki? ??u xâu C.? ?Ki? ??u nguyên D.? ?Ki? ??u logic... C. Var =array [ki? ??u chỉ số] of ; D. Var :array [ki? ??u chỉ số] = ; Câu? ?36 : Cú pháp khai báo mảng gián tiếp A. Type = array [ki? ??u chỉ số] of ;... var :; B. Type = array [ki? ??u chỉ số] of ; var :; C. Type : array [ki? ??u chỉ số] of ;