1.1-1.2程序的基本概念和程序设计.ppt_第1页
1.1-1.2程序的基本概念和程序设计.ppt_第2页
1.1-1.2程序的基本概念和程序设计.ppt_第3页
1.1-1.2程序的基本概念和程序设计.ppt_第4页
1.1-1.2程序的基本概念和程序设计.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/7/31,兰州工业高等专科学校计算机工程系,1,导学,“Java语言是长时间以来最卓越的程序设计语言” 专业平台课程 内容体系 实践环节 学习方法,2020/7/31,兰州工业高等专科学校计算机工程系,2,2020/7/31,兰州工业高等专科学校计算机工程系,3,2020/7/31,兰州工业高等专科学校计算机工程系,4,2020/7/31,兰州工业高等专科学校计算机工程系,5,学习方法,1. 案例学习; 2. 任务驱动法; 3. 多读、多写程序; 4. 小组学习、协作学习; 5. 注意编程规范; 6.API 边学边用。,2020/7/31,兰州工业高等专科学校计算机工程系,6,1.1

2、 程序的基本概念,问题:“裁纸登月球” /* *地球离月球的距离是385000KM,有人说: *“将一张纸裁成两等份,把裁成的两张摞 *起来,再裁成两等份。如此重复下去, *第43次后所有纸的高度便相当于地球到 *月球的距离。”一张纸的厚度是0.006cm, *你相信吗? */,2020/7/31,兰州工业高等专科学校计算机工程系,7,想一想:,1 裁纸摞起来:paperThick*2 2 记录次数:n+1 3 重复1和2两步(当纸厚=385000KM ) 准备工作: 先让paperThick=0.006cm n=0,2020/7/31,8,2020/7/31,兰州工业高等专科学校计算机工程系

3、,9,public class EarthToMoonDistance public static void main(String args) float paperThicker = 0.006f; int n = 0; while(paperThicker = 38500000000f) paperThicker = paperThicker *2; n+; System.out.println(纸厚=+ paperThicker ); System.out.println(裁纸次数=+n); ,2020/7/31,兰州工业高等专科学校计算机工程系,10,思考,什么是算法?如何表示? 什

4、么是程序? 如何表现?,2020/7/31,兰州工业高等专科学校计算机工程系,11,1.1.1 算法,远在计算机未出现前,人类就已经积累了针对解决各类问题的丰富经验,这种用于 解决特定问题的一个具体过程称为“算法”。,2020/7/31,兰州工业高等专科学校计算机工程系,12,112 实体及特征,除数学问题外,现实生活中的许多行为也可以用算法来描述。,2020/7/31,兰州工业高等专科学校计算机工程系,13,银行存款可表达为:,输入: 存款金额a和当前余额b. 输出: 新余额b。 步骤1: 令b=b十a并终止程序。,2020/7/31,兰州工业高等专科学校计算机工程系,14,银行取款则可描述

5、为:,输入: 取款金额a、当前余额b和透支限额m。 输出:已取金额a、和新余额b。 步骤1: 如果ab+m则令a=0、b=b并转向步骤2; 否则令a=a、b=b-a并终止程序。 步骤2: 警告超额透支并终止程序。,2020/7/31,兰州工业高等专科学校计算机工程系,15,存款与取款都围绕着账户余额这一数据进行操作,这两个行为密切相关。按照日常思维习惯,银行账户通常被看作是一个整体事物, 银行帐户的结构:账号、户名、余额等信息 银行帐户的行为:存款、取款(禁止超额透支)。 不同账户个体虽然结构相同,但所具有的信息却可能不同,例如张三的账户与李四的账户有不同的账号和户名,它们的存款余额也不一定相

6、同。,2020/7/31,兰州工业高等专科学校计算机工程系,16,启示,这里涉及两个不同范畴的概念:银行账户是一个抽象的、一般化的集合性概念,而张三的账户、李四的账户等则是具体的、实实在在的个体。通过观察和分析不同的个体,抽象出一般化的实体概念,这种抽象概念称为“类型”,类型中的个体称为“实例”。,2020/7/31,兰州工业高等专科学校计算机工程系,17,实体,这样一类整体事物称为实体。描述一个实体的概念时,至少应涉及三方面特性:属性、行为和约束。例如对银行账户而言,属性有账号、户名、密码、当前余额、透支限额等,行为有存款和取款,约束则是任何时候禁止超额透支。,2020/7/31,兰州工业高

7、等专科学校计算机工程系,18,实体示例:银行账户,属性: 账号、户名、密码、当前余额b、透支限额m 行为: 存款 取款 约束:b十m0,2020/7/31,兰州工业高等专科学校计算机工程系,19,启示,从系统状态的角度看,实体的属性表达了实体的状态,这些状态可由实体的行为来改变,并且实体状态在任何时刻都满足实体的约束,2020/7/31,兰州工业高等专科学校计算机工程系,20,113 程序,为求解一个问题,应首先寻找解决问题的算法和实体,然后将算法与实体转换为计算机程序。 程序是算法和实体在计算机系统中的体现。,2020/7/31,兰州工业高等专科学校计算机工程系,21,12 程序设计,1.2

8、.1 程序设计语言的发展 1.2.2 程序设计概念,2020/7/31,兰州工业高等专科学校计算机工程系,22,1.2.1程序设计语言的发展,1面向机器的语言 (1)机器语言 (2)汇编语言 (3)特点 优点:面向机器,可以充分发掘硬件的潜力,拥有较高的运行效率 缺点:可读性差;可移植性几乎没有。,2020/7/31,兰州工业高等专科学校计算机工程系,23,1.2.1程序设计语言的发展,2面向过程的语言(高级语言) 面向过程的程序设计的核心是数据结构和算法。 常用语言:BASIC、FORTRAN、Pascal、C等 编译程序或解释程序 3面向对象的语言 C+、Java,2020/7/31,兰州

9、工业高等专科学校计算机工程系,24,1.2.2 程序设计概念,程序设计可看作是为解决某一特定问题而构造一种专用工具的智力活动。 程序设计工作必须具备4方面的知识:应用领域知识、程序设计方法、程序设计语言、程序设计环境与工具 。,2020/7/31,兰州工业高等专科学校计算机工程系,25,应用领域知识,应用领域知识是构造实体属性、行为与约束的基础。 例如,求解最大公约数问题须具备数论方面的知识,了解最大公约数的基本概念与特性 要解决银行账户管理问题,也须具备银行账户的有关知识 如果程序员不具备应用领域的知识,对程序设计方法与程序设计语言再熟练也是巧妇难为无米之炊。,2020/7/31,兰州工业高

10、等专科学校计算机工程系,26,程序设计方法,结合应用领域的知识,遵循明确的步骤、运用适当的思维方式构造出实体,设计相应的数据结构或算法,-程序设计方法 自顶向下的开发方法 自底向上的构造方法,2020/7/31,兰州工业高等专科学校计算机工程系,27,程序设计语言,使用计算机解决问题时,必须将算法和实体转换为程序,这就需要掌握程序设计语言这个工具。 除少数系统软件外,目前的程序一般采用高级语言编写。,2020/7/31,兰州工业高等专科学校计算机工程系,28,程序设计环境与工具,对于大型、实用的程序,经常还借助程序设计环境与工具。 程序设计环境与工具提供了许多可重复使用的基本程序供开发应用程序时使用,这些基本程序通常以“程序包或“库的形式提供。,2020/7/31,兰州工业高等专科学校计算机工程系,29,本课程主要介绍程序设计方法与程序设计语言两方面的知识,应用领域的知识需要读者在实际开发中不断积累,而程序设计环境与工具的知识则需要读者根据自己使用的开发环境与工具选择合适的参考手册自行学习。,2020/7/31,兰州工业高等专科学校计算机工程系

温馨提示

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

评论

0/150

提交评论