软件危机要解决的两种矛盾,软件危机要解决的两种矛盾是什么

软件危机要解决的两种矛盾,软件危机要解决的两种矛盾是什么缩略图

什么是软件危机,为什么产生软件危机?

什么是软件危机,为什么产生软件危机?

软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

产生软件危机的原因主要有两个方面:

1、与软件本身的特点有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;软件样品即是产品,试制过程也就是生产过程。

软件不会因使用时间过长而“老化”或“用坏”;软件具有可运行的行为特性,在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件质量也较难评价,因此管理和控制软件开发过程十分困难。

2、来自于软件开发人员的弱点。

其一,软件产品是人的思维结果,因此软件生产水平最终在相当程度上取决于软件人员的教育、训练和经验的积累。

其二,对于大型软件往往需要许多人合作开发,甚至要求软件开发人员深入应用领域的问题研究,这样就需要在用户与软件人员之间以及软件开发人员之间相互通讯,在此过程中难免发生理解的差异,从而导致后续错误的设计或实现。

扩展资料:

解决途径

在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。

此外,人工智能与软件工程的结合成为80年代末期活跃的研究领域。基于程序变换、自动生成和可重用软件等软件新技术研究也已取得一定的进展,把程序设计自动化的进程向前推进一步。

在软件工程理论的指导下,发达国家已经建立起较为完备的软件工业化生产体系,形成了强大的软件生产能力 。软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用。

参考资料来源:百度百科–软件危机

软件工程是如何克服软件危机的?

软件工程是如何克服软件危机的?

研制软件系统需要投入大量的人力和物力,但系统的质量却难以保证,也就是说,开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是所谓的“软件危机”。

· 产生软件危机的原因:

j 用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。

k 软件开发人员对用户需求的理解与用户的本来愿望有差异,导致开发出来的软件产品与用户要求不一致。

l 大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏开发大型软件系统的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。

m 软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。

n 缺乏有利的方法学和工具方面的支持,过分的依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。

o 软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。

· 要克服软件危机,就要认真分析软件危机的原因,探索用工程的方法进行软件生产的可能性,即用现代工程的概念、原理、技术和方法进行计算机软件的开发、管理、维护和更新。

2. 什么叫软件工程?软件工程的诞生是否从根本上消除了软件危机? 为什么?

解:· 软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。

· 软件工程的诞生只能大大减少软件开发成本并提高软件质量,不能从根本上消除软件危机。

3.软件生存周期为什么要划分阶段?各个阶段的任务是什么?

解:· 软件也是一种产品,同样存在生存周期。把软件生存周期划分为几个阶段后,软件开发按照每个阶段的基本任务进行并产生相应的工作结果,这样有利于对软件开发过程进行管理,有利于提高软件产品质量。

· 可行性研究与计划阶段的基本任务:研究开发该项目的可行性。

需求分析阶段的基本任务: 理解和表达用户的要求。

设计阶段的基本任务: 建立系统的结构。

编程阶段的基本任务: 编写程序。

测试阶段的基本任务: 发现错误和排除错误。

4.什么是软件?如何评价软件的质量?

解:· 软件是程序以及开发、使用和维护程序所需的所有文档。

· 软件质量从可维护性、可靠性、可理解性和效率等方面对软件作较全面的评价。

求采纳为满意回答。

什么是软件危机?

什么是软件危机?

软件危机指,随着计算机工业的发展,在软件开发过程中逐渐形成了一些矛盾.比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没有规范等等.这些矛盾表现在软件开发中导致了一系列问题,如开发计划无法顺利执行,成本昂贵,开发的软件错误百出等等.正是这种软件危机才促使人们寻求解决方法,也就产生了软件工程.

如何避免软件危机

软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。

程序设计语言虽然为计算机的应用开拓了无比广阔的前景,但游荡在软件世界的幽灵——“软件危机”依然存在。因为软件的开发不仅受到程序设计的方法、结构的制约,而且受到开发周期以及软件开发成本的限制,更重要的是软件质量的保障与其程序设计的正确性关系极大。如果所开发的软件其可靠性得不到保障,在运行中将会产生不堪设想的严重后果。

60年代中期以后,计算机硬件技术日益进步,计算的存贮容量、运算速度和可靠性明显提高,生产硬件的成本不断降低。计算机价格的下跌为它的广泛应用创造了极好的条件。在这种形势下,迫切要求计算机软件也能与之相适应。因而,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。

最为突出的例子是美国IBM公司于1963年~1966年开发的IBM360系列机的操作系统。该软件系统花了大约5 000人一年的工作量,最多时,有 1000人投入开发工作,写出近100万行的源程序。尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。可想而知,这样的软件质量糟到了什么地步。

难怪该项目的负责人F·D·希罗克斯在总结该项目时无比沉痛地说:“……正像一只逃亡的野兽落到泥潭中作垂死挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难,……程序设计工作正像这样一个泥潭……一批批程序员被迫在泥潭中拼命挣扎,……,谁也没有料到问题竟会陷入这样的困境……。” IBM360操作系统的历史教训已成为软件开发项目中的典型事例被记入历史史册。

如果开发的软件隐含错误,可靠性得不到保证,那么在运行过程中很可能对整个系统造成十分严重的后果,轻则影响到系统的正常工作,重则导致整个系统的瘫痪,乃至造成无可挽回的恶性事故。如,银行的存款可能被化为乌有,甚至弄成赤字;工厂的产品全部报废,导致工厂破产。

1963年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“·”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。

为了克服这一危机,一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行系列的研究;另一方面,也需要对软件的编制、测试、维护和管理的方法进行研究,从而产生了程序设计方法学。

1968年,E·W·代克斯特拉首先提出“GOTO语句是有害的”论点,向传统程序设计方法提出了挑战,从而引起了人们对程序设计方法讨论的普遍重视。众多著名的计算机科学家都参加了这种讨论。程序设计方法学也正是在这种广泛而深入的讨论中逐渐产生和形成的。

什么是程序设计方法学呢?简言之,程序设计方法学是讨论程序的性质、程序设计的理论和方法的一门学科。它包含的内容比较丰富,例如,结构程序设计,程序正确性证明,程序变换,程序的形式说明与推导、程序综合、自动程序设计等。在程序设计方法学中,结构程序设计占有十分重要的地位,可以说,程序设计方法学是在结构程序设计的基础上逐步发展和完善起来的。

什么是结构程序设计呢?至今仍众说纷纭,还没有一个严格的,又能被大家普遍接受的定义。1974年,D·格里斯将已有的对结构程序设计的不同解释归结为13种,其中,比较有代表性的如下:

结构程序设计是避免使用GOTO语句的一种程序设计;

结构程序设计是自顶向下的程序设计;

结构程序设计是一种组织和编制程序的方法,利用它编制的程序易于理解、易于修改;

程序结构化的一个主要功能是使程序正确性的证明容易实现;

结构程序设计对设计过程中的每一步去验证其正确性,这样便自动导致自我说明和自我捍卫的程序设计风格;

总之,结构程序设计讨论了如何将大规模的和复杂的流程图转换成一种标准的形式,使得它们能够用几种标准的控制结构(通常是顺序、分支和重复)通过重复和嵌套来表示。

上述定义或解释从不同角度反映了结构程序设计所讨论的主要问题。实质上,结构程序设计是一种进行程序设计的原则和方法,按照这种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的程序。

按照结构程序设计的要求设计出的程序设计语言称为结构程序设计语言。利用结构程序设计语言,或者说按结构程序设计的思想和原则编制出的程序称为结构化程序。

在60年代末和70年代初,关于GOTO语句的用法的争论比较激烈。主张从高级程序语言中去掉GOTO语句的人认为,GOTO语句是对程序结构影响最大的一种有害的语句,他们的主要理由是:GOTO语句使程序的静态结构和动态结构不一致,从而使程序难以理解,难以查错。去掉GOTO语句后,可直接从程序结构上反映程序运行的过程。这样,不仅使程序结构清晰,便于理解,便于查错,而且也有利于程序的正确性证明。

持反对意见的人认为,GOTO语句使用起来比较灵活,而且有些情形能提高程序的效率。若完全删去GOTO语句,有些情形反而会使程序过于复杂,增加一些不必要的计算量。

1974年,D·E·克努斯对于GOTO语句争论作了全面公正的评述,其基本观点是:不加限制地使用GOTO语句,特别是使用往回跳的GOTO语句,会使程序结构难于理解,在这种情形,应尽量避免使用GOTO语句。但在另外一些情况下,为了提高程序的效率,同时又不致于破坏程序的良好结构,有控制地使用一些GOTO语句也是必要的。用他的话来说就是:“在有些情形,我主张删掉GOTO语句;在另外一些情形,则主张引进GOTO语句。”从此,使这场长达10年之久的争论得以平息。

后来,G·加科皮尼和C·波姆从理论上证明了:任何程序都可以用顺序、分支和重复结构表示出来。这个结论表明,从高级程序语言中去掉GOTO语句并不影响高级程序语言的编程能力,而且编写的程序的结构更加清晰。

结构程序设计的思想体现在采用了一些比较行之有效的方法,在这些方法中较有代表性的是“逐步求精”方法。所谓“逐步求精”方法,就是在编制一个程序时,首先考虑程序的整体结构而暂时忽略一些细节问题,然后逐步地一层一层地细化直至用所选用的语言完全描述每一个细节,即得到所期望的程序为止。换言之,它是按照先全局后局部、先整体后细节、先抽象后具体的过程组织人们的思维活动,使得编写出的程序结构清晰、容易理解、容易验证、容易修改。“逐步求精”方法与模块化设计方法既有联系又有区别。粗略地讲,逐步求精主要指一个程序的设计过程,而模块化设计主要指比较大的系统的设计过程。

此外,面对“软件危机”,人们调查研究了软件生产的实际情况,逐步感到采用工程化的方法从事软件系统的研究和维护的必要性,于是与程序设计方法学密切相关的软件工程在1968年应运而生。软件工程的主要对象是大型软件。软件工程研究的内容主要包括:软件质量保证和质量评价;软件研制和维护的方法、工具、文档;用户界面的设计以及软件管理等。软件工程的最终目的是摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化。

软件危机的主要表现:

1. 对软件开发成本和进度的估计常常很不准确。

实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从而不可避免地引起用户的不满。

2. 用户对“已完成的”软件系统不满意的现象经常发生。

软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。

3. 软件产品的质量常常靠不住。

软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。

4. 软件常常是不可维护的。

程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需求在原有程序中增加新的功能。

5. 软件通常没有适当的文档资料。

软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。

6. 软件成本在计算机系统总成本中所占比例逐年上升。

随着微电子技术的进步和生产自动化程度的提高,硬件成本逐年下降,然而软件开发需要大量的人力,软件成本随着通货膨胀以及软件规模和数量的不断扩大而逐年上升。美国在1995年的调查表明,软件成本大约已占计算机系统总成本的90%。

软件危机的出现,使得人们去寻找产生危机的内在原因,发现其原因可归纳为两方面,一方面是由软件生产本身存在着复杂性,另一方面却是与软件开发所使用的方法和技术有关。

软件工程正是为克服软件危机而提出的一种概念,并在实践中不断地探索它的原理,技术和方法。在此过程中,人们研究和借鉴了工程学的某些原理和方法,并形成了一门新的学科—软件工程学,但可惜的是时至今日人们并没有完全克服软件危机。

C语言的编译环境为什么是VC++6.0?

我们在学习C语言时通常会面临C语言编译器的选择,事实上C语言编译器可以分为C和C++两大类,其中C++是C的超集,均向下支持C。主要的C语言编译器及特点分别如下:

  (1)TC 2.0

  DOS平台软件。最经典的C语言编译器,系统体积小,简单易学,容易上手,而且很多前人或书籍的程序均基于该编译器,是学习C语言的首选。不过它不支持鼠标,但读者如果掌握几个快捷键,操作时对鼠标可能就不怎么需要了,如:

  F2 存盘 F3 打开程序 Alt+F3在最近打开的文件之间切换 Alt+F5观察运行结果

  F9 编译制作EXE Ctrl+F9编译并运行

  Ctrl+Y 删除当前行 Ctrl+KB定义块首 Ctrl+KK 定义块尾 Ctrl+KC复制块 Ctrl+KY删除块

  Ctrl+KV 移动块

  (2)Tc3.0

  DOS平台软件。目前比较不错的C/C++语言编译器,支持鼠标,语法着色,多文档,错误跟踪也很好,操作与TC2.0有很多类似,TC2.0会用那么TC3.0也很快会用,缺点是以前很多代码是用TC2.0设计的,而由于TC3.0语法要求的严格性,如要求函数必须定义类型,所以向下存在一定的兼容性问题,所以对于初学者选择起来很矛盾,建议先学会使用TC2.0,而把TC3.0作为能力的补充和平时工具之用。

  目前有的教材已经选用该编译器,不过需要一个较长的调整期,因为很多源代码需要过渡过来才行,虽然性能上比TC2.0有所提高,但对于初学者没有质的变化,选择时需要注意。

  (3)VC++ 6.0

  Windows平台。目前主流的C/C++语言编译器,包含强大的类和内嵌WinAPI的MFC,具有可视化的编程界面。对于TC等的作品也具有向下兼容的特点,建议读者选用作为C语言过渡到Windows平台编程的首选工具。当然,作为学习,该系统显得有点庞大,不过通过入门的学习,调试旧的Tc程序也可以。

  还有其他的编译器,例如Win tc、gcc、lcc、BC 3.1等等,事实上,编译器的选择不是最重要的,他们都可以完成基本的C语言编译,不过面向考试的时候,还是根据考试的要求,因为编译器的编译结果存在着一定的差别,特别在一些复杂语法的语句编译上。

  从目前的形势看,对于从未学习过计算机程序设计的读者来说,学习C语言时,建议开始选择Tc2.0,虽然不能使用鼠标,但几个快捷键的熟练运用基本上可以解决操作的问题,当然有时间的时候了解使用TC3.0就更好了;对于学习过TC2.0的读者来说,平时完全可以在TC3.0或VC 6.0下调试程序,但考试的时候如果要求必须在TC2.0下,那最好上机练习时在TC2.0下。

  当然,使用如记事本等文本编辑器编辑程序,然后用TC来调试也不失为一种好方法。

  另外,DOS平台的Tc2.0或Tc3.0都存在某些机器运行时键盘响应迟缓或停顿的问题,Tc3.0可能这种现象要多一点,这主要是由DOS基本内存的不足造成的。可以安装水平考试课题组提供的DOS模拟器来解决问题,该模拟器重新划分更多的内存,效果不错。

  新的类似软件平台也需要读者关注,那就是Java和Viusal C#,因为从发展的眼光来看,目前软件设计平台有一定的趋同趋势。例如:java和C#,都来自于C和C++,都作了不错的扩展和优化。对于深入学习C语言的同学,未来几年请务必学习Visual Studio.Net或者Java,因为这二者代表了现在的软件设计主流。他们的主要特点是:优秀的IDE设计环境,强大的WEB服务设计功能,对C++的优化和扩充,基于虚拟机的运行模式,优秀的面向系统开发,可视化的较为成熟的面向对象的程序设计机制等等.

软件危机是什么啊?

软件开发技术的进步未能满足发展的要求.在软件开发中遇到的问题找不到解决的办法,问题积累起来,形成尖锐的矛盾,导致了软件危机 产生的原因: 1,软件分规模越来越大,结构越来越复杂 2,软件开发管理困难而复杂 3,软件包开费用不断增加 4,软件开发技术落后 5,生产方式落后,仍采用手工方式 6,开发工具落后,生产率提高缓慢

Mp5比Mp4多了什么功能

MP5是MPEGLayer5的简称,它是由国内科技厂商自行开发出的演算法。

MP5播放器就是采用了软硬协同多媒体处理技术,能够用相对较低的功耗、技术难度、费用,使产品具有很高的协同性和扩展性,还第一个将ARM11平台应用于手持多媒体终端,其主频最高可达1GHz,能够播放更多的视频格式,比如avi、asf、dat等,以及最丰富网络资源的rm、rmvb。这就给消费者以及行业的发展带来了实在的好处,也使得行业发展的瓶颈得到了解决。

  

格式特点

音乐格式

  语音压缩技术也在目前的消费性产品占有很重要的地位,举凡由网路电话到玩具等都可实现其应用,而也根据不同的应用范围发展出不同的技术。

在视频方面:

MP5播放器的出现,从很大的方面解决了MP4遇到的问题,为解决片源限制与硬件产品支持格式的矛盾,MP5播放器产品正式浮出水面。MP5是随身数码娱乐领域一个全新的概念,它能够支持更多的视频,特别是网络视频资源。在DRM数字版权保护方面,能够进行同步传输,对于版权保护的正版事业是一个大的福音,迎合了国内、国际正版事业的大潮。

  目前网络视频资源十分丰富,其中以real公司推出的RM和RMVB占据了80%以上的视频资源,RMVB格式采用动态码率编码,根据画面动态情况调整码率。画面动态越大,编码的码率越高。与其他格式相比,在同等文件大小的情况下,能更加清晰流畅地表现动态画面,因此在网络视频下载中,是最常被采用的一种视频压缩格式,因此,对RMVB格式的良好支持,是便携式多媒体播放器解决片源问题最直接有效的一种方式。

在音频方面:

  而MP5音乐是一种音效档格式,它其实是将可以将一首完整的wav、mp3或是cda的声音档,经由MP5的压缩技术,产生压缩的比例大约1:10的音乐声音档。

  大家应该知道狗的耳朵可以听到很远的火车声,或是在隔三条街外另一只狗叫汪汪声,但人类却无法听见,这是因为人的耳朵与狗的耳朵差别在于,狗耳朵能够听到比人更高频率的声音。

  一般的声音、歌曲所包含的频率除了人类听得见的,其实还有人类听不见的。

  人类的听觉有其先天的限制。

  一般而言,人耳无察觉的声音讯号有两种,一是较高或过低的频率,二是加强讯号过的弱音乐,若把声音中这些人耳听不见或无法感知的讯号滤除,可大幅减少声音数位化后所需的储存空间。

  而MP5压缩演算法就是预先替使用者过滤掉这些无法感知的声音,并大幅减少声音数位化后所需的储存空间。

  用MP5压缩演算法来处理音乐,是属于一种特殊的压缩方式,也因为如此,才能达到高压缩比的目的。

  而使用这种特殊的压缩结果是,还原音效时难免会造成少许失真,但这些失真是在人耳可以接受的范围内,不过压缩比过于提高时,产生的失真将会较多。

  而MP5压缩技术就是将人类耳朵听不见的声音频率给消灭掉以达到压缩的目的。

  因此原始声音的某些部份被丢掉了,声音档案大小也因此被缩减,这就是MP5压缩技术的原理。

  MP5使用了特殊的压缩技术,让我们还是不容易察觉出来的,因为它的压缩之后让人听起来像是没有经过压缩一样。

  MP5将wav、mp3或是cda的歌曲压缩成短小而易于管理的音乐文件,在不损坏声音质量的前提下,一个40多兆的WAV音乐文件可被压缩成4兆的MP5歌曲;一张只能存储十几首歌曲的CD光碟,能存放一百多首MP5数位音乐,而音质几乎与MP3音乐没有区别。

  过去,通过互联网下载一首完整的歌曲是个不能现实的想法,因为繁多的音乐格式和其庞大的档案体积,阻碍着数位音乐在网路上的传播。

  但是有了MP5格式的问世,下载一首普通的歌曲不再动辄需要半小时,而只需要短短的两三分钟。

  MP5的优点不仅如此,经过压缩后的音乐之播放音质听起来不比MP3差。

MP5的选择

目前市场上在销售的mp5播放效果的好坏主要取决于其方案的性能强弱,所谓方案一般就是指的播放器内置的解码芯片,所以称为解决方案。现在的mp5解码方案主要分为软件解码和硬件解码两大阵营。软件解码的主要方案有:Freescale31和ADI还有华芯飞等方案。软件解码方案的优势在于软件方面可扩展性强,但是由于是依靠软件算法进行解码,对于RMVB视频解析的时候就存在一些先天的缺陷,比如我们在播放大分辨率或者大码流的RMVB视频时软件解码就会出现因为运算量过大导致出现花屏和跳桢等现象。尤其现在许多商家在宣传自己mp5产品时说自己的处理器主频高达600MHZ,其实这并不是一件好事,因为随着你半导体晶体管密度加大主频的增高,功耗和发热量必定增高,因为这毕竟不是在买电脑。另外一大阵营就是刚刚崛起的硬件解码方案,其优势在于内置DECODER可以实现硬件解码,尤其在播放大分辨率和大码流的视频文件时优势更是远远优于软件解码的mp5播放器,但是劣势在于由于是硬件解码方案,考虑到功耗等问题硬件解码的mp5播放器主频相对较低,不会提供太多附加的功能。不过这到不影响大众消费者的使用,毕竟买mp5更多的是自己播放rmvb电影,可以流畅完美播放自己从网上下载的视频才是王道!另外目前市场还是软件解码的mp5比较多,硬件解码的mp5播放器也是在2008年初才有国内的厂商推出,品牌好像是叫GTC,是个新品牌,但是采用的是AMLOGIC7228的硬件解码方案,并且还支持视频输出,个人感觉不错,好像价格是799,3.5的屏,有喜欢的朋友或者准备入手mp5的朋友可以看看考虑一下,毕竟货比三家还是要的。翻了半天才从网上找到那家公司3w点gtcf点net点cn,大家可以看看。

MP5的优点

  MP5使用“特殊的压缩演算法”过滤掉人类无法听到的声音以获取更多储存空间,因此,以MP5技术压缩后的音乐,严格来说应该会比MP3稍差,只是使听者无法察觉而已。

  MP5音乐档的优点相当多,因为档案体积小,所以更能利用在网路传输上。

  MP5纯数位化与纯资料电脑的可携性、音乐资料的可分割性也是传统CD忘尘莫及的。

  基本上使用传统CD会发现一些问题。

  比如说一张CD只喜欢其中几首歌,但必须连其他不喜欢的歌曲一起合并购买,不仅浪费金钱,重播欣赏时也造成困扰。

  有了MP5音乐档的帮助后,使用者还可以自己制作MP5音乐合辑,其便利性也是传统CD所没有的。

  单就MP5传播的方式来看,使用可携式的MP5播放设备来重播音乐档,数位化的音乐播放方式,操作起来也比传统CD随身听更便利,不仅选曲较CD更快、也不须担心因为震动导致跳针,因为是纯数位的,所以也比CD更省电,而且体积也可以比CD更小、更轻。

  MP5的核心功能就是利用地面数字电视通道实现在线数字视频直播收看和下载观看等功能,此外,MP5内置40-100G硬盘,使用者可以将MP3、网络电影甚至DVD大片、电视连续剧、自己喜欢的照片统统纳入其中,以便在闲暇时拿出来与大家分享。此外,MP5强大的内核处理能力可以支持现有的多款经典网络下载游戏。总之,无论您在工作中还是闲暇时MP5总能让您成为目光的焦点。

为什么人的思维有规律

思维的定义:  思维是客观现实的间接的和概括的反映.客观事物直接作用于人的感觉器官,产生感觉和知觉.感觉和知觉以感性形象反映事物的个别属性或个别的事物,使人能把握各种现象和事物的外部联系.思维是以感觉和知觉为基础的一种更高级的认识过程,它运用分析和综合、抽象和概括等智力操作对感觉信息进行加工,以存储于记忆中的知识为媒介,反映事物的本质和内部联系.这种反映以概念、判断和推理的形式进行,带有间接和概括的特性.例如,人们看见各式各样的平房和高楼,通过思维则能形成房屋这一概念,它概括了所有平房和高楼的共同本质.人们可以看到阳光照射在岩石上,通过肤觉而感知岩石变热.但阳光照射与岩石变热的因果关系却不是感觉和知觉所能把握的,需要进一步利用有关的知识进行判断和推理,间接地加以认识.这种对客观事物的间接的和概括的反映,使人们能认识那些没有直接作用于感觉器官的事物,把握事物的本质和规律.人们掌握了事物的本质和规律,就能预见事物的未来变化和发展,进而能动地改造世界.人们的思维是否正确地反映客观事物,要受实践的检验.  思维活动可由外部事物引起,也可由记忆中的事物引起.一般来说,当人需要完成某种任务而又没有现成的手段时,思维活动便被触发并沿着任务所指引的方向进行.换句话说,思维活动是由一定的问题引起的,并指向问题的解决.这种思维活动称作目的指向性思维.它受意识的控制,是人的主导性思维活动.另外还有一种没有明确目的的思维活动,它很少受意识控制,带有自发的联想的性质,称作联想性思维.思维突出地表现在获得知识和应用知识去解决问题方面.思维与语言的关系:  思维与语言有着密切的关系.许多心理学家认为,语言不仅是人们交流思想的手段,而且也是正常人进行思维的工具概念是思维的基本因素但概念是由词来表示的,例如房屋的概念就是用词“房屋”来表示的.房屋一词单独以符号的形式存在,标志了所有各式各样的平房和高楼,具有概括性.词的这些特性使间接的和概括的反映成为可能.人在思考时,言语的发音器官的活动受到抑制,起作用的是一种不出声的言语即内部言语,思维是借助于内部言语来进行的.巴甫洛夫学说区分第一信号系统和第二信号系统,将思维看作是以词为信号刺激的第二信号系统的活动.  行为主义心理学的代表J.B.华生将思维与言语完全等同起来.他把思维看作是喉头的运动,只是微弱而已.确实,人的思维是伴随着言语发音器官的活动.例如,在默默地进行计算或其他思维作业时,可以记录到言语发音器官的肌肉变化,而且在朗读和默诵同一首诗所分别记录的言语发音器官的活动具有相似的性质.甚至在使用手势语的聋哑人身上也可发现,当他们思考时,也产生微弱的手部肌肉反应,肌肉发生变化.这些实验结果说明,思维和言语是有联系的,但并没有证明思维与言语可以等同起来.实验发现,让正常人在计算或阅读的同时不断地说“啦、啦、啦”,或在默默地翻译外文时用上下牙咬住舌头,以此来干扰思维活动时的内部言语,虽然思维活动有时可受到不利的影响,但仍能完成所要求的作业.  1947年S.M.史密斯等人进行了一项实验:史密斯本人接受箭毒注射,使全身的骨骼肌麻痹(包括整个言语发音器官在内),靠人工呼吸装置及其他医疗设备来维持生命.在麻痹消失、功能恢复正常以后,史密斯报告说,在他全身麻痹期间,意识没有受到干扰,思维活动仍能照常进行,他能理解向他提出的问题,这些问题事后还能回忆出来.这个实验有力地表明,思维与言语是不能等同的,甚至言语也不是思维的必要因素.  70年代以来关于割裂脑的研究提供了同样的资料.在正常情况下,人的大脑两半球由胼胝体连接,两半球协同进行活动,但两个半球的功能是有差别的,通常在右手占优势的人身上,大脑左半球有说话和写字的功能,右半球则没有这些功能,在胼胝体遭到损伤或被手术切断后,大脑两半球就彼此独立地进行活动.但被割裂开的右半球仍可理解说出的或书写的一些东西的名称.右半球还可以进行简单的相加或相乘运算.这些事实也说明,没有说话功能的右半球仍有一定的思维功能,思维并不必以言语为工具.  许多实验结果表明,思维是不能与言语等同起来的,思维也不必须以言语为工具.在实际生活中,不掌握出声语言的聋哑人仍然可以进行思维.从人的心理发展来看,婴儿在未学会说话或刚刚开始咿咿学语时也是有一定思维能力的.照J.皮亚杰的看法,婴儿学习语言是以一定的思维能力的发展为前提的.尽管如此,前面引述的那些事实也并没有否定,在正常的情况下人是借助言语来进行思维活动的.可以说,词的抽象和概括的特性和语法规则等,都使语言适于充任思维的工具.从而使人的思维活动变得更有效.有一些学者如B.L.沃夫等人,强调语言对思维的决定性作用.他们认为语言的结构决定思维的过程和内容,不同民族的语言带有该民族思维的特点.这种观点称作语言相对作用原理或沃夫假设.

论述质量互变的辩证关系和现实意义

质量互变规律是马克思唯物辩证法中的三大规律之一,事物发展的过程,经由量变和质变两种状态。任何事物都是质和量的统一体。

首先,质量互变规律的普遍性:无论自然界、人类社会,还是思维领域,任何事物的变化、发展都遵循着质量互变规律。

其次,质变、量变的多样性。

量变有两种基本形式:

第一,事物构成因素的数量增减,到了一定程度会引起事物性质的变化。

第二,结构的变更,即事物构成因素在空间上排列顺序和结构上的不同,也会引起事物性质的变化。

质变的两种基本形式:

第一,爆发式飞跃:指质变具有激烈的外部冲突形式,新旧力量互不相让,只有用激烈的冲突、你死我活的方式解决矛盾。

第二,非爆发式飞跃:是非对抗性矛盾的解决方式。由于对立双方在根本利益上是一致的,所以可能通过和平方式使矛盾得到解决。

量变质变的互相渗透:

第一,量变部分包含着质变。事物在未发生质变前总的说处于量变过程,但由于事物矛盾发展不平衡,有些部分和局部已经发生了质变。另一种是阶段性部分质变。一事物总体上处于量变过程,其不同阶段有一定的质的区别。

第二,质变中有量的扩张。质变是渐进性中断,但也有一个过程,有一个由小到大,由点到面的过程。

事物的发展是从量变开始的。量变达到一定程度,超出一定的数量界限,就引起质变。质变是原来量变的终结,又是新的量变的开端:在新质的基础上,又进行着新的量变。这样,量变和质变相互转化,相互交替,就构成了事物无限多样、永恒发展的过程。这就是质量互变规律。

量变和质变的关系是辩证的。量变是质变的必要准备,质变是量变的必然结果;质变不仅体现和巩固原来量变的结果,而且它会引起新的量变,为新的量变开辟道路。

量变和质变及其相互转化的原因,在于事物内部的矛盾。量变和质变的相互转化,是事物发展的客观的、普遍的规律。它的客观性、普遍性为人类实践和科学的发展所证实。 把握质量互变原理的重要意义;在实际工作中,既不能把事物的质看成是凝固不变的,又要在一定条件下,注意保持事物质的相对稳定性,经过艰苦的工作,让事物的量充分展开,为质变做好准备。

而掌握质量互变规律的方法论意义在于:

第一, 在认识和处理问题是要把我适度原则。为了维持事物成长发展必须学会“保度”,为

了促进事物转化必须适时“超度”。处理实际问题必须要讲究分寸、把我火候,心中有数,掌握事物的客观进程。

第二, 注意在理论上正确处理量变和质变的关系。在此问题上要防止两种错误观点:夸大

量变,否认质变,导致庸俗进化论,在实际工作中变现为保守、僵化;夸大质变,否认量变,导致灾变论、激变论,在实际工作中表现为盲动、冒险;这两种倾向都是割裂量变和质变辩证关系的形而上学方法论的结果。

第三, 注意把我质量互变规律在实际工作中的指导意义。首先,要重视做好准备工作。脚

踏实地,真抓实干,从小事做起,注重积累。其次,要做好转化工作。抓住时机,把握机遇。

简述下计算机的指令系统概念

指令系统 计算机所能执行的全部指令的集合,它描述了计算机内全部的控制信息和“逻辑判断”能力。不同计算机的指令系统包含的指令种类和数目也不同。一般均包含算术运算型、逻辑运算型、数据传送型、判定和控制型、输入和输出型等指令。指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。 指令系统 指令 微机完成规定操作的命令,一条指令通常由操作码和地址码组成。操作数: 计算机在运行过程需要的数据称为操作数。编辑本段概况 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如:操作码字段地址码字段其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 各计算机公司设计生产的计算机,其指令的数量与功能、指令格式、寻址方式、数据格式都有差别,即使是一些常用的基本指令,如算术逻辑运算指令、转移指令等也是各不相同的。因此,尽管 精简指令系统计算结构(RISC)来设计芯片 各种型号计算机的高级语言基本相同,但将高级语言程序(例如Fortran语言程序)编译成机器语言后,其差别也是很大的。因此将用机器语言表示的程序移植到其他机器上去几乎是不可能的。从计算机的发展过程已经看到,由于构成计算机的基本硬件发展迅速,计算机的更新换代是很快的,这就存在软件如何跟上的问题。大家知道,一台新机器推出交付使用时,仅有少量系统软件(如操作系统等)可提交用户,大量软件是不断充实的,尤其是应用程序,有相当一部分是用户在使用机器时不断产生的,这就是所谓第三方提供的软件。 为了缓解新机器的推出与原有应用程序的继续使用之间的矛盾,1964年在设计IBM360计算机时所采用的系列机思想较好地解决了这一问题。从此以后,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O系统等保持相同,因而软件完全兼容(在此基础上,产生了兼容机)。当研制该系列计算机的新型号或高档产品时,尽管指令系统可以有较大的扩充,但仍保留了原来的全部指令,保持软件向上兼容的特点,即低档机或旧机型上的软件不加修改即可在比它高档的新机器上运行,以保护用户在软件上的投资。编辑本段指令的发展历程 回顾计算机的发展历史,指令系统的发展经历了从简单到复杂的演变过程。早在20世纪50-60年代,计算机大多数采用分立元件的晶体管或电子管组成,其体积庞大,价格也很昂贵,因此计算机的硬件结构比较简单,所支持的指令系统也只有十几至几十条最基本的指令,而且寻址方式简单。到60年代中期,随着集成电路的出现,计算机的功耗、体积、价格等不断下降,硬件功能不断增强,指 指令系统 令系统也越来越丰富。在70年代,高级语言己成为大、中、小型机的主要程序设计语言,计算机应用日益普及。由于软件的发展超过了软件设计理论的发展,复杂的软件系统设计一直没有很好的理论指导,导致软件质量无法保证,从而出现了所谓的“软件危机”。人们认为,缩小机器指令系统与高级语言语义差距,为高级语言提供很多的支持,是缓解软件危机有效和可行的办法。计算机设计者们利用当时已经成熟的微程序技术和飞速发展的VLSI技术,增设各种各样的复杂的、面向高级语言的指令,使指令系统越来越庞大。这是几十年来人们在设计计算机时,保证和提高指令系统有效性方面传统的想法和作法。按这种传统方法设计的计算机系统称为复杂指令系统计算机(ComplexSetInstructionComputer),简称CISC. RISC是一种计算机体系结构的设计思想,是近代计算机体系结构发展史中的一个里程碑。然而,直到现在,RISC还没有一个确切的定义。90年代初,IEEE的MichaelSlater对于RISC的定义做了如下描述:RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。 1.RISC为使流水线高效率执行,应具有下述特征:(1)简单而统一格式的指令译码;(2)大部分指令可以单周期执行完成;(3)只有LAD和STORE指令可以访问存储器;(4)简单的寻址方式;(5)采用延迟转移技术;(6)采用LOAD延迟技术。 2.RISC为使优化编译器便于生成优化代码,应具有下述特征: (1)三地址指令格式 (2)较多的寄存器 (3)对称的指令格式。 减少指令平均执行周期数是RISC思想的精华 特点及要求 指令系统的性能决定了计算机的基本功能,它的设计直接关系到计算机的硬件结构和用户的需要。一个完善的指令系统应满足如下四方面的要求:完备性 指用汇编语言编写各种程序时,指令系统直接提供的指令足够使用,而不必用软件来实现。完备性要求指令系统丰富、功能齐全、使用方便。有效性 是指利用该指令系统所编写的程序能够高效率地运行。高效率主要表现在程序占据存储空间小、执行速度快。 指令系统 规整性 包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。对称性是指:在指令系统中所有的寄存器和存储器单元都可同等对待,所有的指令都可使用各种寻址方式;匀齐性是指:一种操作性质的指令可以支持各种数据类型;指令格式和数据格式的一致性是指:指令长度和数据长度有一定的关系,以方便处理和存取。兼容性 至少要能做到“向上兼容”,即低档机上运行的软件可以在高档机上运行。编辑本段寻址方式 根据指令内容确定操作数地址的过程称为寻址。完善的寻址方式可为用户组织和使用数据提供方便。 ①直接寻址:指令地址域中表示的是操作数地址。 ②间接寻址:指令地址域中表示的是操作数地址的地址即指令地址码对应的存储单元所给出的是地址A,操作数据存放在地址A指示的主存单元内。有的计算机的指令可以多次间接寻址,如A指示的主存单元内存放的是另一地址B,而操作数据存放在B指示的主存单元内,称为多重间接寻址。 ③立即寻址:指令地址域中表示的是操作数本身。 指令系统 ④变址寻址:指令地址域中表示的是变址寄存器号i和位移值D。将指定的变址寄存器内容E与位移值D相加,其和E+D为操作数地址。许多计算机具有双变址功能,即将两个变址寄存器内容与位移值相加,得操作数地址。变址寻址有利于数组操作和程序共用。同时,位移值长度可短于地址长度,因而指令长度可以缩短。 ⑤相对寻址:指令地址域中表示的是位移值D。程序计数器内容(即本条指令的地址)K与位移值D相加,得操作数地址K+D。当程序在主存储器浮动时,相对寻址能保持原有程序功能。 此外,还有自增寻址、自减寻址、组合寻址等寻址方式。寻址方式可由操作码确定,也可在地址域中设标志,指明寻址方式。编辑本段种类 常见指令按功能可划分为: ①数据处理指令:包括算术运算指令、逻辑运算指令、移位指令、比较指令等。 ②数据传送指令:包括寄存器之间、寄存器与主存储器之间的传送指令等。 ③程序控制指令:包括条件转移指令、无条件转移指令、转子程序指令等。 ④输 指令系统 入-输出指令:包括各种外围设备的读、写指令等。有的计算机将输入-输出指令包含在数据传送指令类中。 ⑤状态管理指令:包括诸如实现置存储保护、中断处理等功能的管理指令。 随着计算机系统结构的发展,有些计算机还不断引入新指令。如“测并置”指令是为在多机系统和多道程序中防止重入公用子程序而设置的。指令先测试标志位以判断该子程序是否正在使用。如未被使用,则转入子程序并置该标志位,以防其他进程重入。后来又出现功能更强的信号(PV操作)指令。有的计算机还设置“执行”指令。“执行“指令执行由地址域所确定的存储单元中的指令。其目的是避免用程序直接修改程序中的指令。这对程序的检查和流水线等技术的应用均有好处。有的计算机采用堆栈实现程序的调用指令和返回指令。调用时将返回地址和各种状态、参数压入堆栈顶部,这样就能较好地实现子程序的嵌套和递归调用,并可使子程序具有可重入性。另外,一些计算机使不少复杂的操作固定化,形成诸如多项式求值、队列插项、队列撤项和各种翻译、编辑等指令。 向量指令和标量指令:有些大型机和巨型机设置功能齐全的向量运算指令系统。向量指令的基本操作对象是向量,即有序排列的一组数。若指令为向量操作,则由指令确定向量操作 指令系统 数的地址(主存储器起始地址或向量寄存器号),并直接或隐含地指定如增量、向量长度等其他向量参数。向量指令规定处理机按同一操作处理向量中的所有分量,可有效地提高计算机的运算速度。不具备向量处理功能,只对单个量即标量进行操作的指令称为标量指令。 特权指令和用户指令:在多用户环境中,某些指令的不恰当使用会引起机器的系统性混乱。如置存储保护、中断处理、输入输出等这类指令,均称为特权指令,不允许用户直接使用。为此,处理机一般设置特权和用户两种状态,或称管(理)态和目(的)态。在特权状态下,程序可使用包括特权指令在内的全部指令。在用户状态下,只允许使用非特权指令,或称用户指令。用户如使用特权指令则会发生违章中断。如用户需要申请操作系统进行某些服务,如输入-输出等,可使用“广义指令”,或称为“进监督”、“访管”等的指令。编辑本段指令格式 计算机的指令格式与机器的字长、存储器的容量及指令的功能都有很大的关系。从便于程序设计、增加基本操作并行性、提高指令功能的角度来看,指令中应包含多种信息。但在有些指令中,由于部分信息可能无用,这将浪费指令所占的存储空间,并增加了访存次数,也许反而会影响速度。因此,如何合理、科学地设 指令系统 计指令格式,使指令既能给出足够的信息,又使其长度尽可能地与机器的字长相匹配,以节省存储空间,缩短取指时间,提高机器的性能,这是指令格式设计中的一个重要问题。 计算机是通过执行指令来处理各种数据的。为了指出数据的来源、操作结果的去向及所执行的操作,一条指令必须包含下列信息: (1)操作码。它具体说明了操作的性质及功能。一台计算机可能有几十条至几百条指令,每一条指令都有一个相应的操作码,计算机通过识别该操作码来完成不同的操作。 (2)操作数的地址。CPU通过该地址就可以取得所需的操作数。 (3)操作结果的存储地址。把对操作数的处理所产生的结果保存在该地址中,以便再次使用。 (4)下条指令的地址。执行程序时,大多数指令按顺序依次从主存中取出执行,只有在遇到转移指令时,程序的执行顺序才会改变。为了压缩指令的长度,可以用一个程序计数器(ProgramCounter,PC)存放指令地址。每执行一条指令,PC的指令地址就自动+1(设该指令只占一个主存单元),指出将要执行的下一条指令的地址。当遇到执行转移指令时,则用转移地址修改PC的内容。由于使用了PC,指令中就不必明显地给出下一条将要执行指令的地址。 指令系统 一条指令实际上包括两种信息即操作码和地址码。操作码(OperationCode,OP)用来表示该指令所要完成的操作(如加、减、乘、除、数据传送等),其长度取决于指令系统中的指令条数。地址码用来描述该指令的操作对象,它或者直接给出操作数,或者指出操作数的存储器地址或寄存器地址(即寄存器名)。 指令包括操作码域和地址域两部分。根据地址域所涉及的地址数量,常见的指令格式有以下几种。 ①三地址指令:一般地址域中A1、A2分别确定第一、第二操作数地址,A3确定结果地址。下一条指令的地址通常由程序计数器按顺序给出。 指令系统 ②二地址指令:地址域中A1确定第一操作数地址,A2同时确定第二操作数地址和结果地址。 ③单地址指令:地址域中A 确定第一操作数地址。固定使用某个寄存器存放第二操作数和操作结果。因而在指令中隐含了它们的地址。 ④零地址指令:在堆栈型计算机中,操作数一般存放在下推堆栈顶的两个单元中,结果又放入栈顶,地址均被隐含,因而大多数指令只有操作码而没有地址域。 ⑤可变地址数指令:地址域所涉及的地址的数量随操作定义而改变。如有的计算机的指令中的地址数可少至 0个,多至6个。