Cho đoạn chương trình sau: S:=0; For i:=1 to n do ì i mod 2 <> 0 then S:=S + i; write ('S=',S); Với n= 10 thì kết quả hiển thị là bao nhiêu

2 câu trả lời

*Đoạn chương trình với $n=10$ nghĩa là: $i$ chạy từ $1$ đến $10$, nếu $i$ chia $2$ có số dư khác $0$ thì tính tổng.

Ban đầu $S=0$

+) `i=1`

`1` chia $2$ dư $1\ne 0$ `=>S=S+i=0+1=1`

+) `i=2\ \vdots \ 2=>` bước tiếp theo

+) `i=3=>S=S+i=1+3=5`

`=>` Khi $i=9$ thì `S=1+3+5+7+9=25`

+) `i=10\ \vdots \ 2=>` kết thúc

Kết quả hiển thị: `S=25`

$#QLinkVN$

Đoạn chương trình có ý nghĩa: Biến đếm `i` chạy từ `1` đến giá trị `n`, lúc này `n=10` nên sẽ chạy chương trình trong cụm "$for...do...$" từ `1-10`, nếu phát hiện `i` là số lẻ (có số dư khác `0`) thì giá trị của `i` mới phát hiện sẽ được thêm vào tổng `S`

`-` `S=0` và `i=1`

`1` $mod$ `2<>0` `=>S=S+i=0+1=1`

`-` `S=1` và `i=2`

`2` $mod$ `2=0` `=>` bỏ qua

`-` `S=1` và `i=3`

`3` $mod$ `2<>0` `=>S=S+i=1+3=4`

.......................

Với `i=10` thì vì `10` $mod$ `2=0` `=>S=S+i=1+3+5+7+9=25`

Kết thúc chương trình, màn hình hiển thị `S=25`

Câu hỏi trong lớp Xem thêm