Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (131.66 KB, 6 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>PHÒNG GD&ĐT TP HỘI AN </b>
<b>TRƯỜNG THCS HUỲNH THỊ LỰU</b> <b>KIỂM TRA HỌC KỲ IINăm học:2019-2020</b>
<b>Môn: Tin học 8</b>
<b>Thời gian: 45 phút</b>
Họ tên : ……... Lớp:... Ngày kiểm tra...
Điểm Lời nhận xét của thầy ( cô) giáo
<b>A. LÝ THUYẾT(5điểm)</b>
<i>* Khoanh tròn vào một câu trả lời mà em cho là đúng nhất:</i>
<b>Câu 1: Câu lệnh pascal nào sau đây là hợp lệ?</b>
<b>A. For i:=100 to 1 do writeln(‘A’);</b> <b>B. For i:=1.5 to 10.5 do writeln(‘A’);</b>
<b>C. For i= 1 to 10 do writeln(‘A’);</b> <b>D. For i:= 1 to 10 do writeln(‘A’);</b>
<b>Câu 2: Sau khi thực hiện đoạn chương trình sau: </b>
<i><b>S:=0; For i:=1 to 5 do S:=S+i; </b></i>
<b>Giá trị của biến S bằng bao nhiêu?</b>
<b>A. 20.</b> <b>B. 15.</b> <b>C. 10.</b> <b>D. 0.</b>
<b>Câu 3: Cú pháp của câu lệnh While…do?</b>
<b>A. While <điều kiện> to <câu lệnh>;</b> <b>B. While <câu lệnh> do <điều kiện> ;</b>
<b>C. While <điều kiện> do <câu lệnh>;</b> <b>D. While <điều kiện>; do <câu lệnh>;</b>
<b>Câu 4: Vòng lặp While <Điều kiện> do <Câu lệnh>; là vòng lặp:</b>
<b>A. Chưa biết trước số lần lặp.</b> <b>B. Biết trước số lần lặp. </b>
<b>C. Biết trước số lần lặp nhưng giới hạn là <=100.</b> <b>D. Biết trước số lần lặp nhưng giới hạn là </b>
>=100.
<b>Câu 5: Đoạn lệnh sau đây </b>
<i><b> so:=1;</b></i>
<i><b>While so<10 do writeln(so);</b></i>
<i><b>so:=so+1;</b></i>
<b>sẽ cho kết quả nào?</b>
<b>A. In ra các số từ 1 đến 9.</b> <b>B. In ra các số từ 1 đến 10.</b>
<b>C. In ra vô hạn các số 1, mỗi số trên một dòng.</b> <b>D. In ra số 10.</b>
<b>Câu 6: Sau khi đoạn chương trình ở câu 5 được thực hiện, giá trị của biến “so” bằng </b>
<b>bao nhiêu?</b>
<b>A. 1.</b> <b>B. 2.</b> <b>C. 0.</b> <b>D. Không xác định được.</b>
<b>Câu 7: Trong số các hoạt động sau đây, hoạt động nào sẽ được thực hiện lặp lại với số </b>
<b>lần chưa biết trước?</b>
<b>A. Tính tổng của 20 số tự nhiên đầu tiên.</b> <b>B. Nhập 50 số nguyên từ bàn phím. </b>
<b>C. Học bài đến khi thuộc.</b> <b>D. Nam đi học ngày 2 buổi.</b>
<b>Câu 8: Trong các câu lệnh sau, câu lệnh nào đúng?</b>
<b>A. while i:=1 do t:=10;</b> <b>B. while a<b; do write(‘a nho hon b’);</b>
<b>C. while i=1 do t=10;</b> <b>D. while a<b do write(‘a nho hon b’);</b>
<b>Câu 9: Cú pháp khai báo biến mảng trong Pascal là:</b>
<b>D. var <Tên mảng> : array [<chỉ số đầu>…<chỉ số cuối>] for <kiểu dữ liệu >;</b>
<b>Câu 10: Chọn khai báo hợp lệ:</b>
<b>A. Var a,b: array[1 .. n] of real;</b> <b>B. Var a,b: array[1 : n] of Integer;</b>
<b>C. Var a,b: array[1 .. 100] of real;</b> <b>D. Var a,b: array[1 … 100] of real;</b>
<b>Câu 11: Biến a được nhận các giá trị là 0 ; -1 ; 1 ; 2,3 . Ta có thể khai báo biến a </b>
<b>thuộc kiểu dữ liệu nào?</b>
<b>A. Integer.</b> <b>B. Real.</b> <b>C. Char.</b> <b>D. Longint.</b>
<b>Câu 12: Mảng A: array[5..203] of integer; có bao nhiêu phần tử?</b>
<b>A. 5.</b> <b>B. 203.</b> <b>C. 198.</b> <b>D. 199.</b>
<i>Cho biết khẳng định sau đúng hay sai bằng cách đánh dấu (X) vào ô Đúng hay Sai tương </i>
<i>ứng:</i>
<b>Khẳng định</b> <b>Đúng</b> <b>Sai</b>
<b>Câu 13</b> Trong câu lệnh For…do nếu chỉ số đầu nhỏ hơn chỉ số <sub>cuối thì chương trình sẽ báo lỗi.</sub>
<b>Câu 14</b> Câu lệnh sau do trong lệnh lặp while…do có thể khơng
được thực hiện một lần nào nếu ngay từ đầu, điều kiện
vịng lặp có giá trị sai.
<b>Câu 15</b> Trong pascal khi khai báo một biến kiểu mảng thì chỉ số
đầu và chỉ số cuối là các số thực.
<b>Câu 16</b> Có thể đọc giá trị, gán giá trị, thực hiện tính tốn với từng
phần tử của mảng.
<i>Hãy sửa lại các câu lệnh sau đây cho đúng:</i>
<b>Câu lệnh</b> <b>Sửa lại</b>
<b>Câu 17: For i: =1,5 to 105 do x:=x+1;</b>
<b>Câu 18: Wheli a=b do write(‘a bang b’);</b>
<b>Câu 19: Y: array[1,100] of real;</b>
<b>Câu 20: A: array(2..99) of real;</b>
<b>B.THỰC HÀNH(5điểm)</b>
<b>Bài 1: Viết chương trình nhập vào từ bàn phím điểm kiểm tra mơn Toán của n học sinh </b>
trong lớp với 1 n 50 <sub>.</sub>
a/ Gõ chương trình sau đây: (1 điểm)
Uses crt;
Var n, i : integer; a:array[1,50] of real;
BEGIN
Write(‘nhap so hoc sinh trong lop: ’); readln(n);
While (n<1) or (n>50) do;
Begin
Write(‘nhap lai’); readln(n);
For i:=1 downto n do
Begin
Write( ‘a[‘,i,’]=’); readln(A[i]);
End.
readln
END.
b/ Sửa lỗi sai có trong chương trình.(3 điểm)
<b>ĐÁP ÁN VÀ BIỂU ĐIỂM</b>
<b>A.LÝ THUYẾT: (5 điểm)</b>
<b>Mỗi câu trả lời đúng 0.25 điểm</b>
Câu 1 2 3 4 5 6 7 8 9 1
0
1
1
1
2
1
3
1
4
Đáp án <b>D B C A C D C D A C</b> <b>B</b> <b>D</b> <b>S</b> <b>Đ</b> <b>S</b> <b>Đ</b>
<b>Câu 17: For i: =15 to 105 do x:=x+1;</b> 0.25 điểm
<b>Câu 18: While a=b do write(‘a bang b’);</b> 0.25 điểm
<b>Câu 19: Y: array[1..100] of real;</b> 0.25 điểm
<b>Câu 20: A: array[2..99] of real;</b> 0.25 điểm
<b>B.THỰC HÀNH: (5điểm)</b>
<b>Bài 1: </b>
a/Nhập đúng và đầy đủ dữ liệu 1.0 điểm
b/
Uses crt;
Var n, i : integer; a:array[1..50] of real; {sửa dấu , thành ..}
BEGIN
Write(‘nhap so hoc sinh trong lop: ’); readln(n);
While (n<1) or (n>50) do {bỏ dấu ; }
Begin
Write(‘nhap lai’); readln(n);
End; {thêm end }
For i:=1 to n do {sửa downto thành to }
Begin
Write( ‘a[‘,i,’]=’); readln(a[i]); {sửa A thành a}
End; {sửa dấu . thành ;}
readln
END.
0.5 điểm
0.5 điểm
0.5 điểm
0.5 điểm
0.5 điểm
0.5 điểm
<b>Bài 2:</b>
Uses crt;
Var i,n : integer;
A: array[1..200] of integer;
0.25 điểm
0.25 điểm
BEGIN
Clrscr;
Write(‘so cac so nguyen can nhap la: ’); readln(n); 0.25 điểm
Begin
Write( ‘a[‘,i,’]=’); readln(A[i]);
End.
readln
END.
<b>BẢNG MÔ TẢ</b>
<b>A.LÝ THUYẾT</b>
<b>Câu 1: Biết được cú pháp lệnh lặp For..do. </b>
<b>Câu 2: Hiểu được cách hoạt động của lệnh lặp For..do.</b>
<b>Câu 3: Nắm được cú pháp của lệnh lặp While..do.</b>
<b>Câu 4 : Hiểu được cách sử dụng lệnh lặp while..do. </b>
<b>Câu 5: Hiểu được cách hoạt động của lệnh lặp While..do.</b>
<b>Câu 6 : Hiểu được cách hoạt động của lệnh lặp While..do.</b>
<b>Câu 7: Nhận biết được hoạt động lặp với số lần không biết trước.</b>
<b>Câu 8: Nắm được cú pháp của lệnh lặp While..do.</b>
<b>Câu 9: Nhận biết được cú pháp khai báo biến mảng.</b>
<b>Câu 10: Khai báo biến mảng.</b>
<b>Câu 11: Nhận biết được kiểu dữ liệu khi khai báo biến mảng.</b>
<b>Câu 12: Tính được số phần tử của mảng.</b>
<b>Câu 13: Hiểu được cách hoạt động lệnh lặp For.do.</b>
<b>Câu 14: Hiểu được cách hoạt động lệnh lặp While..do.</b>
<b>Câu 15: Hiểu được cách khai báo biến kiểu mảng.</b>
<b>Câu 16: Hiểu được cách sử dụng phần tử của mảng.</b>
<b>Câu 17: Nắm được cú pháp lệnh lặp For..do.</b>
<b>Câu 18: Nắm được cú pháp lệnh lặp while..do.</b>
<b>Câu 19: Khai báo được biến kiểu mảng.</b>
<b>Câu 20: Khai báo được biến kiểu mảng.</b>
<b>B.THỰC HÀNH</b>
<b>Bài 1:</b>
a/ Gõ được chương trình Pascal trên máy.
b/ Thực hiện thao tác dịch và sửa chương trình.
<b>Bài 2:</b>
<b>KIỂM TRA HỌC KỲ II</b>
<b>MÔN TIN HỌC 8</b>
<b>B.THỰC HÀNH(5điểm)</b>
<b>Bài 1: Viết chương trình nhập vào từ bàn phím điểm kiểm tra mơn Tốn của n học sinh </b>
trong lớp với 1 n 50 <sub>.</sub>
a/ Gõ chương trình sau đây: (1 điểm)
Uses crt;
Var n, i : integer; a:array[1,50] of real;
Write(‘nhap so hoc sinh trong lop: ’); readln(n);
While (n<1) or (n>50) do;
Begin
Write(‘nhap lai’); readln(n);
For i:=1 downto n do
Begin
Write( ‘a[‘,i,’]=’); readln(A[i]);
End.
readln
END.
b/ Sửa lỗi sai có trong chương trình.(3 điểm)
<b>Bài 2: Viết chương trình nhập n số nguyên từ bàn phím. (1 điểm)</b>
<b>KIỂM TRA HỌC KỲ II</b>
<b>MƠN TIN HỌC 8</b>
<b>B.THỰC HÀNH(5điểm)</b>
<b>Bài 1: Viết chương trình nhập vào từ bàn phím điểm kiểm tra mơn Tốn của n học sinh </b>
trong lớp với 1 n 50 <sub>.</sub>
a/ Gõ chương trình sau đây: (1 điểm)
Var n, i : integer; a:array[1,50] of real;
BEGIN
Write(‘nhap so hoc sinh trong lop: ’); readln(n);
While (n<1) or (n>50) do;
Begin
Write(‘nhap lai’); readln(n);
For i:=1 downto n do
Begin
Write( ‘a[‘,i,’]=’); readln(A[i]);
End.
readln
END.
b/ Sửa lỗi sai có trong chương trình.(3 điểm)