Đề cương ôn tập môn Tin học Lớp 8 - Học kỳ II - Năm học 2019-2020

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 <điều kiện> to ;

 c. While <điều kiện> do ; b. While <điều kiện> to do ;

 d. While <điều kiện>; 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?

A. For = to do ;

B. For := to do ;

C. For := to do ;

D. For : to do ;

 

doc7 trang | Chia sẻ: hatranv1 | Lượt xem: 582 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề cương ôn tập môn Tin học Lớp 8 - Học kỳ II - Năm học 2019-2020, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐỀ CƯƠNG ÔN TẬP MÔN TIN LỚP 8 HỌC KÌ II
( Năm học 2019 – 2020)
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?
For = to do ;
For := to do ;
For := to do ;
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à:
var ; array [..] of ;
var : aray [] of ;
var : array [..] of ;
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 fordo 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 Whiledo là:
 a. While to ;
 c. While do ;
 b. While to 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?
Hàng ngày em đi học.	 
Em bị ốm vào một dịp có dịch cúm 
Đến nhà bà ngoại chơi vào một hôm cả bố và mẹ đi vắng 
Ngày đánh răng ba lần 
Câu 12: Lệnh lặp nào sau đây là đúng?
For = to do ;
For := to do ;
For := to do ;
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?
 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/ Fordo; b/Whiledo; c/ If..then; d/ Ifthenelse;
Câu 15: Em được học 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
II/ BÀI 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[510] 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 tính 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 tính tổng: S = 1+2+3++n . Trong đó n là số nguyên nhập từ bàn phím.
Câu 7 : Viết chương trình tính tổng 200 số nguyên đầu tiên
Câu 8 : Viết chương trình tính tich 30 số nguyên đầu tiên
Câu 9 : Viết chương trình tính n!
Câu 10 : Viết chương trình tính xn
III/ BÀI TOÁN THAM KHẢO
Bài 1:Viết chương trình đếm số lần xuất hiện của các kí tự thuộc bảng chữ cái trong 50 lần gõ kí tự bằng bàn phím (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 kí tựù *)
 i : byte ; (* chỉ số của lần gõ phím *)
 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 kí 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 :') ;
 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 kí 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 để tính các tổng sau :
a.      1 + 1/22 + 1/32 +  + 1/n2 
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 ; (* tính i *)
 S := S + 1 / p ; 
 End ; 
 Writeln (' S = ', S:0:2) ; 
 Readln ; END .
*	Bài 3 :
Lập trình tính 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 phím .
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 ) ; 
 Readln ; END .
*	Bài 4 :
Tính hàm lũy thừa an , ở đây a thực và n tự nhiên được nhập vào từ bàn phím .
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 <= n Do 
 Begin 
 giatri := giatri * a ;
 i:= i+1 ; 
 End ; 
 Writeln(' a mu n bang : ', giatri ) ; 
 Readln ; END .
*	Bài 5:
Viết chương trình nhập một dãy số tối đa 100 số , sau đó in ra màn hình các số khác nhau . 
GIẢI
Uses Crt; 
 Var A : Array [1..100] Of Integer; 
 i , j , n : Integer ; 
 BEGIN
 Clrscr ; 
 Write(' Do dai cua day so N = ') ; Readln (N) ; 
 For I := 1 To N Do 
 Begin 
 Write ('A[', i , ']= ') ; Readln ( A[i] ) ; 
 End ; 
 Writeln (' Cac so khac nhau la : ') ; Writeln ( A[1] ) ; 
 i := 2 ; 
 While i <= N Do 
 Begin 
 j := 1 ; 
 While ( j 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
 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 tính tích 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;
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.

File đính kèm:

  • docde_cuong_on_tap_mon_tin_hoc_lop_8_hoc_ky_ii_nam_hoc_2019_202.doc