Đề thi học kì 2 Tin 8 trường THCS Lê Văn Tám
Nội dung tài liệu
Tải xuống
Link tài liệu:
Các tài liệu liên quan
Có thể bạn quan tâm
Thông tin tài liệu
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.
a) Var x : Array[5..10.5] Of Real;
b) 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.
a) Var x : Array[10, 13] Of Integer;
b) 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:
For := To Do ;
Trong đó:
1đ
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.
Khi thực hiện, ban đầu “Biến đếm” sẽ nhận giá trị là “Giá trị đầu”; sau mỗi vòng
3
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;
1đ
9
Vậy khi thực hiện xong, thì J = 9.
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.
Nội dung khai báo
Sai
Var
X : Array[5..10.5] Of Real;
Nguyên nhân
“Chỉ số cuối” có giá trị thực.
X
1đ
Khắc phục
Chỉ dùng
giá trị
nguyên
0,5
đ
Var
X:Array[10..1] Of Integer;
X
“Chỉ số đầu” lớn hơn “Chỉ số Đổi giá trị
cuối”
cho nhau. 0,5
đ
Câu 3:
Lưu đồ mô tả
Nguyên tắc hoạt động
1
đ
Điều kiện lặp
Sai
Đúng
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:
While <Điều kiện lặp> Do ;
Trong đó:
1đ
While, Do là các từ khóa.
“Điều kiện lặp” là phép so sánh.
2
“Câu lệnh” có thể là câu lệnh đơn hay câu lệnh ghép.
đ
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
1đ
kết thúc. Ngược lại, thực hiện “Câu lệnh” và quay lại bước 1.
Câu 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 đó:
1đ
- 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.
2
đ
Nội dung khai báo
Var
X : Array[10, 13] Of Integer;
Sai
X
Var
X:Array[3.4..4.8] Of Integer;
X
Nguyên nhân
Khắc phục
Dấu “,” dùng phân cách “Chỉ số Đổi lại dấu 0,5
đầu” và “Chỉ số cuối”.
“..”.
đ
“Chỉ số đầu” và “Chỉ số cuối” Chỉ dùng
có giá trị thực.
giá trị
nguyên
0,5
đ
Câu 3:
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.
0,5
đ
Bước 1: A 0;
2
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
đ
Đề dự trữ
A) Phần lý thuyết: (6 điểm)
Câu 1:
Lệnh lặp For
Giống
nhau
Lệnh lặp While
Cùng là câu lệnh lặp
Số lần lặp = Giá trị cuối – Giá trị Phụ thuộc “Điều kiện lặp” còn Đúng
đầu + 1 hay Sai.
2
Khác
nhau
đ
0,5
đ
Câu lệnh sau từ khoá Do được Câu lệnh sau từ khoá Do có thể 0,5
thực hiện ít nhất một lần.
không dược thực hiện lần nào.
đ
Biến đếm được tự động tăng thêm Phải có dòng lệnh tác động đến “Điều
một đơn vị sau mỗi vòng lặp, cho kiện lặp” để có lúc chuyển từ Đúng 0,5
đến khi bằng “Giá trị cuối”.
sang Sai: Lệnh lặp kết thúc.
đ
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.
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.
1đ
1đ
-
“Kiểu dữ liệu” ở đây chỉ xét kiểu số nguyên hay số thực.
Câu 3:
Bước
Nội dung thực hiện
S10; x0.5;
Chương trình minh hoạ
Program Thuat_Toan_1;
Var
S, x : Real;
1
2đ
Begin
2
Nếu S<=5.2 chuyển tới bước 4;
3
SS-x và quay lại bước 2;
Thông báo S và kết thúc.
4
S := 10;
0,5
X := 0.5;
đ
While (S>5.2) Do
S := S – x;
Writeln(‘S = ‘, S:4:2);
Readln;
0,5
đ
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
đ

