1. Kiến thức
- Biết có ba lớp ngôn và các mức của ngôn ngữ lập trình (NNLT: ngôn ngữ máy, hợp ngữ và ngôn ngữ lập trình bậc cao.
- Biết vai trò của chương trình dịch.
- Biết khái niệm biên dịch và thông dịch
2. Kỹ năng: Phân biệt được có nhiều ngôn ngữ lập trỡnh khỏc nhau để viết chương trỡnh
3. Thái độ
- Nhận thức được quá trình phát triển của NNLT gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một NNLT cụ thể để có khả năng giải các bài toán thực tiễn ngày càng phức tạp bằng máy tình điện tử.
4. Năng lực cần phát triển.
Tự chủ và tự học.
Tin học lớp 11 Chương I: Một số khái niệm về lập trình và ngôn ngữ lập trình Tiết 1: Đ1: khái niệm về lập trình và ngôn ngữ lập trình I) Mục đích, yêu cầu. 1. Kiến thức - Biết có ba lớp ngôn và các mức của ngôn ngữ lập trình (NNLT: ngôn ngữ máy, hợp ngữ và ngôn ngữ lập trình bậc cao. - Biết vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch 2. Kỹ năng: Phõn biệt được cú nhiều ngụn ngữ lập trỡnh khỏc nhau để viết chương trỡnh 3. Thái độ - Nhận thức được quá trình phát triển của NNLT gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. - Ham muốn học một NNLT cụ thể để có khả năng giải các bài toán thực tiễn ngày càng phức tạp bằng máy tình điện tử. 4. Năng lực cần phỏt triển. Tự chủ và tự học. II) Chuẩn bị Giáo viên: Nội dung bài dạy, nghiên cứu sách giáo khoa và tài liệu về một sô NNLT bậc cao. Học sinh: Đọc trước bài 1. III) Hoạt động dạy - Học Tên hoạt động Mục tiêu Hoạt Động Kêt luận của GV GV HS Đ 1: Khái niệm về lập trình và ngôn ngữ lập trình - Phân loại được NNLT. - Khái niệm chương trình dịch - Hỏi: Em hãy cho biết các bước giải bài toán trên máy tính? - Phân tích câu trả lời của học sinh - Nhắc lại các bước giải bài toán trên máy tính. + B1: Xác định bài toán + B2: Lựa chọn hoặc thiết kế thuật toán + B3: Viết chương trình + B4: Hiệu chỉnh + B5: Viết tài liệu Suy nghĩ và trả lời câu hỏi Học sinh nghe GV: Dẫn dắt học sinh đưa ra khái niệm về lập trình. Hỏi: Em hãy cho biết có mấy loại ngôn ngữ lập trình? Nghe, quan sát, ghi bài Trả lời: Có 3 loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. * Khái niệm lập trình: Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán. Phân tích câu trả lời của học sinh. * Mỗi loại máy có một ngôn ngữ riêng, thường thì chương trình viết bằng ngôn ngữ của loại máy nào chỉ chạy được trên loại máy đó. * Khi viết chương trình bằng ngôn ngữ lập trình bậc cao muốn thi hành được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ máy của máy đó. * Đặc điểm của NNLT bậc cao: Chương trình viết bằng NNLT bậc cao nói chung không phụ thuộc vào loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy. 2- Chương trình dịch - Biết vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch Hỏi: Vậy làm thế nào để chuyển chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy? Trả lời: Cần phải có chương trình dịch. Có hai loại thông dịch và biên dịch Chương trình dịch là chương trình chuyển tất cả các ngôn ngữ khác sang NN máy VD: Bạn là người không biết tiếng Anh vậy làm sao để bạn có thể nói chuyện với người Anh hay đọc một cuốn sách tiếng Anh ? Trả lời: Có người phiên dịch Hỏi: Khi một người làm phiên dịch người đó phải dịch như thế nào? Trả lời: Dịch ngay từng câu khi hai người nói chuyện. a) Thông dịch (Interpreter) Hỏi: Khi một người muốn dịch một cuốn sách sang tiếng việt thì làm như thế nào? b) Biên dịch (Compiler): iV- LUyện tập, củng cố - Nhắc lại khái niệm về lập trình. - Nhắc lại một số khái niệm mới. V- Đánh giá Câu Hỏi: Lập trình là gì? Tại sao người ta phát triển ngôn ngữ lập trình bấc cao? VI- Hướng dẫn học bài - Trả lời câu hỏi 1,2,3 trang 13 - Đọc trước bài 2: Các thành phần của ngôn ngữ lập trình Tiết 2: Đ 2: Các thành phần của ngôn ngữ lập trình I) Mục đích, yêu cầu. 1. Kiến thức - Biết ngôn ngữ lập trình có 3 thành phần cơ bản: Bảng chữ cái, cú pháp và ngữ nghĩa. - Biết các thành phần cơ bản của Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng (Từ khoá), hằng và biến. 2. Kỹ năng Phân biệt được tên, hằng và biến. Biết đặt tên đúng. 3.Thỏi độ: Chỳ ý, sụi nổi 4. Năng lực cần phỏt triển. : Giao tiếp và hợp tỏc II) Chuẩn bị Giáo viên: Nội dung bài giảng. Phương pháp thuyết trình, vấn đáp, một số bài tập Học sinh: Học bài cũ. Đọc trước bài 2. III) Hoạt động dạy - Học Tên hoạt động Mục tiêu Hoạt Động Kêt luận của GV GV HS 1. Các thành phần cơ bản: - Biết ngôn ngữ lập trình có 3 thành phần cơ bản: Bảng chữ cái, cú pháp và ngữ nghĩa GV: Dẫn dắt vấn đề: Các ngôn ngữ lập trình nói chung thường có chung một số thành phần như: Dùng những ký hiệu nào để viết chương trình, viết theo quy tắc nào? Viết như vậy có nghĩa là gì? Mỗi ngôn ngữ lập trình có một quy định riêng về những thành phần này. VD: Bảng chữ cái của các NNLT khác nhau có sự khác nhau. Chẳng hạn ngôn ngữ Pascal không sử dụng dấu ! nhưng ngôn ngữ C++ lại sử dụng ký hiệu này. Học sinh nghe, ghi bài a) Bảng chữ cái: Là tập các ký hiệu dùng để viết chương trình. - Trong ngôn ngữ Pascal bảng chữ cái gồm: + Các chữ cái trong bảng chữ cái tiếng Anh + Các chữ số: 0 đ 9 + Một số ký hiệu đặc biệt. - Cú pháp các NNLT khác nhau cũng khác nhau, ngôn ngữ Pascal dùng cặp từ Begin – End để gộp nhiều câu lệnh thành một lệnh nhưng C++ lại dùng cặp ký hiệu {}. b) Cú pháp: Là bộ quy tắc dùng để viết chương trình. c) Ngữ nghĩa: Xác định ý nghĩa thao tác cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của nó. GV: Đưa ra ví dụ ngôn ngữ tự nhiên cũng có bảng chữ cái, ngữ pháp và nghĩa của câu, từ. “ Chúng em đang học bài” 2. Một số khái niệm - Biết các thành phần cơ bản của Pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng (Từ khoá), hằng và biến. GV: Dẫn dắt vấn đề: Trong các NNLT nói chung, các đối tượng sử dụng trong chương trình đều phải đặt tên để tiện cho việc sử dụng. Việc đặt tên trong các ngôn ngữ khác nhau là khác nhau, có ngôn ngữ phân biệt chữ hoa và chữ thường, có ngôn ngữ không phân biệt chữ hoa và chữ thường. + Ngôn ngữ Pascal không phân biệt chữ hoa và chữ thường. + C++: Có phân biệt chữ hoa và chữ thường. a) Tên - Mọi đối tượng trong chương trình đều phải được đặt tên. Mỗi NNLT có quy tắc đặt tên riêng + Pascal: Tên là một dãy liên tiếp không quá 127 ký tự bao gồm các chữ cái, chữ số và dấu gạch dưới nhưng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. + Free Pascal: Tên có thể tối đa 255 ký tự. GV: Cách đặt tên đúng: GPT_B2 Tên sai: GPT B2 GV: Ngôn ngữ nào cũng có 3 loại tên cơ bản này nhưng tuỳ theo ngôn ngữ mà các tên có ý nghĩa khác nhau trong các ngôn ngữ khác nhau. - Trong khi soạn thảo chương trình thường hiển thị các tên dành riêng với một màu chữ khác hẳn với các tên còn lại giúp người lập trình nhận biết được tên nào là tên dành riêng (Từ khoá). Trong Pascal từ khoá thường hiển thị bằng màu trắng. học sinh thảo luận 3 phút cho ví dụ về tên trong pascal * Tên dành riêng: + Là những tên được NNLT quy định với ý nghĩa xác định mà người sử dụng không dùng với ý nghĩa khác. + Tên dành riêng còn được gọi là từ khoá VD: + Pascal: Program, Var, Uses, Begin, End... + C++:main, include, while, void,... GV: Các NNLT thường cung cấp một số đơn vị chương trình có sẵn trong các thư viện chương trình giúp người lập trình có thể thực hiện nhanh một số thao tác thường dùng. * Tên chuẩn: - Là những tên được NNLT dùng với ý nghĩa nào đó trong các thư viện của NNLT, tuy nhiên người sử dụng có thể sử dụng với ý nghĩa khác. VD: + Pascal: Real, Integer, sin, cos, char,... + C++: cin, cout, getchar... * Tên do người lập trình đặt - Được xác định bằng cách khai báo trước khi sử dụng và không được trùng với tên dành riêng. - Các tên trong chương trình không được trùng nhau. b) Hằng và biến * Hằng: Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình - Các NNLT thường có + Hằng số học: Số nguyên hoặc số thực. + Hằng xâu: Là chuỗi ký tự đặt trong cặp dấu nháy đơn + Hằng Logic: Là các giá trị đúng (TRUE), sai (FALSE) Mỗi loại ngôn ngữ có những loại biến khác nhau và cách khai báo cũng khác nhau * Biến: Là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình. - Các NNLT có nhiều loại biến khác nhau. - Biến phải khai báo trước khi sử dụng - Khi viết chương trình, người lập trình thường có nhu cầu giải thích cho những câu lệnh mình viết, để khi đọc lại được thuận tiện hoặc người khác đọc có thể hiểu được chương trình mình viết, do vậy các NNLT thường cung cấp cho ta cách để đưa các chú thích vào trong chương trình. - Ngôn ngữ khác nhau thì cách viết chú thích cũng khác nhau. c) Chú thích - Trong khi viết chương trình có thể viết các chú thích cho chương trình. - Chú thích không làm ảnh hưởng đến chương trình. Trong Pascal chú thích được đặt trong căp dấu {} hoặc (* và *) -Trong C++ chú thích được đặt trong /* và */ IV- Củng cố: Nhắc lại một số khái niệm mới V- Hướng dẫn học bài - 4,5,6 T13 Chương II - Chương trình đơn giản Tiết 3: Đ3 Cấu trúc chương trình I. Mục tiêu 1. Kiến thức - Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình - Biết cấu trúc chung của một chương trình: cấu trúc chung và các thành phần 2. Kỹ năng: Nhận biết được các phần của một chương trình đơn giản: Phần khai báo và phần thân. 3.Thỏi độ: Chỳ ý và nghiờm tỳc trong học tập. 4. Năng lực cần phỏt triển. : Tự học và sỏng tạo. II. Chuẩn bị 1. Chuẩn bị của giáo viên Máy vi tính và máy chiếu Projector dùng để chiếu các ví dụ. Hoặc một số chương trình mẫu viết sẵn. 2. Chuẩn bị của học sinh - Sách giáo khoa III. Hoạt động dạy-học Tên hoạt động Mục tiêu Hoạt Động Kêt luận của GV GV HS 1- Cấu trúc chung Học sinh biết được chương trình có hai phần và nội dung của từng phần GV: Phát vấn gợi ý: Một bài tập làm văn em thường viết có mấy phần? Các phần có thứ tự không? Vì sao phải chia ra như vậy? HS: Lắng nghe và suy nghĩ trả lời: Có ba phần Có thứ tự: Mở bài, thân bài, kết luận. Dễ viết, dễ đọc, dễ hiểu nội dung. - Cấu trúc chương trình có hai phần: Phần khai báo và phần thân. - Phần khai báo: Khai báo tên chương trình, khai báo thư viện sử dụng, khai báo hằng, khai báo biến và khai báo chương trình con.... - Phần thân chương trình: Bao gồm dãy các lệnh được đặt trong cặp dấu hiệu mở đầu và kết thúc. Mở đầu Kết thúc. GV: Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời các câu hỏi sau: (?) Một chương trình có cấu trúc mấy phần? HS: Nghiên cứu sách giáo khoa, thảo luận và trả lời. - Hai phần: [] - Hai phần: [] 2- Các thành phần của chương trình Hiểu Phần khai báo và phần thân. (?) Trong phần khai báo có những khai báo nào? HS: Khai báo tên chương trình, khai báo thư viện chương trình con, khai báo hằng, khai báo biến và khai báo chương trình con. GV: Yêu cầu học sinh lấy ví dụ khai báo tên chương trình trong ngôn ngữ Pascal. VD: Program tinh_tong; Program Gpt_B2; a) Phần khai báo * Khai báo tên chương trình Program ; VD: Program tinh_tong; Program Gpt_B2; GV: Yêu cầu học sinh lấy ví dụ khai báo thư viện chương trình con trong ngôn ngữ Pascal. VD: Uses crt; Uses Graph; * Khai báo thư viện - Pascal USES ; VD: Uses crt; Uses Graph; GV: Yêu cầu học sinh lấy ví dụ khai báo hằng trong ngôn ngữ Pascal. VD: Const A= 100; B= 2.3; * Khai báo hằng - Pascal Const = ; VD: Const A= 100; B= 2.3; * Khai báo biến (Học Bài 5) GV: Yêu cầu học ... ascal là: A. 255 B. 256 C. 0 D. Khụng giới hạn Cõu 16: 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. Chứa kớ tự 0 D. Xõu ngắn Cõu 17: 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 18: 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 19 Để 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 20: 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 21: 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 22: 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 23: Tham chiếu đến phần tử của xõu được xỏc định bởi: A. Tờn biến xõu và chỉ số đặt trong cặp ngoặc ( và ) B. Tờn biến xõu và chỉ số đặt trong cặp ngoặc [ và ] C. Tờn biến xõu và chỉ số đặt trong cặp ngoặc { và } D. Tờn biến xõu và chỉ số đặt trong cặp ngoặc “ và ” Cõu 24: Một số thao tỏc xử lớ xõu là: A. Phộp gỏn, phộp so sỏnh B. Phộp ghộp, phộp so sỏnh C. Phộp cộng, phộp gỏn D. Phộp so sỏnh, phộp trừ Cõu 25: Cho xõu S là ‘Ha Noi – Viet Nam’ , kết quả của hàm Pos(‘Viet Nam’,S) là: A. 7 B. 8 C. 9 D. 10 Cõu 26: Cho xõu S là ‘Ha Noi – Viet Nam’, kết quả của hàm delete(S,8,8) là: A. ‘Ha Noi – Viet’ B. “Nam” C. ‘Ha Noi –’ D. ‘Viet Nam’ Cõu 27: Sau khi thực hiện đoạn chương trỡnh sau, kết quả của S là: S:= ‘Mua thu Ha Noi’; Delete(s,8,7); Insert(‘Mua thu’,s,1); A. Ha Noi B. Mua thu Mua thu C. Ha Noi Mua thu D. Mua thu Cõu 28: 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 kớ tự khỏc nhau của hai xõu Cõu 29: 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 đếm cú giỏ trị ≠ 1} C. Delete(S, length(S), 1); D. Delete(S, 1, i); { i là biến cú giỏ trị bất kỳ } Cõu 30: Trong ngụn ngữ lập trỡnh Pascal, để tỡm vị trớ xuất hiện đầu tiờn của xõu ‘hoa’ trong xõu S ta cú thể viết bằng cỏch nào trong cỏc cỏch sau ? A. S1 := ‘hoa’ ; i := pos(S1, ‘hoa’) ; B. i := pos(S,‘hoa’) ; C. i := pos(’hoa’,S) ; D. i := pos(‘hoa’, ‘hoa’) ; Cõu 31: Cho mảng a cú 4 phần tử: 3 4 5 6. Lệnh : write(a[1]) in gỡ ra màn hỡnh: A. a[1] B. 4 C. 3 D. 3 4 5 6 Cõu 32: Giả sử 4 sụ́ tự nhiờn đõ̀u tiờn (1,2,3,4) đã được lưu trữ theo thứ tự vào mảng A, bắt đõ̀u là A[1]. Đoạn lợ̀nh Pascal sau đõy sẽ viờ́t ra các giá trị nào (theo thứ tự)? for i:= 1 to 3 do write(3* a[i+1],’ ‘); A. 2 4 6 B. 3 5 7 C. 2 9 12 D. 6 9 12 Cõu 33: A[1..6] là một biến mảng kiểu nguyờn đó được khai bỏo thớch hợp. Ta thấy gỡ trờn màn hỡnh sau đoạn lệnh Pascal sau đõy? for i:= 1 to 3 do A[i] := 6; write(‘A[2]+[3]’); A. 6 B.66 C. 12 D. A[2]+A[3] Cõu 34: Khai bỏo: Var a: array[1..100] of byte. Biến mảng a tốn dung lượng bao nhiờu byte: A. 2 B. 4 C. 100 D. 200 Cõu 35: Đoạn lệnh For i:=1 to 4 do a[i]:=i; For i:=1 to 4 đo write(5*a[i],’ ‘) Cho biết kết quả trờn màn hỡnh là:; A. 1 2 3 4 B. 5 10 15 20 C. 2 4 6 8 D. 5 10 15 20 25 Cõu 36: Xỏc định biểu thức cho giỏ trị đỳng (true) trong cỏc biểu thức sau đõy. A. ‘Ninh thuan que toi’ < ‘Ninh thuan’ B. ‘Truong chinh’ = ‘TRUONG CHINH’ C. ‘Cụng nghệ - thụng tin’ ‘Em’ Cõu 37: Cho xõu St = ‘THPT Phuc tho’, Để cú xõu St =’THPT’ ta dung thủ tục nào sau đõy: A. Delete(St, 14, 9 ); B. Delete(St, 5,9 ); C. Delete(St, 1, 5 ); D. Delete(St,5, 1 ); Cõu 38: Trong ngụn ngữ lập trỡnh Pascal, sau khi thực hiện đoạn chương trỡnh sau, biến X cú giỏ trị là gỡ? S := ‘Hoang Anh Tuan’ ; X := ‘ ’ ; i := length(S) ; while S[i] ‘ ’ do Begin X := X + S[i] ; i := i - 1 ; End ; A. ‘Hoang’ B. ‘Anh’ C. ‘Tuan’ D. Xõu rỗng Cõu 39: 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. Đếm số dấu cỏch trong xõu; B. Đếm số ký tự cú trong xõu; C. xúa dấu cỏch cú trong xõu; D. Xúa đi cỏc ký tự số; Cõu 40: Cho biết giỏ trị lưu trữ của biến N sau đoạn chương trỡnh sau: N := pos ('YX' , 'ABXAYXY'); A.6 B. 5 C. 4 D. 3 II- Tự luận(5 điểm) Câu 1:Có thể dùng cấu trúc rẽ nhánh dạng thiếu để mô tả cấu trúc rẽ nhánh dạng đủ được không? Cho ví dụ minh hoạ? Câu 2: Nêu cú pháp của cấu trúc lặp dạng tiến. Cho ví dụ minh hoạ? Câu 3: Viết một chương trỡnh nhập n nguyờn dương và dóy A(a1, a2,...,an. ) a/ Tớnh tổng cỏc số chẵn của dóy (In kết quả trờn một dũng) b/ In cỏc số của dóy nằm ở vị trớ chẵn (2,4, 6...) ra màn hỡnh (trờn 1 dũng ), Câu 4: Viết một chương trỡnh nhập một dóy n số nguyờn a1,a2, a3,...an. a/ In dóy vừa nhập theo chiều ngược lại trờn 1 dũng: . an, an-1, ....a3, a2, a1 b/Tỡm max của dóy. In trờn 1 dũng tiếp theo. Cõu 5: Lập trỡnh nhập vào một xõu. Đếm xem trong xõu cú bao nhiờu dấu cỏch Cõu 6: Nhập vào một xõu và hiện kết quả ra màn hỡnh ký tự ‘A’ trong xõu đú. TIẾT 36 – KIỂM TRA HỌC KỲ I MA TRẬN ĐỀ KIỂM TRA HỌC KỲ 1 LỚP 11 Cấp độ Nhận biết Thụng hiểu Vận dụng Cộng Chủ đề Cấp độ thấp Cấp độ cao I- Trắc nghiệm Chương II Khai bỏo biến, cỏc phộp toỏn khai bỏo biến,Viết được một biểu thức Số Cõu: 2 2 4 Số Điểm 0.5 0.5 1 Tỷ lệ % 8.7% 8.7% 17.4% Chương III Cỳ phỏp Cấu trỳc rẽ nhỏnh, lặp hiểu được ý nghĩa 2 loại lặp: Lặp với số lần biết trước và lặp với số lần chưa biết. Tỡm được kết quả một chương trỡnh cú sử dụng lặp Số Cõu: 2 2 2 6 Số Điểm 0.5 0.5 0.5 1.5 Tỷ lệ % 8.7% 8.7% 8.7% 26.1% Chương IV Cỳ phỏp khai bỏo biến mảng, biến xõu Truy cập phần tử mảng, xõu. Hiểu được một đoạn chương trỡnh cho trước. Số Cõu: 2 4 4 10 Số Điểm 0.5 1 1 2.5 Tỷ lệ % 8.7% 17.4% 17.4% 43.5% II- Tự luận Bài 9,10,11, 12 ý nghĩa của rẽ nhỏnh hoặc lặp Lập trỡnh được bài hoàn chỉnh Số Cõu: 1 2 3 Số Điểm 2.0 3.0 5.0 Tỷ lệ % 4.35% 8.7% 13% Tổng số cõu 4 9 4 6 23 Tổng số điểm % 17.39% 39.13% 17.39% 26.09% 100% Họ và tên:................................ Lớp:..................... Điểm Kiểm tra học kỳ i: Tin học 11 Thời gian:45 Phút I- Trắc nghiệm (5 đểm) Học sinh trả lời vào bảng sau: Cõu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Đỏ Cõu 1: Khai bỏo Hằng là từ khúa nào trong cỏc từ khúa sau: A. Program B. Const C. Var D. Uses Câu 2: Cho khai báo sau: Var M, N :Real ; X1,X2 : word ; tenA, tenB : Char ; Diem : byte ; Chương trỡnh dịch Pascal sẽ cấp phỏt bao nhiờu byte bộ nhớ cho cỏc biến trong khai bỏo trên ? A. 19 B. 21 C. 20 D. 22 Câu 3: Xột biểu thức sau : (7*x 10). Biểu thức cho kết quả True khi x bằng A. 8 B. 11 C. 9 D. 10 Câu 4: Trong Pascal phộp toỏn >, =, , =, thuộc phộp toỏn nào sau đõy A. Phộp toỏn số học với số nguyờn C. Phộp toỏn quan hệ B. Phộp toỏn Logic D. Phộp toỏn số học với số thực Câu 5: Trong ngôn ngữ lập trình Pascal, câu lệnh rẽ nhánh nào sau đây là đúng? A. if ; then ; B. if then ; C. if : then ; D. if then . Câu 6: Trong lệnh rẽ nhánh gồm có mấy dạng? A. 1 B. 4 C. 3 D. 2 Câu 7: Trong NNLT Pascal, câu lệnh nào sau đây là đúng với cấu trúc lặp FOR có nhiều lệnh con? A. for i:= 1 to 100 do a:=a-1; b:=a-c; end for; B. for i:= 1 to 100 do a:=a-1; b:=a-c; end ; C. for i:= 1 to 100 do begin a:=a-1; b:=a-c; end; D. for i:= 1 to 100 do a:=a-1; b:=a-c; Câu 8: Trong NNLT Pascal đoạn chương trình sau đưa ra màn hình kết qủa gì? for i:=1 to 10 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 9: Với cấu trúc rẽ nhánh IF THEN ELSE . Câu lệnh 2 không được thực hiện khi A. Câu lệnh 1 không được thực hiện C. Câu lệnh 1 được thực hiện hai lần B. Biểu thức điều kiện sai D. Biểu thức điều kiện đúng Câu 10: Trong cấu trúc lặp có mấy loại lặp? A. 1 B. 2 C. 3 D. 4 Cõu 11. Giả sử 4 sụ́ tự nhiờn 1,2,3,4 đã được lưu trữ theo thứ tự vào mảng A, bắt đõ̀u là A[1]. Đoạn lợ̀nh Pascal sau đõy sẽ viờ́t ra các giá trị nào (theo thứ tự)? for i:= 1 to 3 do write(a[2] +a[3],’ ‘); A. 2, 3 , 4 B. 3, 5, 7 C. 5 5 5 D. 3 5 7 Cõu 12: Xột đoạn lệnh: for i:=1 to 6 do A[i]:=i; for i:= 1 to 6 do if (a[i] mod 3 = 0) then write(a[i]-1); Kết quả màn hỡnh là A. 24 B. 36 C. 1 2 3 4 5 D. 25 Cõu 13: Cho mảng a[1..4] chứa 4 phần tử theo thứ tự: 3 4 5 6. Lệnh : write('a[3]') in gỡ ra màn hỡnh: A. a[3] B. 3 C. 5 D. 3 4 5 6 Cõu 14: Mảng là gì? A. Mụ̣t tọ̃p hợp các biờ́n được gắn chỉ số, có cùng kiờ̉u dữ liợ̀u B. Mụ̣t phương tiợ̀n giao thụng thuỷ thụ sơ C. Một dóy cỏc số nguyờn liờn tiếp D. Các biờ́n có cùng kiờ̉u dữ liợ̀u Cõu 15: Cho xõu S là ‘Ha Noi – Viet Nam’ , kết quả của hàm Pos(‘Viet Nam’,S) là: A. 7 B. 8 C. 9 D. 10 Cõu 16: Cho xõu S là ‘Ha Noi – Viet Nam’, kết quả của hàm delete(S,8,8) là: A. ‘Ha Noi – Viet’ B. “Nam” C. ‘Ha Noi –’ D. ‘Viet Nam’ Cõu 17: Sau khi thực hiện đoạn chương trỡnh sau, kết quả của S là: S:= ‘Mua thu Ha Noi’; Delete(s,8,7); Insert(‘Mua thu’,s,1); A. Ha Noi B. Mua thu Ha Noi C. Ha Noi Mua thu D. Mua thu Mua thu Cõu 18: 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 kớ tự khỏc nhau của hai xõu Cõu 19: 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 đếm cú giỏ trị ≠ 1} C. Delete(S, length(S), 1); D. Delete(S, 1, i); { i là biến cú giỏ trị bất kỳ } Cõu 20: Trong ngụn ngữ lập trỡnh Pascal, để tỡm vị trớ xuất hiện đầu tiờn của xõu ‘hoa’ trong xõu S ta cú thể viết bằng cỏch nào trong cỏc cỏch sau ? A. S1 := ‘hoa’ ; i := pos(S1, ‘hoa’) ; B. i := pos(‘hoa’, S) ; C. i := pos(S, ’hoa’) ; D. i := pos(‘hoa’, ‘hoa’) ; II- Tự luận(5 điểm) Câu 1(2đ): Có thể dùng cấu trúc rẽ nhánh dạng thiếu để mô tả cấu trúc rẽ nhánh dạng đủ được không? Cho ví dụ minh hoạ? Câu 2(2 đ): Viết một chương trỡnh nhập n nguyờn dương và dóy A(a1, a2,...,an. ) a/ Tớnh tổng cỏc số chẵn của dóy (In kết quả trờn một dũng) b/ In cỏc số của dóy nằm ở vị trớ chẵn (2,4, 6...) ra màn hỡnh (trờn 1 dũng ), Cõu 3 (1đ): Nhập vào một xõu và hiện kết quả ra màn hỡnh ký tự ‘A’ trong xõu đú.
Tài liệu đính kèm: