Presentation is loading. Please wait.

Presentation is loading. Please wait.

1/29 程序设计基础 程序设计是计算机学科的核心和灵魂 第一章 程序设计与 C ++语言初步 2/29 介绍一些简单的概念 硬件: 计算机及其它直接参与数据运算或信息交流的 物理设备 软件: 控制计算机硬件功能及其运行的指令、例行程 序和符号语言 程序: 一组按照一定的逻辑的进行组合的指令.

Similar presentations


Presentation on theme: "1/29 程序设计基础 程序设计是计算机学科的核心和灵魂 第一章 程序设计与 C ++语言初步 2/29 介绍一些简单的概念 硬件: 计算机及其它直接参与数据运算或信息交流的 物理设备 软件: 控制计算机硬件功能及其运行的指令、例行程 序和符号语言 程序: 一组按照一定的逻辑的进行组合的指令."— Presentation transcript:

1

2 1/29 程序设计基础 程序设计是计算机学科的核心和灵魂 第一章 程序设计与 C ++语言初步

3 2/29 介绍一些简单的概念 硬件: 计算机及其它直接参与数据运算或信息交流的 物理设备 软件: 控制计算机硬件功能及其运行的指令、例行程 序和符号语言 程序: 一组按照一定的逻辑的进行组合的指令

4 3/29 一、计算机程序 —— 算法、实体、程序 1. 算法 —— 先看一个例子 将 9,6,7,3,4 按照从小到大的顺序排列 9673436794 3679434796 34796 34697 3469734679

5 4/29 问题抽象 : 任意一组正整数 a1,a2,a3,…,an, 按照从小到大排序 算法描述 : Step1 :数列分成两个部分,左侧已经排序部分,右侧尚未排序部分。 Step2 :未经排序数据中的最小一个挑出来 Step3 :与未排序部分最左侧的第一个未排序元素位置互换。 Step4 :已排序部分增加了一个数据,而未排序部分减少了一个数据。 Step5 :回到 Step2 , 直到未排序部分为空。

6 5/29 算法: 算法的基本特点: 算法是一个集合,由一组明确定义的规则组 成,这些规则定义了在有限步骤内解决某种 特定类型问题的操作序列。 输入:部分操作数在算法执行前就具有确定值。 输出:执行过程中产生,执行后被保存或传递给调用者的数据。 确定性:每个操作都具有确定意义,从而整个算法的功能也是确定的 有限性:执行必须能够在运行有限次后结束,在有限时间内解决问题 可行性:算法内的操作及其顺序控制是可实现的。

7 6/29 9673436794 3679434796 3479634697 3469734679 输入 输出 确定 有限 可执行

8 7/29 思考题 两个有序数列 ( 从小 -> 大 ) : A:{a 1,a 2, …, a m } 和 B{a 1,a 2,…,a n } , 按照从小到大的顺序合并排列成一个有序数列

9 8/29 2. 实体 实体的概念:现实生活中的 客观事物(人、动物、 企业、部门等等) 实体的特点:一个实体应有一个名字,应有描述这 个实体特征的数据(状态),应有作用于这些实体 上面的操作(行为) 银行账户 存款 输入:存款金额 m 输出:无 step :增加存款余额 b= m+b 取款 输入:取款金额 m 输出:已取金额 m ’ step1 : if(m>b+v) m’=0 goto step2 else m’=m,b=b-m step2 :超额透支,终止 实体 账号 户名 地址 密码 当前余额 b 透支额度 v 属性 行为

10 9/29 从实体出发 or 从行为出发? A:{a1,a2, …,am} 从小到大排序 A:{a1,a2, …,am} 数组操作: 升序、降 序、最大值、最小值、 均值、方差 …… 行为 实体

11 10/29 #include void main() { float fRectWidth, fRectHight; fRectWidth = 5; fRectHight = 10; rectarea = fRectWidth * fRectWidth; rectperimeter = 2*(fWidth+fHight); cout<<" 长方形的面积是: "<<rectarea<<"\n"; cout<<" 长方形的周长是: "<<rectperimeter<<"\n"; } class RECTANGLE{ private: float fWidth; float fHight; public: RECTANGLE(float width,float hight){fWidth = width; fHight = hight;} float rectarea(){return fWidth*fHight;} float rectperimeter(){return 2*(fWidth+fHight);} }; void main() { RECTANGLE rect1(5,10); cout<<" 长方形的面积是: "<<rect1.rectarea()<<"\n"; cout<<" 长方形的周长 "<<rect1.rectperimeter()<<"\n"; }

12 11/29 3. 程序: 实体在计算机中的体现 数据在计算 机内部表示 计算机只能识别和理解二进制数: 0 和 1 所有由计算机处理的数据都必须表示为二进制 数 程序在计算 机内部表示 机器语言:机器也有自己固定词汇,称为指令系 统,每一条指令都要 0 和 1 组成。 程序:是由指令及数据组成。 编译器与解释器

13 12/29 特点:二进制表示、面向机器、直接运行。 特点:符号化的机器语言、面向机器、翻译后运行。 特点:类自然语言、面向问题、翻译后运行。 翻译系统 高级语言程序二进制机器语言 2+3 010100100011ADD 2,32+3 编译或解释程序。 语言发展 机器 语言 汇编 语言 高级 语言

14 13/29 二、程序设计的演变 2. 结构化 程序设计 2. 结构化 程序设计 1. 早期 程序设计 1. 早期 程序设计 3. 面向对象 程序设计 3. 面向对象 程序设计

15 14/29 结构化程序设计 exp A AB A B C 三种基本控制结构 顺序结构选择分支循环结构  有一个入口  有一个出口  结构中每一部分都应当有被执行到的机会, 也就是说, 每一部分都应当有一条从入口到出口的路径通过它  无死循环

16 15/29 面向对象程序设计 实体: 现实生活中的客观事物(人、动物、企业、部门等等) 一个实体应 有一个名字,应有描述这个实体特征的数据 (状态),应有作用于这些实体上面的操作(行为) 对象: 面向对象方法中的对象,是系统中用来描述客观事物的 一个实体,它是用 于构成系统的一个基本单位。 C++ 使用类来描述对象

17 16/29 A:{a1,a2, …,am} 从小到大排序 A:{a1,a2, …,am} 数组操作: 升序、降 序、最大值、最小值、 均值、方差 …… 行为 实体 结构化 : 围绕行为本身来设计 面向对象 : 围绕数据本身来设计

18 17/29 创建项目 编辑文件 程序的编译和运行( vc6.0 ) 优秀程序员的素质之一 : 使用 TAB 缩进 {} 对齐 变量定义 ” 见名知意 ” 有足够的注释 有合适的空行 程序的编译 连接 运行

19 18/29 程序的基本结构 例 1 :一个很特殊的例子 ---- 只有一个主函数 #include void main() { cout<<"Computer Science.\n"; } 类、对象 ( 实体 ) 、主函数 (main)

20 19/29 #include // 利用函数库 iostream 提供的操作在屏幕上输出数据 class ACCOUNT{ float balance; // 本帐户当前的余额 public: ACCOUNT(float amount){ // 开设帐户,同时存入金额 amount. balance=amount; } void deposit(float amount){ // 往帐户中存款,存款金额为 amount. balance=balance+amount; } int withdraw(float amount){ if(amount>balance){ // 判断是否透支 return 0; // 如果透支则不作取款,返回 0 表示取款不成功 }else{ balance=balance-amount; // 减少当前的存款余额 return 1; // 返回 1 表示取款成功 } float get_balance(){ return balance; // 返回当前的余额 } };

21 20/29 main() { // 开设帐户 ACCOUNT acc1(500); // 开设第一个帐户 acc1, 同时存入 500 元 ACCOUNT acc2(1500);// 开设第二个帐户 acc2, 同时存入 1500 元 // 存款与取款 acc1.deposit(255.5); // 往帐户 acc1 中存入 255.5 元 acc2.deposit(500); // 往帐户 acc2 中存入 500 元 acc2.withdraw(700); // 往帐户 acc2 中取出 700 元 acc1.withdraw(700); // 往帐户 acc1 中取出 700 元 acc2.withdraw(350); // 往帐户 acc2 中取出 350 元 // 查询余额并在屏幕上显示 cout<<" 帐号 1 的余额还有 "<<acc1.get_balance()<<" 元 \n"; cout<<" 帐号 2 的余额还有 "<<acc2.get_balance()<<" 元 \n"; return 1; }

22 21/29 由一个主函数,加上 0 个或者若干个其它函数、 0 个或若 干个其它的类组成。 程序的执行总是从主函数开始,而不管主函数放在程序 的任何位置; 由主函数调用其它函数(类的行为)、主函数执行完, 程序也就执行完。 C++ 程序的基本构成: C++ 语言程序中有一个特殊的函数,称为主函数 main( ) ,这 是程序执行的入口,用于实现单入口 / 单出口结构。 一个 C 语言程序有且只有一个主函数

23 22/29

24 23/29

25 24/29

26 25/29

27 26/29

28 27/29

29 28/29

30 29/29


Download ppt "1/29 程序设计基础 程序设计是计算机学科的核心和灵魂 第一章 程序设计与 C ++语言初步 2/29 介绍一些简单的概念 硬件: 计算机及其它直接参与数据运算或信息交流的 物理设备 软件: 控制计算机硬件功能及其运行的指令、例行程 序和符号语言 程序: 一组按照一定的逻辑的进行组合的指令."

Similar presentations


Ads by Google