Đề cương ôn tập học kì I môn Tin học Lớp 11 - Bài 1 đến 9

docx 15 trang Venus 23/10/2025 1700
Bạn đang xem tài liệu "Đề cương ôn tập học kì I môn Tin học Lớp 11 - Bài 1 đến 9", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • docxde_cuong_on_tap_hoc_ki_i_mon_tin_hoc_lop_11_bai_1_den_9.docx

Nội dung tài liệu: Đề cương ôn tập học kì I môn Tin học Lớp 11 - Bài 1 đến 9

  1. ÔN TẬP HỌC KỲ I - Nội dung ôn tập từ tuần 1 đến tuần 16 gồm bài 1 – 9 + các bài thực hành 1 và 2 - Lưu ý các nội dung ôn tập: * Bài 1 - Khái niệm lập trình - Khái niệm chương trình dịch và các loại * Bài 2 - Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp, ngữ nghĩa. - Khái niệm tên và các loại - Hằng và biến * Bài 3 - Cấu trúc của chương trình - Các thành phần của chương trình * Bài 4: Một số kiểu dữ liệu: Nguyên, thực, loogic, kí tự * Bài 5: Cú pháp khai báo biến * Bài 6 - Các phép toán - Các biểu thức: Số học, quan hệ, lôgic - Hàm số học chuẩn - Câu lệnh gán * Bài 7: Các thủ tục nhập và xuất dữ liệu * Bài 8 + TH1: Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình * Bài 9 + TH2 - Câu lệnh If - Then - Câu lệnh ghép CÂU HỎI TRẮC NGHIỆM BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Biết: BCâu 1: Chương trình dịch không có khả năng nào sau đây? A. Phát hiện lỗi cú pháp. B. Phát hiện lỗi ngữ nghĩa. C. Tạo chương trình đích. D. Thông báo lỗi cú pháp. BCâu 2: Chương trình dịch là: A. Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy. B. Chương trình dịch ngôn ngữ máy ra ngôn ngữ tự nhiên. C. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính cụ thể. D. Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ máy thành ngôn ngữ bậc cao. BCâu 3: Chương trình viết bằng ngôn ngữ bậc cao có ưu điểm: A. Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng ngôn ngữ máy. B. Viết dài và mất nhiều thời gian hơn so với chương trình viết bằng ngôn ngữ máy. C. Khai thác được tối đa các khả năng của máy. D. Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp, ít phụ thuộc vào loại máy. BÀI 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Hiểu: HCâu 1: Trong Pascal, những tên do người lập trình đặt nào sau đây là hợp lệ: 1
  2. A. Baitap1(a) B. BAI TOAN C. ‘Chu_vi’ D. _1 HCâu 2: Ghép mỗi câu ở cột 1 với một câu thích hợp ở cột 2 trong bảng sau: Cột 1 Cột 2 (1) Hằng số học (A) ‘xin chao’ (2) Hằng logic (B) 3.5 (3) Hằng xâu (C) True A. 1A, 2B, 3C B. 1B, 2C, 3A C. 1C, 2A, 3B D. 1B, 2A, 3C HCâu 3: Ghép mỗi câu ở cột 1 với một câu thích hợp ở cột 2 trong bảng sau: Cột 1 Cột 2 (1) Biên dịch (A) là các đại lượng có giá trị không đổi trong quá trình thực hiện chương trình. (2) Thông dịch (B) dịch và thực hiện từng câu lệnh, nếu còn câu lệnh tiếp theo thì quá trình này còn tiếp tục. (3) Chương (C) là những đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được trình viết trên thay đổi trong quá trình thực hiện chương trình. ngôn ngữ lập trình bậc cao (4) Biến (D) dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết. (5) Hằng (E) phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được. A. 1-D, 2-B, 3-C, 4-A, 5-E; B. 1-D, 2-B, 3-E, 4-C, 5-A; C. 1-A, 2-D, 3-E, 4-C, 5-B; D. 1-A, 2-D, 3-C, 4-A, 5-E; HCâu 4: Trong Pascal, hằng và biến khác nhau cơ bản như thế nào? Hãy chọn phương án đúng nhất? A. Hằng không cần khai báo còn biến phải khai báo. B. Hằng và biến bắt buộc phải khai báo. C. Hằng là đại lượng mà giá trị không thể thay đổi được trong quá trình thực hiện chương trình, biến là đại lượng mà giá trị của chúng có thể thay đổi được trong chương trình. D. Hằng và biến là hai đại lượng mà giá trị đều có thể thay đổi được trong quá trình thực hiện chương trình. HCâu 5: Hãy chọn khẳng định sai trong các khẳng định sau? A. Trong pascal, tên được phân biệt thành: tên dành riêng, tên chuẩn, tên do người lập trình đặt. B. Trong pascal, tên do người lập trình đặt gồm chữ cái, chữ số hoặc dấu gạch dưới. C. Trong pascal, có 3 loại hằng: hằng số học, hằng logic, hằng xâu. D. Trong pascal, tên do người lập trình đặt được trùng với tên dành riêng. Biết: BCâu 6: Trong những biểu diễn dưới đây, biểu diễn nào là từ khóa (tên dành riêng) trong Pascal: A. Program B. Real C. Vi_du D. abs BCâu 7: Các thành phần cơ bản của ngôn ngữ lập trình là: A. Hằng, biến, bảng chữ cái. B. Bảng chữ cái, cú pháp, ngữ nghĩa. C. Bảng chữ cái, cú pháp, biến. D. Bảng chữ cái, ngữ nghĩa, biến. BCâu 8: Trong Pascal, tên nào sau đây không là tên chuẩn: A. HoTen B. Integer C. Char D. Boolean 2
  3. BÀI 3: CẤU TRÚC CHƯƠNG TRÌNH Hiểu: HCâu 1: Chương trình Pascal nào dưới đây là hợp lệ: A. Chương trình 1: B. Chương trình 2: C. Chương trình 3: D. Chương trình 4: Begin Begin Begin Program bai tap; End. Program b6; Writeln(“xin chao cac ban”); Begin End. End. End. HCâu 2: Trong ngôn ngữ lập trình Pascal, khẳng định nào sau đây là sai: A. Phần tên chương trình không nhất thiết phải có. B. Phần khai báo có thể có hoặc không. C. Phần thân chương trình có thể có hoặc không. D. Phần thân chương trình nhất thiết phải có. HCâu 3: Chương trình Pascal nào dưới đây là hợp lệ khi thực hiện 2 công việc là: + Xóa màn hình + In lên màn hình dòng thông báo: Xin chao A. uses crt; B. usescrt; C. Begin D. uses crt; Begin Begin Clrscr; Begin Clrscr; Clrscr; writeln(‘Xin chào); Clrscr writeln(‘Xin chao’); writeln(‘Xin chao’); End. writeln(‘Xin chao’); End. End. End A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D HCâu 4: Khai báo tên chương trình nào sau đây là hợp lệ: A. Progam Vidu; B. Program Vi du; C. Program Vidu; D. ProgramVi-du; HCâu 5: Trong pascal để khai báo hằng g có giá trị là 9,8m/s2 thì khai báo nào sau đây là đúng: 2 A. Const g= 9,8; B. Const g= 9.8m/s ; C. Cont= 9.8 ; D. Const g = 9.8 ; HCâu 6: Chương trình Pascal dưới đây có mấy lỗi? Program vi-du; BEGIN; Clrscr; writeln(‘Chuc ban thanh cong !’) END A. 2 B. 3 C. 4 D. 5 Biết: BCâu 7: Khai báo nào sau đây là khai báo thư viện? A. program baitap_1; B. uses crt; C. const pi = 3.14; D. var cv, s: real; BCâu 8: Trong Pascal, cấu trúc của khai báo hằng : A. Const = ; B. Const = C. Const = ; D. Const = . BCâu 9: Trong Pascal, cấu trúc của khai báo tên chương trình? A. Program ; B. Program C. Program, D. Program . BCâu 10: Trong Pascal, phần thân gồm: A. Begin B. Begin; C. Begin D. Begin [ ] [ ] [ ] [ ] End. End. End End; 3
  4. BCâu 11: Khai báo hằng thường được sử dụng cho những giá trị xuất hiện mấy lần: A. 1 lần trong chương trình. B. 2 lần trong chương trình. C. 3 lần trong chương trình. D. Nhiều lần trong chương trình. BCâu 12: Trong ngôn ngữ lập trình Pascal, cấu trúc của khai báo thư viện : A. Uses, ; B. Uses; C. Uses ; D. Uses BÀI 4, 5: MỘT SỐ KIỂU DỮ LIỆU CHUẨN VÀ KHAI BÁO BIẾN Vận dụng: Câu 1: Tìm nghiệm của phương trình bậc hai: ax 2 + bx + c = 0 ( a ≠ 0 ), ta viết khai báo các biến như sau: A. Var a, b, c, delta, x1, x2: real; B. Var a, b, c, delta, x1, x2: char; C. Var a, b, c, delta, x1, x2: integer; D. Var a,b,c:integer; delta, x1, x2: real; Câu 2: Trong bài toán giải phương trình bậc nhất: ax + b = 0, có thể chọn đặt tên các biến tương ứng cho các đại lượng: hệ số của x, hệ số tự do, nghiệm (nếu có) là x là: A. a, b, x B. hs_a, hs_b, nghiem_x C. heso_x, heso_tudo, nghiem D. hs1, hs2, n VdCâu 3: Để tính diện tích hình tròn với đường kính là một số nguyên. Khai báo nào trong các khai báo sau là đúng? A. Var R: integer; B. Var R: byte; C. Var R, DT: real; D. Var R,DT: integer; DT: real; DT: real; A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCâu 4: Cho khai báo sau: Var P: real; S: integer; V: real; K: byte; F: integer; G: byte; Chọn lại cách khai báo cho hợp lí nhất. A. Var P: real; S: integer; B. Var P: real; V: real; C. Var P, V: real; D. Var P, V: real; V: real; K: byte; S: integer; F: integer; S, F: integer; Var S, F: integer; F: integer; G: byte; K: byte; G: byte; K, G: byte; Var K, G: byte; A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VdCâu 5: Trong Pascal, giá trị của 0.123E+03 là gì? A. 123 B. 0.123 C. 123.0 D. Không có giá trị VDCâu 6. Bạn Minh lớp 11A vừa viết xong đoạn chương trình tính diện tích của hình hình chữ nhật, với chiều dài là cd, chiều rộng là cr được nhập từ bàn phím. Nhưng các bạn trong lớp nói chương trình viết có lỗi chưa chạy được. Em hãy cho biết chương trình có mấy lỗi? Program dt-hcn; VarS,cd,cr : real; BEGIN. Writeln(‘ Nhap chieu dai: ’); Readln(cd); Writeln(‘ Nhap chieu rong ’); Readln(cr); S:=(cd+cr)*2; Writeln(‘dien tich la:’, S:5:1); Readln; END. A. 3 B. 4 C. 5 D. 6 Hiểu: HCâu 7: Để khai báo số có giá trị là 1.5, ta khai báo kiểu dữ liệu nào thích hợp nhất? A. Byte B. Integer C. Real D. Longint 4
  5. HCâu 8: Hãy chọn khai báo đúng, khi khai báo a, b, c có kiểu dữ liệu là số thực: A. Var a, b, c; real; B. Var a, b, c: real. C. Var a, b, c: real; D. Var a, b, c: real HCâu 9: Cho 2 số nguyên a,b. Hãy lập trình tính thương T của a,b. Hãy chọn khai báo biến hợp lí nhất? A. Var a,b,T: real; B. Var a,b: real; T: integer; C. Var a,b: integer; T: real; D. Var a,b,T: integer; Biết: BCâu 10: Trong ngôn ngữ lập trình Pascal, từ khóa var dùng để: A. Khai báo thư viện. B. Khai báo tên chương trình. C. Khai báo biến. D. Khai báo hằng. BCâu 11: Cú pháp để khai báo biến: A. Var : ; B. Var : [ ]; C. Var [ ]: ; D. Var ; BCâu 12: Để khai báo biến E là dữ liệu kiểu lôgic cách khai báo nào sau đây là đúng? A. Var E: real; B. Var E: char; C. Var E: integer; D. Var E: boolean; BCâu 13: Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất? A. Byte B. Integer C. Word D. Longint BCâu 14: Chọn đáp án sai trong các khẳng định sau: A. Để ngăn cách các biến trong danh sách biến khi khai báo ta sử dụng dấu chấm phẩy (;). B. Mọi biến trong chương trình đều phải được khai báo tên và kiểu dữ liệu. C. Trong chương trình, hai biến có thể được khai báo hai kiểu dữ liệu khác nhau. D. Trong 1 chương trình hai biến khác nhau phải có tên khác nhau. BCâu 15: Chọn đáp án đúng trong các đáp án sau: A. Trong cùng 1 phần khai báo biến, một biến có thể khai báo hai kiểu dữ liệu khác nhau. B. Không nên đặt tên biến quá ngắn hoặc quá dài, dễ mắc lỗi khi viết nhiều lần tên biến. C. Khi đặt tên biến không cần quan tâm đến ý nghĩa của biến mà đặt tên phụ thuộc vào ý thích của người lập trình. D. Khi khai báo biến không cần quan tâm đến phạm vi giá trị của nó. BÀI 6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN Vận dụng: VDCâu 1: Tính chu vi (cv) và diện tích (S) của hình chữ nhật. Biết chiều dài a = 12, chiều rộng b = 8. Hãy chọn đáp án đúng nhất khi sử dụng NNLT Pascal để khai báo và tính chu vi, diện tích hình chữ nhật? A. Var a, b, cv, S: byte; B. Var a, b, cv, S: byte; C. Var a, b, cv, S: byte; D. Var a, b, cv, S: byte; Begin Begin Begin Begin a:=12; b:=8; a=12; b=8; a:=12; b:=8; a:=12. b:=8. cv:=(a+b)*2; cv:=(a+b)*2; cv=(a+b)*2; cv:=(a+b)*2. S:=a*b; S:=a*b; S=a*b; S:=a*b. End. End. End. End. A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCâu 2: Cho đoạn chương trình sau: Var x, y: integer; BEGIN x := 4; 5
  6. y := 23 div x; END. Sau khi thực hiện thì y có kết quả là: A. y= 3; B. y= 4; C. y= 4.6; D. 5; VDCâu 3: Cho x, y là số nguyên. Xác định đồng thời x, y chia hết cho 10 hoặc đồng thời không chia hết cho 10 được thể hiện trong Pascal như sau: A. ( (x mod 10=0) and (y mod 10=0)) or ((x mod 10 0)) B. ( x mod 10=0 and y mod 10=0) or (x mod 10 0)) C. ( (x mod 10=0) , (y mod 10=0)) or ((x mod 10 0)) D. ( (x mod 10=0) and (y mod 10=0)) , ((x mod 10 0)) VDCâu 4: a) Xét biểu thức sau: (9x < 80) and (x <=10). Biểu thức cho kết quả True khi x bằng A. 10 B. 11 C. 9 D. 8 b) Cho biểu thức: not(x 10)). x nhận những giá trị nào? A. 6, 7, 8, 9, 10 B. 5, 6, 7, 8, 9 C. 5, 6, 7, 8, 9, 10 D. 6, 7, 8, 9 Hiểu: HCâu 5: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là sai? A. x:=12,5; B. c:= pi*12; C. b:= (a=5) or (c=7); D. a:=3.12; HCâu 6: Chọn câu lệnh gán sai trong các câu sau: A. i:=i+1; B. delta:=b*b-4*a*c; C. Tiep:=’C’; D. x+y:=5; HCâu 7: Điều kiện 10<x<15, trong Pascal được tách ra như thế nào? A. (10<x) Or (x<15) B. (10<x) And (x<15) C. (10<x) Not (x<15) D. (10<x And x<15); HCâu 8: Cho câu lệnh: y := (((x + 2)*x + 3)*x + 4)*x + 5; Câu lệnh trên là biểu thức nào trong số các biểu thức sau? A. y = x + 2x + 3x + 4x + 5 B. y = (x + 2)(x + 3)(x + 4)(x + 5) C. y = x4 + 2x3 + 3x + 4x + 5 D. y = x4 + 2x3 + 3x2 + 4x + 5 Biết: BCâu 9: Biểu thức quan hệ có dạng: A. ; B. , C. D. , ; BCâu 10: Câu lệnh gán có dạng: A. := B. := ; C. = D. = ; BCâu 11: a) Trong Pascal, hãy chỉ ra biểu thức số học trong các biểu thức dưới đây: A. a+b 0) and (b>0) C. (a+b) / (2*a) D. (a+b) / (2a) b) Trong Pascal, hãy chỉ ra biểu thức logic trong các biểu thức dưới đây: A. a+b 0) and (b>0) C. (a+b) / (2*a) D.4a+5b>0 c) Trong Pascal, hãy chỉ ra biểu thức quan hệ trong các biểu thức dưới đây: A. a+b 0) and (b>0) C. (a+b) / (2*a) D. ab / 2a 6
  7. BÀI 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN Vận dụng cao: VDCCâu 1: Giả sử I là biến nguyên, S là biến thực, xét đoạn chương trình sau có mấy lỗi? Var I: integer; S: real; BEGIN Writeln(‘Nhap I,S:’); Readln(I,S); T =I*S; Writeln(‘Tich la, T:4) Readln END. A. 2 B. 3 C. 4 D. 5 VDCCâu 2: Chọn chương trình tính tổng 2 số nguyên a và b, đúng nhất: A. B. Program tinhtong; Program tinhtong; Var a,b: integer; Var S,a,b: integer; BEGIN BEGIN Writeln(‘Nhap a, b:’); Writeln(‘Nhap a, b:’); Readln(a,b); Readln(a,b); S:=a+b; S=a+b; Writeln(‘Tong la:’, S:4); Writeln(‘Tong la:’, S:4); Readln; Readln; END. END. C. D. Program tinhtong; Program tinhtong; Var S,a,b: integer; Var S,a,b: integer; BEGIN BEGIN Writeln(‘Nhap a, b:’); Writeln(‘Nhap a, b:’); Readln(a,b); Readln(a,b); S:=a+b; S:=a+b Writeln(‘Tong la:’, S:4); Writeln(‘Tong la:’, S:4); Readln; Readln; END. END. A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCCâu 3: Viết chương trình cho phép nhập vào “số Dollar rồi đổi sang đồng VN”. (Biết rằng: 1Dollar=22000 đồng VN). Hãy chọn đáp án đúng nhất? A. B. Program doitien; Program doitien; Var Dollar, VND: real; Var Dollar, VND: real; BEGIN BEGIN Writeln(‘Nhap so Dollar:’, Dollar ); Writeln(‘Nhap so Dollar:’); 7
  8. Readln(Dollar); Readln(Dollar); VND:= Dollar*22000; VND:= Dollar*22000; Writeln(‘Thanh tien:’, VND:9:1); Writeln(‘Thanh tien:’, VND:9:1); Readln; Readln; END. END. C. D. Program doitien; Program doitien; Var Dollar, VND: integer; Var Dollar, VND: real; BEGIN BEGIN Writeln(‘Nhap so Dollar:’); Writeln(‘Nhap so Dollar:’); Readln(Dollar); Readln(Dollar); VND:= Dollar*22000; VND:= Dollar*22000; Writeln(‘Thanh tien:’, VND:9:1); Writeln(‘Thanh tien: VND:9:1’); Readln; Readln; END. END. A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCCâu 4: Điền khuyết vào đoạn chương trình: Var a, b, t: integer; BEGIN Write(‘ nhap 2 so a va b: ’); (1) (2) Writeln(‘tong a va b la: ‘, S:4); (3) .. END. A. B. C. D. 1. Read(a,b) 1. Read(a,b); 1. Readln(a,b); 1. Readln(a,b); 2. t:=a+b; 2. t=a+b; 2. t=a+b; 2. t:=a+b; 3. Readln; 3. Read; 3. Read 3. Readln A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCCâu 5: Viết chương trình cho phép nhập vào bán kính R, sau đó in ra diện tích của hình tròn. Hãy chọn đáp án đúng nhất? (trong đó: sqr(R) là hàm tính bình phương của R) A. B. Program dt_htron; Program dt_htron; Const pi=3,14; Const pi:3.14; Var S,R: real; Var S,R: real; BEGIN BEGIN Writeln(‘Nhap ban kinh R:’); Readln(R); Writeln(‘Nhap ban kinh R:’);Readln(R); S:=pi*sqr(R); S:=pi*R*R; Writeln(‘dien tich la:’, S:5:1); Writeln(‘dien tich la:’, S:5:1); Readln; Readln; END. END. C. D. 8
  9. Program dt_htron; Program dt-htron; Const pi=3.14; Const pi=3.14; Var S,R: real; Var S,R: real; BEGIN BEGIN Writeln(‘Nhap ban kinh R:’); Readln(R); Writeln(‘Nhap ban kinh R:’);Readln(R); S:=pi*sqr(R); S:=pi*sqr(R); Writeln(‘dien tich la:’, S:5:1); Writeln(‘dien tich la:’, S:5:1); Readln; Readln; END. END. A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCCâu 6: Trong Pascal, Hãy chọn đáp án đúng nhất của câu lệnh đưa kết quả ra màn hình bên dưới: Writeln(‘Chuc mung sinh nhat ban: ’, hoten,’ lan thu:’, lan); A. Chuc mung sinh nhat ban: hoten lan thu lan; B. Chuc mung sinh nhat ban: lan thu: ; C. Chuc mung sinh nhat ban: lan thu: ; D. Chuc mung sinh nhat ban: lan thu: ; VẬN DỤNG: VDCâu 7: Hãy chọn đáp án đúng để tính và đưa ra màn hình nghiệm x1 của phương trình bậc 2? (Trong đó: sqrt (D) là hàm tính căn bậc 2 của D) A. D:=b*b-4*a*c; B. D:=b*b-4*a*c; X1:=(-b-sqrt(D)/2*a); X1:=(-b-sqrt(D))/(2*a); Write(‘x1=’, x1:6:2); Write(‘x1=’, x1:6); C. D:=b*b-4*a*c; D. D:=b*b-4*a*c; X1:=(-b-sqrt(D)/(2*a); X1:=(-b-sqrt(D))/(2*a); Write(‘x1=’, x1:6:2); Write(‘x1=’, x1:6:2); A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCâu 8: Xét chương trình Pascal sau: Program Vidu; Var x, y: real; BEGIN Write(‘x =’); readln(x); y := (x + 2)*x + 3; Writeln(‘y = ‘, y); END. Chương trình tính giá trị của biểu thức nào trong số các biểu thức sau? A. y = x + 2x + 3 B. y = (x + 2)(x + 3) C. y = x2 + 2x + 3 D. y = x + 2x2 + 3 VDCâu 9: Xét chương trình Pascal sau: Program Vidu; Var x, y: real; BEGIN Write(‘x =’); readln(x); y := (x + 2)*x + 3; Writeln(‘y = ‘, y); END. Trong đoạn chương trình trên, câu lệnh nào là câu lệnh in kết quả ra màn hình? 9
  10. A. Write(‘x =’); readln(x); B. y := (x + 2)*x + 3; C. Writeln(‘y = ‘, y); D. readln(x); HIỂU: HCâu 10: Hãy ghép ý nghĩa của “danh sách” trong “thủ tục in ra màn hình” cho thích hợp nhất? Write( ); Ý nghĩa của danh sách là 1. Write(‘BT1=’,a*a-2*b); A. Biến 2. Write(x) B. Hằng 3, Write(‘PT vo nghiem’); C. Biểu thức A. 1C-2A-3B B. 1C-2B-3A C. 1A-2B-3C D. 1B-2A-3C HCâu 11: Chọn đoạn chương trình “nhập các biến để giải phương trình bậc hai: ax2+bx+c=0”, đúng nhất: A. Writeln(‘Nhap a,b,c:’); Readln(a,b,c); B. Writeln(‘Nhap a,b,c:’); Readln(abc); C. Writeln(‘Nhap a,b,c:’), Readln(a,b,c); D. Writeln(‘Nhap a,b,c:’); Readln(a; b; c); HCâu 12: Trong Pascal, để nhập giá trị cho biến M từ bàn phím, ta dùng cặp thủ tục: A. Write(‘Nhap M:’); Readln(M); B. Write(“Nhap M:”); Readln(M); C. Write(‘Nhap M:’) Readln(M); D. Write(‘Nhap M:’); Readln(M) HCâu 13: Trong Pascal, với câu lệnh như sau: a := 12.87; Write(a:5:1); sẽ ghi ra màn hình? A. 12.87 B. _12.8 C. _12.9 D. _12.87 Biết: BCâu 14: Câu lệnh nhập nào sau đây là đúng? A. Readln(I+R); B. Readln(‘I,R=’,I,R); C. Readln(100); D. Readln(a1); BCâu 15: Việc nhập dữ liệu từ bàn phím được thực hiện bằng thủ tục: A. Readln( ); B. Readln( ); C. Readln( ) D. Readln( ) BCâu 16: Trong Pascal, thủ tục Readln( ); có tác dụng: A. Nhập dữ liệu từ bàn phím. B. Đưa dữ liệu ra màn hình. C. Nhập và xuất dữ liệu.D. Truyền dữ liệu. BCâu 17: Trong Pascal, thủ tục Write( ); có tác dụng: A. Nhập dữ liệu từ bàn phím. B. Đưa dữ liệu ra màn hình. C. Nhập và xuất dữ liệu.D. Truyền dữ liệu. BCâu 18: Với thủ Writeln, sau khi đưa thông tin ra màn hình: A. Con trỏ sẽ xuống đầu dòng tiếp theo. B. Con trỏ không xuống dòng. C. Con trỏ ở cuối dòng. D. Con trỏ sẽ xuống cuối dòng tiếp theo. BCâu 19. Để nhập các giá trị 1, -5 và 6 cho các biến thực a, b, c trong thủ tục readln(a,b,c), ta gõ? A. 1 -5 6 rồi nhấn phím Enter. B. a=1 ; b=-5; c=6 rồi nhấn phím Enter. C. a=1 b=-5 c=6 rồi nhấn phím Enter. D. a 1; b -5; c 6 rồi nhấn phím Enter. BÀI 8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỂU CHỈNH CHƯƠNG TRÌNH VDCCâu 1: Để phóng to (đầy màn hình) chương trình Pascal của hình bên ta thực hiện: A. Chọn nút . B. Chọn nút . 10
  11. C. Chọn tổ hợp phím Ctrl+Enter. D. Chọn tổ hợp phím Alt+Enter. VDCCâu 2: Đây là chương trình tính thương của 2 số nguyên a,b. Nhưng khi bấm ctrl+F9 thì chương trình báo lỗi như hình bên dưới. Hãy cho biết chương trình bị lỗi gì, cách khắc phục? A. Sai do khai báo biến T có kiểu nguyên, cách khắc phục là khai báo lại biến T là kiểu thực. B. Sai do không sử dụng thủ tục nhập 2 biến a,b, cách khắc phục là thêm thủ tục readln(a,b) để nhập a,b. C. Sai do câu lệnh readln thiếu dấu chấm phẩy, cách khắc phục là thêm dấu chấm phẩy sau lệnh readln. D. Sai do thiếu khai báo tên chương trình, cách khắc phục là khai báo tên chương trình. Biết: BCâu 3: Trong Pascal, để thoát khỏi Pascal: A. Nhấn tổ hợp phím Ctrl + F4 B. Nhấn tổ hợp phím Ctrl + X C. Nhấn tổ hợp phím Alt + F4 D. Nhấn tổ hợp phím Alt + X BCâu 4: Trong Pascal, để lưu chương trình: A. Nhấn phím F2 B. Nhấn phím F5 C. Nhấn tổ hợp phím Alt + F2 D. Nhấn tổ hợp phím Alt + F5 BCâu 5: Trong Pascal, để biên dịch chương trình: A. Nhấn phím F8 B. Nhấn tổ hợp phím Alt + F9 C. Nhấn tổ hợp phím Ctrl + F9 D. Nhấn tổ hợp phím Shift + F9 BCâu 6: Trong Pascal, để thực thi chương trình: A. Nhấn phím F8 B. Nhấn tổ hợp phím Alt + F9 C. Nhấn tổ hợp phím Ctrl + F9 D. Nhấn tổ hợp phím Shift + F9 BCâu 7: Trong Pascal, để đóng cửa sổ chương trình: A. Nhấn tổ hợp phím Alt + F8 B. Nhấn tổ hợp phím Alt + F9 C. Nhấn tổ hợp phím Alt + F3 D. Nhấn tổ hợp phím Alt + F2 BCâu 8: Trong Pascal, để mở tệp pascal đã có: A. Nhấn phím F2 B. Nhấn phím F5 C. Nhấn phím F3 D. Nhấn tổ hợp phím Alt + F3 Bài 9. CẤU TRÚC RẼ NHÁNH Vận dụng cao: VDCCâu 1: Xét bài toán sau: Một cửa hàng bán trái cây, trong đó có bán trái Thanh long được niêm yết bảng giá như sau: 1 kg= 23000 đồng/1kg; Nếu mua từ 10 kg trở lên giá sẽ là 19000 đồng/1kg. Hãy sử dụng câu lệnh if – then để tính thành tiền trái Thanh long với số lượng bán là a được nhập từ bàn phím. 11
  12. A. if a>=10 then thanhtien:=19000*a else then thanhtien:=23000*a; B. if a>10 then thanhtien:=19000*a else then thanhtien:=23000*a; C. if a>=10 then thanhtien:=23000*a else then thanhtien:=19000*a; D. if a<=10 then thanhtien:=23000*a else then thanhtien:=19000*a; VDCCâu 2: “Nhập vào số nguyên a. Kiểm tra tính chẵn, lẻ của số nguyên a ”. 1. Readln 2. Begin 3. write(‘a la so le’); 4. else 5. program chan_le; 6. If a mod 2 = 0 then write(‘ a la so chan’) 7. End. 8. Write(‘ nhap gia tri a’); 9. var a:integer; 10. readln (a); Sắp xếp lại các câu lệnh sau thành đoạn chương trình hoàn chỉnh? A. 5, 9, 2, 8, 1, 6, 4, 3, 10, 7 B. 5, 9, 2, 8, 10, 6, 4, 3, 1, 7 C. 5, 9, 2, 3, 10, 6, 4, 8, 1, 7 D. 5, 9, 2, 8, 10, 3, 4, 6, 1, 7 VDCCâu 3: Viết đoạn chương trình mô tả nội dung sau: nếu điểm trung bình (DTB) 8.0 thì in ra “loại giỏi”, ngược lại nếu DTB 6.5 thì in ra “loại khá”, ngược lại nếu DTB 5 thì in ra “loại TB”, còn lại in ra “loại yếu”. A. If (DTB>=8.0) then writeln(‘loai gioi’) B. If (DTB>=8.0) then writeln(‘loai gioi’) Else if (DTB>=6.5) then writeln(‘loai kha’); Else if (DTB>=6.5) then writeln(‘loai kha’) Else if (DTB>=5) then writeln(‘loai TB’); if (DTB>=5) then writeln(‘loai TB’) Else writeln(‘loai yeu’); writeln(‘loai yeu’); C. If (DTB>=8.0) then writeln(‘loai gioi’) D. If (DTB 8.0) then writeln(‘loai gioi’) Else if (DTB>=6.5) then writeln(‘loai kha’) Else if (DTB 6.5) then writeln(‘loai kha’) Else if (DTB>=5) then writeln(‘loai TB’) Else if (DTB 5) then writeln(‘loai TB’) Else writeln(‘loai yeu’); Else writeln(‘loai yeu’); A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D VDCCâu 4: Nhập vào 3 số nguyên a,b,c. Hãy in ra số lớn nhất trong 3 số nguyên đó. Điền khuyết vào đoạn chương trình sau: BEGIN Write(‘ nhap 3 so nguyen a, b, c’); Readln( a,b,c); Max:=a; .. if max<c then max:=c; Writeln (‘ so lon nhat la:’,max); Readln END. A. If max < b then max:=b B. If max < b then max:=b; C. If max > b then max:=b D. If max > b then max:=b; Vận dụng: VDCâu 5: Trong NNLT Pascal, muốn kiểm tra đồng thời cả ba giá trị của A, B, C có cùng lớn hơn 0 hay không ta viết câu lệnh If thế nào cho đúng? A. If A > 0 And B > 0 And C > 0 Then B. If (A > 0) Or (B > 0) Or (C > 0) Then 12
  13. C. If (A > 0) And (B > 0) And (C > 0) Then D. If A, B, C > 0 Then VDCâu 6: Để tìm số nhỏ nhất trong hai số a và b ta thực hiện câu lệnh : A. If a>b then min:= b else min:= a; B. Min:= a; if a <b then min:= b; C. If max b then max:=b; VDCâu 7: Nhập vào từ bàn phím số nguyên a, viết câu lệnh if-then kiểm tra tính chẵn lẻ của a: A. If a mod 2 = 0 then write (‘a la so chan’) else write (‘a la so le’); B. If a mod 2 <> 0 then write (‘a la so chan’) else write (‘a la so le’); C. If a div 2= 0 then write (‘a la so chan’) else write (‘a la so le’); D. If a div 2 <> 0 then write (‘a la so chan’) else write (‘a la so le’); Hiểu HCâu 8: Cho đoạn chương trình sau: If a> b then Begin a:=a-b; b:= b*2; End; Cho a= 7 và b = -2 thì kết quả a và b sau khi thực hiện câu lệnh trên là A. a= -7 và b= -2 B. a= -9 và b= -4 C. a= 9 và b= -4 D. a= 9 và b= 4 HCâu 9: Cho đoạn chương trình sau: x:= a; If a <b then x:=b; Cho a = 20 và b = 15 thì kết quả x sẽ là: A. 10 B. 15 C. 20 D. 25 HCâu 10: Điền vào chỗ trống để hoàn chỉnh đoạn chương trình sau: If x = 345 then write (‘ban trung giai nhat’) Else if x= 156 then write (‘ban trung giai nhi’) . write (‘chuc ban may man lan sau’); A. If B. Then C. Else D. And HCâu 11: Trong Pascal, câu lệnh nào sau đây là đúng? A. if a + 5 then a:= d + 1 B. if a = 5 then a:= d + 1 C. if a = 5 then a= d + 1 D. if a := 5 then a:= d + 1 else a:= d + 2; else a:= d + 2; else a:= d + 2; else a:= d + 2; A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D HCâu 12: Trong Pascal, câu lệnh nào sau đây là đúng? A. if a = 5 then B. if a = 5 then C. if a = 5 then D. if a = 5 then: a:= d + 1; begin begin begin b:= 2 a:= d + 1; a:= d + 1; a:= d + 1; else a:= d + 2; b:= 2; b:= 2; b:= 2; end; end end; else a:= d + 2; else a:= d + 2; else a:= d + 2; A. Đáp án A B. Đáp án B C. Đáp án C D. Đáp án D HCâu 13: Trong Pascal, câu lệnh: if a := 5 then a= d + 1; else a:= d + 2; có bao nhiêu lỗi? A. 1 lỗi B. 2 lỗi C. 3 lỗi D. 4 lỗi Biết BCâu 14: Trong Pascal, phát biểu nào sau đây là đúng với câu lệnh if then ? 13
  14. A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn. B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin End. C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt Begin End; D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt Begin End BCâu 15: Trong Pascal, cấu trúc câu lệnh nào sau đây là đúng? A. If Then B. If ; Then ; C. If Then ; D. If Then . BCâu 16: Trong cấu trúc rẽ nhánh, phần có giá trị thuộc kiểu dữ liệu nào? A. Kiểu thực B. Kiểu logic C. Kiểu nguyên D. Kiểu kí tự BCâu 17: Trong cấu trúc rẽ nhánh, là: A. Biểu thức số học B. Biểu thức logic C. Biểu thức quan hệ D. Một câu lệnh BCâu 18: Trong Pascal, phát biểu nào sau đây là đúng với câu lệnh if then else ? A. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn. B. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin End. C. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt Begin End; D. Nếu sau then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt Begin End BCâu 19: Trong Pascal, phát biểu nào sau đây là đúng? A. Sau mỗi câu lệnh đều phải có dấu chấm phẩy “;” B. Trước lệnh Else bắt buộc phải có dấu chấm phẩy “;” C. Có phân biệt chữ hoa và chữ thường D. Câu lệnh trước lệnh End. không nhất thiết phải có dấu chấm phẩy “;” BCâu 20. Hoạt động của câu lệnh if- then? A. Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua. B. Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện. C. Điều kiện sẽ được kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua. D. Điều kiện sẽ được kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện. BÀI TẬP VÀ THỰC HÀNH 1 VDCâu 1: Sắp xếp lại thứ tự các dòng bằng cách viết lại đoạn chương trình để chương trình thực thi đúng. Trong đó: sqrt(D) là căn bậc 2 của D. Bài toán Chương trình chưa đúng Dòng Viết chương trình giải phương clrscr; 1 trình bậc hai: ax2+bx+c=0 END. 2 (a,b,c là số thực) write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 3 6 : 2); write(‘ a, b, c: ‘); 4 uses crt; 5 readln(a, b, c); 6 D:=b*b - 4a*b*c; 7 14
  15. var a, b , c, D: real; 8 x1, x2: real; program Giai_PTB2; 9 BEGIN 10 x2:= -b/a - x1; 11 Readln; 12 x1:= (-b - sqrt(D))/(2*a); 13 Hãy sắp xếp lại để có chương trình hoàn chỉnh? A. 9-5-8-10-1-4-6-7-13-11-3-12-2. B. 9-5-8-10-1-4-12-7-13-11-3-6-2. C. 9-5-8-10-1-4-6-11-13-7-3-12-2. D. 9-5-8-10-1-3-6-7-13-11-4-12-2. 15