教学材料《VB导论》_6.5.pptVIP

  • 0
  • 0
  • 约7.96千字
  • 约 37页
  • 2026-01-22 发布于广东
  • 举报

2)for语句为:fori=1to3;循环体为:ch=mid(ch,2*i-1,1)left(ch,len(ch))printch第1趟循环:i=1ch=mid(“DEF”,1,1)left(“DEF”,3)=“D””DEF”=“DDEF”NextI后,i=2第二趟循环:i=2ch=mid(“DDEF”,3,1)left(“DDEF”,4)=“E””DDEF”=“EDDEF”NextI后,i=3第三趟循环:i=3ch=mid(“EDDEF”,5,1)left(“EDDEF”,5)=“F””EDDEF”=“FEDDEF”NextI后,i=4,超出终值结束循环。3)for语句为:fori=1to5循环体为:p=p+(2*i-1)/(2*i+1)(其中p为整型)ifp=20thenexitfor第一趟循环:i=1p=1+1/3=1(对于非整数按cint函数处理)NextI后,i=2第2趟循环:i=2p=1+3/5=2NextI后,i=3第3趟循环:i=3p=2+5/7=3NextI后,i=4第4趟循环:i=4p=3+7/9=4NextI后,i=5第5趟循环:i=5p=4+9/11=5NextI后,i=6(i5结束循环)执行nexti后面的语句。打印I,p4)fori=1to20step2(注意:初值、终值、步长均为常量,在程序运行中是固定不变的量,所以for语句是固定不变的)循环体为:p=p+2n=n-3i=i+1ifp=10thenexitfor第1趟循环:i=1p=4;n=17;i=2NextI后(注意:语句的作用是对循环变量加步长),i=4第2趟循环:i=4p=6;n=14;i=5NextI后,i=7第3趟循环:i=7p=8;n=11;i=8NextI后,i=10第4趟循环:i=10p=10;n=8;i=11因为此时p=10,所以中途退出循环,去执行next后面的语句。打印I,p,n.分别为11,10,8查找的2种算法:顺序查找和二分查找统计的算法:用一个数组存放统计结果(称为统计数组),算法的关键是根据要统计的对象确定统计数组的下标算法填空顺序查找算法ForI=1to ifsearch(I)=xthenexitfornextI‘退出的两种情况Ifthen ‘找到,处理else ‘没找到,处理endif I=ubound(search)Ubound(search)二分查找算法flg=False left=1 right=NMid=DoWhile mid=(left+right)/2 IfX=S(mid)Then flag=True exitdo ElseIfXS(mid)Then Else EndIfLoop (left+right)/2left=rightleft=mid+1right=mid-1例6-12将一个数列中的重复数删除掉。(动态数组应用)86638488634删除重复数算法思想第1轮:用a(1)依次和位于其后的所有数组元素比较,假设数组元素a(i)与a(1)相同,则将a(i)删除。删除a(i)的方法是将位于a(i)其后的数组元素依次前移,即用a(i+1)元素的值替换a(i)值,a(i+2)替换a(i+1)的值….直到a(n)替换a(n-1);然后继续用a(1)和a(i),a(i+1),a(i+2)…..a(n-1)(数组已删除一个元素了)。若有相同的数存在,使用相同的方法将其删除,直到a(1)和位于其后的所有元素都比较完。第2轮:用a(2)和位于其后的所有元素比较,方法同第1轮。依次类推直到a(n-1)和a(n)比较

文档评论(0)

1亿VIP精品文档

相关文档