询问者
如何计算for循环的循环次数

常规讨论
-
如下:
for i=1 to 5
[循环体]
next i
像上面的是一层for循环就可以套用公式得到:int((5-1)/1+1)=5,从而可以得出这个for循环总共循环了5次。
那么,如果是二重循环或者三重循环呢,又该如何计算它的循环次数?又或者说有什么办法可以快速口算出来?
比如下面的几种典型多重循环:
典型一:
for i=1 to 4
for j=1 to i
[循环体]
next j
next i
典型二:
for i=1 to 5
for j=0 to 3
[循环体]
next j
next i
典型三:
for i=1 to 5
for j=0 to i
for k=0 to j
[循环体]
next k
next j
next i
就上面的三种典型例子请高手给予详细的解答,Thanks
全部回复
-
正如你所写的那个简单的表达式一样,嵌套循环只是每一层和每一层做个乘法:
典型二:
for i=1 to 5
for j=0 to 3
[循环体]
next j
next i
((5-1)/1+1)*((3-1)/1+1)即可
不过其他类型,内嵌的循环次数随着外套的再改变,所以不一个简单的乘积。而是一个 ∑.
例子一:每次加上 ((4-1)/1+1)*∑(1-i)
三类似二
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
这里很难表达西格玛, ∑(1-i) 就是从 1累加到i
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
尊敬的版主
您好!
再请教你一个问题,如何记录用户退出程序时在程序里所做的操作,并将它写入ini或txt格式文件里,当用户再次启动程序时就把上一次退出程序时所
做的操作加载进来。比如我们登录QQ时所选的状态是隐身的,那么当你下次再登录QQ时也是(保留了上次的隐身)隐身的。
为了把上述的描述更清晰地表达出来,我再举个简单的例子:
form1有三个check复选框(分别是check1,check2,check3),缺省状态是没有被选中的,当用户正常退出程序前check1和check2是被选中的,那么,用户下次再登录程序时就把上次的操作给加载进来(即check1和check2是处于选中状态)
-
在退出的时候是用配置文件或者Application.Setting 去保存用户状态,比如比较原始的 inc 文件,或者xml文件取保存状态。还有可以使用Application.Setting去保存。你可以找下相关资料 。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
嗯,这个很简单,我来给你解答吧。
例如说呢,储存一个值,是文本。
我们新建一个窗体,在里面放一个Textbox1,在Form的Closing里面写上如下代码:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\Text.txt", Me.TextBox1.Text, False) End Sub
好了,这样就在退出的时候把Textbox的内容保存起来了。
再在Form的Load事件里面写上:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TextBox1.Text = My.Computer.FileSystem.ReadAllText(Application.StartupPath + "\Text.txt") End Sub
你去试试这些代码,在程序的Textbox1里面写上内容,关掉窗体,内容自动保存。下次打开窗体,内容又在了。
这是个简单的例子,如果是你说的用户状态之类的,只要对保存的内容加以分析就可以。
这是不用XML或者INI的,当然不一定要TXT,你可以改成其他格式,不会影响。
------------------------------------------------------------------------------------
至于你说的例子,也很简单
form1有三个check复选框(分别是check1,check2,check3),缺省状态是没有被选中的,当用户正常退出程序前check1和
check2是被选中的,那么,用户下次再登录程序时就把上次的操作给加载进来(即check1和check2是处于选中状态)
我们用三个连续数字(这样会很乱,但是数据少时没有问题)表示选中状态,例如第一个和第二个是选中,就是 110 。
这样,和上一个例子用同样的思路:
窗体关闭时:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing My.Computer.FileSystem.WriteAllText(Application.StartupPath + "\Checked.txt", IIf(Me.CheckBox1.Checked, "1", "0") + IIf(Me.CheckBox2.Checked, "1", "0") + IIf(Me.CheckBox3.Checked, "1", "0"), False) End Sub
窗体载入时:
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Str As String = My.Computer.FileSystem.ReadAllText(Application.StartupPath + "\Checked.txt") Me.CheckBox1.Checked = IIf(Mid(Str, 1, 1) = "1", True, False) Me.CheckBox2.Checked = IIf(Mid(Str, 2, 1) = "1", True, False) Me.CheckBox3.Checked = IIf(Mid(Str, 3, 1) = "1", True, False) End Sub
试试吧,就这么简单。
希望可以帮到您。
-
- 基于 X.TK
Option Explicit
Private Sub Form_Load() If Dir(App.Path & "\Checked.txt") <> "" Then Open App.Path & "\Checked.txt" For Input As #1 Dim strChecked As String Input #1, strChecked Me.Check1.Value = CInt(Mid(strChecked, 1, 1)) Me.Check2.Value = CInt(Mid(strChecked, 2, 1)) Me.Check3.Value = CInt(Mid(strChecked, 3, 1)) Close #1 End If End Sub Private Sub Form_Unload(Cancel As Integer) Open App.Path & "\Checked.txt" For Output As #1 Print #1, Me.Check1.Value & Me.Check2.Value & Me.Check3.Value; '0 - UnChecked ,1 - Checked ,2 - Grayed Close #1 End Sub
grass...- 已编辑 Way.New 2011年1月29日 20:39 作者:X.TK
-