10 Đề ôn tập học kì 2 môn Tin học Lớp 8 (Có đáp án)
Bạn đang xem 20 trang mẫu của tài liệu "10 Đề ôn tập học kì 2 môn Tin học Lớp 8 (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- 10_de_on_tap_hoc_ki_2_mon_tin_hoc_lop_8_co_dap_an.docx
Nội dung text: 10 Đề ôn tập học kì 2 môn Tin học Lớp 8 (Có đáp án)
- ĐỀ ƠN TẬP HỌC KỲ II ĐỀ 1 Mơn: Tin học 8 * Phần 1: TNKQ (3,0 điểm) Hãy lựa chọn chữ cái đứng trước câu trả lời mà em cho là đúng từ câu 1 đến 4 (Mỗi câu đúng được 0,5 điểm) Câu 1: Lệnh lặp nào sau đây là đúng? A. For i := 100 to 1 do writeln('A'); C. For i = 1 to 10 do writeln('A'); B. For i := 1.5 to 10.5 do writeln('A'); D. For i := 1 to 100 do writeln('A'); Câu 2: Câu lệnh lặp while do nào dưới đây là đúng: A. While i 1 do S = S+1/i; D. While i := 10 do S = S+1/i; Câu 3: Các khai báo biến mảng sau khai báo biến mảng nào đúng: A. Var x: array[1 100] of integer; C. Var x: array[1.5 10.5] of integer; B. Var x: array[1 100] of integer; D. Var x: array[1 100] integer ; Câu 4: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng: A. Chỉ số đầu và chỉ số cuối là 2 số nguyên. B. Chỉ số đầu nhỏ hơn chỉ số cuối. C. Kiểu dữ liệu cĩ thể là integer hoặc real. D. Cả ba ý trên. Câu 5 (1,0 điểm): Cho đoạn chương trình sau: S:=0; For i:=1 to 5 do S:=S+i; Sau khi thực hiện lệnh trên giá trị của biến S và i là: A. S=10; i=5 B. S=5; i= 10 C. S=15; i= 5 D. S=15; i=10 * Phần 2: Tự luận (7,0 điểm): Câu 6 (4,0 điểm): Chương trình sau. Hãy tìm những lỗi sai và sửa lại cho đúng. Program H C_N; Uses Crt; Var a,b,s,cv:= real; Begin While('Nhap chieu dai='); readln(a); Write('Nhap chieu rong=');readln(); s=axb; cv:(a+b):2; Writeln('Dien tich hinh chu nhat la:’,s:6:2); Writeln('Chu vi hinh chu nhat:',cv:6:2); Readln; End. Câu 7 (2,0 điểm): Cho đoạn chương trình: S: =0 ; n:= 0; While S < = 6 do Begin n:= n+1; S:= S+ n ; End; Cho biết giá trị của biến S và n sau khi thực hiện đoạn chương trình trên Câu 8 (1,0 điểm): Em hãy viết câu lệnh lặp hiển thị lên màn hình 5 chữ A.
- S:=S + 1/i; d)for i:=1 to n do if ( i mod 2 n do m:=m+1; C. While X 5 then a:=b C. if x>5; then a:=b D. if x>5 then a:=b else b:=a; Câu 13: Tính giá trị của tong khi thực hiện đoạn chương trình tong:=0; While tong =5) then x:=x*2; X= c. If (x mod 2=1) and (x>10) then x:=0; X= d. If x<10 then x:=x; X= Câu 2. Hãy chỉ ra lỗi của đoạn chương trình sau, sửa lại thành chương trình hồn chỉnh: (2,5đ) Use Crt; Var i, n : integer Tong = longint; Begin Clrscr; i=0; tong:=0; While i:=10 do Begin If( i mod 4) = 0 then tong:=tong+i; i=i+1; End. Writeln(Tong so chia het cho 4:,tong);
- Câu 12: Để tính tổng S=1/2 + 1/4 + +1/ n; em chọn đoạn lệnh: a) for i:=1 to n do b) for i:=1 to n do if ( i mod 2=0) then S:=S + 1/i; if ( i mod 2=1) then S:=S + 1/i; c) for i:=1 to n do d) for i:=1 to n do if ( i mod 2=1) then S:=S + 1/i if ( i mod 2=0) then S:=S + 1/i Else S:= S + 1; Else S:= S + 1; Cu 13: Thực hiện đoạn lệnh sau, x nhận giá trị bao nhiêu: x:=7; if (x mod 3 = 2) then x:= x +1; a) x=7 b)x=8 c) x=0 d) x=10 II - PHẦN TỰ LUẬN : ( 6.5 đ) Câu 1 Cho x :=1; Hãy tính giá trị của x khi thực hiện các lệnh (2đ) Lệnh Kết quả của x a. If (1+2=3) then x:=x+1 x = b. If (1+1=3) or (2+2=3) then x:=x+2 x = c. If (2+3=5) and (3+4=7) then x:=x*3 x = e. If (45 mod 3=0) then x:=x+1; x = Câu 2. Hãy chỉ ra lỗi của đoạn chương trình sau, sửa lại thành chương trình hồn chỉnh: (2.5đ) Uses Rct; Var i, n : interger; Tong : longint Begin Clrscr; tong=0; For i=1 to 10 do Begin If( i mod 4) = 0 then tong=tong+i; End. Writeln(Tong so chia het cho 4:,tong); Readln; End; Câu 3: Viết chương trình s= 2 + 4 + 6 + + n (bằng while do) ĐỀ ƠN TẬP HỌC KỲ II ĐỀ 3 Mơn: Tin học 8 I - PHẦN TRẮC NGHIỆM KHÁCH QUAN : ( 3.5 đ ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 d b a d c c d d c b a d b c II - PHẦN TỰ LUẬN : (6.5 đ) Câu 1. Mỗi câu lệnh dưới đây, giá trị của biến x sẽ là bao nhiêu, nếu trước đĩ giá trị của x:= 5 (2 đ) a. If (x mod 3=2) then x:=x+2; X=7 b. If (x mod 3=0) or (x>=5) then x:=x*2; X=10 c. If (x mod 2=1) and (x>10) then x:=0; X=0 d. If x<10 then x:=x; X=5 Câu 2. Hãy chỉ ra lỗi của đoạn chương trình sau, sửa lại thành chương trình hồn chỉnh: (2,5đ) Use Crt; Uses Crt; Var i, n : integer Var i, n : integer; Tong = longint; Tong : longint;
- If( i mod 4) = 0 then If( i mod 4 = 0) then tong=tong+i; Tong:=tong+i; End. End; Writeln(Tong so chia het cho 4:,tong); Writeln(‘Tong so chia het cho 4:’,tong); Readln; Readln; End; End. Câu 3: Viết chương trình s= 2 + 4 + 6 + + n (bằng while do) Uses crt; Var n,i : integer; S : real; Begin Writeln(‘hay nhap n:’); Readln(n); S:=0; i:=2; While i = to do ; B. For := to do ; C. For := to do ; D. For : to do ; Câu 3: Trong câu lệnh lặp For i:=1 to 10 do begin end; câu lệnh ghép được thực hiện bao nhiêu lần? A. Khơng lần nào B. 1 lần C. 2 lần D. 10 lần Câu 4: Sau khi thực hiện đoạn chương trình sau: s:=1; for i:= 1 to 4 do s:= s*i; Giá trị của biến s bằng bao nhiêu? A. 6 B. 10 C. 20 D. 24 Câu 5: Lệnh lặp for to do của Pascal trong mỗi vịng lặp, biến đếm thay đổi như thế nào? A. Tăng thêm 1 đơn vị; B. +1 hoặc -1; C. Giá trị bất kì; D. Một giá trị khác 0; Câu 6: Trang học cho tới khi nào thuộc bài là hoạt động lặp nào? A. Lặp với số lần biết trước. B. Khơng cĩ hoạt động lặp. C. Lặp với số lần chưa biết trước. D. Lặp vơ hạn. Câu 7: Cú pháp của câu lệnh While do là: A. While to ; B. While to do ; C. While do ; D. While ; do ;
- (1,0đ) - Thừa dấu hai chấm sau từ khĩa Do. 0,5 Chương trình sẽ in ra các số từ 1 đến 5 3 Kết quả của chương trình là:1 2 3 4 5 1 (1,0đ) 4 Program in_so_le; (1,0đ) Uses crt; Var n,i: integer; 0,25 Begin Clrscr; Writeln(‘ nhap vao so nguyen n=’); readln(n); 0,25 For i:=1 to n do if i mod 2 = 1 then Write(i,’ ’); 0,25 Readln End. 0,25 - Cú pháp câu lệnh lặp While do là : While do ; (1 đ) - Cách thực hiện lệnh của Câu lệnh lặp While do : Bước 1: Kiểm tra . (1 đ) Bước 2: Nếu sai, sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu đúng, máy sẽ thực hiện và quay lại bước 1. I. Lý thuyết: Câu 1: (4 điểm) Viết cú pháp của câu lệnh lặp với số lần chưa biết trước và lệnh lặp với số lần biết trước? Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp chưa biết trước và câu lệnh lặp với số lần lặp biết trước? Câu 2: (1 điểm) Cho biết cú pháp khai báo biến mảng? Cho ít nhất ba ví dụ? II. Thực hành: Câu 3: (5 điểm) Sử dụng Free Pascal viết chương trình Pascal sử dụng biến mảng để nhập từ bàn phím các phần tử là các điểm của các bạn trong lớp, xét và in ra màn hình số bạn đạt kết quả học tập loại giỏi, khá? Hết ĐÁP ÁN I. Lý thuyết: Câu Nội dung Điểm *Cú pháp của câu lệnh lặp với số lần lặp chưa biết trước: While do ; 1 *Cú pháp của câu lệnh lặp với số lần lặp biết trước: 1 For := to do ; * Sự khác nhau: 2 Lặp với số lần lặp biết trước Lặp với số lần lặp chưa biết trước 1 - Chỉ thị cho máy tính thực hiện một - Chỉ thị cho máy tính thực hiện một lệnh hoặc một nhĩm lệnh với số lần lệnh hoặc một nhĩm lệnh với số lần chưa được xác định trước. đã xác định trước. - Điều kiện tổng quát hơn, cĩ thể là kiểm tra một giá trị của một số thực, - Điều kiện là giá trị của biến đếm cũng cĩ thể là một điều kiện khác. cĩ giá trị nguyên đã đạt giá trị lớn - Trước hết điều kiện được kiểm tra. nhất hay chưa. Nếu câu lệnh thỏa mản điều kiện mới thực hiện
- ĐỀ ƠN TẬP HỌC KỲ II ĐỀ 6 Mơn: Tin học 8 I.Trắc nghiệm (5 điểm) chọn đáp án đúng. Câu 1. Số lần lặp trong câu lệnh lặp với số lần biết trước được xác định bằng? A. Giá trị cuối - giá trị đầu -1 B. Giá trị cuối + giá trị đầu +1 C. Giá trị cuối - giá trị đầu +1 D. Giá trị cuối + giá trị đầu -1 Câu 2. Trong ngơn ngữ lập trình Pascal, cấu trúc câu lệnh lặp nào sau đây đúng? A. For i:=1 to 38 do writeln(‘A’); A. For i:=38 to 1 do writeln(‘A’); A. For i:1 to 38 do writeln(‘A’); A. For i=1 to 38 do writeln(‘A’); Câu 3. Sau khi thực hiện chương trình dưới đây, giá trị của biến j bằng bao nhiêu? j:= 1; for i:= 0 to 10 do j:= j+1; A. 12; B. 13; C. 11; D. 14; Câu 4. Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng: A. Chỉ số đầu > chỉ số cuối; B. Chỉ số đầu chỉ số cuối; C. Kiểu dữ liệu chỉ cĩ thể là real; D.Cả ba ý trên đều đúng; Câu 5. Cú pháp đầy đủ của câu lệnh While do là: A. While do ; B. While ; ; C. While to do; D. While do ; Câu 6: Trong câu lệnh lặp: j:=0; For i := 4 to 10 do begin j:= j + 2; write( j ); end; Khi kết thúc câu lệnh lặp trên, giá trị j bằng bao nhiêu? A. 2 B. 14 C. 12 D. 10 Câu 7. Hãy cho biết chương trình dưới đây sẽ thực hiện bao nhiêu vịng lặp khi thực hiện đoạn chương trình ? n:=10; T:=100; While n>10 do n:=n+5; T:=T - n; A.0 B. 4 C. 6 D. 10 Câu 8: Chỉ ra cú pháp khai báo biến mảng đúng trong Turbo Pascal: A. Var : array[ ] of ; B. Var : array[ ]: ; C. Var : array[ : ]: ; D. Var : array[ ]of ; Câu 9: Các phần tử của mảng: A. Phải là số nguyên. B. Phải cĩ giá trị như nhau. C. Phải cùng kiểu dữ liệu. D. Cĩ thể cùng kiểu hoặc khác kiểu dữ liệu. Câu 10. Trong Pascal, câu lệnh nào sau đây được viết đúng? A. Var soluong: array [1 40] of Integer; B. Var soluong: array [40 1] of Integer; C. Var soluong: array [1 40,8] of Real; D. Var soluong: array [1 40] of Real; II. Tự luận (5,0 điểm) Câu 1. (2 điểm) Viết cú pháp, vẽ sơ đồ và nêu hoạt động câu lệnh lặp với số lần chưa biết trước? Câu 2: (3 điểm): Cho chương trình sau: a) Đối với từng đoạn chương trình Pascal sau đây, hãy cho biết lệnh writeln (j,k) in ra màn hình giá trị của j, k là bao nhiêu? j:=2; k:=3; for i:=1 to 5 do j:=j+2;
- 5. Để xố các ký tự bên phải con trỏ soạn thảo thì nhấn phím? A. End. B. Home. C. Delete. D. Backspace 6. Để xem văn bản trên màn hình trước khi in, ta dùng nút lệnh nào? A B. C. D. 7. Em cĩ thể sử dụng nút lệnh nào dưới đây để tạo bảng trong văn bản? a) b) c) d) 8. Phần mềm soạn thảo văn bản Microsoft Word do hãng phần mềm sản xuất nào? a) IBM b) AC Soft c) Microsoft d) software B. PHẦN TỰ LUẬN: (6đ) 1. Các nút lệnh dưới đây dùng để làm gì? (2đ) a/ : b/ : c/ : d/ : câu 2: Thao tác tạo khung cho đoạn văn bản? (1đ) câu 3: Nêu các bước sao chép văn bản ?(1đ) câu 4: Nêu sự giống và khác nhau về chức năng giữa phím Backspace và phím Delete. (2đ) ĐÁP ÁN: A. TRẮC NGHIỆM: (3đ) Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án A D D A C B B C C A B C B. PHẦN TỰ LUẬN: (7đ) Câu 1. a/ : Dán văn bản ( paste). (0.5đ) b/ : Định dạng cỡ chữ. (0.5đ) c/ : Định dạng kiểu chữ (0.5đ) d/ : Mở văn bản (open). (0.5đ) Câu 2: B1- Chọn đoạn văn bản cần đĩng khung B2- Nháy Format Border and Shading - Chọn thẻ Borders + Chọn kiểu nét trong Style + Chọn màu tơ và độ dày nét đường tại Color và Width + Chọn các kiểu tơ trong Setting (Box, Grid, Custom ) + Chọn xĩa hay vẽ lại một số nét tương ứng tại Preview B3- Nháy OK Câu 3: B1: Chọn phần văn bản muốn sao chép và nháy nút Copy. B2: Đưa con trỏ soạn thảo tới vị trí cần sao chép và nháy nút Paste. Câu 4: Giống nhau: Đều thực hiện chức năng là xĩa kí tự. ( 0.5đ) Khác nhau: Phím Delete: xĩa được kí tự con trỏ soạn thảo đến cuối văn bản. ( 0.25đ)
- while s n do Begin dem := dem +1; Write(‘ Nhap so X’,dem,’=’);Readln(X); S := S + X ; end; A. 0 B. 1 C. 3 D. 4 Câu 3: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng: A. If then else B. If then ; else ; C. If then else ; D. If ; then else ; Câu 4: Trong ngơn ngữ lập trình Pascal câu lệnh nào sau đây là đúng: A. If a=5 then a:=d+1; else a:=d+2;
- ĐÁP ÁN I. PHẦN TRẮC NGHIỆM (4 điểm) mỗi câu đúng cho 0,5 điểm Câu 1 2 3 4 5 6 7 8 Đáp án D A C B A C C D II. PHẦN TỰ LUẬN (6đ) Câu 1:(3 đ) Trả lời : - Trong lập trình, cấu trúc lặp dùng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đĩ cho đến khi một điều kiện nào đĩ được thỏa mãn. (1 đ) - Cú pháp câu lệnh lặp While do là : While do ; (1 đ) - Cách thực hiện lệnh của Câu lệnh lặp While do : Bước 1: Kiểm tra . (1 đ) Bước 2: Nếu sai, sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu đúng, máy sẽ thực hiện và quay lại bước 1. (0,5 đ) Câu 2: (2đ) Hãy tìm hiểu thuật toán sau, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc giá trị của S bằng bao nhiêu? Bước 1: S 13, X 1 Bước 2: Nếu S > 5 chuyển tới bước 3 ngược lại chuyển sang bước 4 Bước 3: S S – X và quay lại bước 2 Bước 4: Thơng báo S và kết thúc thuật tốn. Đáp án: Máy thực hiện 8 vịng lặp và kết quả S = 5 Câu 3 (1đ). Cho đoạn chương trình: j:= 2; For i:= 1 to 5 do j:= j + 2; Sau khi thực hiện đoạn chương trình trên, giá trị của biến j bằng bao nhiêu? Giải thích? Đáp án: i:=1; 1<=5 đúng, thực hiện câu lệnh tức j:=2+2=4. i:=2; 2<=5 đúng, thực hiện câu lệnh tức j:=4+2=6. i:=3; 3<=5 đúng, thực hiện câu lệnh tức j:=6+2=8. i:=4; 4<=5 đúng, thực hiện câu lệnh tức j:=8+2=10. i:=5; 5=5 (bằng giá trị cuối), thực hiện câu lệnh tức j:=10+2=12. Vậy sau khi thực hiện đoạn chương trình trên giá trị của biến j = 12. ĐỀ ƠN TẬP HỌC KỲ II ĐỀ 10 Mơn: Tin học 8 A. Phần trắc nghiệm (3điểm): Khoanh trịn chữ cái đứng trước đáp án em cho là đúng ở mỗi câu Câu 1: Hoạt động nào sau đây lặp với số lần biết trước: A. Hơm nay em thức dậy trễ do được nghỉ học B. Lấy xà bơng để giặt đồ C. Mỗi ngày, em thức dậy lúc 5 giờ sáng D. Rửa chén Câu 2: Trong câu lệnh lặp for do, số vịng lặp là biết trước và bằng: A. giá trị cuối – giá trị đầu + 1 B. giá trị cuối – giá trị đầu + 2 C. giá trị cuối – giá trị đầu - 1
- C. While (điều kiện) 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: Đâu là hoạt động lặp với số lần chưa biết trước? A. Hàng ngày em đi học. B. Một tuần trường em tổ chức chào cờ 1 lần. C. Ngày em đánh răng ba lần D. Em sẽ đến nhà bà ngoại chơi vào hơm cả bố và mẹ đi vắng. Câu 12 Việc đầu tiên mà câu lệnh While do cần thực hiện là gì? A. Thực hiện sau từ khĩa Do B. Kiểm tra giá trị của C. Thực hiện câu lệnh sau từ khĩa Then D. Kiểm tra B. Tự Luận ( (7 điểm) Câu 13 (2đ) Cho 2 ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày. Câu 14 (3đ) Em hãy sắp xếp chương trình tính tổng N số tự nhiên sau cho phù hợp? Var N, i: integer; Write(‘Nhap so N=’); s:=0; S: Longint; readln(n); For i:=1 to n do Begin Program tinh_tong; S:=s+i; Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s); End. Readln Câu 15 (2đ): Em hãy cho biết thuật tốn máy tính sẽ thực hiện bao nhiêu vịng lặp? Kết thúc giá trị của S bằng bao nhiêu? Viết chương trình bằng Pascal để mơ tả thuật tốn đĩ. B1: S 20, n 1; B2: Nếu S ≥ 5, chuyển B4. B3: n N + 1, S S - n và quay lại B2. B4: Thơng báo S và kết thúc thuật tốn. HẾT ĐÁP ÁN A. Trắc nghiệm (3điểm): Mỗi ý đúng 0,25 điểm. Câu 1 2 3 4 5 6 7 8 9 10 11 12 Đáp án A A D B D C D B D C D B B. Thực hành Câu Nội dung trả lời Điểm 13 Mỗi ví dụ đúng đạt 2 điểm 2 Program tinh_tong; 0,5 14 Var N, i: integer; 0,5 S: Longint; Begin 0,5 Write(‘Nhap so N=’); readln(n); s:=0; For i:=1 to n do 0,5 S:=s+i; Writeln(‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s); 0,5
- A. Chỉ số đầu > chỉ số cuối; B. Chỉ số đầu chỉ số cuối; C. Kiểu dữ liệu chỉ cĩ thể là real; D. Cả ba ý trên đều đúng; II. PHẦN TỰ LUẬN (7.0 điểm): Câu 1 (1,5 điểm): Hãy sửa lại các câu lệnh sau cho đúng: a) for i:= 4 to 1 do writeln(‘A’); => b) for i= 1 to 10 writeln(‘A’); => c) for i:10 do 1 to writeln(‘A’); => Câu 2 (1,5 điểm): Viết cú pháp câu lệnh lặp với số lần chưa biết trước. Nêu hoạt động của câu lệnh. Câu 3 (4,0 điểm): Viết chương trình nhập điểm kiểm tra học kỳ mơn tin cho N học sinh và in ra màn hình. Với N và điểm kiểm tra được nhập từ bàn phím (sử dụng biến mảng). ĐÁP ÁN I. PHẦN TRẮC NGHIỆM: Mỗi câu đúng được 0,5 điểm. Câu 1 2 3 4 5 6 Đáp án C B A A D B II. PHẦN TỰ LUẬN Câu Đáp án Điểm a) for i:= 1 to 4 do writeln(‘A’); 0,5 1 b) for i:= 1 to 10 writeln(‘A’); 0,5 (1,5 điểm) 0,5 c) for i:= 1 to 10 do writeln(‘A’); - Cú pháp câu lệnh: while do ; 0,5 2 (1,5 điểm) - Hoạt động: Khi thực hiện câu lệnh chương trình kiểm tra điều kiện. Nếu điều kiện đúng thực hiện câu lệnh sau từ khĩa do và quay lại kiểm tra điều 1,0 kiện. Nếu điều kiện sai bỏ qua câu lệnh sau từ khĩa do và kết thúc. Program trung_binh; 0,5 Uses crt; 0,5 Var n, i: integer; 3 Diem: array[1 50] of real; 0,5 (4,0 điểm) Begin Clrscr; Write(‘Nhap so luong hoc sinh N = ‘); Readln(n); 0,5 Writeln(‘Nhap diem cho tung hoc sinh’); For I := 1 to n do 0,5