Tải bản đầy đủ (.doc) (7 trang)

de thi HKIHay moi

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 (115.58 KB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>ĐỀ THI HỌC KỲ I</b>


<b>MÔN: TIN HỌC</b> <b>Thời gian: 45 phút</b>
<b>Họ và tên:...</b>


<b>Lớp:...</b>
<b>Đề 1:</b>


<b>I. Phần trắc nghiệm:(5 điểm)</b>


<i><b>câu 1:Trong NNLT, cú pháp dùng để?</b></i>


a, Thông dịch chương trình.
b, Biên dịch chương trình.


c, Làm quy tắc viết chương trình.
d, Xác định các thao tác thực hiện.


<i><b>Câu 2:Trong Pascal, cú pháp để khai báo biến?</b></i>


a, Var<Danh sách tên biến>;


b, <Danh sách tên biến>: kiểu dữ liệu;
c, Var<Danh sách tên biến>: <Kiểu dữ liệu>;
d, Var<Danh sách tên biến>= <Kiểu dữ liệu>;


<i><b>Câu 3: Để khai báo biến A kiểu số nguyên, ta chọn cách khai báo nào?</b></i>


a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;



<i><b>Câu 4:Trong khai báo sau, khai báo nào đúng?</b></i>


a, Khai báo biến x là kiểu số thực: Var x: read;


b, Khai báo biến p, q có kiểu byte: Var p: byte; q: byte;
c, Khai báo 2 biến x1, x2 có kiểu thực: Var x1, x2:real;


d, Khai báo biến c có kiểu kí tự và z có kiểu số thực: Var z: char, c : Char;


<i><b>Câu 5: Với khai báo biến: </b></i>


Var ch: char;
a,b: integer;
c, d: byte;
e, f: boolean;


Hỏi bộ giá trị nào mà các biến nhận được dưới đây là đúng?
a, ch= ‘1’; a=2; b=3; c=4; d=5; e=6; f = 7;


b, ch= ‘3’; a=2; b=3; c=4; d=5; e=true; f = false;
c, ch= 2 ; a=2; b=3; c=4; d=5; e=true; f = true;
d, ch= ‘A’; a=2; b=3; c=4.8; d=5.3; e=true; f = false;


<i><b>Câu 6: Biến x nhận giá trị nguyên trong đoạn [0; 35000], kiểu dữ liệu nào dưới đây là </b></i>
<i><b>phù hợp?</b></i>


a, word; b, Integer; c, Byte; d, Real;


<i><b>Câu 7: Xét chương trình sau</b></i>:
Var a, b: longint;


Begin


a:= 1234567; b:= 456;
End.


Kết quả của chương trình là gì?


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<i><b>Câu 8: Xét chương trình sau:</b></i>


Var a,b: integer;
begin


a:= 10; b:= -10;


if a<b then write(-1) else write (1);
if a = b then write (0);


end.


Kết quả của chương trình trên là?


a, -1 b, 1; c, -10; d, 10;


<i><b>Câu 9: Xét chương trình sau:</b></i>


Var i, s: Integer;
Begin


s:=1;



for i := 1 to 5 do s:= s*i;
writeln(s);


end.


Kết quả của chương trình trên là?


a, 1; b, 5; c, 100; d, 120;


<i><b>Câu 10: Xét chương trình sau:</b></i>


Var i, j, s: Integer;
Begin


s:= 0;


for i := 1 to 2 do


for j:= 1 to 3 do s:= s+j;
writeln(s);


End.


Kết quả của chương trình sau:


a, 5; b, 6; c, 9; d, 12;


<b>II. Phần tự luận:(5 điểm)</b>


<b>Câu 1(1.5 )</b>Viết lại các biểu thức dạng toán học sau sang dạng biểu diễn tương ứng trong


pascal :


a) 2 4 0



<i>ac</i>


<i>b</i>  b) <i>x<sub>x</sub></i> <i><sub>y</sub>y</i>





2


<i>c</i>) 2<i>x</i> 2<i>x</i> 2<i>x</i>


<b>Câu 2:(1đ)</b> Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số nhỏ nhất?


<b>Câu 3: (2,5 đ)</b> Viết chương trình nhập mảng một chiều gồm 15 phần tử các số nguyên rồi
thực hiện các công việc sau:


a, In ra các phần tử vừa nhập;


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>ĐỀ THI HỌC KỲ I</b>


<b>MÔN: TIN HỌC</b> <b>Thời gian: 45 phút</b>
<b>Họ và tên:...</b>


<b>Lớp:...</b>
<b>Đề 2:</b>



<b>I. Phần trắc nghiệm:(5 điểm)</b>


<i><b>Câu 1 Biểu diễn nào dưới đây không phải là biểu diễn hằng trong pascal?</b></i>


a, 167.0; b, 1.8E-15; c, 15,78; d. ‘23’


<i><b>Câu 2:Trong NNLT Pascal từ khoá CONST dùng để </b></i>


a, Khai báo biến; b, Khai báo hằng;


c, Khai báo tên chương trình; d, Khai báo tên thư viện;


<i><b>Câu 3: Để khai báo biến A kiểu số thực, ta chọn cách khai báo nào?</b></i>


a, var a: Integer; b, var a : real;
c, Var: A Integer; d, Var : A real;


<i><b>Câu 4: Biến x nhận giá trị trong khoảng [-10, 10], khai báo nào trong các khai báo </b></i>
<i><b>sau là phù hợp nhất?</b></i>


a, word; b, Integer; c, Byte; d, Real;


<i><b>Câu 5: Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục nào?</b></i>


a, write(danh sách các giá trị); b, writeln(danh sách các giá trị);


c, readln(danh sách các biến); d, Cả a và b;


<i><b>Câu 6: Xét chương trình sau:</b></i>



var a,b : longint;
Begin


a:= 123456; b:= 456;


writeln(‘Gia tri cua a, b la:, a, ‘ ‘ , b);
write(‘Hieu cua a va b la:’,a-b);
End.


Kết quả của chương trình là


a, Gia tri cua a, b la: 123456 456
Hieu cua a va b la: 123000
b, Gia tri cua a, b la: 123456 456
Hieu cua a va b la: 123456-456


c, Gia tri cua a: 123456 Gia tri cua b: 456
Hieu cua a va b la: 123000


d, Gia tri cua a: 123456 Gia tri cua b: 456
Hieu cua a va b la: 123456-456


<i><b>Câu 7: Xét chương trình sau:</b></i>


Var i, s: Integer;
Begin


s:=2;



for i := 1 to 5 do s:= s*i;
writeln(s);


end.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<i><b>Câu 8: Cú pháp khai báo cấu trúc lặp dạng tiến với số lần lặp biết trước là:</b></i>


a, For<Biến đếm>:= <giá trị đầu> to <giá trị cuối><câu lệnh>;
b, For<Biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
c, For<Biến đếm>:= <giá trị đầu>downto <giá trị cuối><câu lệnh>;
d, For<Biến đếm>:= <giá trị đầu> downto <giá trị cuối> do <câu lệnh>;


<i><b>Câu 9: Xét chương trình sau:</b></i>


Var i, j, s: Integer;
Begin


s:= 0;


for i := 1 to 2 do


for j:= 1 to 3 do s:= s+i;
writeln(s);


End.


Kết quả của chương trình sau:


a, 3; b, 5; c, 9; d, 12;



<i><b>Câu 10: Cú pháp câu lệnh nào sau đây là đúng?</b></i>


a. Type mang: array[-100 ..100] of integer;
b. Type mang : array[-100 to 100] of integer;
c. Type mang = array[-100 to 100] of integer;
d. Type mang = array[-100 .. 100] of integer;


<b>II. Phần tự luận:(5 điểm)</b>


Câu 1(1.5 )Viết lại các biểu thức dạng toán học sau sang dạng biểu diễn tương ứng trong
pascal :


a, ax2<sub> + bx + c</sub> <sub>b, </sub> 2 2


2
1


<i>y</i>


<i>x</i> 


<i>y</i>
<i>x</i>
<i>y</i>
<i>x</i>


<i>y</i>
<i>x</i>


<i>c</i>









1
2008
2007


,


2
2


Câu 2:(1đ) Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số lớn nhất?


Câu 3: (2,5 đ) Viết chương trình nhập mảng một chiều gồm 10 phần tử các số nguyên rồi
thực hiện các công việc sau:


a, In ra các phần tử vừa nhập;


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Đáp án:</b>



<b>Đề 1:</b>


I. Phần trắc nghiệm (5 điểm)
- Mỗi ý đúng được 0,5 điểm.



Câu 1 2 3 4 5 6 7 8 9 10


Đáp
án


c c a c b a b b d d


II. Phần tự luận (5 điểm)


Câu 1: Mỗi ý đúng được 0,5 điểm


a) <i>b</i>*<i>b</i> 4*<i>a</i>*<i>c</i>0 <i>c</i>)<i>sqrt</i>(2*<i>x</i><i>sqrt</i>(2*<i>x</i><i>sqrt</i>(2*<i>x</i>)))


b) (sqt(x)+y)/(x-y)
Câu 2:


- Viết được phần khai báo và nhập 2 số nguyên dương 0,5 điểm.


- Viết được thuật toán đưa ra phần tử lớn nhất được 0,5 điểm.


<b>* Đáp án chương trình:</b>


Program bai2;
uses crt;


var a, b: Integer;
Begin


clrscr;



writeln(‘nhap a=’); read(a);
writeln(‘nhap b=’); read(b);


if a< b then writeln(‘so nho nhat la:’,a)
else writeln(‘so nho nhat la:’,b);
end.


Câu 3:


- Khai báo 0.5 điểm;


- Nhập mảng 1 chiều 0.5 điểm;


- In ra mảng vừa nhập 0,5 điểm;


- Đếm các phần tử chia hết cho k 1 điểm.


<b>*Đáp án chương trình:</b>


Program bai3;
uses crt;


var i, k, dem: Integer;


a: array[1..15] of integer;
Begin


clrscr;


writeln(‘nhap mang mot chieu:’);


For i := 1 to 15 do


Begin


write(‘a[‘,i,’]=’);


readln(a[i]);
end;


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

For i := 1 to 15 do


if a[i]>=100 then dem:= dem+1;
writeln(‘so phan tu co gia tri >= 100 là:’,dem);
end.


<b>Đề 2:</b>


I. Phần trắc nghiệm (5 điểm)
- Mỗi ý đúng được 0,5 điểm.


Câu 1 2 3 4 5 6 7 8 9 10


Đáp
án


c b b d d a d b c a


II. Phần tự luận:
Câu 1: Mỗi ý 0.5 điểm



a, a*sqr(x)+ b*x + c b, * ( ( ) ( ))


2
1
<i>y</i>
<i>sqr</i>
<i>x</i>
<i>sqr</i>
<i>sqrt</i> 
));
/(
1
))
(
)
(
/((
)
*
2008
*
2007
(


, <i>x</i> <i>y</i> <i>sqr</i> <i>x</i> <i>sqr</i> <i>y</i> <i>x</i> <i>y</i>


<i>c</i>    


Câu 2:



- Viết được phần khai báo và nhập 2 số nguyên dương 0,5 điểm.


- Viết được thuật toán đưa ra phần tử lớn nhất được 0,5 điểm.


<b>* Đáp án chương trình:</b>


Program bai2;
uses crt;


var a, b: Integer;
Begin


clrscr;


writeln(‘nhap a=’); read(a);
writeln(‘nhap b=’); read(b);


if a> b then writeln(‘so lon nhat la:’,a)
else writeln(‘so lon nhat la:’,b);
end.


Câu 3:


- Khai báo 0.5 điểm;


- Nhập mảng 1 chiều 0.5 điểm;


- In ra mảng vừa nhập 0,5 điểm;


- Đếm các phần tử chia hết cho k 1 điểm.



<b>*Đáp án chương trình:</b>


Program bai3;
uses crt;


var i, dem: Integer;


a: array[1..10] of integer;
Begin


clrscr;


writeln(‘nhap mang mot chieu:’);
For i := 1 to 10 do


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

write(‘a[‘,i,’]=’);
readln(a[i]);
end;


For i := 1 to 10 do writeln(a[i]:4);
dem:= 0;


For i := 1 to 10 do


</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×