高中信息技术粤教版 (2019)必修1 数据与计算第三章 算法基础3.3 计算机程序与程序设计语言本节综合与测试获奖课件ppt
展开目前,我们已对计算机解决问题的基本过程和算法有了一定的了解。通过对本节任务的探究学习,我们将更深切体会计算机程序在解决问题过程中的重要作用。
探究活动思考在完成问题分析和算法设计两个环节之后,接下来就要开始编写计算机程序对数据进行统计分析,进而形成解决问题的方案。各小组交流什么是计算机程序语言。1.围绕交流的问题展开“头脑风暴”活动,确定认识计算机程序需要解决的问题和知识,具体可参考表3-6。
2.表3-6中所要解决的每一个问题都可以制作成各类相关图表,如思维导图、概念图或者时间线表等。参考表3-7,思考其他问题的列表形式。
3.3.1 计算机程序
计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。简而言之,计算机程序就是指计算机可以识别运行的指令集合。
常用的计算机主要包括运算器、控制器、存储器、输人设备和输出设备五大基本部件。计算机内部采用二进制形式表示和存储指令或数据,把解决问题的程序和需要加工处理的原始数据事先转换成二进制数, 并存人存储器中。 计算机的工作过程实际上是周而复始地获取指令、执行指令的过程,如图3- 10所示。
3.3.2 计算机程序设计语言
在用计算机解决问题时,用自然语言、流程图或是伪代码所描述的解决问题的算法都不能被计算机直接执行,还必须将算法按照定 的规则编写成计算机能够识别和运行的程序。而人们编写程序时需要遵循的规则就是计算机语言规则。计算机程序设计语言,是指一组用来定义计算机程序的语法规则,通常简称为“编程语言”。它是一-种被标准化的交流技巧,用于向计算机发出指令。正确地使用计算机程序设计语言,能让程序员准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应执行的命令。计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的发展历程。
1.机器语言目前,计算机采用的物理器件主要是电子元件,但由于电子元件的物理特性,计算机只能识别“0”和“1”组成的二进制数。因此,二进制是计算机语言的基础。计算机发明之初,人们只能使用计算机的基础语言(图3-11)。因此,早期的程序设计语言是由“0”和“1”所表示的二进制代码指令组表示的。这样的语言是计算机能直接接收和执行的,通常被称为“机器语言”。机器语言是第一代计算机语言。
不同计算机的机器指令系统会有所不同,但每一条机器指令都包含两个 主要部分:操作(指出计算机应做什么)和被操作的对象(指出处理的数据或它的地址)。在这些指令的控制下,计算机可以实现最基本的算术运算和逻辑运算。例如,表3- 8是用Intel 80386完成“9+8”加法运算的机器指令。
早期人们与计算机的通信都是通过机器语言编写的程序完成的,程序中的所有语句都被分解成一系列由0和1组成的代码记录在穿孔带上,如图3-12所示。这种机器语言所编写的程序难以被理解,程序设计任务也非常繁重,而且在程序出现错误需要修改时,效率更是低下。除此之外,由于每台计算机的指令系统往往各不相同,所以在一台计算机上执行的程序,如果想要在另一台计算机上执行, 就必须另编程序,这就造成了重复工作。由此可见,机器语言与人类的自然语言之间存在着巨大的鸿沟。但由于使用的是针对特定型号计算机的语言,因此运算效率也是所有语言中最高的。
2.汇编语言为了让使用机器语言编写的程序更容易被理解,人们使用了一种类似英文缩略词且带有助记性符号的语言,来替代- 个特定的指令二进制串, 每条指令都和- 条机器指令相对应,只是指令码和操作数都采用符号形式,这种程序设计语言就被称为汇编语言,即第二代计算机语言。例如,指令码用"ADD"代表加法,用“MOV"代表数据传递等。这样一来,人们就会比较容易读懂并理解程序,纠错及维护也会变得更加方便了。例如,表3-9列出了用汇编语言来实现“9+8” 加法运算的有关指令。
但是,计算机是不能直接认识这些符号的,计算机还需要个 专门的语言翻译器, 负责将程序中的每条语句都翻译成用二进制数表示的机器语言(图3-13)。汇编语言同样与特定的机器及特定的微处理器相关,这也导致了汇编语言的移植性不好。这一点与机器语言相比差异不大,然而汇编语言程序的效率仍然很高。针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,其编写的程序不仅精练、质量高,而且易于理解,所以至今在一此领域仍是-种常用而强有力的软件开发工具。
3.高级语言人们在使用机器语言和汇编语言这两种语言与计算机交流的过程中,依然存在很大的障碍,而且对于程序的理解和调试仍然十分困难。于是,高级语言应运而生。高级语育接近于数学语言和人的自然语言,并且不再过度地依赖某种特定的机器或环境。第一种高级语言是Frtran语言, 它主要用于科学和工程计算。在Frtran语言之后, 出现了许多高级语言,如ALCOL、COBOL、Basic、LISP. SNOBOL、Pascal、 C、PROLOG、Ada、VC、 VB、Delphi、 Java、Pythn等。 例如,在计算“9+8” 的问题时,若使用高级语言Pythn,则只需要语句“rin(19+8)" 就能完成,既简单又易于理解。用高级语 言编写的程序也不能直接被计算机所识别和执行,必须经过编译程序或解释程序将其翻译成机器语言(图3-14)。所谓编译程序是指计算机把高级语言程序的每一条语句都编译成机器语言,并保存成二进制文件后才运行的程序。解释程序是指计算机在执行高级语言程序时,逐条语句解释成机器语言并立即执行的程序。
由于高级语言抽象度高,源代码无须与硬件、系统底层操作对应,所以移植性非常好,理想的情况下甚至不必为不同的系统平台或者机器改动源代码。高级语言的出现为计算机的应用开辟了广阔的前景,它的发展也经历了从早期语言到结构化程序设计语言、从面向过程到非过程化程序设计语言的过程。所谓非过程化程序设计语言,就是面向应用,即只需要告诉程序要干什么,程序就能自动生成算法,自动进行处理,这是高级语言的下一一个发展目标, 将给人们解决问题带来更大的便利。
交流以小组为单位开展交流活动,试用自己的语言表述程序与程序设计语言之间的关系。讨论1.一个高质量的程序应具备哪些条件?2. 学习了本节的有关内容后,我们是否能够用生活中熟悉的事物来形容或比喻程序及其功能?3. 高级语言的翻译程序有两种类型:编译程序和解释程序。试通过网络检索相关知识,比较编译型语言和解释型语言的优势和不足,并填写在表3- 10中。
4.高级语言的编译过程和解释过程是不同的,请通过查阅相关资料,将两个不同的执行过程用图表形式呈现出来,完成图3-15。5.以程序设计语言的发展过程为主题,预测程序设计语言将来的发展趋势,就其便捷性及其功能等方面,大胆展望未来程序设计语言的特点,自拟调查提纲,写一篇调查报告。
拓展:自动计算思想发展回顾一般而言,计算与自动计算要解决以下四个问题:①数据的表示;②数据的存储及自动存储;3计算规则表示;④计算规则的执行及自动执行。算盘是一种计算工具,算盘上的珠子可以表示和存储数,计算规则是一套口诀,按照口诀拨动珠子可以进行四则运算。然而所有的操作都要靠人的大脑和手完成,因此算盘被认为是一种计算辅助工具,不能被归入自动计算工具范畴。1642年,法国科学家帕斯卡发明了著名的帕斯卡机械计算机,首次确立了计算机器的概念。该机器用齿轮来表示和存储十进各数位上的数字,通过齿轮比来解决进位问题。低位上的齿轮每转动10圈,高位上的齿轮只转动1圈。机器可自动执行一些计算规则,“数”在计算过程中自动存储。帕斯卡机的意义是让人们认识到“用纯机械装置可代替人的思维和记忆”,开辟了自动计算的道路。如图3-16所示是一台手摇计算器。
1674年,莱布尼茨提出了“二进制”数的概念。1847年,英国的数学家布尔发表著作《逻辑的数学分析》和《思维规律的研究——逻辑与概率的数学理论基础》,创立了一门全新的学科——布尔代数,为百年后出现的数字计算机的开关电路设计提供了重要的数学方法和理论基础。1938年,香农发表了著名的论文《继电器和开关电路的符号分析》,首次用布尔代数进行开关电路分析,并证明布尔代数的逻辑运算可以通过继电器电路来实现,明确地给出了实现加、减、乘、除等运算的电子电路的设计方法。这篇论文成为开关电路理论的开端。
1936年,阿兰·图灵提出了抽象计算模型——“图灵机”。一切可计算的函数都可用图灵机计算,反之亦然。1940年,“控制论之父”维纳提出了计算机五原则:①不是模拟式,而是数字式;②由电子元件构成,尽量减少机械部件;③采用二进制,而不是十进制;④内部存放计算表,计算控制规则;⑤在计算机内部存储数据。1945年,美国宾夕法尼亚大学“莫尔小组”汲取前人关于计算机的结构、存储程序和二进制编码等研究思想,设计制造了世界上的一台早期计算机ENIAC(图3-17)。ENIAC是可编程的通用计算机,可以解决不同的问题。
项目实施各小组根据项目选题及拟订的项目方案,结合本节所学知识,安装相应的计算机程序语言软件,了解计算机程序设计语言的特点,进一步完善该项目方案中的各项学习活动,并参照项目范例的样式,撰写相应的项目成果报告。成果交流各小组运用数字化学习工具,将所完成的项目成果,在小组或班级上进行展示与交流,共享创造、分享快乐。活动评价各小组根据项目选题、拟订的项目方案、实施情况以及所形成的项目成果,利用教科书附录2的“项目活动评价表”,开展项目学习活动评价。
同学们通过本章学习,根据“算法基础”知识结构图,扼要回顾、总结、归纳学过的内容,建立自己的知识结构体系。
同学们完成下列测试题(更多的测试题可以在教科书的配套学习资源包中查看),并通过“本章扼要回顾”以及本章的项目活动评价,综合评价自己在信息技术知识与技能、解决实际问题的过程与方法,以及相关情感态度与价值观的形成等方面,是否达到了本章的学习目标。
1.单选题(1)人们利用计算机解决问题的基本过程为()①调试运行程序②分析问题③设计算法④问题解决⑤编写程序A.①②③④⑤ B. ②④③⑤① C.④②③⑤① D.②③⑤①④(2)下面关于算法的描述,正确的是()。A.算法不可以用自然语言描述B.算法只能用流程图来描述C.一个算法必须保证它的执行步骤是有限的D.算法的流程图表示法有零个或多个输人,但只能有一个输出(3)计算机能直接识别、理解执行的语言是()。A.汇编语言 B. Pythn语言 C. Basice语言 D.机器语言
2.思考题写出“求一个任意实数C的算术平方根G (精确到0.0001)”的算法设计思想。3.情境题某自动售货机(如右图)是由微处理器控制的。张明同学在自动售货机选择了一种价值5元的饮料,然后在收款口放人10元。自动售货机接收货币后,在商品取出口给出了张明所要的饮料,并找了5元。(1)说明自动售货机中微处理器本次自动售货的大致过程。(2)如果张明同学在自动售货机购物没有成功,请列出没有成功的三种可能原因。
粤教版 (2019)必修1 数据与计算3.3.1 计算机程序优秀课件ppt: 这是一份粤教版 (2019)必修1 数据与计算<a href="/xx/tb_c4007060_t3/?tag_id=26" target="_blank">3.3.1 计算机程序优秀课件ppt</a>,共20页。PPT课件主要包含了计算机程序,计算机的组成部件,计算机的工作原理,计算机的工作过程图解,计算机程序设计语言,机器语言,高级语言,高级语言的工作流程,编译程序,解释程序等内容,欢迎下载使用。
高中信息技术粤教版 (2019)必修1 数据与计算3.3.2 计算机程序设计语言说课ppt课件: 这是一份高中信息技术粤教版 (2019)必修1 数据与计算3.3.2 计算机程序设计语言说课ppt课件,共15页。PPT课件主要包含了复习回顾,CONTENT,机器语言,汇编语言,高级语言,课堂总结等内容,欢迎下载使用。
高中信息技术粤教版 (2019)必修1 数据与计算3.3.2 计算机程序设计语言课文内容课件ppt: 这是一份高中信息技术粤教版 (2019)必修1 数据与计算3.3.2 计算机程序设计语言课文内容课件ppt,共15页。PPT课件主要包含了操作指令加,操作指令停止操作,MOVAL9,ADDAL8,HTL,机器指令,汇编语言指令,停止操作,翻译完成再运行,及时翻译及时运行等内容,欢迎下载使用。