00:00
同学们,我们继续来看多分支的另外几个练习,好,同学们看这里,看这里。OK。这边有个案例二,这个案例二呢是这样写的,大家看这边是输出什么东西。呃,定义的变量B等于一,然后呢,我把这个B呢,在这里附了一个零,大家认为这这个地方可不可以这样写。可以写的对吧,这个为零,就相当于把B改成零了,把B做成一个零过后,这个地方就为甲,于是,于是这个是不会输出的。那么LFB等于零会输出吗?因为B等于零,所以讲这个也不会输出,所以说这个不会输出,这个也不会输出,那么这方我用了一个逻辑,非。因为你是零,因为你在地方,你在这个地方被治了一个零。是不是被被置为零,那么零取反就是非非零,非零就会就会输出一个C,也就说这个结果输出一个C。
01:01
那么D就不会再判断了。所以说这道题的答案是可以通过。可以通过,然后呢,输出结果是C。我就写到这里。结果哈,结果是呃编译呃可以通通通过编译并运行并运行结果是多少呢C。这是一道题,我们再来看第三题。第三题呢,它是一个求一元二次方程的根。这个题是这样说的,他说啊,ABC分别为一个函数的参数,大家现在先不去理解函数的参数,你就认为是三个变量就行了。如果B的平方减去四,AC大于零,只有两个解。对,有两个解,那么B平方减四,AC等于零等于零的话呢,则只有一个解。否则,如果是B平方减4AC小于,则无减。
02:00
现在呢,它说提示你啊,他说第一个解X1呢,就等于负D加它的一个这个square square是一个。对不对,开方。那么开方的话呢,就是B平方,就是这个值的一个开方,加上它开方再除以2A。X x2呢,唯一的变化是上面这个加变成了减。最后它提示我们用到这里面会用到一个函数叫square的。在哪里呢?在这个ma.H这个头文件里面包括的。那现在呢,就让你去完成这道题,其实这道题呢,就是用我们的程序来解决一个数学问题。好,同学们,我们来完成一把。我们来完成一把,那打开它,我们一起写一写,好,同样先把这个注销。好,这边呢,我们再写一个练习走一个。读起来,那现在呢,我们取个名字。
03:01
还是多分练习。某体。Mo,然后呢,If else,第二个案例零二,跟着老师思路。首先呢,我们include std I std I最新老师的一个思路,因为刚才我已经在念题的时候知道我们会引入一个math,就是数学头文件。那么我们现在就直接先引入了,好吧?那写一个主函数。写完主函数以后呢,我们把这个需求拿过来。把这个具体的需求和说明拿过来,我们分析一把。那现在呢,跟着老师思路我们来分析。分析一下怎么解决,第一个,首先我们看到ABC肯定要定义三个变量。对吧,定义三个double。分别是ABC,这个没问题吧,第二个我们来看一下。
04:00
同学们有没有发现在整个这个词这个题的过程中。我们这个B的平方啊,B平方这个就变成二了,这这这如果这样写的话,应该是这样这样,因为三过来过后格式会变化。这是B的平方。对,大家有没有发现B平方减去4AC出现过很多次,也就是说在我们这个程序里边呢,这一个值其实会反复的出现。那如果说我们每次都去运行,对于我们程序效率影响比较比较大,所以说我这分析就这个。B平方减4AC。着时。在程序中,程序中使用很多次很多次,因此。因此。很多次。很多次。因此,我们可以。因此,怎么样呢?我们可以使用一个变量来。
05:02
保存。来保存这个值。保存。保存。啊,从而提高效率。从而。从而避免避免重复计算。重复计算,提高效率。对,那么这个完了过后,大家有没有发现我们后面去。要得到两个。结果一个是X1X2,可你这面还应该有X1和X2。是不是这这个要定下来。好,然后呢,我们可以看到在整个这个过程中呢,我们还需要用到一个square的一个函数,是在ma h这个头文件里面,最后。我们可以看到这里面是如果怎么样。做怎么样?然后让他看,这是如果有两个解。如果等于零,则有一个解,如果小于零,则无解,这里面是不是有三个条件?
06:02
因此呢,这边要使用使用到使用到多分支好分析完毕。那分析完毕过后呢,现在我们就可以写代码了,走一下代码,那跟着老师是不是现在老师来开始写好,首先呢,我们先把这几个。放这儿。初始化呢,我们可以都给他一个零。这个没问题。都给他一个零,好,这样简单一点,因为我们这都要用嘛,干脆提前就给他准备好。那下面呢?呃,这样子这个值啊,呃,这个ABC我们会有初始化值,待会会用的,那现在呢,我们分析还有一个B平方,这个值要计计算起来,所以说我们再用一个double计算,比如这个值呢,我们用T表示B的平方,那就是B乘以B。减去四乘以A乘以C。记录下来。然后来开始用if语句。如果。
07:01
这个大于零就是T大于零,这样你看我们是不是就直接用这个变量了。如果说你不用这个变量,你每你就会把这个拷贝到这来,那他每次都算一次,太慢了,如果大于零有几个解,有两个解,那就套这个公式了,把这个公式拿过来套一下。那就说有两个解,就是X1等于这么多,那么这个地方呢,这个B的平方咱们就直接换成T就可以了。是不是因为你这边是也是B平方减去CC嘛,就拿过来用2A呢,是二乘以A要括起来。对,要括起来好,这是我们的第一个X1的结果,那因为它有两个结果,所以还有一个X2 x2呢是这个加电减。啊,为了好看,咱们可以隔一下,你看隔一下这个样式看起来就比较清晰了,是不是,不然的话你就写成写成一坨了,很难看。隔一下。格下呢,让我格式变得比较松,松散一点,看起来比较清晰,看起来比较清晰。
08:05
好的,嗯,那么这块X1和X2拿到功能,我们可以马上提示输输出这个结果就行了,说X1等于。把这个结果呢,咱输出来一下,点2F对不对,那就X1,为了好看呢,咱们换行。对X2把这个结果呢也打出来。X2。换一下,X2这边也写成X2,好,这是第一种,L if还有一种可能性,刚才也说了,什么呢?就说如果等于零,B平方减去四,C等于零,那也就是说如果T。T干什么呢?它等于零,只有一个解,那只有一个解就是X1了吗?我把这个X1写过来,然后在这边再拷贝X1单位,写完最后一个。就是,那就显然是大于零也不是等于零也不是,那就是小于零了,小于零就无解,提示一句话就行了,无解。
09:04
写句话就是无解。好的代码写完。那这个写完以后呢,我们来进行一个测试,来测试的时候是不是咱们也要get一下。停在这儿。那怎么办呢?IABC这几个值都是零,没法测,我们看一下它这有没有给我们测试数据哦,它这有一个,大家看它这里给了一个什么呢?它说A等于三,B等于100 C等于六,看看是什么,那就是这样写三一百六,我们写一个。三给他一个三。B给一个100。C给一个六,我们可以看看一下大概是在什么范围,我们简单分析一下,同学们看。因为你这个B的平方,100的平方肯定很大了。四乘以A乘以C,这个也没多大,因为A才三,C才六,所以说这个肯定是大于零的,应该是有两个结果。
10:05
对不对,应该是有X1和X2这两个解。那我们来运行一下,看看跟我们想的是否一样。我们先生成一下。对,先生成一下。啊,甚至看看有没有提示信息,好OK的,没有任何问题,运行着。运起来。我们可以看到的确。X1等于这么多,X2等于这么多,答案是正确的。那如果说我把这一个值变小一点,打个比方,我把这一个。B改成二,那这个就很小了,肯定就小于零,小于零就无解,我们看是不是无解。找一个。看一看是不是无解?好,我们看到这个结果呢,的确是无解哈,无解。嗯,这个题其实提醒大家是哪一点呢?就是这一点,就说在一个程序里面,如果有一个值多次多次使用,可以用一个变量来保存,从而避免。
11:05
重复计算,那么有人问了,使用多少次可以保存变量呢?一般是三次或三次以上,就是如果大于等于三次就可以考虑了,如果你不这样考虑,你会怎么写呢?大家看啊,如果我们不用这个替代保存,你会这样写。是不是这样写,写完了过后,这个地方你是不是还得这样写,这个T是不是还得这样写,下面是不是这个地方还要这么写,你看你这样写起来是不是很难看呢?第二个如果你这样写的话,它这个地方要去计算一次。等到他求值的时候呢,他还要去计算一次。得到求X2的时候,还要计算一次,计算了三次。那这个计算机显得就变慢了,咱们能够让计算机快一点就让它快一点,说这是一个原则问题,好,同学们一定要注意编程的技巧,好,我撤回去。包车回去。提醒大家好,提醒大家就是三次大于等于三次,咱们就要这么去做好,同学们,那关于这个题的评奖呢,老师就讲的讲解到这里。
12:07
还有一个题,这个题呢,留做一个课后练习。课后练习,同学们自己完成完成。自己完成,我念一下这个题哈,这个题呢,其实比刚才第三个题要简单一点,我们说男大当婚,女大当嫁。那么女方嫁家长呢?当然要提出一些条件了,高我们要求是180以上,富要有1000万,帅那是要一定的。那么条件呢?我们从控制台输入,如果三个条件同时满足,提示我一定嫁给他,如果三个条件呢,有一个为真,哎,价吧,比上不足,比下有余,就说痣,要么你长得高一点,没钱,长得有丑也行,但是长得高。你长得不高,长得又矬,对不对?那有钱也可以,要么就是长得帅对不对?没钱也行,长得帅也行。
13:01
那么这边我提醒大家一定要用三个变量来保存,比如说。用一个int保存它的高度,用一个double保存它的财富,再用一个handsome来用零和一表示是不是帅,然后根据我们的三个一,一个多分支就可以完成,同学们这个自己完成一下,一定要去做好吗?同学们好,这是给大家说的这一个多分支的内容,我们把多分支内容进行一个梳理。来看看我们讲的多分支讲了哪些内容,捋一捋。看一下。对,多分支。好的,那多分子我们讲了什么呢?来,首先先给同学们是不是说了一下多分支的基本语法。对不对?还有印象不?先给同学们说了一下多分制的基本语法,就这一节我把它稍微的梳理一下。格式看的更简单一点啊。
14:00
就是这块。就是我们多分制的基本语法,我出题拉红,嗯,那那那是难受。那基本语法讲完了以后,我要讲什么呢?我给同学们看了一下多分支的一个流程图,这个图非常重要,一定要认真的去理解,这是多分支的流程图。一定要把它记住哈,当然这对于这个流程图呢,我做了几点说明,也给大家放到这。说明完了过后我把这个图也给大家拿过来。对,这个图一定要有。比较清晰的认识。就一定要知道只有一个入口,我再强调一下,只能有一个入口。就是你不要认为,诶有一个有几个条件都满足,是不是都执行不对的,只能有一个执行入口,我用那个红色标起来。紧接着呢,我们又讲了什么东西呢?把这个说完了,是不是我们就开始做题了,我们做了三个题,我们来看一下第一个案例,案例一。
15:01
案例一呢,是一个干什么呢?一个学生考试的问题,考试问题我把代码给大家整理到底,代码演示。好,代码演示我放这。那么代码在哪里呢?找到这边好,应该是这个第一个。好,我把它。的注销拿掉。给同学们放到我们的一个表格中。便于以后的复习。没问题吧,同学们,那这个说完了过后,是不是我们又做第二个题了。第二个题是不是一个简单的判断题?对吧,这份是结果是可以编译并运行,结果是C,好把这个呢也给各位朋友拉过来,我就。直接在这放一下哈。这是我们的第二个练习题。第二个练习题结论。我把这边往这边挪一下。好,整体往这边挪一下结论,诶这就不去管它了,可以变异结果是C。
16:00
C,好,我们还做了第三一个练习题,是一个求二元一次方程的,把这个呢给它拿过来。二元一次方程,好的。那这个代码演示在哪里呢?这写代码演示。诶。代代码演示好,我把代码演示用一个粗体标出来。那具体来说,我们的代码在哪里,在这。是这个地方我复制一份,然后呢,插入一个小表格。插入一个表格,大家一目了然,那紧接着我们又讲什么了呢?我们是不是还有一个第四个题,第四个题呢,老师没有在课堂上给大家讲,要求同学们怎么办呢?在课后自己去练习。一定要去练一下,就说四个题,我已经讲了,三个题,大家应该知道怎么做,这是一个思路。这这地方有提示的哈,啊,就是这边三个条件怎么怎么样,大家看一下,好同学们,那关于我们多分支的一个讲解呢,就到这里,大家好好的领会一下。
我来说两句