ĐỀ CƯƠNG ÔN TẬP HỌC KỲ II MÔN: TIN HỌC. KHỐI: 11. NĂM HỌC 2015 - 2016 *MỤC ĐÍCH – YÊU CẦU: Củng cố các kiến thức cơ bản về lập trình Pascal. Học sinh nắm được các khái niệm cơ bản về lập trình. Viết được các chương trình cơ bản. Rèn luyện tư duy về lập trình một cách logic và có hệ thống. Làm nền tảng cho học sinh thông hiểu và vận dụng học tốt hơn về các chuyên ngành lập trình viên, công nghệ thông tin. *NỘI DUNG ÔN TẬP: ÄPHẦN LÝ THUYẾT: F Học sinh cần nắm được ý nghĩa và ứng dụng thực tế của lập trình – cụ thể nắm được: Biết các khái niệm cơ bản về lập trình. Biết sử dụng phần mềm Free Pascal (khởi động chương trình, tạo tệp mới, lưu và mở tệp). Biết một số kiểu dữ liệu chuẩn. Biết cách khai báo biến. Biết các khái niệm phép toán, biểu thức, câu lệnh gán. Biết các thủ tục vào/ra chuẩn. Viết được chương trình có thực hiện các tính toán đơn giản. Biết cấu trúc if-then. Viết được chương trình có sử dụng if-then. Biết cấu trúc for-do và while-do. Viết được chương trình có sử dụng for-do và while-do. Nắm khái niệm mảng 1 chiều, biết cách khai báo và truy cập đến các phần tử của mảng. Viết được một số chương trình đơn giản có sử dụng kiểu dữ liệu mảng. Nắm khái niệm xâu, biết cách khai báo và truy cập đến các phần tử của xâu. Biết một số hàm và thủ tục xử lý xâu. Viết được một số chương trình xử lý xâu cơ bản. Nắm khái niệm về tệp, các thủ tục, hàm chuẩn khi làm việc với tệp. Biết khái niệm chương trình con. Viết được chương trình con đơn giản. ÄPHẦN MỘT SỐ CÂU HỎI ÔN TẬP TRẮC NGHIỆM THAM KHẢO: Trong Turbo Pascal, để lưu chương trình ta dùng phím. A. Nhấn F2 B. Shift + F2 C. Ctrl+F2 D. Alt + F2 Trong ngôn ngữ lập trình Pascal, từ khóa VAR dùng để? A. Khai báo hằng B. Khai báo thư viện C. Khai báo biến D. Khai báo tên chương trình Trong ngôn ngữ lập trình Pascal, từ khoá PROGRAM dùng để A. khai báo biến. B. khai báo tên chương trình. C. khai báo thư viện. D. khai báo hằng. Trong ngôn ngữ lập trình Pascal, từ khoá CONST dùng để A. khai báo tên chương trình. B. khai báo hằng. C. khai báo biến. D. khai báo thư viện. Trong ngôn ngữ lập trình Pascal, từ khoá USES dùng để A. Khai báo tên chương trình. B. Khai báo hằng. C. Khai báo biến. D. Khai báo thư viện. Trong Pascal, để nhập dữ liệu từ bàn phím ta sử dụng thủ tục: A. read(); B. readln(); C. readlnn(); D. Cả A và B đều đúng. Trong Turbo Pascal, để thực hiện chương trình: A. Nhấn tổ hợp phím Shift + F9; B. Nhấn tổ hợp phím Ctrl + F9; C. Nhấn tổ hợp phím Ctrl + F7; D. Nhấn tổ hợp phím Alt + F9; Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục: A. writeln(); B. Rewrite(); C. write() D. Cả A, B và C đều đúng. Trong Pascal, cú pháp để khai báo biến là: A. Var =; B. Var :; C. : kiểu dữ liệu; D. Var ; Trong NN lập trình Pascal, phép toán MOD với số nguyên có tác dụng gì A. Chia lấy phần nguyên B. Chia lấy phần dư C. Làm tròn số D. Thực hiện phép chia Trong NN lập trình Pascal, phép toán DIV với số nguyên có tác dụng gì A. Chia lấy phần nguyên B. Chia lấy phần dư C. Làm tròn số D. Thực hiện phép chia Trong Pascal, biểu thức (45 mod 5) bằng: A. 9 B. 1 C. 5 D. 0 Trong Pascal, biểu thức (74 div 10) bằng: A. 4 B. 5 C. 7 D. 6 Xác định giá trị của biểu thức: S = (35 div 10) + (15 mod 10) div 10 A. S = 9; B. S = 7; C. S = 8; D. S = 10. Cho biểu thức trong Pascal là sqrt(sqr(x)+1). Biểu thức tương ứng trong Toán học là: A. B. C. D. Cho biểu thức dạng toán học sau: ; hãy chọn dạng biểu diễn tương ứng trong Pascal: A. (sqrt(2*x+1)-3)/(x-4) B. sqrt(2*x+1)-3/(x-4) C. (sqr(2*x+1)-3)/(x-4) D. sqr(2*x+1)-3/x-4 Để đưa thông tin ra màn hình ta sử dụng thủ tục nào? A. Read B. Real C. Readln D. Writeln Để nhập dữ liệu vào từ bàn phím cho 2 biến a,b ta dung lệnh? A. Writeln(a,b); B. Readln(a,b); C. Write(a;b); D. Readln(a;b); Đâu là câu lệnh gán đúng? A. X:Y; B. X=Y; C. X=:Y; D. X:=Y; Biểu thức (27 mod 5) div 2 có kết quả là mấy? A. 5 B. 3 C. 2 D. 4 Kết quả của biểu thức sqr((abs(12-19) mod 4) ) là? A. 1 B. 3 C. 9 D. 4 Làm cho giá trị bằng bình phương của x là A. sqrt(x); B. sqr(x); C. abs(x); D. exp(x); Xét biểu thức lôgic: (n >0) and (n mod 2 = 0). Khẳng định nào sau đây là đúng? A. Kiểm tra n có chia hết cho 2 không B. Kiểm tra xem n có là một số dương không C. Kiểm tra xem n có là số dương chẵn không D. Kiểm tra n là một số nguyên chẵn không Cho biểu thức: (38 mod 3) + 1 Giá trị của biẻu thức là: A. 4 B. 3 C. 2 D. 1 Trong Turbo Pascal, hàm nào dưới đây biểu diễn giá trị tuyệt đối. A. sqrt() B. sqr() C. abs() D.ln() Cho biểu thức: sqrt((10 div 2)-1) Giá trị của biểu thức là: A. 3 B. 5 C. 2 D. 4 Biểu thức được diễn tả trong pascal là A. sqrt(sqr(x)+2)-x B.sqr(sqrt(x)+2)-x C.(sqrt(x*x)+2)-x D.sqr(x*x+2)-x Kết quả của biểu thức sqr(abs(25-30) mod 3) trả về kết quả là A. 1 B. 2 C. 6 D. 4 Cho biểu thức (a mod 2 = 0) and (a mod 3 = 0). Giá trị của a là A. 18 B. 14 C. 15 D. 21 Trong NNLT Pascal, biểu thức (50 mod 3) + sqrt(9) có giá trị là A. 6 B. 5 C. 9 D. 3 Phát biểu nào dưới đây về kiểu mảng là phù hợp ? A. Là một tập hợp các số nguyên; 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ự; 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; 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; Cho khai báo sau : a : array[0..16] of integer ; Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên ? A. for k := 1 to 16 do write(a[k]); B. for k := 16 downto 0 do write(a[k]); C. for k:= 0 to 15 do write(a[k]); D. for k := 16 down to 0 write(a[k]); Var a:array[0..50] of real; k := 0 ; for i := 1 to 50 do if a[i] > a[k] then k := i ; Cho khai báo mảng và đoạn chương trình như sau: Đoạn chương trình trên thực hiện công việc gì dưới đây ? A. Tìm phần tử nhỏ nhất trong mảng; B. Tìm phần tử lớn nhất trong mảng; C. Tìm chỉ số của phần tử lớn nhất trong mảng; D. Tìm chỉ số của phần tử nhỏ nhất trong mảng; Cho khai báo mảng như sau : Var m : array[0..10] of integer ; Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ? A. a[10]; B. a(10); C. a[9]; D. a(9); Hãy chọn phương án ghép đúng. Độ dài tối đa của xâu kí tự trong PASCAL là A. 256; B. 255; C. 65535; D. Tùy ý; Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là A. 12; B. 13 C. 14 D. 15 Hãy chọn phương án ghép đúng nhất. Thủ tục chuẩn Insert(S1,S2,vt) thực hiện A. chèn xâu S1 vào S2 bắt đầu từ vị trí vt ; B. chèn xâu S2 vào S1 bắt đầu từ vị trí vt ; C. nối xâu S2 vào S1; D. sao chép vào cuối S1 một phần của S2 từ vị trí vt ; Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ? for i := length(str) downto 1 do write(str[i]) ; A. In xâu ra màn hình; B. In từng kí tự xâu ra màn hình; C. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên; D. In từng kí tự ra màn hình theo thứ tự ngược; Hãy chọn phương án ghép đúng nhất. Kiểu dữ liệu có cấu trúc A. là kiểu dữ liệu chuẩn do mỗi ngôn ngữ lập trình cho sẵn, người lập trình chỉ cần khai báo nhờ các tên chuẩn; B. là kiểu dữ liệu do người lập trình xây dựng từ những kiểu dữ liệu đã có; C. trong mỗi ngôn ngữ lập trình đều có cách thức xây dựng giống nhau; D. trong ngôn ngữ lập trình bậc cao chỉ là kiểu mảng, bản ghi và xâu; Biểu thức quan hệ nào dưới đây cho giá trị TRUE ? A. “MOOR” < “LOOK”; B. “MATHEMATIC” < “LOOK”; C. “AB123CD” < “ ”; D. “MOOR” < “MOORK”; Biểu thức quan hệ nào dưới đây cho giá trị FALSE? A. “MOOR” < “LOOK”; B. “MOOR” < “MOORK”; C. “AB123CD” < “ABCDAB”; D. “ABCDOR” < “ABDOR”; Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng ? A. Type 1chieu=array[1..100] of char; B. Type mang=array[1-100] of char; C. Type mang1c=array(1..100) of char; D. Type mang1c=array[1..100] of char; Trong ngôn ngữ lập trình Pascal, xâu kí tự là ? A. Mảng các ký tự; B. Dãy các kí tự trong bảng mã ASCII; C. Tập hợp các chữ cái trong bảng chữ cái tiếng Anh; D. Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng Anh; Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng? A. S := file of string ; B. S : file of char ; C. S : string; D. Cả 3 câu đều đúng ; Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ? A. Xâu không; B. Xâu rỗng; C. Xâu trắng; D. Không phải là xâu kí tự; Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là sai khi khai báo xâu kí tự ? A. S : string; B. X1 : string[100]; C. S : string[256]; . D. X1 : string[1]; Trong ngôn ngữ lập trình Pascal, thủ tục Delete(c, a, b) thực hiện công việc gì trong các việc sau? A. Xóa trong xâu kí tự c, xóa a kí tự bắt đầu từ vị trí b; B. Xóa trong xâu a, xóa b kí tự từ vị trí c; C. Xóa trong xâu c, xóa b kí tự bắt đầu từ vị trí a; D. Xóa trong xâu b, xóa c kí tự bắt đầu từ vị trí a; Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên ? A. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải B. Độ dài tối đa của hai xâu C. Độ dài thực sự của hai xâu D. Số lượng các kí tự khác nhau trong xâu Trong ngôn ngữ lập trình Pascal, hàm Upcase(ch) cho kết quả là: A. Chữ cái in hoa tương ứng với ch B. Xâu ch gồm toàn chữ hoa C. Xâu ch toàn chữ thường D. Biến ch thành chữ thường 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ì ? X := length(S) ; For i := X downto 1 do If S[i] = ‘ ’ then Delete(S, i, 1) ; { ‘ ’ là một dấu cách } A. Xóa dấu cách đầu tiên trong xâu ký tự S B. Xóa dấu cách thừa trong xâu ký tự S C. Xóa dấu cách tại vị trí cuối cùng của xâu S D. Xóa mọi dấu cách của xâu S Trong ngôn ngữ lập trình Pascal, để xóa đi ký tự đầu tiên của xâu ký tự S ta viết : A. Delete(S,1,1); B. Delete(S,i,1); { i là biến có giá trị bất kỳ } C. Delete(S,length(S),1); D. Delete(S,1,i); { i là biến có giá trị bất kỳ } Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các ký tự trong xâu (vd : abcd thi in ra là dcba), đoạn chương nào sau đây thực hiện việc gì ? A. For i := 1 to length(S) do write(S[i]) B. For i := length(S) downto 1 do write(S[i]) C. For i := length(S) downto 1 do write(S) D. For i := 1 to length(S) div 2 do write(S[i]) 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ì? d := 0 ; For i := 1 to length(S) do if S[i] = ‘ ’ then d := d + 1 ; A. Xóa đi các dấu cách trong xâu; B. Đếm số ký tự có trong xâu; C. Đếm số dấu cách có trong xâu; D. Xóa đi các ký tự số; Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Pos(‘Vietnam’,S) là A. 5; B. 6; C. 7; D. 8; Cho xâu S1 là ‘Truong THPT Thoi Long’. Kết quả của hàm length(S1) là: A. 19; B. 20; C. 21; D. 22; Trong ngôn ngữ lập trình Pascal, sau khi chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là ? S := ‘Ha Noi Mua thu’; Delete(S,7,8); Insert(‘Mua thu ’, S, 1); A. Ha Noi Mua Thu; B. Mua Thu Ha Noi Mua Thu; C. Mua Thu Ha Noi; D. Ha Noi; Đoạn chương tình sau in ra kết quả nào sau đây? Program Welcome ; Var a : string[10]; Begin a := ‘tinhoc11’; writeln(length(a)); End. A. 7; B. 8; C. 9; D. 10; Trong ngôn ngữ lập trình Pascal, thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết là: A. Insert(vt,S1,S2); B. Insert(S1,S2,vt); C. Insert(S1,vt,S2); D. Insert(S2,S1,vt); ----------------------------------------------------------------- Giáo viên biên soạn HÀ VĂN QUÁ Duyệt của Tổ Trưởng Chuyên Môn Duyệt của Lãnh đạo trường .
Tài liệu đính kèm: