TỰ LUẬN: 5 điểm Câu 1./1.5 điểm Trình bày cú pháp và hoạt động và cách xác định số vòng lặp của câu lệnh lặp trong ngôn ngữ lập trình Pascal?. Câu 2./ 1.5 điểm Biến là gì?[r]
Trang 2UBND HUYỆN HOÀI NHƠN ĐỀ KIỂM TRA HỌC KỲ I
Thời gian: 45 phút ( không kể thời gian phát đề)
Họ và tên :……….
Trường : ……….
Lớp : ………SBD……….
A TRẮC NGHIỆM: (5 điểm) Đề I
I./ (3 điểm) Hãy khoanh tròn vào chữ cái đứng trước câu trả lời đúng nhất:
Câu 1./ Chương trình dịch là gì?
a./ Chương trình dịch ngôn ngữ lập trình thành ngôn ngữ máy
b./ Dùng để viết chương trình c./ Là chương trình tính toán
d./ Là chương trình giúp máy tính thực hiện lệnh của con người
Câu 2./ Kết quả hiển thị trên màn hình câu lệnh writeln(‘12+23=’, 12+23) là
a./ 12+23=12+23 b./ 35 c./ 12+23=’12+23’ d./ 12+23=35
Câu 3./ Phần thân của chương trình Pascal thường bắt đầu và kết thúc bởi cặp từ khóa:
a /begin và end: b /begin và end c./ begin: và end d./ begin và end;
Câu 4 / Muốn khai báo biến hằng ta sử dụng từ khóa
Câu 5/ Kết quả phép toán -13 div 5 =
Câu 6./ Kết quả phép so sánh sau là x + 2< 5
c./ không có kết quả d./ Đúng hay sai phụ thuộc vào giá trị của x Câu 7./ Biểu thức toán học ax2+bx+c được viết bằng kí hiệu pascal là
a./ a*x*2+b*x+c; b./ a* x*x +b*x+c; c./ a*x^2+b*x+c; d./ a x.x+b.x+c Câu 8./ Biểu thức pascal b*b/(a*a+c) được viết trong toán học là
a./ 2
*2
b
2 2
b
*2
* 2
b
b
a c
Câu 9 Giả sử y là biến kiểu dữ liệu số thực Phép gán nào sau đây hợp lệ ?
a./ y :=’123’ ; b./ y :=’abc’ ; c./y :=123 ; d./ y=123 ;
Câu 10 Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x?
A Write(‘Nhập x = ’); B Read(x); C Writeln(x); D Readnl(x);
Câu 11 Giá trị của x sẽ là bao nhiêu? nếu trước đó giá trị của x bằng 5: if x mod 2=1 then x:=x+1;
Câu 12 Có đoạn chương trình: x:=2; y:=5; for i:=1 to 3 do x:=x+1; y:=y+x; writeln(x,’ ‘,y);
II./ (1 điểm) Điền các cụm từ sau vào những chỗ trống(…) để được câu hoàn chỉnh:
Để tạo chương trình máy tính, chúng ta cần viết chương trình bằng ……(1) Tuy nhiên máy tính vẫn chưa hiểu được các chương trình nên cần có (2) để chuyển đổi sang ngôn ngữ mà máy tính hiểu được
Khi viết chương trình tên của chương trình phải ……(3) với những đại lượng khác tên không được trùng với các … (4)…….
Trang 3III./ (1 điểm) Hãy thay đổi trật tự của các câu lệnh và sửa các lỗi sai để được chương trình đúng.
Program Tinh_Tich{tích các số tự nhiên }
Sửa lại
Var N, i: integer
S: longint;
Begin
Write(‘Nhap N= ‘) Readln(N);
S:=0;
Writeln(‘Tong la’, S);
For i:= 1 to N do S:=S+i;
Readln;
End.
B TỰ LUẬN: (5 điểm)
Câu 1./(2 điểm) Trình bày cú pháp và hoạt động của câu lệnh điều kiện dạng thiếu và dạng đủ trong
ngôn ngữ lập trình Pascal?
Câu 2./ (1 điểm) Nêu sự giống và khác nhau giữa biến và hằng?
Câu 3./ (2 điểm) Viết chương trình tính tổng các số chẳn của N số tự nhiên đầu tiên với N là số tự
nhiên được nhập vào từ bàn phím.
Bài làm:
A./ I Chọn đáp án đúng nhất: mỗi câu 0.25 đ
Đ án
II) Điền từ mỗi câu đúng 0.25 đ
1…… 2…… 3……… 4……
B./ TỰ LUẬN: 5 đ
Trang 4
HƯỚNG DẪN CHẤM BÀI KIỂM TRA HK1 –MÔN TIN HỌC 8 – ĐỀ I
A TRẮC NGHIỆM: (5 điểm)
I./ Mỗi ý đúng 0.25 điểm.
II./ Mỗi ý đúng 0.25 điểm
1) Ngôn ngữ lập trình.
2) Chương trình dịch.
3) Khác nhau
4) Từ khóa
III./ (1 điểm) Mỗi ý đúng 0.25 điểm.
Program Tinh_Tich{tích các số tự nhiên }
Sửa lại
Program Tinh_Tich{tích các số tự nhiên }
Write(‘Nhap N= ‘) Readln(N); Write(‘Nhap N= ‘) Readln(N);
Writeln(‘Tong la’, S); For i:= 1 to N do S:=S*i;
For i:= 1 to N do S:=S+i; Writeln(‘Tich la’, S);
B TỰ LUẬN: (5 điểm)
Câu 1./
a) Dạng thiếu:
- Cú pháp: if <ĐK> then <câu lệnh>; (0.5 điểm)
- Hoạt động: CT sẽ kiểm tra ĐK này, nếu ĐK thỏa mãn, thì CT thực hiện câu lệnh sau từ khóa then, ngược lại
câu lệnh bị bỏ qua (0.5 điểm)
b) Dạng đủ:
- Cú pháp: if <ĐK> then <câu lệnh1> else <câu lệnh2>; (0.5 điểm)
- Hoạt động: CT sẽ kiểm tra ĐK này, nếu ĐK thỏa mãn, thì CT thực hiện câu lệnh sau từ khóa then, ngược lại
câu lệnh 2 sẽ được thực hiện (0.5 điểm)
Câu 2./
- Giống nhau: Mặc dù đều cùng phải khai báo trước khi có thể sử dụng trong chương trình (0.5 điểm)
- Sự khác nhau giữa biến và hằng là:
Giá trị của biến thì có thể thay đổi được tại từng thời điểm thực hiện chương trình (0.25 điểm)
Giá trị của hằng không thay đổi trong suốt quá trình thực hiện chương trình (0.25 điểm)
Câu 3./ (2 điểm)
Program Tinh_tong;
Var N, i: integer;
P: longint;
Begin
Write(‘Nhap so N= ’); Readln(N);
P:= 0;
For i:= 1 to N do
If i mod 2 =0 then P:=P+i;
Writeln(‘Tong cac so chan cua’, N,’ so tu nhien dau tien P= ‘,P);
Readln;
End.
Trang 5UBND HUYỆN HOÀI NHƠN ĐỀ KIỂM TRA HỌC KỲ I
Thời gian: 45 phút ( không kể thời gian phát đề)
Họ và tên :……….
Trường : ……….
Lớp : ………SBD……….
A TRẮC NGHIỆM: (5 điểm) Đề II
I./ (3 điểm) Hãy khoanh tròn vào chữ cái đứng trước câu trả lời đúng nhất:
Câu 1./ Con người viết chương trình để
a./ Hướng dẫn máy tính thực hiện các công việc cần thiết
b./ Nghe nhạc hay soạn thảo văn bản
c./ Máy tính hiểu sở thích con người d./ Máy tính hoạt động được
Câu 2./ Ngôn ngữ lập trình bao gồm?
a./ Bảng chữ cái tiếng anh b./ Bảng chữ cái và các phép toán ( +,-,*,/ ) c./ Từ khóa và bảng chữ cái d./ Bảng chữ cái và các quy tắc
Câu 3./ Các tên sau đây, tên nào hợp lệ
Câu 4 / Kết quả hiển thị trên màn hình câu lệnh writeln(’15-11=’, ‘15-11’) là
a./ 1115-11=-4 b./ -4 c./ 15-11=, ‘15-11’ d./ 15-11=15-11 Câu 5 ./ Từ nào sau đây không phải là từ khóa:
Câu 6./ Khai báo biến x kiểu kí tự ta thực hiện
a./ Var x: integer; b./ var x: string; c./ Var x: char; d./ type x:array[1 10] of char; Câu 7./ Kết quả phép so sánh sau là 10-x > 2
c./ không có kết quả d./ Đúng hay sai phụ thuộc vào giá trị của x Câu 8./ Biểu thức toán học -ax2-bx+c được viết bằng kí hiệu pascal là
a./ a*x*2+b*x+c; b./ -a* x*x -b*x+c; c./ a*x^2+b*x+c; d./ a x.x+b.x+c Câu 9 Giả sử x là biến kiểu dữ liệu xâu Phép gán nào sau đây hợp lệ ?
a./ x :=3 ; b./ x :=’3’ ; c./ x := “3”; d./ x:=(3) ;
Câu 10 Câu lệnh nào sau đây dùng để nhập một số từ bàn phím vào biến x?
a Writeln(‘Nhập x = ’); b Readn(x); c Writeln(x); d Readln(x);
Câu 11 Giá trị của x sẽ là bao nhiêu? nếu trước đó giá trị của x bằng 5: if x div 2=1 then x:=x+1;
Câu 12 Có đoạn chương trình: x:=2; y:=5; for i:=1 to 3 do begin x:=x+1; y:=y+x; end;
writeln(x,’ ‘,y);
II./ (1 điểm) Điền các cụm từ sau vào những chỗ trống(…) để được câu hoàn chỉnh:
Khi khai báo biến trong lập trình cần khai báo ………….(1)… và ………… (2)……
Say khi khai báo biến, ta có thể sử dụng các biến trong chương trình với các thao tác ….(3)… và
……… (4)………
Trang 6III./ Hãy thay đổi trật tự của các câu lệnh và sửa các lỗi sai để được chương trình đúng.
Mỗi ý đúng 0.25 điểm.
Program Tinh_tong {cac so tư nhien }
Sửa lại
Var N, i: integer
S: longint;
Begin
Write(‘Nhap N= ‘); Readln(N);
S:=1;
Writeln(‘Tich la’, S);
For i:= 1 to N do S:=S*i;
Readln
End.
B TỰ LUẬN: (5 điểm)
Câu 1./(1.5 điểm) Trình bày cú pháp và hoạt động và cách xác định số vòng lặp của câu lệnh lặp trong
ngôn ngữ lập trình Pascal?
Câu 2./ (1.5 điểm) Biến là gì? Hằng là gì? Viết cú pháp khai báo biến, hằng và lệnh gán trong Pascal?
Câu 3./ (2 điểm) Viết chương trình tính tích các số chẳn của N số tự nhiên đầu tiên với N là số tự
nhiên được nhập vào từ bàn phím.
A./ I Chọn đáp án đúng nhất: mỗi câu 0.25 đ
Đ án
II) Điền từ mỗi câu đúng 0.25 đ
1…… 2…… 3……… 4……
B./ TỰ LUẬN: (5 đ)
Trang 7
HƯỚNG DẪN CHẤM BÀI KIỂM TRA HK1 –MÔN TIN HỌC 8 – ĐỀ II
A TRẮC NGHIỆM: (5 điểm)
I./ Mỗi ý đúng 0.25 điểm.
II./ Mỗi ý đúng 0.25 điểm
1 Tên biến 2 Kiểu dữ liệu của biến 3 Gán 4 Tính toán
III./ (1 điểm)
Mỗi ý đúng 0.25 điểm.
Program Tinh_tong {cac so tư nhien }
Sửa lại
Program Tinh_tong {cac so tư nhien }
B TỰ LUẬN: (5 điểm)
Câu 1./(1.5 điểm) Trình bày cú pháp và hoạt động và cách xác định số vòng lặp của câu lệnh lặp biết trước
trong ngôn ngữ lập trình Pascal?
- Cú pháp: for <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>; (0.5 điểm)
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
và giá trị cuối không phải nhỏ hơn giá trị đầu.
- Xác định số vòng lặp của câu lệnh lặp: Giá trị cuối =giá trị đầu + 1 (0.5 điểm)
- Hoạt động: Sau mỗi vòng lặp biến đếm được tự động tăng thêm 1 đơn vị cho đến khi bằng giá trị cuối (0.5 điểm)
Câu 2./ (1.5 điểm)
- Biến là đại lượng dùng để lưu trữ dữ liệu Giá trị của biến có thể thay đổi khi thực hiện chương trình (0.25
điểm)
- Khai báo biến: Var tên biến : kiểu dư liệu của biến; (0.25 điểm)
- Lệnh gán có dạng : Tên biến := biểu thức(gt); (0.5 điểm)
- Hằng là đại lượng để lưu trữ diữ liệu và hằng không thay đổi giá trị khi thực hiện chương trình
(0.25 điểm)
- Khai báo hằng: Const tên hằng=giá trị; (0.25 điểm)
Câu 3./ (2 điểm)
Program Tinh_tich;
Var N, i: integer;
P: longint;
Begin
Write(‘Nhap so N= ’);
Readln(N);
P:= 1;
For i:= 1 to N do
If i mod 2 =0 then P:=P*i;
Trang 8Writeln(‘Tich cac so chan cua’, N,’ so tu nhien dau tien P= ‘,P); Readln;
End.