Mục tiêu đánh giá Kiểm tra hiểu biết của học sinh về cách dùng câu lệnh ghép, rẽ nhánh và lặp 2.. Mục đích yêu cầu của đề Nắm được lệnh rẽ nhánh, hiểu được cấu trúc lặp.. Trong các câu
Trang 1Đề kiểm tra 1 tiết tin học 11
1 Mục tiêu đánh giá
Kiểm tra hiểu biết của học sinh về cách dùng câu lệnh ghép, rẽ nhánh và lặp
2 Mục đích yêu cầu của đề
Nắm được lệnh rẽ nhánh, hiểu được cấu trúc lặp
Lập trình giải một bài toán về rẽ nhánh và lặp
3. Ma trận đề
Nhận biết Câu 1, Câu 5 Thông hiểu Câu 2, Câu 3, Câu 4
4 Đề bài
Đề 1:
Câu 1: Cho a, b, min là các biến thực Trong các câu lệnh sau, câu lệnh nào đúng ?
a If a<b;then min:=a ;
b If a<b then min=a else min=b;
c. If a<b then min:=a else min:=b;
Câu 2: Cho đoạn chương trình sau:
x:=a;
if a<b then x:=b;
Cho a=20 ; b=15 Kết quả x bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 3: Cho đoạn chương trình sau:
i:=1; s:=0;
while i<5 do
begin
s:=s+1;
i:=i+1;
end;
Kết quả s bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 4: Cho đoạn chương trình sau:
p:=1;
for i:=1 to 6 do
p:=p*i;
kết quả p bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 5: Cho đoạn chương trình sau
Var i:byte;S,n:real;
Begin Write(‘nhap n=’),readln(n);
S:=0 For i:=1 to n do s:=s+(1/i) Write(‘tong s=’,s);
Readln
End.
Trang 2Đoạn chương trình trên có mấy lỗi?
Câu 6: Tự luận (5 điểm) Viết các chương trình sau:
a. Nhập N từ bàn phím để tính tổng sau: s=12+22+32+….N2 (3 điểm)
b. Nhập vào N số nguyên dương, kiểm tra xem có bao nhiêu số dương và tính tổng của chúng.(HD: dùng for do để nhập từng số hạng,nếu số nhập vào là dương thì
dem:=dem+1,tong:=tong+số dương) (2 điểm)
Đề 2:
Câu 1: Cho a, b, min là các biến thực Trong các câu lệnh sau, câu lệnh nào đúng ?
a. If a<b then min:=a ;
b If a<b then min=a else min=b;
c If a<b then min:=a else min:=b;
Câu 2: Cho đoạn chương trình sau:
if a<b then x:=b else x:=a;
Cho a=10 ; b=15 Kết quả x bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 3: Cho đoạn chương trình sau:
i:=1; s:=0;
while i<5 do
begin
s:=s+2;
i:=i+1;
end;
Kết quả s bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 4: Cho đoạn chương trình sau:
p:=1;
for i:=1 to 6 do
p:=p+i;
kết quả p bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 5: Cho đoạn chương trình sau
Var i:byte;S,n:real;
Begin Write(‘nhap n=’),readln(‘n’);
S:=0 For i:=1 to n do s:=s+(1/i) Write(‘tong s=’,s);
Readln
End.
Đoạn chương trình trên có mấy lỗi?
Câu 6: Tự luận (5 điểm) Viết các chương trình sau:
Trang 3a. Nhập vào số n,k tính An
b. Nhập vào N số nguyên, tìm số lớn nhất và xuất ra màn hình? (HD: dùng for do để nhập n số, gán max bằng số đầu tiên,duyệt với n-1 số còn lại,nếu max< số nhập thì
max:=số Xuất max.) (2 điểm)
Đề 3:
Câu 1: Cho a, b, min là các biến thực Trong các câu lệnh sau, câu lệnh nào đúng ?
a. If a>b then min:=b ;
b If a<b then min=a else min=b;
c If a<b then min:=a else min:=b;
Câu 2: Cho đoạn chương trình sau:
if a<b then x:=b else x:=a;
Cho a=20 ; b=25 Kết quả x bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 3: Cho đoạn chương trình sau:
i:=1; s:=0;
while i<5 do
begin
s:=s+3;
i:=i+1;
end;
Kết quả s bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 4: Cho đoạn chương trình sau:
p:=21;
for i:=1 to 6 do
p:=p-I;
kết quả p bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 5: Cho đoạn chương trình sau
Var i:byte;S,n:real;
Begin Write(‘nhap n=’),readln(n);
S:=0 For i:=1 to n do s:=s+(1/i) Write(‘tong s=’s);
Readln
End.
Đoạn chương trình trên có mấy lỗi?
Câu 6: Tự luận (5 điểm) Viết các chương trình sau:
a. Nhập N từ bàn phím để tính tổng sau: s=12+22+32+….N2 (3 điểm)
b. Nhập vào N số nguyên dương, kiểm tra xem có bao nhiêu số dương và tính tổng của chúng.(HD: dùng for do để nhập từng số hạng,nếu số nhập vào là dương thì
dem:=dem+1,tong:=tong+số dương) (2 điểm)
Trang 4Đề 4:
Câu 1: Cho a, b, min là các biến thực Trong các câu lệnh sau, câu lệnh nào đúng ?
a. If a<b;then min:=a ;
b If a<b then min=a else min=b;
c If a<b then min:=a else min:=b;
Câu 2: Cho đoạn chương trình sau:
x:=a;
if a<b then x:=b;
Cho a=20 ; b=25 Kết quả x bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 3: Cho đoạn chương trình sau:
i:=1; s:=0;
while i<5 do
begin
s:=s+4;
i:=i+1;
end;
Kết quả s bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 4: Cho đoạn chương trình sau:
p:=2880;
for i:=1 to 6 do
p:=p div i;
kết quả p bằng bao nhiêu? ( Đánh dấu vào đáp số đúng)
Câu 5: Cho đoạn chương trình sau
Var i:byte;S,n:real;
Begin Write(‘nhap n=’),readln(n);
S:=0;
For i:=1 to n do s:=s+(1/i) Write(‘tong s=’,s);
Readln
End.
Đoạn chương trình trên có mấy lỗi?
Câu 6: Tự luận (5 điểm) Viết các chương trình sau:
a Nhập vào số n,k tính An
b.Nhập vào N số nguyên dương, kiểm tra xem có bao nhiêu số dương và tính tổng của chúng (HD: dùng for do để nhập từng số hạng,nếu số nhập vào là dương thì
dem:=dem+1,tong:=tong+số dương) (2 điểm)
5 Đáp án và biểu điểm
Câu 1 (1 điểm) Đáp án: Đề 1:c Đề 2:c Đề 3:c Đề 4:c
Câu 2 (1 điểm) Đáp án: Đề 1:b Đề 2:c Đề 3:d Đề 4:d
Câu 3 (1 điểm) Đáp án: Đề 1:b Đề 2:d Đề 3:c Đề 4:a
Trang 5Câu 4 (1 điểm) Đáp án: Đề 1:b Đề 2:c Đề 3:b Đề 4:c Câu 5 (1 điểm) Đáp án: Đề 1:c Đề 2:d Đề 3:d Đề 4:b Câu 6 (5 điểm)
Câu a: (3 điểm) - Đề 1 và Đề 3
program tong;
uses crt;
var i,n:integer;
s:real;
begin clrscr;
write('nhap gia tri n:');readln(n);
s:=0;
for i:=1 to n do s:=s+sqr(i);
write('tong s=',s:9:2);
readln end.
- Khai báo biến (đủ, phù hợp): 1 điểm
- Nhập, xuất: 1 điểm
- Phần code thực hiện thuật toán: 1 điểm
Câu a: (3 điểm) - Đề 2 và Đề 4
program tong;
uses crt;
var i,n,k:integer;
kq,kq1,kq2:real;
begin clrscr;
write('nhap gia tri k va n:');readln(k,n);
kq1:=1;kq2:=1;
for i:=1 to k do kq1:=kq1*i;
for i:=1 to k-n do kq2:=kq2*i;
kq:=kq1/kq2;
write('kAn=',kq:9:2);
readln end.
- Khai báo biến (đủ, phù hợp): 1 điểm
- Nhập, xuất: 1 điểm
- Phần code thực hiện thuật toán: 1 điểm
Câu b: (2 điểm) - Đề 1 và Đề 3
program timax;
uses crt;
var max,so,i,n:integer;
begin clrscr;
write('ban muon nhap bao nhieu so?');readln(n);
Trang 6write('nhap so thu 1');readln(max); for i:=2 to n do
begin
write('nhap so thu ',i,' ');readln(so);
if max<so then max:=so;
end;
write('max=',max);
readln
end.
- Nhập, xuất, khai báo biến: 1 điểm
- Phần code thực hiện thuật toán: 1 điểm
Câu b: (2 điểm) - Đề 2 và Đề 4
program tongduong;
uses crt;
var n,i,dem,so,s:integer;
begin
clrscr;
write('nhap n');readln(n);
dem:=0;s:=0;
for i:=1 to n do
begin
write('nhap so thu ',i,'= ');readln(so);
if so>0 then
begin
dem:=dem+1;
s:=s+so;
end;
end;
write('so duong la: ',dem,' tong la: ',s); readln
end.
- Nhập, xuất, khai báo biến: 1 điểm
- Phần code thực hiện thuật toán: 1 điểm