第一章程序设计概述_第1页
第一章程序设计概述_第2页
第一章程序设计概述_第3页
第一章程序设计概述_第4页
第一章程序设计概述_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.程序设计语言2.程序与程序设计3.算法的基本概念和特征4.程序设计方法5.习题一第一章程序设计概述5《FORTRAN90程序设计》课多媒体课件1.1程序设计语言/概述

任何一个计算机系统都是按照人们用某种程序设计语言编写的程序进行工作,人们通过程序设计语言编写的程序来指挥和控制计算机运行。程序设计语言是人与计算机进行交流的有效工具,伴随计算机诞生而诞生,伴随计算机发展而发展,在计算机科学技术的发展过程中,发挥了巨大作用。对于计算机来说,如果说CPU是计算机心脏,那么程序设计语言及其程序就是其灵魂。了解和掌握程序设计语言和程序设计方法是驾驭和运用计算机系统的重要一环。

概述

分类

概念

描述

示例

1.1程序设计语言WORD软件程序设计语言计算机人人第一章程序设计概述1.1程序设计语言/分类

目前,程序设计语言种类很多,各有特色,但本质相同。程序设计语言属于人工语言、形式语言、非自然语言。程序设计语言分:低级语言(机器语言、汇编语言)、高级语言。源程序、目标程序、汇编程序、编译程序之关系。1.1程序设计语言程序设计语言低级语言高级语言机器语言汇编语言机器语言目标程序高级语言源程序汇编语言程序机器语言目标程序编译程序

汇编程序

概述

分类

概念

描述

示例

第一章程序设计概述语言示例比较本课程36课时,双周上机第一章程序设计语言概述0010001100000010-----将2送累加器A0000001100000011-----将3与累加器相加,结果在累加器00110111-----将累加器数取反,求反码00010111-----将累加器数加1,求补码,结果为-50000001100000100-----将4与累加器相加,结果-1在累加器00110111-----将累加器数取反,求反码00010111-----将累加器数加1,求补码,结果为100000010-----将累加器数1从总线输出MOVA,2H-----将2送累加器AADDA,3H-----将3与累加器相加,结果在累加器CPLA-----将累加器数取反,求反码INCA-----将累加器数加1,求补码,结果为-5ADDA,4H-----将4与累加器相加,结果-1在累加器CPLA-----将累加器数取反,求反码INCA-----将累加器数加1,求补码,结果为1OUTLBUS,A-----将累加器数1从总线输出PRINT*,2+3-4-----计算2+3-4,并输出END机器语言程序汇编语言程序高级语言程序1.1程序设计语言/概念

程序设计语言有严格的词法、语法和语义规定,不能有二义性、歧异性和不确定性。词法、语法和语义是程序设计语言三个最基本概念。词法:

组成合法语句的基本单位称为单词,构成合法单词的规则称为词法。词法通常采用严格的形式化描述(如BNF,即巴科斯范式,本书采用此法描述),也有采用语法图描述。程序设计语言规定了一组描述词法的规则,称为词法规则。如:语句“PRINT*,sum,ave”中的“PRINT”、“*”、“,”、“sum”、“ave”都是合法单词,如果将“PRINT”改写成“PRN”,由于“PRN”不是FORTRAN语言的合法单词。

语法:具有特定含义的符号串或句子称为语句,构成合法语句的规则称为语法。语法通常采用严格的形式化描述(如BNF,即巴科斯范式,本书采用此法描述),也有采用语法图描述。程序设计语言规定了一组描述语法的规则,称为语法规则。如:语句“PRINT*,sum,ave”就是符合语法规则的合法语句,如果将其改写成“PRINT,*,sum,ave”就不是一个合法语句。语义:合法语句的实际含义称为该语句的语义。语义通常采用自然语言描述。程序设计语言规定了每一个语句的语义。对语义的理解是否准确,直接影响程序的可靠性和正确性。如FORTRAN语言规定PRINT语句语义是输出,如果理解为输入,则程序将产生错误。

概述

分类

概念

描述

示例

第一章程序设计概述1.1程序设计语言1.1程序设计语言/描述

程序设计语言的词法和语法一般采用形式化描述,语义一般采用自然语言描述。形式化描述有BNF(即巴科斯范式),它是一种特定的形式体系,可看作是描述形式化语言的形式化语言,它定义了一组描述语言的规则。

通常称BNF为元语言,称程序设计语言为对象语言,称规则为产生式,称规则中使用的不属于对象语言的符号为元语言符号(或连接词),称属于对象语言的符号为终结符,称定义产生式的符号为非终结符。BNF中的元语言符号如表1-1所示。例如:描述FORTRAN语言“标识符”的一组产生式规则是:

<标识符>→<字母>{<字母>∣<数字>∣“_”}<字母>→“大写英文字母”∣“小写英文字母”<数字>→“0”∣“1”∣“2”∣“3”∣“4”∣“5”∣“6”∣“7”∣“8”∣“9”

元语言符号含义→定义为∣或者()括号内对象一定其中之一[]括号内对象任取一个对象,也可以不取{}括号内对象可取多次,也可以不取<>括号内对象为元语言符号,称非终结符“”可省略括号内对象为对象语言符号,称终结符

概述

分类

概念

描述

示例

第一章程序设计概述1.1程序设计语言1.1程序设计语言/示例计算物体运动距离的FORTRAN90语言程序:!计算物体运动距离PROGRAMcalculateREALv0,a,t,sREAD*,v0,a,ts=v0*t+0.5*a*t*tPRINT*,'s=',sEND

概述

分类

概念

描述

示例

第一章程序设计概述1.1程序设计语言1.2程序与程序设计/程序程序就是一组符合程序设计语言词法、语法和语义规定的计算机指令或语句组成的语句序列。指令序列规定了指令的执行顺序。程序设计语言是全部计算机指令(或语句)的集合。用程序设计语言编写的程序类似用自然语言写的一份工作计划,如同可写出多份’工作计划一样,用程序设计语言也可写出许多不同的程序,计算机的神奇之处就是可以执行许许多多奥妙无穷的程序。程序有小型、中型、大型和特大型之分,前面程序是一个小型程序,文字处理系统(如:WORD是一个大型程序,Windows操作系统程序是一个特大型程序。程序加文档说明通常称为软件,由于中型、大型和特大型程序一般都配置详细的文档说明,所以一般称其为软件,如文字处理系统WORD一般称“WORD软件”。软件按性质可分为系统软件、支撑软件和应用软件。程序示例。

程序

设计

步骤

1.2程序与程序设计!计算物体运动距离PROGRAMcalculateREALv0,a,t,sREAD*,v0,a,ts=v0*t+0.5*a*t*tPRINT*,'s=',sEND第一章程序设计概述1.2程序与程序设计/程序设计程序设计:采用科学、规范、正确的方法编写程序的过程。程序设计不是一个简单、呆板、单调的程序书写过程,而是一个复杂、灵活、多样的智力活动过程。程序设计包括:问题分析、算法设计编写程序、调试程序、修改程序、结果分析、资料整理的全过程。

一个高素质的程序设计人员应具备以下能力:有较强的逻辑思维能力,严谨的逻辑思维方法。准确理解算法概念和特性,掌握算法设计方法,熟悉常用算法熟练掌握程序设计的基本概念和方法。熟练掌握多种程序设计语言,理解语言的词法、语法和语义。具有较强的计算机操作能力和程序调试经验。1.2程序与程序设计

程序

设计

步骤

第一章程序设计概述1.2程序与程序设计/程序设计步骤分析问题,建立数学模型;设计算法,绘制流程图;

选择语言,编写程序;

调试程序,分析结果;整理资料,撰写文档。进行程序设计要遵循有关的程序设计规则和采用成熟的程序设计方法。程序设计方法有两种:一种是面向过程方法;一种是面向对象方法。前者称为传统方法,后者称为现代方法,代表了程序设计方法的发展趋势。面向过程方法又分为模块化方法和结构化方法。

程序

设计

步骤

第一章程序设计概述1.2程序与程序设计1.3算法的基本概念和特征/算法含义古老含义是采用算术的方法根据已知条件求解未知问题的运算过程,即解题过程。传统含义是采用科学的方法根据现有资料完成某项事务的执行过程。现代含义是采用逻辑思维的方法对获取数据用计算机处理的步骤,即计算机解题步骤或计算机算法,

算法含义

算法特征

评价标准

算法描述1.3算法的基本概念和特征第一章程序设计概述1.3算法的基本概念和特征/算法特征算法有五个基本特征:有穷性:算法是一有穷步骤序列,即一个算法必须在执行有穷步之后结束。确定性:算法中的没一步骤不能有歧义性(二义性、不确定性)。大于等于0个输入:算法开始执行前,可以有0个或若干个输入数据。大于等于1个输出:算法在执行过程中必须有1个以上输出,即算法中必须有输出操作。能行性:算法中的每一步骤是可实现的,即在现有计算机上是可执行的。示例说明。1.3算法的基本概念和特征

问题:计算1+2+3+…+n之和,并输出。

⑴将0赋予sum⑵将1赋予i⑶输入N⑷判断i≤N吗?⑸若i>N,则转⑼⑹将sum+i赋予sum⑺将i+1赋予i⑻转⑷⑼输出sum值⑩结束sum=0i=1

READ*,NWHILEi≤Nsum=sum+Ii=i+1ENDDOPRINT*,sumENDN=100N=100

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征/评价标准算法有五个基本特征:正确性:一个好的算法或程序必须保证执行后的结果正确。可读性:一个好的算法或程序应有良好的可读性。通用性:一个好的算法或程序要尽可能通用,应适用一类问题的求解,提高算法设计的效率。如:设计求解一元二次方程2x2+3x+1=0的算法,该算法最好设计成求解一元二次方程ax2+bx+c=0的算法。高效率:高效率包括时间和空间两个方面。执行速度快、运行时间短、占用内存少。可读性说明示例。通用性说明示例。

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征1.3算法的基本概念和特征/评价标准/可读性算法有五个基本特征:正确性:一个好的算法或程序必须保证执行后的结果正确。可读性:一个好的算法或程序应有良好的可读性。通用性:一个好的算法或程序要尽可能通用,应适用一类问题的求解,提高算法设计的效率。如:设计求解一元二次方程2x2+3x+1=0的算法,该算法最好设计成求解一元二次方程ax2+bx+c=0的算法。高效率:高效率包括时间和空间两个方面。执行速度快、运行时间短、占用内存少。可读性说明示例。通用性说明示例。问题:有长10米,宽5米的一块地,地价是每平方米4000元,求总地价,并输出。!可读性好!求地价,并输出INTEGERlength,width,area,pricePRINT*,’输入地块长宽值:’READ*,length,widtharea=length*widthprice=4000*areaPRINT*,’总地价:’,price,’元’END!可读性差READ*,x,ya=x*yb=4000*aPRINT*,bEND

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征1.3算法的基本概念和特征/评价标准/通用性算法有五个基本特征:正确性:一个好的算法或程序必须保证执行后的结果正确。可读性:一个好的算法或程序应有良好的可读性。通用性:一个好的算法或程序要尽可能通用,应适用一类问题的求解,提高算法设计的效率。如:设计求解一元二次方程2x2+3x+1=0的算法,该算法最好设计成求解一元二次方程ax2+bx+c=0的算法。高效率:高效率包括时间和空间两个方面。执行速度快、运行时间短、占用内存少。可读性说明示例。通用性说明示例。问题:有长10米,宽5米的一块地,地价是每平方米4000元,求总地价,并输出。!通用性好,适合任意长宽地块!求地价,并输出INTEGERlength,width,area,pricePRINT*,’输入地块长宽值:’READ*,length,widtharea=length*widthprice=4000*areaPRINT*,’总地价:’,price,’元’END!通用性差,特定地块x=10y=5a=x*yb=4000*aPRINT*,bEND

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征1.3算法的基本概念和特征/算法描述算法一般有五种描述工具:用自然语言描述算法。用流程图描述算法。用N-S图描述算法。用PAD图描述算法。用伪代码描述算法。自然语言和流程图描述示例。

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征1.3算法的基本概念和特征/算法描述/示例算法一般有五种描述工具:用自然语言描述算法。用流程图描述算法。用N-S图描述算法。用PAD图描述算法。用伪代码描述算法。自然语言和流程图描述示例。问题:计算1+2+3+…+100,并输出。

自然语言描述流程图(框图)描述

⑴将0赋予sum。⑵将1赋予i。⑶判断i≤100吗?⑷若i>100,则转⑻。⑸将sum+i赋予sum。⑹将i+1赋予i。⑺转⑶。⑻输出sum值。⑼结束0=>sum1=>II≤100sum+I=>sumI+1=>I输出sumYN结束开始

算法含义

算法特征

评价标准

算法描述第一章程序设计概述1.3算法的基本概念和特征1.4程序设计方法/概述用计算机解决工作中遇到的各种问题,常常需要设计和编写程序,程序的正确性、可靠性、可读性、可理解性、可修改性和可维护性如何,直接影响计算机的执行结果和使用效率,所以设计和编写程序并不是简单写一个程序,而是保证程序有很高的正确性、可靠性、可读性、可理解性、可修改性和可维护性。要达到这一目的,必须采用科学的程序设计方法。熟练掌握几种好的程序设计方法,是编写高质量程序的基本前提。程序设计方法种类很多,主要有模块化程序设计方法、结构化程序设计方法、面向对象程序设计方法等。

概述

模块化方法

结构化方法

面向对象方法1.4程序设计方法第一章程序设计概述1.4程序设计方法/模块化方法模块是数据说明、可执行语句等程序对象集合,它可独立命名,并通过模块名调用、访问和执行模块,如FORTRAN语言的过程、函数、模块等程序对象。模块化就是把大的程序划分成若干模块,每个模块完成一个子功能,所有模块组成一个整体,相互协调,共同完成特定功能满足问题求解要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论