Đề cương ôn tập học kì II môn Tin học Lớp 8 - Năm học 2021-2022 (Có đáp án)

Câu 1: Lệnh lặp nào sau đây là đúng?
A. For = to do ;
B. For := to do ;
C. For := to do ;
D. For : to do ;
Câu 2: Vòng lặp While <điều kiện=""> do ; là vòng lặp:
A. Chưa biết trước số lần lặp B. Biết trước số lần lặp
C. Biết trước số lần lặp nhưng giới hạn là <=100 D. Biết trước số lần lặp nhưng giới hạn là >=100
Câu 3: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu:
s:=1;
for i:=1 to 5 do s := s*i;
A.120 B. 55 C. 121 D. 151
Câu 4: Phần thân chương trình bắt đầu bằng từ khóa:
A. End. B. Begin. C. Uses. D. Var.
Câu 5: Cú pháp khai báo biến mảng trong Pascal là:
A. var ; array [..] of ;
B. var : aray [] of ;
C. var : array [..] of ;
D. var : array [] for ;
pdf 7 trang Ánh Mai 15/03/2023 3940
Bạn đang xem tài liệu "Đề cương ôn tập học kì II môn Tin học Lớp 8 - Năm học 2021-2022 (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:

  • pdfde_cuong_on_tap_hoc_ki_ii_mon_tin_hoc_lop_8_nam_hoc_2021_202.pdf

Nội dung text: Đề cương ôn tập học kì II môn Tin học Lớp 8 - Năm học 2021-2022 (Có đáp án)

  1. ĐÊ CƯƠNG ÔN TÂP MÔN TIN LƠP 8 HOC KI II ( Năm hoc 2021 – 2022) I/ Khoanh tròn chữ cái đứng trước phương án em cho là đúng: Câu 1: Lệnh lặp nào sau đây là đúng? A. For = to do ; B. For := to do ; C. For := to do ; D. For : to do ; Câu 2: Vòng lặp While do ; là vòng lặp: A. Chưa biết trước số lần lặp B. Biết trước số lần lặp C. Biết trước số lần lặp nhưng giới hạn là =100 Câu 3: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: s:=1; for i:=1 to 5 do s := s*i; A.120 B. 55 C. 121 D. 151 Câu 4: Phần thân chương trình bắt đầu bằng từ khóa: A. End. B. Begin. C. Uses. D. Var. Câu 5: Cú pháp khai báo biến mảng trong Pascal là: A. var ; array [ ] of ; B. var : aray [ ] of ; C. var : array [ ] of ; D. var : array [ ] for ; Câu 6: Câu lệnh pascal nào sau đây là hợp lệ? A. For i:=100 to 1 do writeln(‘A’); B. For i:=1.5 to 10.5 do writeln(‘A’); C. For i= 1 to 10 do writeln(‘A’); D. For i:= 1 to 10 do writeln(‘A’); Câu 7: Chọn khai báo hợp lệ: A. Var a,b: array[1 n] of real; C. Var a,b: array[1 : n] of Integer; B. Var a,b: array[1 100] of real; D. Var a,b: array[1 100] of real; Câu 9: Trong lệnh lặp for do của Pascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào? A. +1 B. +1 hoặc -1 C. Một giá trị bất kì D. Một giá trị khác 0 Câu 10: 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 ; Câu 11: Đâu là công việc phải thực hiện nhiều lần với số lần biết trước? A. Hàng ngày em đi học. B. Em bị ốm vào một dịp có dịch cúm C. Đến nhà bà ngoại chơi vào một hôm cả bố và mẹ đi vắng D. Ngày đánh răng ba lần Câu 12: Lệnh lặp nào sau đây là đúng? E. For = to do ; F. For := to do ; G. For := to do ; H. For : to do ; Câu1 3: Sau khi thực hiện đoạn chương trình sau: S:=0; For i:=1 to 5 do S:=S+i; Giá trị của biến S bằng bao nhiêu?
  2. A. 20 B. 15 C. 10 D. 0 Câu 14: Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước? a/ For do; b/While do; c/ If then; d/ If then else; Câu 15: Em được hoc vẽ hình với phần mềm nào? a/ Pascal; b/ Geogebra; c/ Mario; d/ Finger Break out; Câu 16: Câu lệnh gotoXY(a,b) có tác dụng gì? A. Đưa con trỏ về hàng a cột b B. Đưa con trỏ về cột a hàng b C. Cho biết thứ tự của hàng con trỏ đang đứng. D. Đưa con trỏ về cuối dòng Câu 17: Biến a được nhận các giá trị là 0 ; -1 ; 1 ; 2,3 . Ta có thể khai báo a thuộc kiểu dữ liệu nào? a. Integer b. Char c. Real d. Integer và Longint Câu 18: Cấu trúc chung hợp lý của một chương trình Pascal là: A. Begin -> Program -> End. B. Program -> End -> Begin. C. End -> Program -> Begin. D. Program -> Begin -> End. Câu 19: Cho các câu lệnh sau hay chỉ ra câu lệnh đúng: a. for i:=1 to 10; do x:=x+1 c. for i:=1 to 10 do x:=x+1 b. for i:=10 to 1 do x:=x+1. d. for i:= 1 to 10 for j:=1 to 10 do x:=x+1 Câu 20: Cho S và i là biến nguyên. Khi chạy đoạn chương trình : s:=1; for i:=1 to 5 do s := s *i; writeln(s); Kết quả in lên màn hình là : a. s = 72 b. s = 101 c. s = 55 d. s = 120
  3. II/ BAI TÂP TƯ LUÂN: Câu 1: Điền X vào các ô sao cho phù hợp và giải thích vì sao? Câu Đúng Sai Giải thích a) for i=1 to 10 do writeln('A'); b) var X: Array[5 10] Of Char; c) X:=10; while X=10 do X := X+5; d) if x>5 then a:=b; else m := n; Câu 2: (2,0 điểm) Hãy nêu sự khác nhau giữa câu lệnh lặp với số lần chưa biết trước và câu lệnh lặp với số lần biết trước. Câu 3: (2,0 điểm) Đánh dấu [x] vào ô đúng hoặc sai tương ứng trong các câu lệnh Pascal trong chương trình tinh tổng 10 số tự nhiên đầu tiên, nếu sai sửa lại? Câu lệnh Đúng Sai Sửa lại Program Chuong trinh Var i,s : real; Const n:=10; Begin Wile i <=n do; Begin S:=s+i i =i+1 End. Writeln(s) Readln End; Câu 4:Nêu vài ví dụ về hoạt động lặp với số lần biết trước và chưa biết trước Câu5 :Dữ liệu kiểu mảng là gì? Câu 6 : Viết chương trình tinh tổng: S = 1+2+3+ +n . Trong đó n là số nguyên nhập từ bàn phim. Câu 7 : Viết chương trình tinh tổng 200 số nguyên đầu tiên Câu 8 : Viết chương trình tinh tich 30 số nguyên đầu tiên Câu 9 : Viết chương trình tinh n! Câu 10 : Viết chương trình tinh xn III/ BAI TOAN THAM KHAO Bài 1:Viết chương trình đếm số lần xuất hiện của các ki tự thuộc bảng chữ cái trong 50 lần gõ ki tự bằng bàn phim (không phân biệt a với A, b với B , dùng hàm Upcase để chuyển đổi chữ thường với chữ hoa) . GIẢI Uses Crt ; Var a : Array[ 'A' 'Z' ] of integer; (* mảng bộ đếm *) ch : char ; (* biến nhập ki tựù *) i : byte ; (* chỉ số của lần gõ phim *) BEGIN Clrscr ; For ch :='A' to 'Z' Do a[ch] := 0 ; (* xả bộ đếm *) Writeln (' Go phim 50 lan ') ; For i := 1 To 50 Do (* thực hiện 100 lần *) Begin ch :=Readkey ; (* nhập ki tự vào Ch không cần gõ Enter *) ch := Upcase(ch) ; (* Đỗi chữ thường thành chữ hoa *) a[ch] := a[ch] + 1 ; End; Writeln (' So lan xuat hien cac ki tu la :') ;
  4. For ch :='A' to 'Z' do (* Kiểm tra bộ đếm từ 'A' tới 'Z' *) If a[ch] > 0 Then (* Nếu Ch có xuất hiện *) Writeln (ch , a[ch] : 4 , ' lan . ') ; (* Viết ra màn hình ki tự và số lần xuất hiện *) Readln ; END . * Bài 2 :Cho số tự nhiên n , hãy lập trình để tinh các tổng sau : a. a. 1 + 1/22 + 1/32 + + 1/n2 b. b. 1 + 1/2! + 1/3! + + 1/n! GIẢI a) Var n , i : Word ; S : Real ; BEGIN Write (' Nhap n : ') ; Readln (n) ; S := 0 ; For i := 1 To n Do S := S + 1 / sqr(i) ; Writeln (' S = ', S:0:2) ; Readln ; END . b) Var n , i , j , p : Word ; S : Real ; BEGIN Write (' Nhap n : ') ; Readln(n) ; p := 1 ; s := 0 ; For i :=1 To n Do Begin p := p * i ; (* tinh i *) S := S + 1 / p ; End ; Writeln (' S = ', S:0:2) ; Readln ; END . * Bài 3 : Lập trình tinh tổng : A = 1 + 1/2 + 1/3 + + 1/n ở đây n là số tự nhiên được nhập vào từ bàn phim . GIẢI Uses Crt ; Var i , n : Integer ; tong: Real ; BEGIN Clrscr ; Write (' Cho so tu nhien n : ') ; Readln (n) ; tong :=0 ; i :=1 ; While i <= n Do Begin tong := tong + 1/i ; i := i + 1 ; End ; Writeln (' Tong can tim la : ', tong:12:6 ) ;
  5. Readln ; END . * Bài 4 : Tinh hàm lũy thừa an , ở đây a thực và n tự nhiên được nhập vào từ bàn phim . GIẢI Uses Crt ; Var i , n : Integer ; a , giatri : Real ; BEGIN Clrscr ; Write (' Cho so a : ') ; Readln(a) ; Write (' Cho so mu n : ') ; Readln(n) ; i := 1 ; giatri := 1 ; While i A[i] ) Do inc(j) ; If j = i Then Writeln( A[i] ) ; i :=i + 1 ; End ; Readln ; END . * Bài 6: Viết chương trình nhập một dãy số tối đa 100 số , sau đó sắp xếp lại theo thứ tự tăng dần . GIẢI Uses Crt; Var A : Array [1 100] Of Integer ; i , j , n , T : Integer ; BEGIN
  6. Clrscr ; Write(' Do dai cua day so N = ') ; Readln (N) ; Writeln (' Nhap day so : ') ; For i := 1 To N Do Begin Write('A[', i ,'] = ') ; Readln ( A[i] ) ; End ; i := 1 ; While (i <= n-1) Do Begin j := i+1; While j<=n do Begin If A[j] < A[i] then Begin T := A[j]; A[j ] := A[i]; A[i] := T ; End ; j := j + 1; End ; i := i + 1; End ; Writeln(' Day sau khi sap xep : ') ; For i := 1 To N Do Write(A[i] : 4) ; Readln ; END . * Bài 7: Viết chương trình nhập n số nguyên. Đếm các số vừa chia hết cho 2 vừa chia hết 3. Xuất kết quả ra màn hình. Program bai19; Uses crt; Var i,n,dem:integer; X;real; Begin Clrscr; Write(‘nhap so luong so’); readln(n); Dem:=0; For i:=1 to n do Begin Write(‘nhap so thu tu’,i);readln(x); If (x mod 2=0) and(x mod 3=0) then Dem:=dem+1; End; Writeln(‘so luong cac so chia het cho 2 va 3 la:’dem); Readln; End. * Bài 8: Viết chương trình tinh tich của 10 số tự nhiên đầu tiên. { Dùng while do } Program tich; Uses crt; Const n=10; Var i, tich:integer;
  7. Begin Clrscr; Tich:=1; i:=1; while i<=n do begin tich:=tich*i; end; writeln(‘tich cua 10 so tu nhien dau tien la=’,tich); readln; End. { Dùng For do } Program tich; Uses crt; Var i,n:integer; Begin Clrscr; Tich:=1; For i:=1 to 10 do begin tich:=tich*i; i:=i+1; end; writeln(‘tich cua 10 so tu nhien dau tien la=’,tich); readln; End. CHUC CAC EM HOC THÂT GIOI