Đề cương ôn tập kiểm tra học kỳ I môn tin học lớp 11

6 9.1K 136
Đề cương ôn tập kiểm tra học kỳ I môn tin học lớp 11

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

Thông tin tài liệu

Đề cương ôn tập kiểm tra học kỳ I môn tin học lớp 11

Trường THPT Trần Khai Nguyên – Bộ Môn Tin Học - Khối 11Đề Cương Ôn Tập Kiểm Tra Học Kỳ I Năm Học 2011 – 2012I. Trắc nghiệm(Lưu ý: Phần trắc nghiệm các em kèm theo phần trắc nghiệm đã ôn thi giữa HKI)1. Cấu trúc rẽ nhánhCâu 1: Câu lệnh if nào sau đây đúng: if (a= 5) then a:= d+1 else a:= d+2; if (a= 5) then a:= d+1 else a:= d+2. if (a= 5) then a:= d+1; else a:= d+2; if (a= 5) then a= d+1 else a= d+2;Câu 2: Cho đoạn chương trình sau:Var S, i : Integer;Begini := 1; S:= 40;if ( i > 5 ) then S:= 5 * 3 + ( 5 - i ) * 2elseif ( i > 2 ) then S:= 5 * ielse S:= 0;End.Sau khi chạy chương trình giá trị của S là: 15 19 40 0Câu 3: Câu lệnh if nào sau đây đúng cú pháp: if <điều kiện> then < câu lệnh> if <điều kiện>; then < câu lệnh>; if <điều kiện> ;then < câu lệnh>. if <điều kiện> then < câu lệnh>;Câu 4: Cho N là một biến kiểu nguyên, chọn câu đúng cú pháp: If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 '); If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 '); If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 '); If N < 10 then N := 10 else N > 20 then write (' N > 20 ');Câu 5: Lệnh nào sau đây in ra màn hình số lớn hơn trong 2 số A, B If A < B then writeln(A) else writeln(B); If A > B then write(B) else write(A); If A > B then Readln(A) else Readln(B); If A > B then write(A) else write(B);Câu 6: Trong ngôn ngữ lập trình Pascal về mặt cú pháp cách viết câu lệnh ghép nào sau đây đúng: Begin A:= 1;B:= 5; End. Begin: A:= 1; B:= 5; End; Begin; A:= 1; B;= 5; End. Begin A:= 1; B:= 5; End;Câu 7: Câu lệnh nào sau đây đúng cú pháp: if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>. if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>; if <điều kiện>; then <câu lệnh 1> else <câu lệnh 2>; if <điều kiện> then <câu lệnh 1>; else <câu lệnh 2>;Câu 8: Cho i là biến nguyên. Sau khi thực hiện các lệnh:i:= 2; if i = 1 then i:= i+1 else i:= i+2; Giá trị cuối cùng của i là: 2 3 4 52. Cấu trúc lặp Câu 9: Cú pháp nào sau đây đúng cho vòng lặp For do dạng tiến:a. For <Biến đếm>:=<Giá trị đầu> to <Giá trị cuối> do <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> do <Giá trị cuối> to <Câu lệnh>;d. For <Biến đếm>=<Giá trị đầu> do <Giá trị cuối> to <Câu lệnh>;Câu 10: Cú pháp nào sau đây đúng cho vòng lặp For do dạng lùi:a. For <Biến đếm>:=<Giá trị cuôi> to <Giá trị đầu> do <Câu lệnh>;b. For <Biến đếm>:=<Giá trị cuối> downto <Giá trị đầu> do <Câu lệnh>;c. For <Biến đếm>=<Giá trị cuối> downto <Giá trị đầu> do <Câu lệnh>;d. For <Biến đếm>:=<Giá trị đầu> downto <Giá trị cuối> do <Câu lệnh>;Câu 11: Cú pháp nào sau đây đúng cho câu lệnh While doa. While <điều kiện> : do <câu lệnh>; b. While <điều kiện>:=<câu lệnh>;c. While(điều kiện) do <câu lệnh); d. While <điều kiện> do <câu lệnh>;Câu 12: Cho câu lệnh For i:= 5 to 10 do write(‘Chao ban’); Câu ‘Chao ban’ xuất ra mấy lần:a. 9 b. 5 c. 6 d. 10Câu 13: Cho đoạn lệnh For i:=1 to 10 do k:=i; Write(k:4); Hỏi giá trị xuất ra màn hình là:a. 1 b. 10 c. 1 2 3 4 5 6 7 8 9 10 d.1 10Câu 14. Cho đoạn lệnh For i :=1 to 10 do Begin k:=i; write(k:4) end; Hỏi kết quả xuất ra màn hình là:a. 1 b. 10 c. 1 2 3 4 5 6 7 8 9 10 d.1 10Câu 15. Cho đoạn lệnh For i:= 10 downto 1 do if (i mod 3 =0) then write(i:4); Kết quả xuất ra màn hình là:a. 10 1 b. 10 8 6 4 2 c. 9 6 3 d. 3 6 9Câu 16: Cho đoạn lệnhK:=10; While (K>5) do K:=K-1; Write(K); Kết quả xuất ra màn hình là:a. 10 9 8 7 6 5 b. 10 5 c. 5 d. 4 Câu 17: Cho đoạn lệnhK:=10; While (K>5) do K:=K-2; Write(K); Kết quả xuất ra màn hình là:a. 10 9 8 7 6 5 b. 10 5 c. 5 d. 43. Mảng Một chiềuCâu 18: Phát biểu nào dưới đây về mảng là phù hợp? Độ dài tối đa của mảng là 255 Là một tập hợp các số nguyên Dãy hữu hạn các phần tử cùng kiểu Mảng không thể chứa kí tựCâu 19: Phát biểu nào dưới đây về mảng là không chính xác Chỉ số mảng không nhất thiết bắt đầu từ 1 Có thể xây dựng mảng nhiều chiều Mảng có thể chứa các kí tự Độ dài tối đa của mảng là 255Câu 20: Trong Pascal, để khai báo trực tiếp mảng một chiều ta thực hiện: Var <tên biến mảng> : array[<chỉ số hàng>] of <kiểu phần tử>; Var <tên biến mảng> : array[<kiểu chỉ số>] of <kiểu phần tử>; Var <tên biến mảng> : array[<kiểu chỉ số>] of <số lượng phần tử>; Var <tên kiểu mảng> : array[<kiểu chỉ số>] of <kiểu phần tử>;Câu 21: Trong Pascal, để tham chiếu đến một phần tử của mảng ta dùng cặp dấu ngoặc nào? ( và ) [ và ] { và } < và >Câu 22: Trong Pascal, để khai báo kiểu gián tiếp mảng một chiều ta thực hiện: type <tên kiểu mảng> = array[<kiểu chỉ số>] of <kiểu phần tử>; var <tên biến mảng> =<tên kiểu mảng>; type <tên kiểu mảng> = string[<kiểu chỉ số>] of <kiểu phần tử>; var <tên biến mảng>:<tên kiểu mảng>; type <tên kiểu mảng> = array[<kiểu chỉ số>] of <kiểu phần tử>; var <tên biến mảng>:<tên kiểu mảng>; type <tên kiểu mảng> = array[<kiểu chỉ số>] of <kiểu mảng khác>; var <tên biến mảng>:<tên kiểu mảng>; Câu 23: Cú pháp tham chiếu đến một phần tử của mảng là: <tên kiểu mảng>[<chỉ số>] <tên biến mảng>[<số lượng phần tử>] <tên biến mảng>[<chỉ số>] <tên kiểu mảng>[<số lượng phần tử>]Câu 24: Để khai báo mảng tên A gồm 150 phần tử, các phần tử kiểu nguyên có giá trị không vượt quá 500, ta khai báo: Var A : Array[1…150] Of Byte; Var A : Array[1 150] Of Byte; Var A : Array[1…150] Of Integer; Var A : Array[1 150] Of Integer;Câu 25: Để tham chiếu đến phần tử thứ 21 của mảng B, ta viết: B[20]; B[21]; B(20); B(21);Cho khai báo sau: Khai báo mảng A gồm 100 phần tử, các phần tử có kiểu nguyênType ArrInt = Array[1 100] Of Integer;Var A : ArrInt;(Ghi chú: Khai báo này sử dụng trong câu 26 đến câu 35)Câu 26: Chọn câu lệnh: Xuất ra màn hình giá trị của phần tử thứ i của mảng A Readln(A[i]); Write(A[i]); Readln(‘A[i]’); Write(‘A[i]’);Câu 27: Chọn câu lệnh: Nhập từ bàn phím giá trị cho phần tử thứ i của mảng A Readln(A[i]); Write(A[i]); Readln(‘A[i]’); Write(‘A[i]’);Câu 28: Chọn câu lệnh: Gán giá trị 35 cho phần tử thứ i của mảng A Readln(A[i]) := 35; A[i] := 35; A(i) := 35; A[35] := i;Câu 29: Dưới đây là các lệnh gán, hãy chọn lệnh gán hợp lệ? A[1] := 14.5; A[2] := 14/5; A[3] := 14 + 5; A[4] := 14,5;Câu 30: Dưới đây là các lệnh gán, hãy chọn lệnh gán hợp lệ? A[1] := 14 mod 5; A[2] := 14 div 5; A[3] := 14 - 5; Cả A, B và C đều hợp lệCâu 31: Cho đoạn chương trình:T:=0;For i:=1 To 10 Do If A[i] mod 2 <> 0 Then T:=T+A[i];Đoạn chương trình trên tính gì? Tính tổng các phần tử có giá trị lẻ của mảng A Tính tổng các phần tử có giá trị chẵn của mảng A Tính tổng các phần tử của mảng Tính tổng các chỉ số của mảng ACâu 32: Cho đoạn chương trình:Max:=A[1];For i:=2 To 6 Do If A[i]>Max Then Begin Max:=A[i]; csMax:=i; End;Giả sử mảng A nhận các giá trị: 15; 7; 21; -56; 27; 19 thì giá trị của Max và csMax sau khi thực hiện đoạn chương trình trên là: Max=15; csMax=1 Max=21; csMax=3 Max=-56; csMax=4 Max=27; csMax=5Câu 33: Trong Pascal, cho đoạn chương trình sau:T:=0;For i:=1 To 10 DoIf A[i] mod k = 0 Then T:=T+A[i];Em hãy cho biết ý nghĩa của đoạn chương trình trên? tính tổng số các phẩn tử trong mảng A có giá trị chia hết cho số k. tính tổng số các phẩn tử trong mảng A. tính tổng số các phẩn tử trong mảng A có giá trị bằng số k. tính tích số các phẩn tử trong mảng A mà có giá trị chia hết cho số k.Câu 34: Cho các lệnh gán sau:A[1]:=4; A[2]:=8; A[3]:=A[1] + A[2]; A[4]:=A[2] + A[3];Sau khi thực hiện các lệnh gán trên, giá trị A[4] là: 12 16 18 20Câu 35: Cho đoạn chương trình sau:A[1]:=14; A[2]:=12; A[3]:=4; A[4]:=12; A[5]:=18; A[6]:=22; A[7]:=19;k:=A[1];For i:=2 To 7 Do If A[i]<k Then k:=A[i];Sau khi thực hiện xong đoạn lệnh trên thì giá trị của k là: 14 12 4 18II. Tự luậnCâu 1: Viết chương trình nhập vào mảng A có n phần tử. Thực hiện các yêu cầu sau đây:a. Đếm số phần tử chẵnb. Đếm số phần tử lẻc. Đếm số phần tử dươngd. Đếm số phần tử âme. Đếm số phần tử bội 3Câu 2: Viết chương trình nhập vào mảng A có n phần tử. Thực hiện các yêu cầu sau đây:a. Tính tổng các phần tử của mảngb. Tính tổng các phần tử chẵnc. Tính tổng các phần tử lẻd. Tính tổng các phần tử dươnge. Tính tống các phần tử bội 5Câu 3: Viết chương trình nhập vào mảng A có n phần tử. Thực hiện các yêu cầu sau đây:a. Tìm phần tử lớn nhất ( Max) của Ab. Tìm phần tử nhỏ nhất (Min) của Ac. Tìm phần tử Chẵn lớn nhấtd. Tìm phần tử lẻ nhỏ nhấte. Tìm phần tử âm nhỏ nhấtCâu 4: Viết chương trình nhập vào mảng A có n phần tử, nhập vào một số nguyên k, tìm các vị trí mà k xuất hiện trong A. Nếu không có thì báo là không tìm thấy.Câu 5: Viết Các cú pháp sau và nêu ý nghĩa các thành phần trong từng cú pháp, mỗi cú pháp cho một ví dụ mình họa.a. Cú pháp For do dạng tiến và dạng lùi.b. Cú Pháp While do.c. Cú pháp khai báo mảng một chiều trực tiếp và gián tiếp.Hướng dẫn:Phần 1: Trắc nghiệm (Lưu ý: Phần trắc nghiệm các em kèm theo phần trắc nghiệm đã ôn thi giữa HKI)1a 11d 21b 31a2a 12c 22c 32d3d 13b 23c 33a4b 14c 24b 34d5d 15c 25b 35c6d 16c 26b7b 17d 27a8c 18c 28b9a 19d 29c10a 20b 30d Phần 2. Tự LuậnCâu 1: Dạng này là đếm số phần tử có cùng tính chất. Các em cho vòng lặp duyệt từ đầu đến cuối mảng. Mỗi khi gặp một phần tử nào có tính chất đó thì tăng giá trị của biến đếm lên một.Cụ thể: Câu a: Đếm số phần tử chẵn*Xác định bài toán: + Input: n, mảng A (Số Nguyên) + Output: Dem (số các phần tử chẵn)*Thuật Toán:B1: Nhập nB2: Cho i chạy từ 1 đến n làm: Nhập A[i]B3: Dem 0 {ban đầu khởi gán giá trị đếm là 0}B4: Cho i chạy từ 1 đến n làmnếu (A[i] chia hết cho 2) thì DemDem+1B5: Xuất Dem*Chương trìnhCác bước khác các em làm bình thường. Tại bước 4 viết như sau:For i:= 1 to n do If (A[i] mod 2 = 0) then Dem:=Dem+1; Các câu còn lại tương tự, chỉ thay đổi điều kiện ở bước 4. Các bước khác giữ nguyên.Câu 2: Dạng tính tổng này các em cũng cho vòng lặp duyệt từ đầu đến cuối mảng. Khi gặp một phần tử nó thỏa mãn yêu cầu như đề bài thì ta cộng nó vô cho S.Cụ thể: câu a: Tính tổng các phần tử của A.*Xác định bài toán:+Input: n, mảng A (Số Nguyên)+Output: S (Tổng các phần tử của A)*Thuật toán:B1. Nhập nB2: Cho I chạy từ 1 đến n làm: Nhập A[i]B3: S 0 {Khởi gán cho S giá trị đầu là 0}B4: Cho I chạy từ 1 đến n làm: SS+A[i]B5: Xuất S*Chương trình:Các bước khác làm bình thường, Tại B4 viết là:For i:=1 to n do S:=S+A[i];Câu b. Tính tổng các phần từ chẵn:*Xác định bài toán:+Input: n, mảng A (Số Nguyên)+Output: S (Tổng các phần tử của A)*Thuật Toán:B1. Nhập nB2: Cho I chạy từ 1 đến n làm: Nhập A[i]B3: S 0 {Khởi gán cho S giá trị đầu là 0}B4: Cho I chạy từ 1 đến n làm: Nếu (A[i] chia hết cho 2 ) thì SS+A[i]B5: Xuất S*Chương trình:Các bước khác làm bình thường, tại B4 viếtFor i:=1 to n do If (A[i] mod 2 = 0) then S:=S+A[i];Các câu còn lại làm tương tự câu b. Chỉ cần đổi điều kiện ở bước 4. Câu 3: d Dạng Tìm Max. Các em cho phần tử đầu tiên là Max, rồi duyệt từ phần tử thứ 2 trở đi, nếu gặp phần tử nào lớn hơn Max thì ta gán Max là phần tử đó. Khi kết thúc lặp ta xuất ra max.Cụ thể:*Xác định bài toán:+Input: n, mảng A (Số Nguyên)+Output: Max (Số Nguyên)*Thuật Toán:B1: Nhập nB2: Cho i chạy từ 1 đến n làm: Nhập A[i]B3: MaxA[1] {Cho phần tử đầu tiên là Max}B4: Cho i chạy từ 2 đến n làm: Nếu (A[i] > Max) thì Max A[i].B5: Xuất Max*Chương trình: (Tự viết)Tìm Min thì ngược lại.Các em tự suy nghĩ cho các dạng khácCâu 4: Tìm kiếm. Chúng ta có nhiều phương pháp tìm kiếm một giá trị trong một dãy số. Ở đây thầy cô sẽ hướng dẫn các em cách dể nhất là tìm kiềm tuần tự. Với cách này, các em chỉ việc duyệt từ đầu đến cuối mảng, phần tử nào bằng với giá trị ta muốn tìm thì ta xuất vị trí phần tử đó ra (xuất chỉ số) đồng thời đánh dấu nó lại. Cách đánh dấu đơn giản là ban đầu các em cho một biến cờ có giá trị False.Ttrong quá trình duyệt, nếu tìm được được phần tử bằng k thì ta bật biến cờ lên True. Đến cuối chương trình ta kiểm tra xem cờ là true hay false. Nếu False thì thông báo không tìm thấy.Cụ thể:*Xác định bài toán:+Input: n, mảng A, k (số nguyên)+Output: Vị trí k trong A hoặc thông báo ‘không tìm thấy’*Thuật Toán:B1: Nhập nB2: Cho I chạy từ 1 đến n làm: Nhập A[i]B3: Nhập kB4: flag  FalseB5: Cho I chạy từ 1 đến n làm: Nếu (A[i] = k) thìBắt đầuXuất i FlagTrueKết thúcB6: Nếu (flag = false) thì xuất “Không tìm thấy”*Chương trình:Program TimKiem;Uses Crt;Var A :array[1 100] of Integer; n, i , k: Integer; flag: Boolean;BeginClrscr;Write(‘Hay nhap so phan tu:’); Readln(n);Write(‘Nhap mang A:’);For i:= 1 to n doBeginWrite(‘Hay nhap vao phan tu thu’,i, ‘:’);Readln(A[i]);End;Write(‘Hay nhap vao so k:’);Readln(k);Flag:=False;For i:= 1 to n do if (A[i] = k) thenBeginWrite(k, ‘ xuat hien trong A tai vi tri’, i);Flag:= true;End;If( flag = false) then write(‘Khong tim thay k trong A’);Readln;End. . Trường THPT Trần Khai Nguyên – Bộ Môn Tin Học - Kh i 11 ề Cương Ôn Tập Kiểm Tra Học Kỳ I Năm Học 2 011 – 201 2I. Trắc nghiệm(Lưu ý: Phần trắc nghiệm các em kèm. pháp: if < i u kiện> then < câu lệnh> if < i u kiện>; then < câu lệnh>; if < i u kiện> ;then < câu lệnh>. if < i u

Ngày đăng: 24/01/2013, 16:24

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan