复习算法执行流程以及代码实现.pptVIP

  • 0
  • 0
  • 约3.19千字
  • 约 13页
  • 2019-03-26 发布于湖北
  • 举报
算法的执行流程以及代码实现 顺序结构 Dim a as double, b as double a = input(val(“请输入a:”)) b = input(val(“请输入b:”)) a = a + b b = a – b A = a – b Print a Print b 分支结构 单分支结构 If a0 then b = a * 10 End If 双分支结构 If (x0 or x=0) then y = x Else y = - x End If 分支结构的嵌套 设有如下函数:输入x,要求输出y的值。 1 x 0 y = 0 x = 0 -1 x 0 循环语句1——当循环 Do While…Loop 结构 Do While 条件表达式 [语句块] Loop 例:求10以内所有偶数的和 s = 0 : i = 2 Do while i = 10 s = s + i : i = i + 2 Loop For … … next 结构 For 循环变量 = 初值 to 终值[Step步长] 语句块 Next [循环变量] s = 0 For i = 2 To 10 Step 2 s = s + i Next i 循环语句2——Do Loop…Until 直到型循环 Do [语句块] Loop Until 条件表达式 直到型循环 例:求10以内所有 s = 0 : i = 2 Do s = s + i i = i + 2 Loop until i 10 循环结构+分支结构 解析算法例题:已知一元二次方程ax2+bx+c=0的系数a、b、c,求方程的解x。 算法分析: 输入a、b、c; 计算d=b2-4ac的结果, d0,输出两个解x1、x2 ; d=0,输出一个解x1 ; d0 ,输出“无解” 。 解析算法例题流程图: 解析算法例题代码: Dim a as single, b as single, c as single, d as single Dim x1 as single, x2 as single a = val(InputBox(“输入a:”)) b = val(InputBox(“输入b:”)) c = val(InputBox(“输入c:”)) d = b * b -4 * a * c If d=0 then If d 0 then x1=(-b+ sqr(d)) / (2*a) x2= (-b- sqr(d)) / (2*a) print “两个解:”x1,x2 Else x1=(-b) / (2*a) print ”一个解:“x1 End If Else print “无解” End If [枚举算法例题]一个五位数,模糊的是千位与十位上的数字(如下图) ,已知该数是57或67的倍数,请设计算法流程图求出所有的可能,并根据流程图写出代码。 完整拓展流程图 循环嵌套、两种代码结构比较 Dim i As Integer, j As Integer, n As Integer, c As Integer n = 0: c = 0 For i = 0 To 9 step 1 For j = 0 To 9 step 1 n = 10407 + i * 1000 + j * 10 If (n Mod 57 = 0 Or n Mod 67 = 0) Then List1. AddItem (Str(n)) c = c + 1 End If Next j Next i Dim i As Integer, j As Integer, n As Integer, c As Integer i = 0: n = 0: c = 0 Do While i = 9 j = 0 Do While j = 9 n = 10407 + i * 1000 + j * 10 If (n Mod 57 = 0 Or n Mod 67 = 0) Then List1. AddItem (Str(n)) c =c+1

文档评论(0)

1亿VIP精品文档

相关文档