1. Trang chủ
  2. » Giáo án - Bài giảng

đề thi HKI(Hay mới)

7 995 8
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

ĐỀ THI HỌC KỲ I MÔN: TIN HỌC Thời gian: 45 phút Họ và tên: . Lớp: Đề 1: I. Phần trắc nghiệm:(5 điểm) câu 1:Trong NNLT, cú pháp dùng để? 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. Câu 2:Trong Pascal, cú pháp để khai báo biến? 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>; Câu 3: Để khai báo biến A kiểu số nguyên, ta chọn cách khai báo nào? a, var a: Integer; b, var a : real; c, Var: A Integer; d, Var : A real; Câu 4:Trong khai báo sau, khai báo nào đúng? 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; Câu 5: Với khai báo biến: 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; 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à phù hợp? a, word; b, Integer; c, Byte; d, Real; Câu 7: Xét chương trình sau: Var a, b: longint; Begin a:= 1234567; b:= 456; End. Kết quả của chương trình là gì? a, 1234567-456; b, 1234111; c, 1234567456; d, Tất cả đều sai; Câu 8: Xét chương trình sau: 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; Câu 9: Xét chương trình sau: 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; Câu 10: Xét chương trình sau: 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; II. Phần tự luận:(5 điểm) 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) 04 2 acb − b) yx yx − + 2 xxxc 222) ++ Câu 2:(1đ) Viết chương trình nhập 2 số nguyên dương a, b và đưa ra số nhỏ nhất? Câu 3: (2,5 đ) 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; b, Đếm xem có bao nhiêu phần tử có giá trị lớn hơn hoặc bằng 100; ĐỀ THI HỌC KỲ I MÔN: TIN HỌC Thời gian: 45 phút Họ và tên: . Lớp: Đề 2: I. Phần trắc nghiệm:(5 điểm) 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? a, 167.0; b, 1.8E-15; c, 15,78; d. ‘23’ Câu 2:Trong NNLT Pascal từ khoá CONST dùng để 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; Câu 3: Để khai báo biến A kiểu số thực, ta chọn cách khai báo nào? a, var a: Integer; b, var a : real; c, Var: A Integer; d, Var : A real; 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 sau là phù hợp nhất? a, word; b, Integer; c, Byte; d, Real; Câu 5: Trong Pascal, để đưa dữ liệu ra màn hình ta sử dụng thủ tục nào? 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; Câu 6: Xét chương trình sau: 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 Câu 7: Xét chương trình sau: Var i, s: Integer; Begin s:=2; for i := 1 to 5 do s:= s*i; writeln(s); end. a, 2; b, 10; c, 160; d, 240; 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à: 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>; Câu 9: Xét chương trình sau: 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; Câu 10: Cú pháp câu lệnh nào sau đây là đúng? 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; II. Phần tự luận:(5 điểm) 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, ax 2 + bx + c b, 22 2 1 yx + yx yx yx c + ++ + 1 20082007 , 22 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; b, Đếm xem có bao nhiêu phần tử chia hết cho 3; Đáp án: Đề 1: 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) 0**4* cabb − )))*2(*2(*2() xsqrtxsqrtxsqrtc ++ 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. * Đáp án chương trình: 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. *Đáp án chương trình: 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; For i := 1 to 15 do writeln(a[i]:4); dem:= 0; 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. Đề 2: 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 ysqrxsqrsqrt + ));/(1))()(/(()*2008*2007(, yxysqrxsqryxc ++++ 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. * Đáp án chương trình: 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. *Đáp án chương trình: 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 Begin 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 if a[i]mod 5 = 0 then dem:= dem+1; writeln(‘so phan tu chia het cho 5 là:’,dem); end. . ĐỀ THI HỌC KỲ I MÔN: TIN HỌC Thời gian: 45 phút Họ và tên: vừa nhập; b, Đếm xem có bao nhiêu phần tử có giá trị lớn hơn hoặc bằng 100; ĐỀ THI HỌC KỲ I MÔN: TIN HỌC Thời gian: 45 phút Họ và tên: .

Ngày đăng: 24/10/2013, 19:11

TỪ KHÓA LIÊN QUAN

w