1. Trang chủ
  2. » Mẫu Slide

De cuong on tap tin hoc 8 hoc ki 2

12 12 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

a) Câu lệnh lặp với số lần lặp cho trước 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 đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết tr[r]

(1)

ĐỀ CƯƠNG ÔN TẬP HK II- MÔN TIN HỌC + 9 NĂM HỌC: 2011-2012

PHẦN PASCAL:

Bài 7: CÂU LỆNH LẶP Câu 1:

Cho vài ví dụ hoạt động thực lặp lại sống ngày ( đánh răng, học bài, nấu ăn, nhặt rau )

Câu 2: Hãy cho biết tác dụng câu lệnh lặp với số lần biết trước. -Tác dụng : lệnh thay cho nhiều lệnh với số lần biết trước

- Thuận tiện hữu ích việc tránh phải viết lặp lặp lặp lại nhiều lần lệnh đó. Câu 3: Nêu cú pháp câu lệnh lặp ?

Trả lời:

For < biến đếm>:= < giá trị đầu> to < giá trị cuối> < câu lệnh>; Trong đó:

For, to, : từ khóa Biến đếm biến kiểu nguyên

giá trị đầu, giá trị cuối: giá trị nguyên

câu lệnh lặp thực câu lệnh nhiều lần, lần vòng lặp Số vòng lặp biết trước

giá trị cuối - giá trị đầu +1

Câu 4:Khi thực câu lệnh lặp, máy tính kiểm tra điều kiện. Với lệnh lặp :

For < biến đếm>:= < giá trị đầu> to < giá trị cuối> < câu lệnh> của Pascal, điều kiện cần phải kiểm tra gì?

Trả lời:

Khi thực hiện, ban đầu biến đếm nhận giá trị đầu, sau vòng lặp, biến đếm tự động tăng thêm đơn vị giá trị cuối

Bài tập:

1/ Tính tổng N số tự nhiên đầu tiên, với N số tự nhiên nhập vào từ bàn phím. ( Xem ví dụ 5/59 SGK)

2/Viết chương trình tính N! với N số tự nhiên nhập từ bàn phím (Xem ví dụ 6/59+60 SGK)

3/ Các tập 4,5,6/61 Hướng dẫn:

4/Bài SGK trang 62

5) Viết chương trình tính tổng

1 1

1

2 S

n

    

Trả lời: Thuật toán:

INPUT: Số tự nhiên n OUTPUT :

1 1

1

2 S

n

    

(2)

Bước 2: S 0; i 0

Bước 3: i  i+1

Bước 4: Nếu i <= n, S  S+1/i quay lại bước 3

Ngược lại (i>n) thông báo kết kết thúc thuật toán Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

Câu 1: Nêu vài ví dụ với lần lặp với số lần chưa biết trước ? Trả lời:

-Nhập số hợp lệ, ví dụ số nguyên khoảng từ đến 10, vào máy tính Nếu số nhập vào khơng hợp lệ u cầu nhập lại

-Rút tiền dần từ sổ tiết kiệm số dư cịn lại 50 nghìn đồng.

-Nhập số từ bàn phím tính tổng lần nhận tổng lớn 1000 thì kết thúc.

( HS tự tìm thêm)

Câu 2: Cú pháp While <điều kiện> <câu lệnh>; Trong đó:

- Điều kiện thường phép so sánh

- Câu lệnh câu lệnh đơn giản hay câu lệnh ghép Câu lệnh lặp thực sau:

+)Kiểm tra điều kiện

+)Nếu điều kiện sai, câu lệnh bỏ qua việc thực lệnh lặp kết thúc Nếu điều kiện đúng, thực câu lệnh quay lại bước 1

Câu 3:

Hãy phát biểu khác biệt câu lệnh lặp với số lần biết trước câu lệnh lặp với số lần chưa biết trước ?

Trả lời:Sự khác biệt:

a) Câu lệnh lặp với số lần lặp cho trước thị cho máy tính thực lệnh một nhóm lệnh với số lần xác định từ trước, với câu lệnh lặp với số lần lặp chưa biết trước số lần lặp chưa xác định trước

b) Lệnh lặp với số lần cho trước, điều kiện giá trị biến đếm có giá trị nguyên đạt được giá trị lớn hay chưa, câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát nhiều, kiểm tra giá trị số thực

c) Lệnh lặp với số lần cho trước, câu lệnh thực lần, sau kiểm tra điều kiện Lệnh lặp với số lần chưa xác định trước, trước

hết điều kiện kiểm tra Nếu điều kiện thoả mãn, câu lệnh thực hiện. Bài tập:

-Bài 3,4,5 / Trang 71 SGK

- Bài 1( SGK/72) Viết chương trình sử dụng lệnh lặp While để tính trung bình n số thực x1,; x2; xn số n x1,; x2; xn nhập vào từ bàn phím.

- Bài 2:(SGK/73)

Viết chương trình nhập số tự nhiên n nhập từ bàn phím , in hình số có phải số ngun tố không ?

(3)

Trả lời:Dữ liệu kiểu mảng tập hợp hữu hạn phần tử có thứ tự, phần tử có cùng kiểu liệu.

Câu 2: Cách khai báo mảng Pascal ?

Var Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu> Trong đó:

Chỉ số đầu ≤ số cuối : hai số nguyên

Kiểu liệu: integer real, byte,longint Array of : từ khóa

Câu 3: Hãy nêu lợi ích việc sử dụng biến mảng chương trình ? Trả lời:

Sử dụng biến mảng câu lệnh lặp giúp cho việc viết chương trình ngắn gọn dê dàng hơn, tiết kiệm thời gian (Có thể sử dụng lệnh lặp để thay nhiều câu lệnh Ngoài ra chúng ta cịn lưu trữ sử lí nhiều liệu có nội dung liên quan đến cách hiệu quả)

Câu 4:2,3,4,5/79 SGK Hướng dẫn:

2/ Các khai báo biến mảng sau đấy Pascal hay sai ? a) sai, có dấu , cần thay dấu

b) sai, số đầu ,cuối phải số nguyên c) sai

d) sai, số đầu lớn số cuối e) đúng

3/ Phát biểu đúng

4/ sai , gtln gtnn số mảng phải xác định phần khai báo chương trình. 5/ Cho học sinh tiến hành hoạt động nhóm viết chương trình

Program nhapdayso; Var i,n: integer;

A: array[1 100] of real; Begin

Writeln(‘Nhap so phan tu cua day so n= ’,n) For i:=1 to n do

begin

Write( ’ a[’,i,’]= ’); readln(a[i]); End;

Readln; End.

Bài tập 1/SGK trang 80 Viết chương trình nhập điểm bạn lớp Sau in hình số bạn đạt giỏi, khá, trung bình, yếu.

Bài tập 2/SGK trang 81

Nhập hai loại điểm Toán ngữ văn, sau in hình điểm TB bạn lớp. Bài tập 3/(SGK trang 78) Viết chương trình nhập N số ngun từ bàn phím in hình số nhỏ nhất số lớn nhất.

(4)

ĐỀ 1

TRẮC NGHIỆM:

1/ Các khai báo biến mảng M sau đây, khai báo ?

a) M: array(1:100) of byte b) M: array [1;100] of byte

c) M: array[1,100] of byte d) M: array [ 100 ] of byte

2/Các câu lệnh Pascal sau, câu viết :

a) For i:=10 to x:=x+1 b) For i:=1 to 10 x:=x+1

c) For i:=10 to x:=x+1 d) For i:=1 10 to x:=x+1

3/ Cho khai báo M:array[1 5] of integer chọn lệnh gán đúng:

a)M[4]:= -6 b) M[6]:= c) M[5] :=“ ten” d)M[3]:=4.2 4.Khi câu lệnh For to kết thúc ?

a) Khi biến đếm nhỏ giá trị cuối b)Khi biến đếm giá trị cuối c)Khi biến đếm lớn giá trị đầu d)Khi biến đếm lớn giá trị cuối 5.Trong đoạn lệnh sau : x:=10 ; y:=1 ;While x  y:=y+1 câu câu sau là: a)Sau chương trình, biến y có giá trị b)Câu lệnh sau không thực

c) Lệnh y:=y+1 lặp lần d) số lần lặp vô tận

6.Phần mềm Yenka dùng để :

a)Quan sát hình khơng gian b)Luyện gõ phím nhanh

c)Tìm hiểu thời gian d) Học vẽ hình

7/Hoạt động sau lặp với số lần nhất định biết trước:\

a) Gọi điện thoại có người nhấc máy b)Học thuộc c)Nhặt cọng rau xong d)Mỗi ngày đánh lần 8/Trong phần mềm GEOOGEBRA công cụ dùng để :

a) Vẽ tia qua điểm b)Vẽ đường thẳng qua điểm c)Vẽ đoạn thẳng với kích thước cho trước d)vẽ đoạn thẳng

9/Khi viết câu lệnh lặp theo cú pháp for I:=X to Y Write (*) để câu lệnh Write(*) thực nhất lần phát biểu sau sai ?

a) Y cần X b) Y phải lớn X

c)A phải lớn Y d) Y lớn X

10/Sau câu lệnh lặp For i:=2 to write (‘ Cam Ranh’) chư cam Ranh viết hình mấy lần ?

a) lần b) lần c) lần d) lần

(5)

c)In tổng từ 1đến d)In số từ 1đến

12/ Sau đoạn chương trình Sum:=0 ; while sum < sum:=sum+1 giá trị sum bao nhiêu?

a)5 b)10 c)15 d)0

TỰ LUẬN:

Câu 1: Hãy lỗi lệnh sau:

a) for i:=100 to writeln(‘A’) b)for i:=1.5 to 10.5 writeln(‘A’)

c)x:=10; while x:=10 x:=x+5 d)x:=10; while x=20 x=x+5

Câu 2: Hãy viết lại thuật toán sau ngôn ngữ Pascal:

Bước 1: S10,x 0.5 Bước 2: Nếu S5.2, chuyển tới bước 4

Bước 3: SS x quay lại bước 2 Bước 4: Thơng báo S kết thúc thuật tốn Câu 3: Dùng ngơn ngữ Pascal viết chương trình nhập số ngun N tính in giá trị trung bình số nguyên liên tiếp từ đến N, in số chẵn nằm khoảng từ 1đến N

ĐÁP ÁN:

1/a) Giá trị đầu lớn giá trị cuối b)Biến đếm có giá trị số thực c)Điều kiện lệnh gán d)Câu lệnh sai dấu 2/ Be gin

S:=10;X:=0.5; While S 5.2 s:=s –x ; Write(s); end

3) Var I,N,S : interger; R : real;

Begin

Write(‘Nhap so nguyen n= ‘); readln(N); For I:=1 to N S:=S+I;

R:=S/N;

For I:=1 to N –1 if I mod =0 then Write(I:5); Readln;

ĐỀ 2

TRẮC NGHIỆM:

(6)

2/Các câu lệnh Pascal sau, câu lệnh viết ?

a) For i:=5 to Write(i) b)For i:=1 to Write(i)

c)For i:=5 to Write(i) d)For i:=1 to Write(i)

3 Cho khai báo a:array [1 5] of integer ; chọn lệnh gán đúng:

a) a[5]:=’A’ b)a[3]:=5.1 c)a[4]:= -5 d)a[6]:=5

4.Phần mềm Geogebra dùng để : a)

5.Khi viết câu lệnh lặp theo cú pháp for I:=A to B write(*) ; để câu lệnh write(‘*’) thực lần phát biểu sau sai?

a) B phải nhỏ A b) B phải lớn A

c) B cần A d) B phải lớn A

6.Trên cơng cụ chuẩn phần mềm vẽ hình GEOGEBRA, cơng cụ dùng làm ?

a)Xóa bỏ tên điểm chọn b)Thêm tên vào điểm

c)Thêm điểm có tên điểm d)Xóa bỏ điểm chọn Trong đoạn lệnh sau : x:=5; while x <= y:=y+1; câu câu sau là: a) câu lệnh sau không thực hiện b) lệnh y:=y+1 lặp lần

c) số lần lặp vơ hạn d)Sau chương trình, biến y có giá trị

8 Đoạn lệnh sau max:=a[1];for i:=2 to 100 if a[i]< max then max:=a[i]; write(max); cho kết là: a)Tổng phần tử b) Phần tử lớn nhất c)Phần tử nhỏ nhất d)Phần tử trung bình 9.Đoạn chương trình s:=0; for i:=1 to 10 s:=s+i; write (s); kết in hình là:

a)101 b)55 c)11 d)100

10.Sau thực đoạn chương trình for i:=0 to 10 wrie(‘A’); giá trị i là:

a) Không xác định b)0 c)10 d)11

11 Đoạn chương trình sau a:=1 ; k:=4 ; whlie a< k be gin write(a); a:=a+1;end; cho kết gì?

a)In tổng từ đến b) In số từ 1đến

c) In số từ 1đến 3 d) In vô hạn số

12 Sau đoạn chương trình S:=1;While S<=5 S:=S+2; giá trị S ?

a) 15 b)1 c)7 d)5

Tự luận:

Câu 1: Hãy lỗi câu lệnh sau: a) for i:=1 to 10 ; X:=x+1;

b) While i:=1 T:=10;

(7)

d) Var A: array[1,20] of Real;

Câu 2: Hãy viết lại thuật toán sau ngôn ngữ Pascal

Bước 1: S 0,i Bước 2: Nếu i>k, chuyển tới bước

Bước 3: SS i , i i+1 quay lại bước Bước 4: thông báo S kết thúc thuật tốn

Câu 3: Viết chương trình dùng câu lệnh lặp While để tính tổng

1 1

1

2

S N

n

    

Với n số nguyên dương nhập từ bàn phím

Đáp án:

1/ a) thừa dấu ; trước b)ĐK lệnh gán

c)Thiếu begin end trước hai lệnh sau d) phần tử dấu

2/ Begin S:=0; i:=1; While i<= 100 Begin

S:=s+i; i:=i+1; end; Write(s); end;

3/ var I,N: integer; s: real; Begin

Write(‘ nhap so nguyen n = ‘); readln(N); For i:=1 to N S:=s+1/i;

(8)

I Trắc nghiệm Chọn câu đúng:

Câu 1: Trong vòng lặp For <biến đếm>:=<giá trị đầu> to <giá trị cuối> <câu lệnh> ; củaPascal, vòng lặp, biến đếm thay đổi

a +1 b -1

c Một giá trị bất kỳ d Một giá trị khác không

Câu 2: Câu lệnh pascal sau hợp lệ?

a For i:=100 to writeln(‘A’); b For i:= to 10 writeln(‘A’); c For i:=1.5 to 10.5 writeln(‘A’); d For i= to 10 writeln(‘A’); Câu 3: Lệnh lặp sau đúng?

a. For i:=1 to 10; x:=x+1; b. For i:=10 to x:=x+1; c. For i:=1 to 10 x:=x+1; d. For i=1 to 10 x:=x+1;

Câu 4: Với ngơn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 x:=x+1; biến đếm i phải khai báo kiểu liệu

a. Interger; b. Real;

c. String d. Tất kiểu

Câu 5: Sau thực đoạn chương trình j:= 0; for i:= to j:=j+2; giá trị in hình j là?

a b c d 10

Câu 6: Để tính tổng S=1+1/2 +1/3 + 1/4 … 1/n; em chọn đoạn lệnh: a for i:=1 to n

if ( i mod 2)=0 then S:=S + 1/i; b for i:=1 to n doif ( i mod 2)=0 then S:=S + i Else S:= S + I;

c for i:=1 to n

S:=S + 1/i; d for i:=1 to n doif ( i mod 2)<>0 then S:=S + 1/i Else S:=S-1/i;

Câu 7: Để tính tổng S=1+3 + + … + n; em chọn đoạn lệnh: a for i:=1 to n

if ( i mod 2)=0 then S:=S + 1/i; b for i:=1 to n doif ( i mod 2) < > then S:=S + i; c for i:=1 to n

if ( i mod 2)=0 then S:=S + i else S:= S + I;

d for i:=1 to n

if ( i mod 2)=0 then S:=S + i; Câu 8: Vòng lặp while vòng lặp:

b. Biết trước số lần lặp c. Chưa biết trước số lần lặp

d. Biết trước số lần lặp giới hạn <=100

e. Biết trước số lần lặp giới hạn >=100

Câu 9: Đoạn lệnh sau So:=1; While so<10 writeln(so); So:=so+1; Sẽ cho kết gì? a. In số từ đến b. In số từ đến 10

c. Không phương án d. In vô hạn số 1, số dịng Câu 10: Tìm hiểu đoạn lệnh sau cho biết với đoạn lệnh chương trình thực vịng lặp

S:=0; n:=0;

While S< =10 n:=n+1; s:=s+n;

a lần b 10 lần c 11 lần d Vô hạn lần

(9)

a x:=10; While x:=10 x:=x+5; b x:=10; While x:=10 x=x+5; c x:=10; While x=10 x=x+5; d x:=10; While x=10 x:=x+5;

Câu 12: Lần lượt thực câu lệnh for i:= to 3.5 writeln(i:3:1); viết hình? a Thứ tự biến đếm, chiếm chỗ lấy chữ số sau phần thập phân

b Viết số viết số 3.5 c Chỉ viết số 3.5 mà

d Không thực giá trị biến đếm có kiểu thứ tự Real

Câu 13: Tìm hiểu đoạn lệnh sau cho biết với đoạn lệnh chương trình thực vòng lặp S:=0; n:=0;

While S< =10

Begin n:=n+1; s:=s+n; end;

a lần b lần c lần d 10

Câu 14: Câu lệnh sau lặp vô hạn lần a s:=5; i:=0;

While i<=s s:=s + 1; b s:=5; i:=1;While i<=s i:=i + 1; c s:=5; i:=1;

While i> s i:=i + 1;

d s:=0; i:=0; While i<=n

if (i mod2)=1 then S:=S + I else i:=i+1;

Câu 15: Hãy tìm hiểu đoạn chương trình sau Khơng cần viết chương trình, cho biết lệnh Writeln in hình giá trị i, j, k bao nhiêu?

i:=1; j:=2; k:=3; Trả lời

While i<=6 i:=i+1; j:=j+1; k:=k+j; I=

Space:=’ ’; J=

Write(I,space,j,space,k); K=

Câu 16: Hãy tìm hiểu đoạn chương trình sau Khơng cần viết chương trình, cho biết lệnh Writeln in hình giá trị i, j, k bao nhiêu?

i:=1; j:=2; k:=3; TRẢ LỜI

While i<=6 I=

Begin i:=i+1; j:=j+1; k:=k+j; end; J=

Space:=’ ’; K=

Write(I,space,j,space,k);

Câu 17: Hãy tìm hiểu đoạn chương trình sau Sau đoạn chương trình thực hiện, giá trị x bao nhiêu?

X:=0; Tong:=0; While tong<=20 Begin

Writeln(tong); Tong:=tong+1; End

X:=tong;

a 20 b 21 c Không xác định d

Câu 18: Để tính tổng S=1+1/3 + 1/5 + … +1/ n; em chọn đoạn lệnh: a for i:=1 to n

if ( i mod 2)=1 then S:=S + 1/i; b for i:=1 to n doif ( i mod 2) =0 then S:=S + 1/i; c for i:=1 to n

if ( i mod 2)=0 then S:=S + 1/i else S:= S + 1/;

d for i:=1 to n

(10)

Câu 19: Để tính tổng S=1+2+3+ 4+ + … + n; em chọn đoạn lệnh: a s:=0; i:=0;

While i<=n S:=S + 1;

b s:=0; i:=0;

While i<=n If (I mod 2)= Then S:=S + i;

c s:=0; i:=0; While i<=n begin

S:=S + i; i:=i+1; End;

d s:=0; i:=0; While i<=n

begin

if (i mod2)=1 Then S:=S + i Else i:=i+1;

End; Câu 20: Hãy xác định sai cho phát biểu

Nội dung Đúng Sai

Không nên thay đổi giá trị biến đếm câu lệnh lặp For … do, ví dụ câu lệnh lặp sau không nên sử dụng For i:=1 to n i:=i+2;

Trong câu lệnh lặp for biến đếm:=giá trị đầu to giá trị cuối câu lệnh;

Nếu giá trị đầu < giá trị cuối chương trình dịch báo lỗi để ta chỉnh sữa lại Câu lệnh lặp For… rất thuận tiện hữu ích việc tránh phải viết lặp lặp lại nhiều lần câu lệnh Chẳng hạn để in số nguyên đơn vị từ đến 15 ta viết câu lệnh sau For i:=1 to 15 writeln(i:3:1); Mọi câu lệnh lặp While…do thay cách thích hợp câu lệnh For

II Tự luận

Bài Điền vào chỗ trống để câu đúng:

1 Câu lệnh điều kiện có hai dạng: Ngôn ngữ Pascal thể cấu trúc lặp với số lần lặp cho trước câu lệnh: Câu lệnh lặp với số lần chưa biết trước Pascal là: Bài Viết chương trình tính tổng N số tự nhiên đầu tiên, với N số tự nhiên nhập vào từ bàn phím

program Tinh_tong; var N,i: integer;

S: longint; begin

write(‘Nhap so N = ‘); readln(N); S:= 0;

for i:= to N S:= S+i;

writeln(‘Tong cua’, N, ‘so tư nhien dau tien S = ‘, S); readln

end

Bài 3 Ta kí hiệu N! tích N số tự nhiên Viết chương trình tính N! = 1.2.3 N

(11)

var N,i:integer; P:longint; begin

write(‘Nhap so N = ‘); readln(N); P:= 1;

for i:= to N P:= P*i; writeln( N, ‘! = ‘, P); readln

end

Bài 4. Viết chương trình tính tổng số lẻ từ đến n

program tinh_tong; uses crt;

var S, n, i: integer; begin

clrscr;

write(‘nhap so nguyen n=’); readln(n); S:= 0;

for i:= to n

if i mod 2<>0 then S:= S+i; writeln(‘tong S=,’ S);

readln; end

Bài Viết chương trình xuất hình tổng bình phương số lẻ từ đến N Với N

số tự nhiên nhập vào từ bàn phím (tương tự 4)

Bài Viết chương trìnhnhận biết số tự nhiên N được nhập vào từ bàn phím có phải số ngun

tố hay khơng.

Thuật tốn:

Bước 1: Nhập số tự nhiên N từ bàn phím

Bước 2: Nếu N thông báo N số nguyên tố, chuyển đến bước Bước 3: Nếu N > 1:

3.1 i2;

3.2 Trong N mod i <> 0, i i+1;

3.3 Nếu i = N thơng báo N số nguyên tố, ngược lại thông báo N số nguyên tố Bước 4: Kết thúc thuật toán

Uses Crt;

Var n,i:integer;

Begin

Clrscr;

write('Nhap vao mot so nguyen: '); readln(n); If n<=1 then writeln('N khong la so nguyen to') else

begin

i:=2;

(12)

if i=n then writeln(n,' la so nguyen to!') else writeln(n,' khong phai la so nguyen to!'); end;

readln

End

Bài 7. Viết chương trình xuất hình số nguyên tố nhỏ 100

Program CAC_SO_NGUYEN_TO; Var i, t: integer;

Begin Clrscr;

Writeln(‘Cac so nguyen to nho hon 100:’); For t:=2 to 100

Begin i:= 2;

while (t mod i <> 0) i:=i+1; If i=t then Write(t:5);

end; readln End

Ngày đăng: 27/05/2021, 18:46

Xem thêm:

TỪ KHÓA LIÊN QUAN

w