CH01从pizza说起_第1页
CH01从pizza说起_第2页
CH01从pizza说起_第3页
CH01从pizza说起_第4页
CH01从pizza说起_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、1CH01从从pizza说起说起1. 程序与软件程序与软件2. 问题描述问题描述3. 算法设计算法设计4. 编写程序编写程序5. 运行运行C pp.7-126. C pp.4-77. 小结小结l 练习练习华侨大学商学院电子商务系华侨大学商学院电子商务系2CH01从从pizza说起说起(1) 程序程序指示计算机如何解决问题或是完成任务的一组详细的指示计算机如何解决问题或是完成任务的一组详细的, 逐逐步执行的指令步执行的指令.(2) 软件软件指示计算机完成一个任务的指示计算机完成一个任务的, 以电子格式存储的指令序列以电子格式存储的指令序列和相关的数据和相关的数据. 软件通常用来描述一个商业产品软

2、件通常用来描述一个商业产品, 该产品该产品可能包含不止一个程序可能包含不止一个程序, 并且也可能包含数据并且也可能包含数据.(3) 软件和程序的设计过程软件和程序的设计过程ZRJ97 实用软件工程实用软件工程/郑人杰等编著郑人杰等编著. 2版版. 北京北京:清华清华大学出版社大学出版社, 1997.4Back华侨大学商学院电子商务系华侨大学商学院电子商务系3CH01从从pizza说起说起计划计划需求分析需求分析设计设计编码编码测试测试运行维护运行维护定义阶段定义阶段开发阶段开发阶段维护阶段维护阶段问题描述问题描述算法设计算法设计编写程序编写程序BackZRJ97, pp.11-12, 瀑布模型

3、瀑布模型PAR00, ch.15, 计算机程序设计计算机程序设计华侨大学商学院电子商务系华侨大学商学院电子商务系4CH01从从pizza说起说起(1) 问题描述问题描述: 说明解决问题的要素说明解决问题的要素.(2) 表达清晰的问题描述表达清晰的问题描述能说明问题范畴的任何假设能说明问题范畴的任何假设. 假设指为了方便设假设指为了方便设计而假定的认为是正确的陈述计而假定的认为是正确的陈述.罗列出已知的所有条件罗列出已知的所有条件. 已知信息是你要计算机已知信息是你要计算机帮你解决问题时提供给它的信息帮你解决问题时提供给它的信息.具体说明需要解决什么问题具体说明需要解决什么问题.(3) 问题描述

4、示例问题描述示例Back华侨大学商学院电子商务系华侨大学商学院电子商务系5CH01从从pizza说起说起l 假设假设只有圆形和方形两种形只有圆形和方形两种形状的状的pizza;Pizza之间具有可比性之间具有可比性;一次只比较两个一次只比较两个pizza.l 已知条件已知条件两个两个pizza的形状的形状, 尺寸尺寸和价格和价格.l 求解的问题求解的问题哪个哪个pizza单位面积价格单位面积价格低为最好低为最好.BackTom到到VanGo饼店饼店, 发现发现$8.99可以买一块直径可以买一块直径8英寸英寸的圆形的圆形pizza, 接着在接着在Venice店发现店发现$11.99可以买一块边可

5、以买一块边长长10英寸的方形英寸的方形pizza. 请问请问: 不考虑不考虑pizza质量差异的前提质量差异的前提下下, 哪个更实惠哪个更实惠?PAR00, ch.15, 计算机程序设计计算机程序设计华侨大学商学院电子商务系华侨大学商学院电子商务系6CH01从从pizza说起说起(1) 算法及特点算法及特点算法算法l定义定义1: 解决问题的步骤解决问题的步骤. 它是一个抽象思想它是一个抽象思想, 但同时但同时必须是可表达且可执行的必须是可表达且可执行的. PAR00, pg.429l定义定义2: 广义地说广义地说, 算法是为解决一个问题而采取的方算法是为解决一个问题而采取的方法和步骤法和步骤.

6、 pg.15算法的特点算法的特点 pg.19(2) 算法描述工具算法描述工具 pp.20-34Back华侨大学商学院电子商务系华侨大学商学院电子商务系7CH01从从pizza说起说起l 有穷性有穷性 包含有限的操作步骤包含有限的操作步骤. 有限是有限是指指”在合理范围之内在合理范围之内”.l 确定性确定性 含义是唯一的含义是唯一的, 无歧义性无歧义性(无二无二义性义性).l 有零个或多个输入有零个或多个输入 输入指在执行算法时需要从外输入指在执行算法时需要从外界获取的信息界获取的信息.l 有一个或多个输出有一个或多个输出 没有输出的算法是没有意义的没有输出的算法是没有意义的.l 有效性有效性

7、每个步骤都应当能有效地执行每个步骤都应当能有效地执行.ChoosepizzaShape 1Size 1Price 1Shape 2Size 2Price 2实惠的实惠的 pizzaBack华侨大学商学院电子商务系华侨大学商学院电子商务系8CH01从从pizza说起说起l 自然语言自然语言产生歧义的问题产生歧义的问题 pg.20l 流程图流程图1966, C. Bhm and G. Jacopini.三种基本结构三种基本结构: 顺序顺序, 选选择和循环择和循环. pg.24基本结构的顺序组合可以基本结构的顺序组合可以表示任何复杂的算法结构表示任何复杂的算法结构l N-S流程图流程图1973, I

8、. Nassi and B. Shneiderman.l PAD图图, 伪代码伪代码, 计算机计算机语言等语言等(略略)l 假设假设只有圆形和方形两种形状只有圆形和方形两种形状的的pizza;Pizza之间具有可比性之间具有可比性;一次只比较两个一次只比较两个pizza.l 已知条件已知条件两个两个pizza的形状的形状, 尺寸和尺寸和价格价格.l 求解的问题求解的问题哪个哪个pizza单位面积价格低单位面积价格低为最好为最好.Back华侨大学商学院电子商务系华侨大学商学院电子商务系9CH01从从pizza说起说起l S1: 输入输入Shape1, Size1, Price1l S2: Are

9、a1Size1Size1l S3: 若若Shape1是圆形是圆形, 则则Area1Area1/4l S4: UnitPrice1Price1/Area1l S5: 输入输入Shape2, Size2, Price2l S6: Area2Size2Size2l S7: 若若Shape2是圆形是圆形, 则则Area2Area2/4l S8: UnitPrice2Price2/Area2l S9: 若若UnitPrice1UnitPrice2, 则输出则输出”Pizza 2!”, 否则否则若若UnitPrice1=UnitPrice2, 则输出则输出”The same!”, 否则输否则输出出”Piz

10、za 1!”.SizeSizeBack华侨大学商学院电子商务系华侨大学商学院电子商务系10CH01从从pizza说起说起起止框起止框输入输出框输入输出框判断框判断框处理框处理框连接点连接点注释框注释框流程线流程线BEGININPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4UnitPrice1Price1/Area11YESNO华侨大学商学院电子商务系华侨大学商学院电子商务系11CH01从从pizza说起说起起止框起止框输入输出框输入输出框判断框判断

11、框处理框处理框连接点连接点注释框注释框流程线流程线Area2Size2Size2Shape2 is circleArea2Area2/4UnitPrice2Price2/Area22YESNO1华侨大学商学院电子商务系华侨大学商学院电子商务系12CH01从从pizza说起说起起止框起止框输入输出框输入输出框判断框判断框处理框处理框连接点连接点注释框注释框流程线流程线UnitPrice1UnitPrice2OUTPUT: “Pizza 2!”YESNO2UnitPrice1=UnitPrice2OUTPUT: “Pizza 1!”ENDOUTPUT: “The same!”YESNOBack华侨

12、大学商学院电子商务系华侨大学商学院电子商务系13CH01从从pizza说起说起ABABTrueFalseConditionWhen condition is trueAUntil condition is trueA顺序结构顺序结构选择结构选择结构循环结构循环结构-当型当型循环结构循环结构-直到型直到型Shape2 is circleShape1 is circleINPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Area2Size2Size2Area1Area1/4TrueFalseArea2 Are

13、a2/4TrueFalseUnitPrice1Price1/Area1UnitPrice2Price2/Area2UnitPrice1UnitPrice2TrueFalseOUTPUT: Pizza 2!UnitPrice1=UnitPrice2TrueFalseOUTPUT: The same! OUTPUT: Pizza 1!Back华侨大学商学院电子商务系华侨大学商学院电子商务系14CH01从从pizza说起说起(1) 选择程序设计语言选择程序设计语言(2) 选择编程工具选择编程工具(以以C语言为例语言为例)DOS 环境环境: Turbo C 2.0 或或 Turbo C+ 3.0Win

14、dows 环境环境: C+ Builder 或或 Visual C+(3) 编写程序实现算法编写程序实现算法(以流程图为例以流程图为例)Back华侨大学商学院电子商务系华侨大学商学院电子商务系15CH01从从pizza说起说起1. 明确程序需要存储的数据明确程序需要存储的数据及类型及类型 Shape1, Shape2: 字符型字符型lc: circlels: square Size1, Size2: 浮点型浮点型 Price1, Price2: 浮点型浮点型 Area1, Area2: 浮点型浮点型 UnitPrice1, UnitPrice2: 浮点型浮点型BEGININPUT: Shape

15、1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4UnitPrice1Price1/Area11YESNOArea2Size2Size2Shape2 is circleArea2Area2/4UnitPrice2Price2/Area22YESNO1UnitPrice1UnitPrice2OUTPUT: “Pizza 2!”YESNO2UnitPrice1=UnitPrice2OUTPUT: “Pizza 1!”ENDOUTPUT: “The same!”YESNO华侨大

16、学商学院电子商务系华侨大学商学院电子商务系16CH01从从pizza说起说起2. 声明变量声明变量 Shape1, Shape2: 字符型字符型lc: circlels: square Size1, Size2: 浮点型浮点型 Price1, Price2: 浮点型浮点型 Area1, Area2: 浮点型浮点型 UnitPrice1, UnitPrice2: 浮点型浮点型3. 定义常量定义常量 =3.1415926/* Declare constants */#define PI 3.1415926/* Declare variables */char Shape1, Shape2;floa

17、t Size1, Size2;float Price1, Price2;float Area1, Area2;float UnitPrice1, UnitPrice2;华侨大学商学院电子商务系华侨大学商学院电子商务系17CH01从从pizza说起说起4. 算法算法程序程序BEGININPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4UnitPrice1Price1/Area11YESNO需要系统函数的支持需要系统函数的支持, 指明具体的函数库指明具体

18、的函数库: 标准输入输出库标准输入输出库stdio.#include 读取用户输入的数据读取用户输入的数据.scanf(”%c,%f,%f”, &Shape1, &Size1, &Price1);scanf(”n%c,%f,%f”, &Shape2, &Size2, &Price2);华侨大学商学院电子商务系华侨大学商学院电子商务系18CH01从从pizza说起说起4. 算法算法程序程序BEGININPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4U

19、nitPrice1Price1/Area11YESNOArea1 = Size1 * Size1;华侨大学商学院电子商务系华侨大学商学院电子商务系19CH01从从pizza说起说起4. 算法算法程序程序BEGININPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4UnitPrice1Price1/Area11YESNOif (Shape1 = c) Area1 = Area1 * PI / 4;华侨大学商学院电子商务系华侨大学商学院电子商务系20CH

20、01从从pizza说起说起4. 算法算法程序程序BEGININPUT: Shape1, Size1, Price1INPUT: Shape2, Size2, Price2Area1Size1Size1Shape1 is circleArea1Area1/4UnitPrice1Price1/Area11YESNOUnitPrice1 = Price1 / Area1;华侨大学商学院电子商务系华侨大学商学院电子商务系21CH01从从pizza说起说起4. 算法算法程序程序UnitPrice2 = Price2 / Area2;Area2Size2Size2Shape2 is circleArea2

21、Area2/4UnitPrice2Price2/Area22YESNO1Area2 = Size2 * Size2;if (Shape2 = c) Area2 = Area2 * PI / 4;华侨大学商学院电子商务系华侨大学商学院电子商务系22CH01从从pizza说起说起4. 算法算法程序程序 pizza.cUnitPrice1UnitPrice2OUTPUT: “Pizza 2!”YESNO2UnitPrice1=UnitPrice2OUTPUT: “Pizza 1!”ENDOUTPUT: “The same!”YESNOif (UnitPrice1 UnitPrice2) printf

22、(”Pizza 2!n”);else if (UnitPrice1 = UnitPrice2) printf(”The same!n”); else printf(”Pizza 1!n”); Back华侨大学商学院电子商务系华侨大学商学院电子商务系23CH01从从pizza说起说起(1) DOS环境环境(2) 安装编程工具安装编程工具 Turbo C 2.0 Turbo C+ 3.0(3) 使用使用Turbo C 2.0l 操作系统操作系统: Windows XPl 软件安装位置软件安装位置: F盘盘l 解压缩安装软件解压缩安装软件 TC 2.0: tc2.zip位置位置: F:tc2 (安装

23、完毕安装完毕) TC+ 3.0: tcpp3.zip位置位置: F:tcpp3l 程序位置程序位置: F:example开始开始编辑编辑编译编译有错有错?连接连接执行执行结果正确结果正确?结束结束源程序源程序pizza.c目标程序目标程序pizza.obj库函数库函数及其他及其他目标程序目标程序可执行可执行目标程序目标程序pizza.exe有有不正确不正确正确正确无无pg.8Back华侨大学商学院电子商务系华侨大学商学院电子商务系24CH01从从pizza说起说起l 进入进入DOS环境环境 开始开始/运行运行 (R) 输入输入”command”, 确定确定l 全屏全屏/窗口模式切换窗口模式切换

24、 Alt+Enter(回车回车)l 退出退出DOS环境环境 C:DOCUME1LEMONexitl 进入进入F盘盘 C:DOCUME1LEMONf: F:l 进入进入F盘盘”tc2”文件夹文件夹 F:cd tc2 F:TC2l 进入进入F盘盘”tcpp3”文件夹文件夹 F:TC2cd tcpp3full F:TCPP3Back华侨大学商学院电子商务系华侨大学商学院电子商务系25CH01从从pizza说起说起l 假定假定: 安装在文件夹安装在文件夹”F:tc3”l 进入进入DOS环境环境l 进入进入F盘盘l 进入进入F盘盘”tcpp3”文件夹文件夹l 执行执行”install.exe” F:TC

25、PP3installl 根据提示安装根据提示安装 按按Enter(回车回车)键继续键继续 输入安装文件夹所在盘符输入安装文件夹所在盘符: ”F”, 回车回车 输入安装文件夹位置输入安装文件夹位置: ”tcpp3”, 回车回车 选择选择”Directories F:TC”, 回车回车, 修改文件夹为修改文件夹为”F:TC3”, 按按ESC键退出键退出 选择选择”Start Installation”开始安装开始安装Back华侨大学商学院电子商务系华侨大学商学院电子商务系26CH01从从pizza说起说起l 修改快捷方式修改快捷方式右键点击快捷方式右键点击快捷方式, 属性属性(R)选择选择常规常规

26、选项卡选项卡, 取消取消只读只读(R)选择选择程序程序选项卡选项卡, 修改修改命令行命令行(L):为为”f:tc2tc.exe”, 设置设置工作目录工作目录(W):为为”f:tc2”, 确定确定将快捷方式拖放到将快捷方式拖放到”桌面桌面”l 运行运行Turbo C 2.0双击快捷方式双击快捷方式DOS方式方式, F:TC2tc华侨大学商学院电子商务系华侨大学商学院电子商务系27CH01从从pizza说起说起l 设置设置Turbo C 2.0 Options说明说明:l 文件夹文件夹”F:example”存放源程序存放源程序.l 创建文件夹创建文件夹”F:exampleexe”, 存放编译存放编

27、译, 连接过程产生的文件连接过程产生的文件.设置目录设置目录 Directories (必须正确设置必须正确设置)l Include directories: f:tc2includel Library directories: f:tc2libl Output directory: f:exampleexel Turbo C directory: f:tc2设置环境设置环境 Environment (可选可选)l Tab size: 4 (按按Tab键缩进键缩进4个英文字母个英文字母)保存设置保存设置 Save options (必须保存必须保存)华侨大学商学院电子商务系华侨大学商学院电子商

28、务系28CH01从从pizza说起说起l Turbo C 2.0界面介绍界面介绍主菜单栏主菜单栏编辑窗口编辑窗口状态栏状态栏消息窗口消息窗口操作提示栏操作提示栏华侨大学商学院电子商务系华侨大学商学院电子商务系29CH01从从pizza说起说起l 常用命令介绍常用命令介绍File (Alt+F)l Load (F3): 打开程序打开程序l New: 写新程序写新程序l Save (F2): 保存程序保存程序l Write to: 另存程序另存程序l Quit (Alt+X): 退出退出Turbo C 2.0Compile (Alt+C)l Compile to OBJ: 将源将源程序编译成目标程

29、序程序编译成目标程序l Make EXE file (F9): 连接目标程序并生成可执连接目标程序并生成可执行文件行文件Run (Alt+R)l Run (Ctrl+F9): 运行程序运行程序l User screen (Alt+F5): 查查看程序运行结果看程序运行结果, 按按Alt+F5 返回返回快捷键快捷键l Switch (F6): 切换子窗口切换子窗口l Zoom (F5): 最大化最大化/恢复编恢复编辑窗口辑窗口l Help (F1): 帮助帮助华侨大学商学院电子商务系华侨大学商学院电子商务系30CH01从从pizza说起说起l 运行运行C程序程序编辑编辑l 也可以用也可以用”记事

30、本记事本”编写源编写源程序程序l 保存源程序保存源程序(F2)编译编译, 连接连接l 打开源程序打开源程序(F3)l 编译连接程序编译连接程序(F9)执行执行l 执行程序执行程序(Ctrl+F9)l 查看运行结果查看运行结果(Alt+F5)返回返回(Alt+F5)开始开始编辑编辑编译编译有错有错?连接连接执行执行结果正确结果正确?结束结束源程序源程序pizza.c目标程序目标程序pizza.obj库函数库函数及其他及其他目标程序目标程序可执行可执行目标程序目标程序pizza.exe有有不正确不正确正确正确无无Back华侨大学商学院电子商务系华侨大学商学院电子商务系31CH01从从pizza说起

31、说起l C程序程序: pizza.cl pp.4-7: (1),(2),(3),(4),(6),(7)l C程序是由函数构成的程序是由函数构成的. 一个一个C源程序只有一个主函数源程序只有一个主函数(main).l C程序书写格式自由程序书写格式自由. 一个语句可以分多行书写一个语句可以分多行书写. 多个语句可以写在一行多个语句可以写在一行.l C语言本身没有输入输出语句语言本身没有输入输出语句.l C程序中可以适当添加注释程序中可以适当添加注释 注释可以增强程序的可读性注释可以增强程序的可读性. 注释用注释用 /* */ 描述描述. pg.4l C语言是大小写敏感的语言是大小写敏感的 ”Size1”与与”size1”是不同的是不同的.BackKen Thompson & Dennis M. Ritchie图灵奖获得者图灵奖获得者(1983)华侨大学商学院电子商务系华侨大学商学院电子商务系32CH01从从pizza说起说起l熟悉程序设计过程熟悉程序设计过程问题描述问题描述, 算法设计算法设计, 编写代码编写代码.l掌握算法的概念及流程图表示掌握算法的概念及流程图表

温馨提示

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

评论

0/150

提交评论