正文

循环和选择结构程序设计2005-06-02 16:57:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hange/1427.html

分享到:

循环结构:                           
循环体——反复执行的一组语句  

  1)、FOR循环                           
(2)、WHILE循环                           
(3)、DO循环 
在这两个循环中可以用EXIT退出
EXIT FOR
EXIT DO                            

FOR循环                           
例子
FOR I=1 TO 5
    PRINT I
NEXT I
运行结果
1
2
3
4
5
可以带参数STEP
FOR I=5 TO 1 STEP -1
    PRINT I
NEXT I
运行结果
5
4
3
2
1

FOR I=1 TO 5 STEP 2
    PRINT I
NEXT I
运行结果
1
3
5

(2)、WHILE循环  

WHILE  <条件>   <循环体>  WEND                     注: <条件>是终止循环的逻辑表达式,<条件>应随循环的执行而变化,最终退出循环。 
例子:
WHILE I>5
     I=I+1
     PRINT I
WEND                            
运行结果
1
2
3
4
5
                         
3)、DO循环                             
这个有两种方式,一种是当循环 (WHILE),一种是直到循环(UNTIL)
这两种中都可以先判断在循环,或者是先循环在判断

带until子句的do循环语句 (直到型)
1、先判断,在循环
格式一:do until <条件>              
                <循环体>            
       loop   
2、先循环,在判断                       
格式二:do                        
           <循环体>.            
    loop until <条件>                           

作用:直到条件为真时终止循环 

当型循环
1、先判断,在循环
格式一:do WHILE <条件>              
                <循环体>            
       loop   
2、先循环,在判断                       
格式二:do                        
           <循环体>.            
    loop WHILE <条件>                           

作用:当条件为真时终止循环 


选择结构程序设计
   一、概述
   分支结构:                                                 
二、关系式和逻辑表达式
  1、关系运算符                
     < 、 >、 =、 <=、 >=、 < > 
  2、关系式                
    关系式是由一个关系运算符把两个表达式连起来的式子。结果(值)为逻辑值:               
        真 True    假 False                     
   QBASIC用数值表示: 真: -1(非零值)                
             假: 0                     
if x< >0 then print x和if x then print x 相同                                  
   3、逻辑运算符及逻辑表达式
  
   (1)、not (非、逆、取反)                            
      7>4 值为真                               
       not (7>4) 值为假               
   (2)、and (与、交)                 

    所连接的两个关系式为真时条件成立。
       x>0 and x<10
   (3)、or (或 、并)                     

   所连接的两个关系式中有一个(以上)为真,则条件成立。                                             
     X> 10 or X<0                     

    集合表示                     

      A and B    A or B     not A                                
  4、逻辑表达式的运算规则(P123表6.4)                                                    
  5、运算次序(优先级别)                      

    算术运算—关系运算—逻辑运算(例P123)                      

    关于逻辑表达式结果:                      

    x=6>4                      

    print x         x=-1                      

    a=5=3 =>a=(5=3)     a=0                      

三、行IF语句              
                   
  1、一般格式                   
    if <条件> then <语句1> [else<语句2>]                      

    课本P124例6.1、 6.2、 6.3              
                      
  2、嵌套关系                                         
  (1)if…then if…then…else…else    
         内层                   
         外层                                  
 (2)if…then if…then…else if …then…else               

四、块if语句                     

   1、一般格式                   
     if <条件> then                    
       <语句组1>                    
     [else                 
       <语句组2>]                 
     end if                   

   2、应用举例

      课本P129例6.4             
   例6.5: 输入3个整数、按从大到小的顺序输出。              
                   
  算法:                   
  (1)先将a与b比较,把小者放b中,大者放a。               
  (2)再将a与c比较,把小者放c中,大者放a中,此时     a已是三者最大的。                    
  (3)最后将b与c比较,大者放b中,小者放c中,此时     a、b、c已按从大到小的顺序排例好。             
  程序:                    
       inpnt "a,b,c,=";a,b,c  
       if b>a then   
         t=a                    
         a=b    交换a、b(swap a,b) 
         b=t                    
       end if                
       if c>a then   
         t=a                    
         a=c   交换a、c(swap a,c) 
         c=t                    
       end if     
       if c>b then   
         t=b                    
         b=c   交换b、c (swap b,c)            c=t                    
       end if                    
       print a, b,c                        end                    
                
  3、块if的嵌套               
     if then                    
       …             
       if then
         …             
       else                    
         …             
       end if                    
       …             
     else                    
       …             
     end if                                             
     课本P131例6.6                

   4、块IF中的ELSEIF格式

       if  then
         …            
       else                    
         if then
          …            
         else
          …            
         end if                    
       end if                      

写成:  if  then                    
      …            
     elseif then
      …            
     else                    
      …            
     end if                      

P125 改写为:                      

     Input "m=";m
     If m<100 then
       d=0                    
     elseif m<200 then
       d=0.01
     elseif m<300 then
       d=0.02
     elseif m<500 then
       d=0.03
     elseif m<1000 then
       d=0.04
     elseif m<2000 then
       d=0.05
     else                    
       d=0.08
     end if                    
     a=m*(1-d)                    
     print "amount=";a
     end                      

五、多分支选择语句                      

     用嵌套的IF语句可实现多分支选择               
  1、基本格式             

     select case <变量>
       case <值1>                    
         <语句组1>
       case <值2>                    
         <语句组2>
       …          
       case <值n>                    
         <语句组n>
       case else                    
         <语句组n+1>
     end select                      

  每一个CASE句中指定一个值条件,当CASE变量的值符合条件时,执行该子句下面的语名组,在执行完该语句组后,跳过其它CASE子句,从END SELECT转出。           

例6.8(P136)    c=int(s/250)           

  2、在CASE子句中使用TO            

     CASE <值1> TO <值2>         
     例P139          

  3、在CASE子句中使用IS          

     CASE IS <关系运算符> <表达式>          

     例6.9 (P139)          

  4、在CASE子句中使用多个条件          

   允许在一个CASE子句中指定多个条件,各条件   之间用逗号分开。        
     条件=单值、值范围、单条件       
      例P140         

  5、SELECT CASE语句的一般格式         

     select case <测试表达式>
       case <条件11>,<条件12>,…
         <语句组1>
       case <条件21>,<条件22>,…
         <语句组2>
       …           
       case <条件n1>,<条件n2>,…
         <语句组n>
       case else                    
         <语句组n+1>
     end select          

六、多分支转移语句       
          

  格式:ON <算术表达式> GOTO <标号1>,<标号2>,…          
七、多分支选择结构小结         

  1、IF-THEN-ELSE(用IF的嵌套)       
    分支(条件)较少时使用。        
  2、SELECT CASE       
    分支(条件)较多时使用。       
  3、ON GOTO       
    非结构化程序设计,不宜使用。 

阅读(3384) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册