Condition," this thing in the middle between the semicolons, is going to be checked every iteration of the loop.
条件,“这个在两个分号的中间,它将迭代地检查这个循环的条件。
Once each time. Right? I only do one swap potentially, it-- though not one potentially, each time at the end of the loop I do a swap.
每次循环做一次,对么?我其实,就可能做了一次交换,也许并不是可能,每次循环的结束我都得做一次交换。
And we won't wait here one hundred seconds for it to finish, but we're using the loop, we're updating a variable, and we're formatting it in a nice way.
我们将不会再这里等待100秒来等它完成,但是我们使用循环,我们更新一个变量,我们把它排成一个漂亮的格式。
This is a highly simplified version, but sort of closes the loop on what we've been talking about.
以上是对整个过程的高度概括,但它涵盖了我们讲过的内容
And there is a self-enforcing loop between the two, where helping others helps ourselves; and helping ourselves, in turn, helps others.
两者间有自我实施的循环,帮助他人就是帮助自己;,帮助自己继而帮助他人。
Well I ought to be able to do that by simply generalizing the loop. And that's what the next piece of code on your a hand out shows you.
好的通过生成这个循环,我应该能够达到目的,这也是你们的讲义中下一段代码。
So this is a nice little search-- sorry, a nice little sort algorithm . And in fact, it's relying on something that we're going to come back to, called the loop invariant.
恩,这是一个很棒的小搜索,抱歉,和很棒的小排序算法,事实上,它依赖于一些我们要回顾的东西,被称作循环不变量。
The loop invariant what does the loop invariant mean? It says, here is a property that is true of this structure every time through the loop.
循环不变量是什么意思?,它是一个在结构体中,每次循环都为真的属性。
Which means, next time through the loop, that's going to pop out and return an answer.
循环会跳出并返回这个答案,如果不相等的话。
Then the next thing in the loop, we're going to enter a nested loop and say for every college in the list e, we're going to print the name of the college.
循环中的第二件事,是进入一个嵌套循环,这个嵌套循环将数组中的,大学名字显示出来。
swap I'm going to keep track of a little variable called swap, it's initially true, and as long as it's true, I'm going to keep going, but inside of the loop I'm going to set it to false, and only if I do a swap will I set it to true.
我打算跟踪一个小的变量称为,初始值为真,只要它是真的,算法就会继续,但是在循环里,我打算把他设为假,除非交换发生,就把它设为真。
So each time through the loop, I'm doing three steps. Three basic operations.
因此每次运行这个循环,我做了三次基本运算。
It's basically cycling through the loop a multiplying by a each time.
这个代码就是简单的循环,每次乘一个。
How do I know when I'm done with the loop?
我怎么知道循环完毕了呢?
Go through the second round of the loop.
再做第二遍循环。
And then I run a loop in which I read something in, I check to see if it's the right type, if it is, I change that variable to say it's now the correct type, which means the next time through the loop, I'm going to say I'm all set and I'm going to bounce out.
因为我还没输入,然后我运行一个循环,循环内部我输入一些东西,然后看看是不是正确的类型,如果是的话我改变input,Ok为真,来证明输入数是正确的类型,这就意味着下一次运行这个循环的时候,就可以跳出循环继续执行了。
Next time through the loop it goes to a squared.
循环完后变成a的平方。
We're gonna have a so called a loop, an infinite loop and you actually experience this in the real world.
我们将会做一个循环,一个无限循环,你会在这个,真实世界里体验它。
So it's initialized outside the loop when it should be initialized inside the loop. Or conversely, inside the loop when it should be outside the loop. So look carefully at when variables are being initialized.
却忘记了,意思就是它本来应该,是在循环外初始化,但是却是在循环初始化的,所以在初始化变量的时候注意这一点。
And so what's the loop going to do?
字符的序列来对待了?
Now this happens to be what we would call a linear process, because the number of times I go around the loop is directly related to the size of the argument. If I double 2 the argument, I'm going to double the number of times I go around the loop. If I increase it by five, 5 I'm going to increase by five the number of times I go around the loop.
这恰好是我们会成为,线性复杂度程序的一个例子,因为我要执行循环的次数是,和输入的参数的大小直接相关的,如果我将这个参数乘以,那么我就要将进行循环的次数也乘以2了,如果我把参数加上,那么循环的次数也要加上5了。
It's going to run through the loop, accumulating the answers, but because I'm subtracting, x it's just going to keep making x more and more negative as it goes along, again it's off into an infinite loop.
它一直在循环,不断的累加答案,这是因为我一直在对x做减法,这使得作为负数的,变的越来越小,又进入一个无限循环了。
Next time through the loop it goes to a cubed.
然后再一次循环变成a的三次方。
I've written a little for loop, which is going to iterate over all of the elements in the list.
让我们先看看这儿的代码,我已经写了一个循环语句,用来迭代处理数组中所有的元素。
Now, all the cat is doing is that it's an infinite loop and it's checking if I am not facing bird, - face bird, and it's -- It's constantly chasing the bird.
猫能做的就是一个死循环,并且它能检测我是不是面对着一只鸟,如果没有就转向那只鸟-,它一直不停地追逐这只鸟。
And so the guys in Office Space took that money and they-- -- their for loop-- way too fast is-- was the takeaway in that movie, when they freaked out because they had million dollars or something like that overnight.
所以在办公地点里的家伙才能够搞到钱-,然后利滚利--很快的方法-,这就是整个影片的亮点,当他们出于极度兴奋之中,因为他们已经一夜之间,变成百万富翁了。
You can kind of see where the syntax is going, looks like a loop, but you can kind of put blocks inside of you, and the little arrow suggests that once you get to the bottom just like our socks example, you're gonna do the following again.
从某种程度上你可以看到它的语法构成,像个循环,你也可以把,一些程序块放到循环中,如同短袜的例子,这个小箭头暗示你一旦到达底部,你将会重复接下来的事情。
The cookies were going back and forth and back and forth and the hearts up and down, well, this thing that we had that called a loop last week with a forever block with a statement inside of it is simply gonna look a little something like this.
这些饼干人来来回回的移动,还有这些爱心们上上下下地漂浮,都用到我们上周提到过的循环结构,当然还有个声明在里面,就有点像屏幕上,显示的这样。
应用推荐