回 帖 发 新 帖 刷新版面

主题:解决初学都对 FOR 循环语句的疑惑!!


解决初学都对 FOR 循环语句的疑惑!!

程序员通常为了解决某一问题必须按规定次数重复执行一条或多条语句!
这时就要用到 FOR 循环语句 但初学者往往不去多上机练习 FOR 语句!

=======================
这个贴就写给这些懒人!
========================

FOR 循环变量 = 起始值 TO 终值 STEP 步长值
   循环(子语句集)
   程序第一次执行到这里时: 循环变量和超始值相等
NEXT

注意:
======================================================================
程序执行到 NEXT 时先判断步长值符号位

* 当步长为正数 先将循环变量 + 步长值 然后再判断当前循环变量的值是否超过终值,
-如果是则程序转到 NEXT 下面的语继续执行程序。
-如果不是则转到 FOR 下面的第一条语句继续执行 循环子语句集

例: 1
FOR n% = 10 TO 2 STEP -1
   IF n% = 10 THEN PRINT "第一次";
   PRINT n%
NEXT
PRINT "循环结束 n = "; n

Output:
====================================
第一次 10
9
8
7
6
5
4
3
2
循环结束 n = 1
=====================================

再把程序改成:
========================
FOR n% = 10 TO 2 STEP -1
   IF n% = 10 THEN PRINT "第一次";
   PRINT n%
   IF n% = 2 THEN GOTO kkk
NEXT

kkk:
   PRINT "循环结束 n = "; n

Output:
====================================
第一次 10
9
8
7
6
5
4
3
2
循环结束 n = 2
=====================================

例: 2
FOR n% = 1 TO 10 STEP 1
   IF n% = 1 THEN PRINT "第一次";
   PRINT n%
NEXT
PRINT "循环结束 n = "; n

Output:
====================================
第一次 1
2
3
4
5
6
7
8
9
10
循环结束 n = 11
=====================================

再把程序改成:
========================
FOR n% = 1 TO 10 STEP 1
   IF n% = 1 THEN PRINT "第一次";
   PRINT n%
   IF n% = 10 THEN GOTO kkk
NEXT

kkk:
   PRINT "循环结束 n = "; n
Output:
====================================
第一次 1
2
3
4
5
6
7
8
9
10
循环结束 n = 10
=====================================

回复列表 (共2个回复)

沙发

啊远先生:
    猴子的问题,我已想通.还是题意方面的问题.运行此数是9次.
         M=2*(D1+1)                                          (1)            
         D1=2*(D2+1)                                         (2)
         D2=2*(D3+1)                                         (3)
         ...   ...                                           ...  
         D8=2*(D9+1)                                         (9)
         D9========1   (第9天通过公式递推至剩余一个桃子)     
         D10=1         (第10天发现有一个桃子)
   因此D9=1方是初值,从M至D8计算了9次.故:
             FOR  n%=1  TO 9  
             FOR  n%=10 TO 2  STEP  -1
             FOR  n%=9  TO 1  STEP  -1
      甚至:  FOR  n%=15 TO 7  STEP  -1  皆可.
  不知道这样理解对否,请指正.

板凳

你这样的理解!整个数据是表现在你的脑海里!按照书面上你写的公式! 是不能用这样的方法推理的!这种方法本身就是一个错误了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册