TRẮC NGHIỆM: 2đ Câu 1: Trong ngôn ngữ lập trình Pascal, tên nào là hợp lệ?. TỰ LUẬN: 8đ Câu 1: Viết và giải thích cú pháp của câu lệnh lặp với số lần chưa biết trước trong Pascal... Phần
Trang 1PHÒNG GIÁO DỤC VÀ ĐÀO TẠO YEUL ĐỀ THI HỌC KÌ II NĂM HỌC 2010 - 2011
TRƯỜNG THCS COOC Moân: TIN HỌC - Lớp 8
Thời gian làm bài: 45 phút, không kể thời gian phát đề.
I TRẮC NGHIỆM: (2đ)
Câu 1: Trong ngôn ngữ lập trình Pascal, tên nào là hợp lệ?
a) Tam giac; b) Tamgiac; c) Begin; d) End
Câu 2: Trong Pascal, khai báo nào sau đây sai?
c) a: array[1 5,5] of integer; d) Tất cả đều sai
Câu 3 Trong ngôn ngữ lập trình, phép gán nào là hợp lệ?
Câu 4: Câu lệnh lặp For i:=3 to 10 do Begin end; vòng lặp thực hiện bao nhiêu lần
II TỰ LUẬN: (8đ)
Câu 1: Viết và giải thích cú pháp của câu lệnh lặp với số lần chưa biết trước trong Pascal (2đ) Câu 2 Các câu lệnh Pascal sau có hợp lệ không? Nếu không sửa lại cho đúng? (2đ)
a) if a>b then max:=a; else max:=b;
b) for i:=10 to 2 do write(‘A’);
c) for i:= 1.5 to 5.5 do write(‘A’);
d) While x:=y do x:=x+1;
Câu 3 Sửa lỗi chương trình sau: (1đ)
Program Tinhtong;
Var N, i: integer;
S: Longint;
Begin
Write(‘Nhap so N = ’); Readln(N);
S:=0;
For i = 1 to N do S:=S+i;
Writeln(‘Tong cua ‘,N,’ so tu nhien dau tien S = ‘,S);
Readln End
Giả sử nhập N =5, máy sẽ thông báo kết quả S bằng bao nhiêu? (1đ)
Câu 4 Viết thuật toán giải phương trình ax + b = 0 (2đ)
Hết
-ĐÁP ÁN TIN 8
Trang 2I Phần trắc nghiệm: Mỗi câu trả lời đúng được 0,5đ (2 đ)
II Phần tự luận: 8đ
Câu 1 Cú pháp của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ lập trình Pascal:
While <điều kiện> do <câu lệnh>; (1đ)
Câu lệnh lặp được thực hiện: (1đ)
Bước 1 Kiểm tra điều kiện
Bước 2 Nếu điều kiện không được thoả mãn (sai), câu lệnh sẽ bị bỏ qua và lệnh lặp kết thúc Nếu điều kiện được thoả mãn (đúng), thực hiện câu lệnh và quay lại bước 1
Câu 2 Mỗi câu đúng được 0,5 đ
a) Trước else không có dấu chấm phẩy, sửa lại:
if a>b then max:=a else max:=b;
b) Giá trị cuối phải lớn hơn hoặc bắng giá trị đâu, sửa lại:
for i:=2 to 10 do write(‘A’);
c) Giá trị đầu và cuối phải là số nguyên:
for i:=1 to 5 do write(‘A’);
d) Điều kiện là phép so sánh, không là phép gán
while x>y do x:=x+1;
Câu 3 Sửa lỗi chương trình sau: (1đ)
Program Tinhtong;
Var N, i: integer;
S: Longint;
Begin
Write(‘Nhap so N = ’); Readln(N);
S:=0;
For i := 1 to N do S:=S+i; { Sai phép gán}
Writeln(‘Tong cua ‘,N,’ so tu nhien dau tien S = ‘,S);
Readln End { thiếu dấu chấm sau end}
Giả sử nhập N =5, máy sẽ thông báo kết quả S bằng 15 (1đ)
Câu 4 Viết thuật toán giải phương trình ax + b = 0 (2đ)
Input: Nhập các số a, b (0,25đ)
Output: Nghiệm của phương trình bậc nhất (0,25đ)
B1 Nếu a=0 chuyển tới bước 3
B2 Tính nghiệm của phương trình x = - b/a và chuyển tới bước 4
B3 Nếu b ≠0, thông báo phương trình vô nghiệm ngược lại thông báo phương trình có vô số nghiệm B4 Kết thúc