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`