课件编号7615551

浙教版高中信息技术 必修一 课件_VB_枚举算法 课件(17张幻灯片)

日期:2024-05-03 科目:信息技术 类型:高中课件 查看:97次 大小:400227Byte 来源:二一课件通
预览图 1/7
课件,教版,高中,信息技术,必修,VB
  • cover
枚举算法 符合条件的数出来 请从下图的80本作业本中找出8、18、28号学生的作业本 策略? 一本一本翻,如果是8、18、28号则抽出来 数7游戏 请10位同学,第一位从任意数字开始报数,后面每一位同学报的数是前一位加1,共报30个数。 逢尾数是7或者7的倍数则拍手不报数 思路 数7 范围 [n,n+30] 条件 逢尾数是7或者7的倍数则拍手不报数 for i = ___ to ____ 循环体 next i If _____ Then list1.addItem “拍手” Else list1.addItem i End If n n+30 i mod 10 = 7 or i mod 7 = 0 完整程序 数7 变量i从n变化到n+30,每次加1 改变i的值,i=i+步长 {3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}For i = n to n+30 If i mod 10 = 7 or i mod 7 = 0 Then list1.addItem i Else list1.addItem “拍手” End If Next i 枚举算法基本思想 枚举算法就是按照问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中检验每个可能解是否是问题的真正解,若是则采纳这个解。 特点:简单、低效,正确的枚举总能得出正确的全面的解 步骤: 确定范围,一一枚举(循环结构)———> 逐个检验(选择结构)———>得到真解(输出) 水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 (例如:1^3 + 5^3+ 3^3 = 153)。 ———《百度百科》 思路 水仙花数 范围 3 位正整数 条件 每个位上的数字的 3次幂之和等于它本身 a=_____ b=_____ c=_____ sxh=a^3+b^3+c^3 for i = ___ to ____ 循环体 next i If _____ Then list1.addItem i End If 100 999 i \ 100 i \ 10 mod 10 i mod 10 sxh = i 完整程序 水仙花数 变量i从100变化到999 {3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}For i = 100 to 999 a = i \ 100 b= i \ 10 mod 10 c= i mod 10 sxh=a^3+b^3+c^3 If sxh = i Then list1.addItem i Next i a 为 i 百位上的值 b 为 i 十位上的值 c 为 i 个位上的值 改变i的值,i=i+步长 思路 水仙花数 范围 3 位正整数 条件 每个位上的数字的 3次幂之和等于它本身 sxh=a^3+b^3+c^3 for a = 1 to 9 for b = __ to __ for c = __ to __ 循环体 next c next b next a If _____ Then list1.addItem i End If 0 9 sxh = i 0 9 {3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}for a = 1 to 9 for b = 0 to 9 for c = 0 to 9 sxh=a^3+b^3+c^3 If sxh = i Then list1.addItem i Next c Next b Next a 完整程序 水仙花数 百位变量a从1至9 改变c的值,c=c+步长 十位变量b从0至9 个位变量c从0至9 改变b的值,b=b+步长 改变a的值,a=a+步长 回文数 所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的,比如1221是回文数,3543不是回文数。 输出1000~9999中的所有回文数。 思路 回文数 范围 [1000,9999] 条件 从左边读和从右边读的结果是一模一样的。 a=_____ b=_____ c=_____ d=_____ hws=a+b*10+c*100+d*1000 for i = ___ to ____ 循环体 next i If _____ Then list1.addItem i End If 1000 9999 i \ 1000 i \ 100 mod 10 i \ 10 mod 10 i mod 10 hws = i 思路 回文数 条件 从左边读和从右边读的结果是一模一样的。 a=_____ b=_____ c=_____ d=_____ hws=a*1000+b*100+c*10+d If _____ Then list1.addItem i End If hws = i i \ 1000 i \ 100 mod 10 i \ 10 mod 10 i mod 10 hws=0 : k=i for j=1 to len(str(i))-1 x=k mod 10 k=k\10 hws=hws*10+x next j 思路 回文数 条件 从左边读和从右边读的结果是一模一样的。 a=_____ b=_____ c=_____ d=_____ hws=a+b*10+c*100+d*1000 If _____ Then list1.addItem ... ...

~~ 您好,已阅读到文档的结尾了 ~~