粉丝606获赞2375

第十七关,我们也可以使用这个负循环去控制飞船的冲飞动,那么他还是说啊,先让我们去给他纠错,那首先呢我们看一下地图啊,看一下他的代码,首先大夫前进一步上了飞船,对不对?然后呢飞船要进行这样一个循环, 那么需要走几次?一二三,走三次,所以呢第一个操作就是他这里应该是三次,然后呢飞船一二三, 因为这里一点的话,他就会默认的生成对你的这个程序。 飞船走三步,然后飞船是需要右转的,所以这个我们去给他改一下,改一下团员 white, 那这样的话应该就没问题了,我们走一下 第十八关,那我们可以看到啊,这个其实他是一个王字型的这样一个重复执行,在揭幕王室中已经讲过了, 我们怎样去结合拍摄代码去走这样一个路线呢?也很简单,首先呢我们是需要让大夫先上飞船的,对不对?大夫往前走两步,然后呢这个飞船要往前走了,我们把网格打开一二,飞船是需要走两步的,然后呢大夫是需要收集 这样一个过程,对吧?好,剩下的我们就可以使用这个重复执行了,我们加上一个破循环,重复执行几次呢?我们刚才已经画过了三次,重复的内容是什么呢?首先是飞船要往前走一二 走两步的,然后该带夫了,对吧?带夫往前走两步, 然后他还要退回来,对不对?大夫,然后膝盖不点减二, 那这样应该就 ok 了,是吧?接下来又要非常往前走了,我们一起看一下这个程序。

通过第六关的学习,我们可以借助 for 循环里面的这个变量 i 去做一些啊优化。 那么我们看一下第七关,第七关同样还是一个阶梯型的地图,路线还是很清楚啊,就是一个左转,一个右转,一个是 left, 一个是 right, 那么怎样走呢?我们会发现这个大夫一开始是背对着这个路呢,那 我们就可以考虑让大夫去全程倒着走,那倒着走是不是要用到负数?我们看一下地图的规律, 首先往这边啊,不用走,那直接要转,转完之后是往这边走一步,那往这边是走两步,我标出来,然后再往这边是两步,正往边是四步,然后三步,六步,然后我们会发现往外方向上走是一二三, x 方向上走是二四六,他们成一个二倍的关系,所以这里我们用一个二乘以 i 加上一,那么这个负号是表示倒退的 i 减一是怎么来的? 或者二加一怎么来的啊?当然在外方向上是一二三的变化,我们在上个关卡已经说过了,只要是这种一二三的都可以表示成二加一 啊,那这里面前面加上一个符号啊,本来是这个样子,那么去掉括号之后呢,就会变成负的二减一,这个就是第七关的程序,我们运行一下, 那我们看一下第八关,这个地图还是非常的简单,思路也很清楚,我们只需要让飞船走到中间,然后再往这边走 a, 然后倒退二 a, 再往中间走 a, 那么然后 飞船继续往前走,一直这样去走下去,那么这个 a 是不断发生变化的,每次 a 是减二的,所以呢,我们在最后加上一个 a, 等于 a 减二。好,我们看一下程序的运行。 第九关和刚才第八关非常的像,我们还是分析一下地图的规律。首先大夫是需要往前走的,先走一步,那么再下一次走的话是两步,然后三步四步,一二三四的规律, 一二三四,那么往两边的话是三四五六。好,三四五六的规律 我们刚才已经讲过,碰到一二三四就把它干什么,是不是可以把它当成二加一, 那么三四五六是不是也有规律啊?可以把它变成二加三,那这样的话,不管他往回倒退多少,我们给他乘上一个负二就可以了。所以呢,这个题也非常的清楚,我们直接运行一下程序。

哈喽,同学们好,现在我们来看看第二十关的解题思路。那首先还是画一下前进路线,那大首先前进四步,然后大夫要取到这边的零件,然后又要取到这边的零件, 然后继续前进两步,去到这一行零肩前进两步, 取到这一行零件,前进两步,取到这一行零件,前进两步。那我们来观察一下这里有没有他动作是相同的,那我们可以观察到,哎,这里都是前进一条横线,然后再前进两步,前进一条横线,再前进两步, 他一共是重复了四次,这个动作是相同的啊,就只有这里他没有进入循环,那我们首先把这里先 做出来,待行走四步,那可以观察到,这肯定是要用我们的变量去完成的。重复了四次,副词 a 为 一,开始数一下是多少啊?一二三四五六七八,复制 a 为八,我们去一边的 重复四次,然后大夫是走到了这个位置,前行走四步,到这个位置,那大夫要进行一个转向,右转,左转都可以啊,大右转,大夫行走 a, 那大夫还要拿到这一个零件,他可以直接倒退回来,那就是大夫行走 a 乘以负二, 那现在是在这个位置,他还要回到中心点这个位置,才能去走下一段路线,所以大夫还要行走一个 a, 那现在大夫回到这个位置,那大夫的话还要进行一个转向,才能去行走下一段路线,大夫是左转,然后大夫是行走两步, 那我们再观察一下下一段路线,他跟上一段路线的对比,一二三四五六,那上一段是八,然后六的话就是真 就是减少了二,所以将 a 增加负二去进行下一次,最后点击一下运行。


我们来看第六关,第六关的地图非常的明显是阶梯型的重复执行, 题目中要求我们尽量的使用两个变量去完成,还有一个提示就是在复循环开始之前呢,可以加上一个命令,让我们一起分析一下地图的规律。如果用两个变量的话,那么就是一个变量表示 y 方向上的部署,另另外一个变量呢就表示 x 方向上的部署。 来,我们数一下,飞船是需要往前走,一二三四五,然后是一二三,然后一二一五三二一, 看上去好像并没有什么规律,对吧?那我们看一下 x 方向, x 方向首先是一,然后二三四。好,那么刚才提示的我们可以在 在负我循环之前加上一个命令,那我们是不是可以把五给它变成一,加上四呢?这样的话我们的思路就比较清晰了,我们设置完变量之后呢,先让飞船往前走一步, 接下来就是用重复直行来控制飞船的啊移动,首先这个飞船是要往前走的,然后呢飞船要进行转向,第一次是向右转,走完之后, 然后呢继续转,那第二次是要往左边去转向的,那这样的话就可以走一个阶梯型的路线,所以呢第一个空我们来填上,哎, 第二个空非常前进。 b, 我们运行一下看一下结果。 好,那么这里的代码我们多了四行,那么这个程序能不能进行优化呢?当然可以的,我们在讲 for 循环的时候说过这个 i in run 四,它是什么意思呢?它表示 i 在零,然后一二 三这四个数里面去发生变化,也就是说爱是从零变成一,再变成二,再变成三零一二三,刚好四个数,重复针四次, 也就是说这个负循环他本身自带的就有一个变量。哎,那这样的话,我们是不是就可以减少定义一些变量,对吧?刚才我们已经发现了这个规律啊,规律是四三二一, 这边有一个一啊,四三二一,然后是一二三四,那么一二三四 很容易啊,就是爱加一,因为爱是从零开始的,那么零加一就得到一,那下一次爱变成一,一加上一得到二,依次类推。那么四三二一能不能用爱去表示呢?当然也是可以的啊,可以用一个四减爱。 一开始二为零的时候,四减二是不是等于四?那么当二变成一的话,四减二就得到了三,当二变成二的话,就得到了二,以此类推。所以呢,我们可以把 ab 这两个变量都给他省略掉了。 好,然后呢,我们用 i 来表示,这个 a 就不要了, a 就变成四减 i, 那 b 呢? b 就变成 i 加一。好,这样的话这个 a 和 b 的变化也不需要了,这样的话,我们是不是就节省了四行程序啊?我们一起运行看一下效果。

第十五关,我们先看一下地图,在图形画中已经讲过,他是一个阶梯型的循环路线,那学了佛循环之后呢,后边的关卡会非常有趣啊,非常有意思,那我们不要着急,一步一步的来,那怎样去使用这个佛循环实现阶梯型的步骤呢? 好,我们开始做程序,这里呢,一定要先按一下回车键啊,不要从他的这个注射后边开始,要不然你的这个函数都是这个蓝色的,对吧?蓝色的就表示他是被注射掉的,一会的话不能运行。好,我们另起一行。 首先呢,我们这里需要加上一个负循环,我们需要循环几次呢?我们看一下啊,一二三走三个台阶,那么这里就是循环三次,很简单,对吧? 然后呢,我们再起啊,干嘛呢?首先让代步往前走,一二三走三步,对不对?那这里啊,我们要先点中他,然后呢,点击 style 往前走三步, 好,再按一下回车键,接下来大夫该右转了,对不对?那么我们点击大夫右转啊,再按回车键,再往前走一步,是吧?点击大夫往前走一步。好,那接下来,那这里大夫是需要进行左转,对吧? 哎,让我点了一下能量块,他也是有这个对应的代码,代码单。好,大夫是需要进行左转的。好,我们一起看一下这五行程序啊,那这里呢,我没有填东西,因为默认呢,他是前进一步的。好,我们一起看 快一点。这里呢,第十五关, ok 了。

大家好,我们继续进行零基础备战四 s p 每日一题系列,我们今天更新的是一本通幺零二二整形与波尔型的转换。好,我们来看一下这道题, 那么将一个整形变量赋给一个波尔值,再将这个波尔值变量赋给一个整形,那么得到什么样的结果?它们的值是多少? 好,这个呢?可能是一个比较常见的错误,或者说在未来很多时候,我们在学条件变量或循环的时候,会经常会遇到这个东西,就是这个布尔值和整形的一个关系 啊,布尔值和整形的关系,因为有的时候我们计算的结果需要把它放在放在整形里,比如说 我们以后会经常写的一个代码,是啊,比如说 c in 一个 t, 对 吧?然后那个 t 减减啊,这个以后大家在做题目的过程中经常会遇到这个结果,那么这里边 int 类型,它就是一个整形,那么整形输入完了以后放在这让它不断地减 啊。逻辑型就是什么呢?我有 t 次操作,比如说有五次操作,那么五次操作呢?我需要进行五次循环,那么五四三二一零, 对吧?然后他经过操作之后,他会进行这五次,当他等于零的时候,他会退出,然后把五次操作做完。这就是一个整形和波尔值之间的交换的关系,因为我们知道 vivo 循环里边放的是, vivo 里边 放的,这个就是布尔值的类型,对吧?大家理解成这个就行了。那么在这个之前呢,我们就需要了解到底布尔值和整形是什么关系,这道题其实就是什么呢?让你转换一下就行了,比如说 in 一个 n, 对 不?然后布尔一个 f, 对 吧?然后 c 印这个 n 啊, c 印这个 n, 然后那个 f 等于 n 等于 f 啊,其实做了一个好像有点无用的操作, 对不对?然后最后让你把 n 输出出来,这个其实就这个逻辑,然后先把这给不玩的吧,然后再把这个不玩值给 n, 对 不对?好,那么这个操作我们最终结果是几呢?你看它是一啊,我看运行一下是不是一啊? 对吧?它是一,那么只是得到这个结果,大家可能不太明白,我需要告诉大家,首先我们 int 类型 整形的范围就很大了,就负的二的三十一和那个二的三十一,是吧,对吧?减一,这个要减一 这么大,那么在这个范围里边,我们要做这个操作的时候,这么多数进来,那么这个布尔会出什么样的结果呢?其实布尔值只有两个结果,一个是处,一个是 fors, 对 吧?一个是 fors, 但是我们从表达上来说,他只会出一和零两种结果, 就是它只是零和一两种结果。那么这个地方我们先做一个这样一个操作啊,我们先做一个这样操作啊, 啊?就比如我给括号值,那那 f 等于处,对吧?啊?然后我们先 out 一下 f, 对 吧?这个时候它只会得零啊,不对,它只会得一,它不会得零, 因为输出的时候他不会把这个字母输入,可能跟 python 什么的不一样, python 我 们就直接出初和 force, 对 吧?但是我们 c 加加里他就只出一,你就理解他是一就行了。那么你给他 force 呢?他也是出什么? 他也是出零,他也不会出 force, 对, 所以他都是以整数形式去给大家表现出来,但他只有零和一这两个值,对吧?那么回到这里面我们来看,对于 布尔值来说,他接收到整数值,除了零以外,其他全是一,大家可以试啊,可以试,比如说我们试个大点数,对吧?试个大点数,对吧?哎,他也是一,对吧?我们还可以试什么数?可以试个负数呢?他依旧是一, 反正只要不是零,他都是一,大家就记住,只要不是零,给这布尔值,他一律都是一 就好了,对吧?所以我们以后在做操作的时候需要用到整数,放在这个逻辑运算的这个判断条件里边,他就可以直接按照这个方法来用了, 对吧?所以这道题呢,就是讲给大家这个点,波尔兹只有零和一,那么什么情况下他会接收到零?只有零的时候会接收到零,什么时候接收到一?不是零他就是一, 不是零,它就是一,甚至是什么?甚至我们差嘛?完完把它放一个差类型。我们知道刚才 不对,昨天的那道题,对吧?啊?对于我来说是刚才,对大家来说是昨天那道题,昨天那道题我给的,还给的是这种字母,对不对?哎?包括这种字母,那么这种字母它给出来,你看它结论就不一样了, 他就出出出这个啊,出这个呢,是因为我输出的是什么?我输出是 n, 对 不对?哎? n? 为什么是他?因为这个字母他变,变成一了,对吧?哎,但是对于不耳直来说,对于不耳直来说 啊,他就是一。那什么进来,反正你不是零,那就是一,不是零就是一啊,不是零就是一啊,能理解了吧?啊?只有给零的时候才是一,那什么情况下给零呢?这里边是 啊,哎,给两个字母啊,这字母给不出去啊,这字母给不出去。好,那我们做完这个操作之后,大家就能理解这道题了,对不对?然后给一个,嗯,我们把它通过一下。刚才是通过了吗?刚才通过忘了啊,那我通过一下。 那这样这道题就通过了啊,大家记住啊,给不耳指不是零就一律是一,不管是什么类型的啊?只要不是零就是一 啊,大家记住就行了啊。好,那么这道题你学会了吗?感谢大家,希望大家点赞、关注、收藏,谢谢。

写程序累了吗?来分析分析程序的输出结果。主函数定义了 a 和 b 两个整型变量, a 负值七, b 负值值八定义 p, q。 二三个指征变量 都指向整型给 p 负值变量 a 的 地址给 q 负值变量 b 的 地址。调用 f 函数就是把 p 负值给了 x, 把 q 负值给了 y, 所以 x 变量保存的是变量 a 的 地址, y 变量保存的是变量 b 的 地址, 进而新 x 就是 a 变量,新 y 就是 b 变量。看看 f 函数的定义。返回值是指真类型 int 两个行参 x 和 y, 如果新 x 小 于新 y 就是。 如果 a 小 于 b, 则 return 返回 a 的 地址,否则 return 返回 b 的 地址, 在这里, a 小 于 b 成立,所以返回 a 的 地址。 f 函数返回这个地方,被 a 的 地址替换复制给 r, r 保存的就是 a 的 地址。打印显示新屁就是 a, 新 q 就是 b, 新二就是 a, 显示七八七,看一下显示结果。