Sau khi thực hiện đoạn chương trình sau s 8 for i 2 to 5 do s s i giá trị của biến s bằng bao nhiêu

06/11/2020 1,203

Câu hỏi Đáp án và lời giải

Đáp án và lời giải

đáp án đúng: A

Ban đầu S được gán giá trị bằng 10. Sau các vòng lặp S có giá trị là: Với i=1 → S= 10 + 1= 11 Với i= 2 → S= 11 + 2 = 13 Với i=3 → S= 13 + 3 = 16 Với i=4 → S=16 + 4 = 20

Đáp án: A

Lựu [Tổng hợp]

  • Câu hỏi:

    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?

    Lời giải tham khảo:

    Đáp án đúng: B

    Đoạn chương trình trên có 6 vòng lặp mà mỗi vòng S: = S +i

    Lần 1: i = 0 => S = 0;

    Lần 2: i = 1 => S = 0 + 1 = 1;

    Lần 3: i = 2 => S = 1+ 2 = 3;

    Lần 4: i = 3 => S = 3 + 3 = 6;

    Lần 5: i = 4 => S = 6 + 4 = 10;

    Lần 6: i = 5 => S = 10 + 5 = 15;

    Hãy trả lời câu hỏi trước khi xem đáp án và lời giải

Câu hỏi này thuộc đề thi trắc nghiệm dưới đây, bấm vào Bắt đầu thi để làm toàn bài

06/11/2020 1,146

Câu hỏi Đáp án và lời giải

Đáp án và lời giải

đáp án đúng: A

Ban đầu S được gán giá trị bằng 10. Sau các vòng lặp S có giá trị là:Với i=1 → S= 10 + 1= 11Với i= 2 → S= 11 + 2 = 13Với i=3 → S= 13 + 3 = 16Với i=4 → S=16 + 4 = 20Đáp án: A

Lựu [Tổng hợp]

  • Tải app VietJack. Xem lời giải nhanh hơn!

Tuyển chọn Đề thi Giữa kì 2 Tin học lớp 8 năm 2022 có ma trận có đáp án [4 đề] chọn lọc được các Giáo viên nhiều năm kinh nghiệm biên soạn và sưu tầm từ đề thi Tin học 8 của các trường THCS. Hi vọng bộ đề thi này sẽ giúp học sinh ôn tập và đạt kết quả cao trong các bài thi Giữa kì 2 môn Tin học 8.

Tải xuống

I. MA TRẬN:

Cấp độ

 Chủ đề 

Nhận biết

Thông hiểu

Vận dụng

Cộng

Cấp độ thấp

Cấp độ cao

TNKQ

TL

TNKQ

TL

TNKQ

TL

TNKQ

TL

1. Câu lệnh lặp

- Nhận biết được khái niệm, cấu trúc, cú pháp câu lệnh lặp. 

- Viết được cú pháp và nêu được hoạt động của câu lệnh lặp For..do.

- Hiểu được hoạt động của câu lệnh lặp.

- Sắp xếp được hoàn chỉnh chương trình tính tổng N số tự nhiên.

Số câu

Số điểm

Tỉ lệ %

4

1

10%

1

1

10%

4

1

10%

1

3

30%

2. Lặp với số lần chưa biết trước

Biết cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện được thỏa mãn

Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước trong ngôn ngữ lập trình cụ thể.

- Vận dụng kiến thức đã học để viết hoàn chỉnh hoàn chỉnh chương trình từ thuật toán

Số câu

Số điểm

Tỉ lệ %

4

1

10%

4

1

10%

1

2

20%

1

3

30%

10

7

70%

Tổng số câu

Tổng số điểm

Tỉ lệ %

9

3

30%

9

4

40%

1

3

30%

19

10

100%












Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2021 - 2022

Bài thi môn: Tin học lớp 8

Thời gian làm bài: 45 phút

[không kể thời gian phát đề]

[Đề số 1]

I.TRẮC NGHIỆM

Cho đoạn chương trình trả lời câu 1, 2 dưới đây:

            i:=0;

            T:=5;

 While  T=20 thì dừng vòng lặp

B. Tính tích đến khi nào T>20 thì dừng vòng lặp

C. Tính tích đến khi nào T=20 thì dừng vòng lặp

D. Tính tích đến khi nào T==20] do Writeln [4*5]; sẽ :

A. In số 20 ra màn hình 4 lần.

B. In số 20 ra màn hình 5 lần.

C. Không thực hiện lệnh Writeln [4*5];

D. Lặp vô hạn lần lệnh Writeln [4*5];

Câu 9: While S20           B. S=20             C.S20              D. S;

B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;

C. While < điều kiện > do ;< câu lệnh >;

D. While < điều kiện > do < câu lệnh >;

Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

A. While S>=108 do                    B. While S < 108 do

C. While S < 1.0E8 do               D. While S >= E8 do

B. TỰ LUẬN [6 điểm]

Câu 17 3.0 điểm]: 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 18 [1.0 điểm]: Chương trình Pascal sau đây thực hiện hoạt động nào?

                               s:=0;

                               for i:=1 to 1000 do

                         s:=s+i;

               end.

Câu 19 [2.0 điểm]:  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 cho trước và câu lệnh lặp với số lần lặp chưa biết trước.

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KỲ II [Đề số 02]

NĂM HỌC: 2020 - 2021

MÔN: TIN HỌC 8 

A. TRẮC NGHIỆM: [4 điểm, mỗi câu được 0,25 điểm]

 Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Đáp án

D

C

C

B

B

A

B

B

B

B

C

D

A

B

D

C

B. TỰ LUẬN [6 điểm]

Câu

Đáp án

Điểm

17

[2đ]

Sắp xếp chương trình tính tổng

Program tinh_tong;

Var N, i: integer;

S: Longint;

Begin

Write[‘Nhap so N=’];  readln[n]; 

s:=0; 

For i:=1 to n do  S:=s+i;

Writeln[‘Tong cua ‘, N, ‘ So tu nhien dau tien s=’, s]; 

Readln

End.

0,5

0,5

0,5

0,5

0,5

0,5

18

[1đ]

  • Ban đầu gán S=0 và cho chương trình chạy biến i từ 1 đến 1000 rồi. 

  • Mỗi lần chạy kết quả được cộng dồn vào biến S.

0.5

0.5

19

[2đ]

Câu lệnh lặp với số lần biết trước :

- Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.

- Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên

Câu lệnh lặp với số lần chưa biết trước :

Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.

Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.

0,5

0,5

0,5

0,5

Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2021 - 2022

Bài thi môn: Tin học lớp 8

Thời gian làm bài: 45 phút

[không kể thời gian phát đề]

[Đề số 3]

A. TRẮC NGHIỆM: [4 điểm, mỗi câu được 0,25 điểm]

* Khoanh tròn vào chữ cái đứng trước kết quả em cho là đúng trong mỗi câu sau:

Câu 1: Trong ngôn ngữ lập trình Pascal, câu lệnh lặp với số lần chưa biết trước là:

A. If then ;       

B. Var i,n: Integer;   

C. While do ;

D. For :=downto  do ;

Câu 2: Trong câu lệnh lặp: For :=to  do ;

Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm:

A. 1 đơn vị                B. 2 đơn vị                 C. 3 đơn vị                 D. 4 đơn vị

Câu 3: Đâ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 4: Câu lệnh pascal nào sau đây là hợp lệ?

A. For i=1 to 10 do writeln[‘A’]                   B. For i : = 1 to 10 do writeln[‘A’];

C. For i:=5 to 30 do; writeln[‘A’]                 D. For i:= 10 to 1 do writeln[‘A’];

Câu 5: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng?

A. While i= 1 do T:=10;                         B. While [n mod i 0] ; do i:= i+ 1;

C. While 1 = 1; do Writeln [‘Dung’];      D. While x

C. Thực hiện câu lệnh sau từ khóa Then

D. Kiểm tra < câu lệnh >

Câu 11: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:

i := 5;

While i>=1 do i := i – 1;

A. 1 lần                  B. 2 lần                   C. 5 lần                   D. 6 lần

Câu 12: Hãy cho biết kết quả của đoạn chương trình dưới đây:

a:=10;While a < 11 do write [a];

A. Trên màn hình xuất hiện một số 10

B. Trên màn hình xuất hiện 10 chữ a

C. Trên màn hình xuất hiện một số 11

D. Chương trình bị lặp vô tận

Câu 13: Câu lệnh sau giải bài toán nào:

While M N do

If M > N then M:=M-N else N:=N-M;

A. Tìm UCLN của M và N

B. Tìm BCNN của M và N

C. Tìm hiệu nhỏ nhất của M và N

D. Tìm hiệu lớn nhất của M và N

Câu 14: Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?

A. Ngày tắm hai lần                                             B. Học bài cho tới khi thuộc bài

C. Mỗi tuần đi nhà sách một lần                         D. Ngày đánh răng 2 lần

Câu 15: Cú pháp lệnh lặp với số lần chưa biết trước:

A. While < điều kiện > to < câu lệnh >;

B. While < điều kiện > to < câu lệnh 1 > do < câu lệnh 2 >;

C. While < điều kiện > do ;< câu lệnh >;

D. While < điều kiện > do < câu lệnh >;

Câu 16: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng:

A. While S>=108 do                    B. While S < 108 do

C. While S < 1.0E8 do                D. While S >= E8 do

B. TỰ LUẬN [6 điểm]

Câu 17: [ 3 điểm] Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, 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? Viết chương trình Pascal thể hiện các thuật toán đó.

a] Thuật toán 1

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. 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 toán.

b] Thuật toán 2

Bước 1. S ←10, n ← 0.

Bước 2. Nếu S ≥ 10, chuyển tới bước 4.

Bước 3. n ← n+3, S ← S-n và quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

Câu 18: [ 1 điểm] Chương trình Pascal sau đây thực hiện hoạt động nào?

var          i: integer;

               begin 

                               for i:=1 to 1000 do;

               end.

Câu 19: [ 2 điểm] Em cho biết cú pháp câu lệnh lặp For...do và hoạt động của câu lệnh lặp

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KÌ II [Đề số 03]

NĂM HỌC: 2020 - 2021

MÔN: TIN HỌC 8 

A. TRẮC NGHIỆM: [4 điểm, mỗi câu được 0,25 điểm]

 Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Đáp án

C

A

D

B

A

C

C

B

A

B

C

A

A

B

D

C

B. TỰ LUẬN [6 điểm]

Câu

Đáp án

Điểm

17

[3đ]

a] Thuật toán 1:

- Kết quả thuật toán có 10 vòng lặp, giá trị S=5.

- Chương trình Pascal:

b] Thuật toán 2:

- Kết quả thuật toán có 0 vòng lặp do điều kiện vòng lặp không thỏa mãn, giá trị S=10.

- Chương trình Pascal: 

0,5

1

0,5

1

18

[1.0đ]

Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả.

1.0

19

[2đ]

- Cú pháp:

For := To Do ;

- Hoạt động:

B1: Biến đếm được gán bằng giá trị đầu.

B2: Nếu biến đếm GTC thì thoát khỏi vòng lặp FOR.

1

0,5

0,5

[Học sinh làm theo cách khác, nếu đúng vẫn cho điểm tối đa]

Phòng Giáo dục và Đào tạo .....

Đề thi Giữa kì 2

Năm học 2021 - 2022

Bài thi môn: Tin học lớp 8

Thời gian làm bài: 45 phút

[không kể thời gian phát đề]

[Đề số 4]

A. TRẮC NGHIỆM: [4 điểm, mỗi câu được 0,25 điểm]

* Khoanh tròn vào chữ cái đứng trước kết quả em cho là đúng trong mỗi câu sau:

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

A. Integer             B. Real                C. String                 D. Tất cả các kiểu trên đều được

Câu 2: Hoạt động nào sau đây lặp với số lần lặp biết trước?

A. Giặt tới khi sạch                                                 B. Học bài cho tới khi thuộc bài

C. Gọi điện tới khi có người nghe máy                  D. Ngày đánh răng 2 lần

Câu 3: Vòng lặp While – do kết thúc khi nào

A. Khi một điều kiện cho trước được thỏa mãn                     B. Khi đủ số vòng lặp

C. Khi tìm được Output                                                          D. Tất cả các phương án

Câu 4: Trong câu lệnh lặp: For []:=[] to [] do []; Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm:

A. 1 đơn vị                B. 2 đơn vị                  C. 3 đơn vị                 D. 4 đơn vị 

Câu 5: trong câu lệnh lặp với số lần xác định trước, được thực hiện bao nhiêu lần?

A. [ - ] lần.

B. [ - ] lần.

C. [ - + 1] lần.

D. Khoảng 10 lần

Câu 6: Tìm giá trị S khi thực hiện đoạn chương trình sau đây

S:=0;

For i:=1 to 5 do S:= S+i;

A. S=0.                 B. S= 1.              C. S=10.                D. S=15.

Câu 7: Hãy cho biết kết quả của b trong đoạn chương trình sau đây.

a:=10; b:=5;

      while a>=10 do

    begin b:=b+a; a:=a-1; end;

A. b=5.                B. b=10.                C. b=15.                     D. B=20.

Câu 8: Lúc nào thì câu lệnh lặp While..Do sẽ dừng lại?

A. có giá trị đúng.

B. < Điều kiện> có giá trị sai.

C. Các câu lệnh bên trong < câu lệnh> đã thực hiện xong.

D. Tất cả phương án trên đều sai.

Câu 9: Chọn cú pháp câu lệnh lặp là:

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ị cuối > to < giá trị đầu > do < câu lệnh >;

C. for < biến đếm > = < giá trị đầu > to < giá trị cuối >; do < câu lệnh >;

D. for < biến đếm > = < giá trị đầu > to < giá trị cuối > do < câu lệnh >;

Câu 10: 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 < câu lệnh > sau từ khóa Do

B. Kiểm tra giá trị của < điều kiện >

C. Thực hiện câu lệnh sau từ khóa Then

D. Kiểm tra < câu lệnh >

Câu 11: Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:

i := 5;

While i>=1 do i := i – 1;

A. 1 lần                  B. 2 lần                      C. 5 lần                      D. 6 lần

Câu 12: Hãy cho biết kết quả của đoạn chương trình dưới đây:

a:=10;While a < 11 do write [a];

A. Trên màn hình xuất hiện một số 10

B. Trên màn hình xuất hiện 10 chữ a

C. Trên màn hình xuất hiện một số 11

D. Chương trình bị lặp vô tận

Câu 13. Hãy xác định đúng sai cho các phát biểu dưới đây:

Để tính S là tổng của các bình phương của n số tự nhiên đầu tiên, đoạn chương trình Pascal sau đây tuy không hề bị lỗi cú pháp, nhưng lại không đạt được mục đích cần tính toán: S:=0; for a:=1 to n do; S:=S+a*a;

A. Đúng

B. Sai

Câu 14: Không nên thay đổi giá trị của “biến đếm” trong câu lệnh lặp for...do, ví dụ câu lệnh lặp sau đây là không nên sử dụng: for i:=1 to n do i:=i+2;

A. Đúng

B. Sai

Câu 15: Mọi NNLT đều có các cách để chỉ thị cho máy tính thực hiện cấu trúc với một câu lệnh. Đó là:

A. câu lệnh rẽ nhánh

B. Cả A, B đều đúng

C. Câu lệnh lặp

D. Cả A, B đều sai

Câu 16: Trong nhiều trường hợp, thời gian việc thực hiện câu lệnh lặp while...do như thế nào so với câu lệnh lặp for...do?

A. Tốn nhiều thời gian hơn

B. Tốn ít thời gian hơn 

C. Tốn thời gian bằng nhau

D.  Tất cả đều sai

B. TỰ LUẬN [6.0 điểm]

Câu 17 [3.0đ]: Em hãy cho biết  thuật toá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 toán đó.

B1: S ! 0, n ! 2;

B2: Nếu S≥5, chuyển B4.

B3: S ! S + n và quay lại B2.

B4: Thông báo S và kết thúc thuật toán.

Câu 18 [1.0đ]: Cho đoạn chương trình:           j:= 2;

                                                             For i:= 1 to 4 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?

Câu 19: [2.0 đ] Cho chương trình 

 Program Tong;

        Write[‘ Nhap n:’]; Readln[n];  

        S:=0; 

       For i:=1 to n do S:=S+i;

      Write[‘S=’,S];

Readln

End.

Em hãy chạy chương trình và kiểm tra kết quả với những bộ thử sau:

n

S

n= 4

        S=……………

n=30

S=……….  

n=50

S=……….  

n=100

S=……….  

ĐÁP ÁN ĐỀ KIỂM TRA GIỮA KÌ II [Đề số 04]

NĂM HỌC: 2020 - 2021

MÔN: TIN HỌC 8 

A. TRẮC NGHIỆM: [4 điểm, mỗi câu được 0,25 điểm]

Câu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Đáp án

A

D

A

A

C

D

C

B

A

B

C

A

A

A

C

B

B. TỰ LUẬN [6 điểm]

Câu

Đáp án

Điểm

17

[3đ]

- Số vòng lặp là 3, giá trị của S = 6;

- Chương trình mẫu

Program bai17;

 Var s,n:integer; 

Begin

 S:=0; n:=2; 

 While s < 5 Do

S:= S + n;

Writeln[‘Gia tri cua s la’,s];

Readln; 

End.

0,5

0,5

0,5

0,5

0,5

0,5

18

[1đ]

i:=1; 1

Chủ Đề