- 1、本文档共93页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 程序设计基础 程序设计语言 算法与流程图 程序设计方法简介 JavaScript 语言及其运行环境 JavaScript 编程基础 JavaScript流程控制 调试JavaScript程序 JavaScript 函数 4.1 程序设计语言 程序是用计算机语言描述的解决某一问题的步骤,由符合一定词法、语法和语义规则的符号序列组成。 程序设计语言是用于编写计算机程序的语言,包括一组符号定义和相应规则。 4.1.1 语言分类 (1)机器语言是二进制代码语言,能被计算机硬件直接识别并执行。如计算2+3: 00000010 --将2送累加器A;前8位是操作码,后8位是操作数 00000011 --将3与累加器A相加,结果放累加器A --将累加器A中的数(即5)从总线输出 4.1.1 语言分类 (2)汇编语言是用助记符代替操作码、用地址符代替操作数的一种面向机器的低级语言。例如: MOV A,2H 将2送累加器A ADD A,3H 将3与累加器A相加,结果放累加器 OUTL BUS,A 将累加器A中的数(即5)从总线输出 汇编概念:汇编语言程序必须使用汇编程序把它翻译成机器语言后,才能被机器理解、执行。 4.1.1 语言分类 (3)高级语言的表达方法接近于人的自然语言和数学表达式,不依赖于机器的特定属性。例如: Print 2+3 翻译方式: 编译方式:使用编译程序 解释方式:使用解释程序 4.1.2 词法、语法和语义规则 (1)词法:组成合法语句的基本单元称为单词,构成合法单词的规则称为词法。如语句“x1=2”中的x1、=、2是合法单词,而 1x 不是合法变量名。 (2)语法:具有特定含义的符号串称为语句,构成合法语句的规则称为语法。例如:语句“x=*2”符合词法,但不符合语法规则。 (3)语义:合法语句的实际含义称为该语句的语义。对语义的理解是否准确,直接影响程序的正确性和可靠性。例如:在JavaScript中,“x==2”表示判断变量x与数值2是否相等,而“x=2”却表示将2赋值给x。 4.2 算法与流程图 算法是计算机解决问题的方法和步骤,可以使用自然语言、流程图、程序设计语言等描述工具来描述。 4.2.1 流程图 流程图是用一些几何框图、流程线和文字说明表示各种类型的操作。 基本图形和含义 4.2.2 对算法的初步认识 例4.1 将两个变量X和Y的值互换。设X=5,Y=10 用自然语言描述: S1:将Y值存入中间变量Z:Y→Z S2:将X值存入变量Y中:X→Y S3:将中间变量Z的值存入X中:Z→X 用流程图描述 4.2.2 对算法的初步认识 例4.2 求1+2+3+4+…+100 用自然语言描述: S1:设累加和变量S,且0→S;计数变量i,且0→i S2:计算和S+i→S,并把计数变量增值i+1→i。 S3:判断:当i≤100时,返回第2步S2,再次求和;当i100时,顺序执行下一步S4。 S4:输出结果,S为所求之和。 用流程图描述 4.2.3 算法评价标准 ⑴正确性:保证运行结果正确 ⑵可读性:良好的可读性有助于保证算法的正确性。科学、规范的程序设计方法(如结构化方法和面向对象方法)可提高算法的可读性。 ⑶通用性:一个好算法要尽可能通用,可适用于同类问题的求解。 ⑷高效率:效率包括时间和空间两个方面,一个好的算法应执行速度快、占用内存少。可读性要优先于效率,高效率处于次要地位。 4.3 程序设计方法简介 程序设计(Programming)是设计、编制和调试程序的方法和过程,一般包括问题分析、算法设计、程序编写、程序调试、资料整理等步骤。 程序设计的常用方法有结构化程序设计(Structured Programming,SP方法)和面向对象程序设计(Object-Oriented Programming,OOP方法),前者注重事物的表现行为,后者注重事物的结构。 4.3.1 结构化程序设计 结构化程序设计方法 是指按照模块化、层次化的方法来设计程序。其核心思想包括以下三点: (1)程序模块化:是指把一个大程序分解成若干个小程序(即模块)。 (2)语句结构化:是指每个模块用顺序、选择和循环三种流程结构来实现,如图4.6所示。 4.3.1 结构化程序设计 (3)自顶向下、逐步求精的设计过程:一方面是指将一个复杂问题的求解过程分解和细化成由若干个模块组成的层次结构;另一方面是指将每个模块的功能逐步分解、细化为一系列的处理步骤,直至分解为三种基本控制结构的组合。 例4.3 某班80名学生,求该班成绩的不及格率。 首
文档评论(0)