素数案例-高职考VB技能提升

简介: 素数案例-高职考VB技能提升

素数其实就是我们平时说的质数。

在一般领域,对正整数n,如果用2到n(根号n)之间的所有整数去除,均无法整除,则n为质数。


做一个案例吧!

案例~根据题意来填空:


根据这个题目,我们来设计并制作一下这个案例。

首先来按照题目意思来设计一下:




文本框相关设置:

–1multiline  选择 true代表可以多行写。

–2scrollbar2代表打开纵向滚动条。


相关属性:



求解按钮随意设计一下,题目中没有要求,那就没有关系。




双击“求解”按钮,下面开始码代码:

首先,在点击求解的时候,我们让文本框清空。使用如下代码:

Text1.Text = ""

然后,我们解释题目中出现的几个函数的意思。

Sqr函数:求平方根

Chr(13)\r回车键

Chr(10):   \n换行

Int函数:向下取整


题目分析:

这个题目是要输出3至100之间所有的为素数的数字有哪些。

K = Int(Sqr(n))表示获取当前这个数的平方根,并进行向下取整后返回值存放到K变量。

i = 2是因为判断一个数为素数,只要从2开始除就可以了。

flag = 0   '标记0默认为素数,1表示非素数

内部循环:

Do While i <= K And flag = 0

       If n Mod i = 0 Then flag = 1 Else i = i + 1

Loop

这个循环是核心部分,是判断是否为素数的核心,如果这个数是素数,那么将flag赋值为1。其实这里的代码我们也可以优化的,就是在标记为1后,我们就可以马上退出while循环就可以了,使用exit do。

判断是否为素数,使用if n Mod i=0 用来判断是否能够整除,mod表示取余数,如果没有余数,意味着就是可以整除的。只要是n能被整除的这个数,那它就不是素数。



最后,总结一下本题解题,由于在理论题中需要思考,我们按照如下思路。

–1、阅读题意

–2、看关键代码

–3、难题可以通过调试来掌握


本案例所有源代码:

Dim n As Integer
Dim K As Integer
Private Sub Command1_Click()
Text1.Text = ""
For n = 3 To 100
    K = Int(Sqr(n))
    i = 2
    flag = 0   '标记0默认为素数,1表示非素数
    '循环作用,验证这个数不是素数,标记为1
    Do While i <= K And flag = 0
        If n Mod i = 0 Then flag = 1 Else i = i + 1
    Loop
    If flag = 0 Then
        Text1.Text = Text1.Text & n & Chr(13) & Chr(10)
    End If
Next n
End Sub
相关文章
|
1月前
|
敏捷开发 监控 数据可视化
软件工程基础知识,软考选择题的重点
本文总结了软件工程的基础知识要点,包括软件生命周期、过程成熟度级别、开发模型、开发方法、软件测试、项目管理(成本估算、进度管理、风险管理)以及软件质量特性,旨在为软考选择题提供复习重点。
55 2
|
6月前
|
编译器 C++
【期末不挂科-C++考前速过系列P3】大二C++第3次过程考核(20道选择题&12道判断题&2道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P3】大二C++第3次过程考核(20道选择题&12道判断题&2道代码题)【解析,注释】
|
6月前
|
C++
【期末不挂科-C++考前速过系列P2】大二C++第2次过程考核(20道选择题&10道判断题&3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P2】大二C++第2次过程考核(20道选择题&10道判断题&3道代码题)【解析,注释】
|
C++ Python
【浙江大学PAT真题练习乙级】1007 素数对猜想 (20分) 真题解析
【浙江大学PAT真题练习乙级】1007 素数对猜想 (20分) 真题解析
|
存储 数据采集 数据格式
【蓝桥杯嵌入式】蓝桥杯第十三届省赛程序真题,真题分析与代码讲解
【蓝桥杯嵌入式】蓝桥杯第十三届省赛程序真题,真题分析与代码讲解
727 0
【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解
【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解
372 0
【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题,真题分析与代码讲解
|
算法
高职考VB技能提升教程003期 杨辉三角 高考信息技术必备
高职考VB技能提升教程003期 杨辉三角 高考信息技术必备
132 0
高职考VB技能提升教程002期 listindex深入理解
高职考VB技能提升教程002期 listindex深入理解
141 0
高职考技能提升教程008期 掷骰子与冒泡排序 VB语言 刘金玉编程
高职考技能提升教程008期 掷骰子与冒泡排序 VB语言 刘金玉编程
高职考技能提升教程009期 求最值与平均值 VB语言 刘金玉编程
高职考技能提升教程009期 求最值与平均值 VB语言 刘金玉编程