本文目录一览:
c语言 编写一张纸0.1毫米,不断对折,求对折多少次能超过珠穆朗玛峰的高度
将0.1毫米连续乘以2,直到刚刚大于或等于8848米(最近一次的测定值),连续乘以2的次数便是题解。代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int n;
double d;
for(d=0.1e-3,n=0;d8848;d+=d,n++);//每对折一次的厚度是d+d
printf("Need %d times.\n",n);
return 0;
}
运行结果如下:
了解电子信息工程专业的请进。请教前辈们
我们老师曾经写过一封信,很不错!分享一下给你
同学们好,受郑伟老师的委托,今天给大家写一封信,谈谈我们电子类专业该怎么学才好。受到我个人水平和眼界的影响,我说的话不一定对,请同学们批判的吸收。 我们小时候经常看武侠小说,都知道要想成为武林高手必须做到“外练筋骨皮,内练一口气”。我们学电子类专业也需要做到这一点。只不过,学习中的“一口气”就是指我们的专业课知识也就是理论知识。而“筋骨皮”就是指我们的技术技能,也就是实践动手能力。所以说要想在这个专业成为“武林高手”,就需要大家内外结合,理论与实践并重的来学习。 关于理论和实践的关系,我套用现在流行的一句话来说就是:“如果想走的快,那么你需要熟练的实践技能,如果想走的远那么你需要扎实的理论知识。”下面我分别来阐述这两点。 先说理论知识,这里说的理论知识,说白了就是大家天天上课学习的课程,大学给大家安排的课程都是经过仔细研究和实践经验总结出来的,基本上是合理的。从我们刚入学的C语言,高等数学,积分变换,线性代数,概率论与数理统计再到电路,模拟电子技术,数字电子技术,微机原理,自动控制原理,到最后的信号与系统,数字信号处理,电磁场与波等等都是层层递进的,每一门课都在你的知识体系里发挥着非常重要的作用。你们在学这些课程的时候可能最大的感受就是云里雾里,最大的疑惑就是学这个到底有什么用?作业也做了,考试也考了,但是有什么用?还是不知道,整个大学期间这个问题会始终困扰大家。之所以会产生这个问题的关键在于,大家没有从宏观的角度来看这个问题。如果你能跳出这个圈子,对整个知识体系有一个大的宏观的了解的话,了解到他们的重要性,我相信你每门课都不会逃课的。下面我用一个简单的例子来说明一下。比如我们要构建一个蔬菜大棚的自动调节系统。那这个系统中会用到我们学过的那些课程呢?首先,我们要采集大棚里的温度和湿度,用什么采集呢?用传感器(《检测与转换技术》)。传感器把物理信号变成了电信号,但是,这个电信号太微弱了,怎么办呢?我们把它放大(《模拟电子技术》)。放大之后的信号还是模拟信号,然后我们把它变成数字信号,进入数字系统中进行处理,这就需要我们做AD转换(《数字电子技术》),把模拟信号变成了数字信号的过程中,模拟信号中有没有干扰呢?干扰信号是不是也同时变成了数字信号进入了数字系统呢?答案是肯定的。那我们就需要把干扰信号去掉,把有用的信号提取出来(《信号与系统》、《数字信号处理》)。这些处理的过程怎么实现呢,我们要编程来实现(《C语言》),编写的程序谁来运行呢?用微处理器(《微机原理与单片机技术》)。好了,现在通过编程我们计算出了我们想要的结果,下面我们要把这个结果反馈到环境中,来调节大棚内的温湿度。我们继续我们的信号流程,要调节了,调节谁呢?大多数情况下是通过电机(《电机学》、《电机与拖动》)来执行我们的这个决定,而电机驱动需要的是模拟信号,那么我们就需要进行DA转换将数字量转成模拟量(《数字电子技术》),或者用电磁阀作为执行机构,电磁阀需要的是数字信号,我们就不需要进行DA转换了。最终,电磁阀打开或者关闭,大棚开始或停止浇水来调节大棚湿度。或者通过电机将大棚顶上的毡子开始打开或关闭来通过日照调节大棚内的温度。通过这个例子我们可以发现,我们所学的课程基本上都包含在我们的应用里了。如果我把这个题目交给同学们来做,动手能力强的同学可能很快就能做出来,然后大家觉得,你看,我不需要很高深的理论知识也做得不错嘛。这里需要强调的是,我们只是举了一个很简单的例子,来构建了一个这样的模型来说明问题,但在现实中,虽然结构都是很相似的,但是,具体情况恐怕要复杂的多了。比如,各种各样的物理量怎么测?信号太微弱怎么办?杂波干扰太严重,有用信号被埋没了怎么办?信号实时性要求太高怎么办?这里的每一个环节都是一个领域,没有高深的理论水平,你是解决不了复杂的问题的,就像我说的,你动手能力强,很快能上手,但你走不远,你不能解决复杂的问题,原因就是你没有深厚的理论支撑。想要深厚的理论支撑还有一个内容不得不提,那就是数学。我们再刚才的例子中好像没有见到数学的影子,其实数学已经隐含在其中了。比如我们的电路,自动控制原理,现代控制原理,数字信号处理,信号与系统等等很多核心课程都是数学的应用。我有时候开玩笑的说,如果再让我上一次大学,我会选择数学专业,因为学好了数学,我可以转行控制,转行计算机,转行物理,转行经济等等。我们还规划了一条专业路径,本科读数学,硕士读物理,博士读工科,如果这样,必将成为学术牛人。所以说数学是工科之基础。学好数学才是抓住了根本。低年级的同学在学数学的时候,不知道有什么用,学不好,等到了高年级终于知道怎么用了,又学不会了。所以比较聪明的做法就是,先前瞻一下将来要学的课程,把学长的专业书都借来大概的看一遍,不要求你看懂,只是看看都有哪些数学工具被用到了,在学习到这个部分的时候,就留心学好。 最后,关于专业课的学习方法,我推荐“总结归纳”法。用自己的话把所学的知识点写到一张纸上,积少成多,最后这叠纸就可以作为复习大纲。你可以试试。 好了,这个是理论知识,还是那句话,如果你想走得更远,以后读硕士,读博士,那么请你把理论打扎实,会受益终身。 下面我们再来看看“筋骨皮”。这里所说的就是指我们的实践动手能力了。比如写程序代码,做电路板PCB,焊接电路,调试程序等等。如果你想走得快,想很快能见到学习的成效,那么你就需要培养自己这方面的能力了。动手能力的培养对你有什么好处呢?我列举几个1、可以参加学科竞赛获得更多的证书,增加保研几率;2、可以完成一个比较优秀的毕业设计;3、找工作的时候会有更多的机会;4、研究生面试的时候会有更大的录取几率; 这方面能力的培养没有包含在我们的主流课程中,有一些可以通过公选课来学习,大部分都需要自己在课外时间进行。和理论知识的学习相比,它是将理论想法变成现实的主要手段,是理论知识的延伸。如果只是把理论知识停留在纸上,变不成程序代码,变不成硬件电路,那就不能发挥优秀的理论知识的价值。对于我们学电子的同学,我们要学的或者说可以学的这方面的知识有很多,下面我分类来说明一下:1、软件 软件又分为PC机软件语言和嵌入式系统。PC机软件语言是计算机专业的范畴,主要有VC++、JAVA、C#、Labview、Labwindows。目前技术的发展,在很多领域已经没有很明确的划分,我们有很多电子类的同学毕业后都从事了软件开发的工作。比如网站建设、安卓系统应用程序开发、和硬件设备配套的上位机软件开发、游戏开发等等。这里和我们专业比较相关的是VC++和两个NI公司的软件Labview、Labwindows。嵌入式系统是一项很主流的技术,就是在微处理器中运行一个小的操作系统。目前主流的操作系统主要还是Linux和uC/os。这门技术相对于编程语言来说难度更大。仅仅依靠同学们自学恐怕很难有成果,所以我们很多同学在毕业之前都去专门的培训公司参加了相关的培训。如果我们同学能在大学期间掌握这门技术,那么在毕业就业的时候就会非常有优势。这两个操作系统相比,前者更主流但是也更难,后者作为入门来说比较合适,但是也有一定的难度,最好能有计算机专业相关知识的基础,还有就是要有很扎实的C语言功底。除了NI公司的软件,其他软件我们都是要和计算机专业的同学有竞争,我们处于弱势,因为有很多计算机方面知识我们都没有学习,比如编译原理,数据结构等等。所以,如果我们学习的话,就算很快能上手,但还是那句话,我们恐怕没有他们走的远。但作为电子类的同学,相比计算机专业,我们更了解底层硬件,所以我们可以从事和底层硬件相关的驱动程序和接口程序的编写工作。2、单片机技术 单片机技术是我们这个专业的主流技术,我们很多同学也开始自己学习相关的知识,概括起来主要有51、AVR、STM32、STM8、DSP、AMR、PIC、Freescale等等。在单片机领域,从应用的角度来说,没有好坏之分,只有适合和不适合,不同的应用环境,需要选择不同型号,不同等级的单片机,没有哪个更好,哪个不好这样的说法。如果你能非常精通一个型号的或者一个系列的单片机,那也是非常了不起的事情了。从学习的角度来看,要想有更大的发展,我们应该至少掌握一款32位的单片机,比如STM32或者ARM,但是我们同学往往学完8位机就停滞不前了,很少有能学习32位单片机学的比较好的同学。要想解决这个问题,方法只有一个,缩短学习时间,提高学习效率,在最短的时间里尽快掌握一款单片机,然后赶在考研之前,再学一款32位单片机。其实单片机很多东西都是相通的,学好了一个,就能很快上手其他型号的单片机,另外,在学习的时候,最好能有一款开发板,边学边练。有很多同学开始接触单片机的时候就已经大三了,那么这样,在这个领域,你已经没有时间和精力在这个方面了。由于我经常带比赛出去,通过和其他学校的同学交流,我发现,很多高校在比赛用的微处理器等级上已经远远超过我们了,我们还停留在51,AVR的层面上,已经有些落后了。3、硬件设计硬件设计分为两个方面:1、电路板的绘制焊接;电路板的绘制焊接是一个技术活,是比较容易上手的一门技术,当然,想要做好也不容易,但是应付我们平时的应用,应该问题不大。我们同学在学习技术的时候,总是喜欢选择编程,很少有涉及到这个方面的。这个方面的最主要学习的内容就是一款叫做ALTIUM DESIGNER的软件。我们图书馆里有很多这个方面的书,就纯粹画PCB板来说,对理论知识要求不高,但是如果是设计原理图,那还是需要一定的技术水平的。绘制电路板对提高系统稳定性有很大的帮助,我们同学可能是由于经济原因吧,也可能是初学,很少有使用PCB电路板来搭建电路的。当然了,从锻炼的角度来看,用万用板也无可厚非,但是,如果一旦方案成熟,需要跑很远去参赛或者把作品现场演示参赛的情况下,为了可靠,还是建议做一块PCB电路板。关于这个问题我不展开说了,还有很多比如元器件的选择,封装,焊接等问题,有需要了解的同学可以和我交流。2、FPGA技术;FPGA技术是数字电子技术发展到今天的一种新的产物,是一门全新的技术,有一些专业开设了这门课。目前也算一门主流技术。对电科,光电专业尤为重要,除了电气专业,其他专业都有涉及应用。但是由于我们在这个方面的应用太少,所以不能形成气候,学习的氛围不是很浓,如果你有机会进入高水平大学读研究生的话,可能会接触的多一些。我们也有很多毕业生在从事这个方面的工作。我们需要了解的主流技术就这么多了。掌握一门技艺在手的好处我已经在开始的时候说过了,掌握了技术,就可以用学科竞赛来锻炼和提高,同时也有收获。我们每年都有许多竞赛类别,大家可以根据自己的兴趣爱好有选择的参加来锻炼自己。 总结一下,如果你能在理论学习和动手实践上都有所成就,那么就会成为学院的“武林高手”,想做到这一点,不是一件容易的事情,人的精力和时间都是有限的,想要更多的收获,就需要你投入更大的精力和时间,每一届我们都有同学达到了这个层面,相信你也可以做到。但是如果做不到面面俱到,那么最好在两者之间找到一个平衡点,都有所兼顾。再退一步,如果实在兼顾不了,我建议以学业为重,将学校安排的课程学好,顺利毕业或者考研都是可以接受的结果。 最后,想说说英语的学习,我感觉秘诀只有一个:坚持不懈。每天积累一点点,到最后会变成很大一笔财富。英语要每天见面,要做计划,把英语单词书分成单元,一天两个单元,不到两个月,一本书就能看完,时间其实不长,但是就是缺乏坚持。找一件事,坚持做下去,你会发现量变到质变的飞跃的。我们已经有不少同学已经到了大洋彼岸,这都是很好的英语学习的榜样。 同学们,你们正值风华正茂,万万不可荒废学业,蹉跎岁月,少壮不努力,老大徒伤悲。不想学习时,看看每天早上图书馆门前的长队,看看自习室密密麻麻的人群,看看深夜回去路上披星戴月的大四学长,看看长长的考研名单,只有发自内心的动力才是最强有力的动力,行动起来吧,用行动来诠释什么叫奋斗。好了,啰嗦了半天,最后又煽了煽情,希望对你们有所帮助,祝你们好运!
c语言折纸超过珠穆拉玛峰
很简单,如果n = 1是折叠1次,应该为纸张的厚度*2,也就是0.05*1。为0.1mm。但是根据本答案提供的式子m*2^(n-1),答案应为m也就是0.05。在此即跟题意有所出入。
提供Python过程参考程序:
thick = 0.05
x = 0
while thick = 8848000:
thick *= 2
x += 1
print(thick, x)
显示效果如下:
次数 纸张厚度
0 0.05
1 0.1
2 0.2
3 0.4
4 0.8
5 1.6
6 3.2
7 6.4
8 12.8
9 25.6
10 51.2
11 102.4
12 204.8
13 409.6
14 819.2
15 1638.4
16 3276.8
17 6553.6
18 13107.2
19 26214.4
20 52428.8
21 104857.6
22 209715.2
23 419430.4
24 838860.8
25 1677722
26 3355443
27 6710886
28 13421773
答案应为28次。