Trường THCS Lê Văn Tám ĐỀ THI HKII MÔN TIN HỌC 8 Thời gian 45 phút Đề 1 Câu 1: (3 điểm) Lệnh lặp For: Cú pháp và giải thích. Hoạt động. Áp dụng: Sau khi thực hiện đoạn chương trình sau, giá trị của biến J bằng bao nhiêu? J:=1; For I:=0 To 3 Do J:=J+2; Câu 2: (2 điểm) Dữ liệu kiểu mảng: Định nghĩa. Các khai báo biến mảng sau đây trong Pascal đúng hay sai? Tại sao? Nêu cách điều chỉnh nếu sai. Var x : Array[5..10.5] Of Real; Var x : Arr[10..1] Of Integer; Câu 3: (1 điểm) Cấu trúc lặp với số lần chưa biết trước: Vẽ lưu đồ mô tả và nêu nguyên tắc hoạt động. -----//----- Trường THCS Lê Văn Tám ĐỀ THI HKII MÔN TIN HỌC 8 Thời gian 45 phút Đề 2 Câu 1: (2 điểm) Lệnh lặp While: Cú pháp và giải thích. Hoạt động. Câu 2: (2 điểm) Dữ liệu kiểu mảng: Cú pháp cách khai báo trực tiếp và giải thích. Các khai báo biến mảng sau đây trong Pascal đúng hay sai? Tại sao? Nêu cách điều chỉnh nếu sai. Var x : Array[10, 13] Of Integer; Var x : Array[3.4..4.8] Of Integer; Câu 3: (2 điểm) Hãy mô tả thuật toán để tính tổng sau đây: -----//----- Trường THCS Lê Văn Tám ĐỀ THI HKII MÔN TIN HỌC 8 Thời gian 45 phút (kể cả thời gian thu và phát đề) Đề dự trữ Câu 1: (2 điểm) Hãy phát biểu sự giống nhau cùng sự khác biệt giữa câu lệnh lặp với số lần biết trước (For) và câu lệnh lặp với số lần chưa biết trước (While). Câu 2: (2 điểm) Dữ liệu kiểu mảng: Định nghĩa. Cú pháp cách khai báo trực tiếp. Câu 3: (2 điểm) Hãy tìm hiểu các thuật toán sau đây và cho biết khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện thuật toán đó. Thuật toán: - Bước 1: S ß 10; x ß 0.5; - Bước 2: Nếu S <= 5.2 thì chuyển tới bước 4; - Bước 3: S ß S – x; và quay lại bước 2; - Bước 4: Thông báo S và kết thúc thuật toán. -----//-----Đáp án Đề 1 A) Phần lý thuyết: (6 điểm) Câu 1: 3đ For := To Do ; Trong đó: For, To, Do là các từ khóa. “Biến đếm” là biến kiểu nguyên. “Giá trị đầu” và “Giá trị cuối” là các giá trị nguyên. 1đ Khi thực hiện, ban đầu “Biến đếm” sẽ nhận giá trị là “Giá trị đầu”; sau mỗi vòng lặp, “Biến đếm” tự động tăng thêm một đơn vị cho tới khi bằng “Giá trị cuối”. 1đ Để tìm giá trị của J, ta có bảng sau: J I Giá trị cuối=3 J:=J+2; 1 0 0<=3: Đ J:=1+2; 3 1 1<=3: Đ J:=3+2; 5 2 2<=3: Đ J:=5+2; 7 3 3<=3: Đ J:=7+2; 9 Vậy khi thực hiện xong, thì J = 9. 1đ Câu 2: 2đ Dữ liệu kiểu mảng (Array) là tập hữu hạn các phần tử có thứ tự, có cùng kiểu dữ liệu (kiểu phần tử). Mỗi phần tử có một chỉ số. Một biến có kiểu dữ liệu là kiểu mảng (Biến mảng) là các biến có cùng kiểu được sắp thứ tự theo chỉ số dưới một tên duy nhất. 1đ Nội dung khai báo Sai Nguyên nhân Khắc phục Var X : Array[5..10.5] Of Real; X “Chỉ số cuối” có giá trị thực. Chỉ dùng giá trị nguyên Var X:Array[10..1] Of Integer; X “Chỉ số đầu” lớn hơn “Chỉ số cuối” Đổi giá trị cho nhau. 0,5đ 0,5đ Câu 3: 1đ Lưu đồ mô tả Nguyên tắc hoạt động Điều kiện lặp Đúng Sai Câu lệnh Chừng nào “Điều kiện lặp” còn đúng thì còn thực hiện “Câu lệnh’ Đề 2 A) Phần lý thuyết: (6 điểm) Câu 1: 2đ While Do ; Trong đó: While, Do là các từ khóa. “Điều kiện lặp” là phép so sánh. “Câu lệnh” có thể là câu lệnh đơn hay câu lệnh ghép. 1đ Khi hoạt động, gồm hai bước sau: Bước 1: Kiểm tra “Điều kiện lặp”. Bước 2: Nếu “Điều kiện lặp” SAI, “Câu lệnh” bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Ngược lại, thực hiện “Câu lệnh” và quay lại bước 1. 1đ Câu 2: 2đ Cú pháp cách khai báo: Được khai báo trực tiếp tại từ khoá khai báo biến (Var) như sau: Var : Array[..] Of ; Trong đó: Array, Of là các từ khoá. “Chỉ số đầu” <= “Chỉ số cuối” và là các giá trị nguyên. “Kiểu dữ liệu” ở đây chỉ xét kiểu số nguyên hay số thực. 1đ Nội dung khai báo Sai Nguyên nhân Khắc phục Var X : Array[10, 13] Of Integer; X Dấu “,” dùng phân cách “Chỉ số đầu” và “Chỉ số cuối”. Đổi lại dấu “..”. Var X:Array[3.4..4.8] Of Integer; X “Chỉ số đầu” và “Chỉ số cuối” có giá trị thực. Chỉ dùng giá trị nguyên 0,5đ 0,5đ Câu 3: 2đ Thuật toán được mô tả như sau: Khai báo các biến A kiểu số thực , I và N kiểu số nguyên. Bước 1: Aß 0; Bước 2: Nhập giá trị N từ bàn phím; Bước 3: Khi I có giá trị từ 1 dến N thì thực hiện A ß A + 1/(I*(I+2)); Bước 4: In giá trị A ra màn hình và kết thúc thuật toán. 0,5đ 0,5đ 0,5đ 0,5đ Đề dự trữ A) Phần lý thuyết: (6 điểm) Câu 1: 2đ Lệnh lặp For Lệnh lặp While Giống nhau Cùng là câu lệnh lặp Khác nhau Số lần lặp = Giá trị cuối – Giá trị đầu + 1 Phụ thuộc “Điều kiện lặp” còn Đúng hay Sai. Câu lệnh sau từ khoá Do được thực hiện ít nhất một lần. Câu lệnh sau từ khoá Do có thể không dược thực hiện lần nào. Biến đếm được tự động tăng thêm một đơn vị sau mỗi vòng lặp, cho đến khi bằng “Giá trị cuối”. Phải có dòng lệnh tác động đến “Điều kiện lặp” để có lúc chuyển từ Đúng sang Sai: Lệnh lặp kết thúc. 0,5đ 0,5đ 0,5đ 0,5đ Câu 2: 2đ Định nghĩa: Dữ liệu kiểu mảng (Array) là tập hữu hạn các phần tử có thứ tự, có cùng kiểu dữ liệu. Mỗi phần tử có một chỉ số. Một biến có kiểu dữ liệu là kiểu mảng (Biến mảng) là các biến có cùng kiểu được sắp thứ tự theo chỉ số dưới một tên duy nhất. 1đ Cú pháp cách khai báo: Được khai báo trực tiếp tại từ khoá khai báo biến (Var) như sau: Var : Array[..] Of ; Trong đó: Array, Of là các từ khoá. “Chỉ số đầu” <= “Chỉ số cuối” và là các giá trị nguyên. - “Kiểu dữ liệu” ở đây chỉ xét kiểu số nguyên hay số thực. 1đ Câu 3: 2đ Bước Nội dung thực hiện Chương trình minh hoạ 1 Sß10; xß0.5; Program Thuat_Toan_1; Var S, x : Real; Begin S := 10; X := 0.5; 2 Nếu S<=5.2 chuyển tới bước 4; While (S>5.2) Do S := S – x; 3 SßS-x và quay lại bước 2; 4 Thông báo S và kết thúc. Writeln(‘S = ‘, S:4:2); Readln; End. *) Nhận xét: - Giá trị của biến S sau khi chay chương trình là: S = 5.00. 0,5đ 0,5đ 0.5đ 0,5đ
Tài liệu đính kèm: