程序与程序设计语言漳州立人学校王高顺新课引入乐谱?程序?新课引入乐谱与程序,是两个不同范畴的概念,前者是听觉世界的艺术,后者是信息世界的艺术,就他们所赋予的使命来说,却有异曲同工之处。乐谱是音乐的符号,记录了作曲家的情感,程序是算法的描述,记录了程序员的思想,他们都肩负着表达思想、传递信息的重任,都能带来不同的欣赏主体的心灵感受。程序经过前两节课,我们经历了用计算机解决问题的基本过程,对计算机程序有了一定的了解,知道了程序实际是一组机器操作的指令或语句的序列,是算法的一种描述。程序和程序设计开始输入a和b的值求x=2a-b/2求y=b/2-a输出x和y的值结束算法流程图“鸡兔同笼”问题:一个笼子里有鸡和兔,现在只知道里面一共有a个头,b只脚,问鸡和兔各有多少只?设所求的鸡数是x,兔数是y,已知笼子里头是a,脚数是b。可得:解方程组得:x=2a-b/2,y=b/2-abyxayx42分析问题求解“鸡兔同笼问题”的算法与程序算法程序PrivateSubCommand1_Click()(1)输入a和b的值a=InputBox(“a=”,“输入头数”)b=InputBox(“b=”,“输入脚数”)(2)求x=2a-b/2X=2*a-b/2(3)求y=b/2-aY=b/2-a(4)输出x,y的值Print“鸡数x=”;x,“兔数y=”;y(5)结束EndSub上机练习一编写VB程序求解鸡兔同笼问题。输入a=35,b=94“求100以内能被3整除的数”的算法与程序算法程序PrivateSubCommand1_Click()(1)I=1I=1Do(2)如果I能被3整除,则输出IIfIMod3=0ThenPrintI(3)I=I+1I=I+1(4)如果I≤100,则返回第(2)步LoopWhileI=100(5)结束EndSub上机练习二编写VB程序求解100以内能被3整除的数。程序的特征每一个算法的步骤对应着程序设计语言的一个或多个语句,每个语句对应一个或多个操作除非特别声明,程序都从第一条语句开始顺序执行程序总是施行操作于某些对象即数据数据一般应该有属性和取值范围,即类型说明有时语句要求执行者作出判定,即在某种条件成立的情况下执行一条或一组语句,否则执行另一条或另一组语句。一条或一组语句可能需要执行一次以上,当要重复时,必须指明重复次数或重复的条件程序本身是一个静态实体,而执行语句的进程是动态的。程序的基本结构程序是由若干个基本结构组成的,而一个基本结构可以包含一条或者若干条语句。一般地,程序有3种最基本的结构:顺序结构、选择结构和循环结构。在求解“鸡兔同笼问题”的程序中,各语句是依次按顺序执行的,这种控制结构称为顺序结构(SequenceStructure)S1S2Sn…程序的基本结构S1C否是在“求100以内能被3整除的数”的程序中,语句PrintI要通过检验条件“IMod3=0”是否成立来决定做还是不做,这种控制结构称为选择结构(SelectionStructure)在“求100以内能被3整除的数”的程序中,有两个语句“IfIMod3=0ThenPrintI”和“I=I+1”需要重复执行,直到I100为止,这种控制结构称为循环结构(LoopStructure)S1S2C使用三种基本控制结构的组合来表现程序,可以改善程序的清晰度,提高程序的可读性S1S2Sn…S1C否是S1S2C计算机程序具体问题程序设计分析问题、建立模型、设计算法、编写程序一个高质量的程序,应具备以下的条件:1、建立正确的数学模型和确定有效的计算方法2、运行结果必须正确,且在进度和其他各方面均满足要求3、程序本身具有良好的结构,逻辑清楚,易读易懂4、程序运行时间尽可能短,同时尽可能合理地使用内存5、便于检查、修正、移植和维护程序设计一个高质量的程序,应具备什么条件?自主学习——程序设计语言的产生与发展阅读课本P18-21,思考并回答下列问题:1.列举你所知道的计算机程序设计语言2.比较机器语言、汇编语言、高级语言的优势与不足3.什么是程序的编辑?程序的翻译?编译型语言与解释型语言的区别程序设计语言的产生与发展程序设计语言是指人们编制程序所使用的计算机语言。程序设计语言经历了从机器语言到高级语言的发展历程。机器语言(只用0和1组成的机器代码)能被计算机直接接受和执行,难以理解,设计任务繁重,效率低下。用intel80386机器指令完成“9+8”的加法运算指令序号机器指令指令功能11011000000001001把加数9送到累加器AL中20000010000001000把累加器AL中的内容与另一数相加,结果存在AL中(即完成9+8的运算)311111000停止操作汇编语言使用一种类似英语缩略词且带有助记性符号的语言与特定机器有关,不能被机器直接接受,必须通过汇编程序的翻译,转换成机器语言,才能被计算机执行理解、调试困难用汇编语言来实现“9+8”运算的有关指令指令序号汇编语言指令指令功能1MOVAL,9把加数9送到累加器AL中2ADDAL,8把累加器AL中的内容与另一数相加,结果存在AL中(即完成9+8的运算)3HLT停止操作高级语言第一个高级程序设计语言是fortran语言,主要用于科学和工程计算。高级语言中使用的表达式更接近数学表达式,使用的语句更接近自然语言。高级语言编写的程序(称为源程序)必须经过翻译器将其翻译成机器语言,才能被计算机执行。高级语言由于抽象度高,源代码与硬件无关,可移植性强。常见的高级语言有fortran,Basic,Pascal,C,C++,java,Prolog程序的编辑和翻译程序的编辑将源程序逐个字符输入到计算机内存;修改源程序;将修改好的源程序保存在磁盘文件中。程序的翻译把高级语言翻译成机器语言的过程成为程序的翻译,高级语言的翻译程序有两种类型:编译程序和解释程序。源程序编译程序连接程序装入程序目标程序可执行程序其他目标程序编译过程结果数据原始数据源程序解释程序解释过程编译程序和解释程序编译程序一般是把整个高级语言源程序全部翻译成机器语言,然后再执行。解释程序是从高级语言中逐句的翻译执行,边翻译,边执行。即:编译型的高级语言在执行前已经全部翻译好了,而解释型的高级语言是在执行时才被翻译的小结程序及程序的特征程序的3种基本结构:顺序结构、选择结构和循环结构程序设计的过程高质量的程序,应具备的条件机器语言、汇编语言、高级语言程序的编辑和翻译编译程序和解释程序