版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、谢谢 祥祥第第 1 1 章章程序设计基础知识程序设计基础知识提提 纲纲1.1 程序与程序语言程序与程序语言1.2 算法和算法的表示算法和算法的表示1.3 结构化程序设计方法结构化程序设计方法计算机计算机硬件硬件软件软件程程 序序程序程序数据数据文档文档程序语言程序语言规则和符号的集合规则和符号的集合与计算机交流的工具与计算机交流的工具程程 序序计算机计算机硬件硬件软件软件#include void main()printf(“what are you doing?n”);程程 序序程序语言程序语言软件软件程序程序语法规则语法规则程序程序数据数据文档文档程序语言程序语言程程 序序计算机计算机硬件
2、硬件软件软件程程 序序|计算机的本质使命计算机的本质使命做人们想让它做的事情做人们想让它做的事情执行指令所规定的操作执行指令所规定的操作|指令指令由由程序语言程序语言中的中的语句语句(statements)构成构成|程序程序做事情的每个步骤做事情的每个步骤求解问题的计算机指令序列求解问题的计算机指令序列|编程编程简单来讲,就是告诉计算机做什么简单来讲,就是告诉计算机做什么为计算机安排指令序列为计算机安排指令序列用计算机语言对所要解决的问题中的数据数据以及处理问题的方法和步骤方法和步骤所做的完整而准确完整而准确的描述程序程序数据数据文档文档程序语言程序语言程程 序序计算机计算机硬件硬件软件软件程
3、序设计程序设计|用某种程序语言编写程序的过程用某种程序语言编写程序的过程|正确:书写正确正确:书写正确 + 结果正确结果正确 - 高质量高质量|包括包括四四步步问题问题 模型模型程序语言程序语言步骤步骤关键词关键词程序程序数据数据文档文档程序语言程序语言程程 序序计算机计算机硬件硬件软件软件程序语言程序语言|自然语言自然语言人与人人与人相互交流信息相互交流信息|程序语言程序语言 人和计算机交流人和计算机交流 有限规则的集合有限规则的集合 规则严谨规则严谨Grammar(语法语法)Meaning(意思意思)Syntax (语法语法) Semantics(语义语义)中文中文, 英语英语,德语德语,
4、 Fortran,B, Pascal,C, C+,Java, 程序语言程序语言1960 Algol-601963 CPL1967 BCPL1970 B1973C1985 C+19501960197019801990FortranAlgol-60CobolSimulaPascalSmalltalkAdaCC+JavaCPLBCPLBANSI C1995 JAVA2000 C#2000C#程序语言程序语言 机器语言机器语言 0 1表示,面向机器 汇编语言汇编语言用助记符取代0 1,面向机器汇编语言经汇编后生成为机器语言在硬件设计等应用较多 高级语言高级语言接近自然语言不面向机器执行过程机器语言机器
5、语言000110111000010100000000000 00111ADD A,BADD A,BC=A+BC=A+B编译编译解释解释先将代码全部转成机器语先将代码全部转成机器语言再执行。生成目标程序言再执行。生成目标程序边读源程序,边生成边读源程序,边生成机器语言,边执行。机器语言,边执行。不生成目标程序。不生成目标程序。编辑程序编辑程序编译程序编译程序链接程序链接程序C 库函数库函数C编译系统编译系统*.c源文件源文件*.obj其它目其它目标文件标文件*.obj目标文件目标文件*.exe可执行程序可执行程序编辑编辑 编译编译 链接链接 运行运行C语言编译过程语言编译过程程序语言程序语言面向
6、对象语言面向对象语言面向过程语言面向过程语言汇编语言汇编语言机器语言机器语言第三代第三代自然语言自然语言 数学表达式数学表达式第二代第二代用符号表示计算机指令用符号表示计算机指令第一代第一代计算机指令的集合计算机指令的集合第四代第四代告诉计算机做什么告诉计算机做什么发展阶段:发展阶段:面向机器语言面向机器语言程序程序设计的设计的基础基础面向对象语言面向对象语言面向过程语言面向过程语言 汇编语言汇编语言机器语言机器语言程序语言程序语言程序语言程序语言面向对象语言面向对象语言面向过程语言面向过程语言 汇编语言汇编语言机器语言机器语言BASIC FORTRAN COBOL C PascalC+ C#
7、 JAVA有效的通用有效的通用程序设计语言程序设计语言提提 纲纲1.1 程序与程序语言程序与程序语言1.2 算法和算法的表示算法和算法的表示1.3 结构化程序设计方法结构化程序设计方法算法的概念算法的概念 解决问题确定的方法确定的方法和有限的步骤有限的步骤 “一个算法,就是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。”对同一个问题,可有不同的解题方法和步骤算法决定了程序的质量例: 求1001nn算法的要素算法的要素 两要素两要素: 基本功能操作基本功能操作 + + 控制结构控制结构算术运算: 逻辑运算:与 或 非数据比较: 等于 不等于数据传送:输入 输出 赋值顺
8、序结构顺序结构功能操作功能操作控制结构控制结构分支结构分支结构 循环结构循环结构 算法的基本特征算法的基本特征 算法算法 对处理问题的过程的描述 算法的基本特征算法的基本特征 有穷性 确定性 有效性 有零个或多个输入 有一个或多个输出 数据结构数据结构 对这个过程中所涉及的数据的描述算法分析:l非数值运算问题l因为两个瓶子的墨水不能直接交换l解决这一问题的关键:l引入第三个墨水瓶引入第三个墨水瓶。l设第三个墨水瓶为红色,其交换步骤:算法举例算法举例 将黑瓶中的将黑瓶中的蓝蓝墨水装入墨水装入红红瓶中瓶中 将蓝瓶中的将蓝瓶中的黑黑墨水装入黑瓶中墨水装入黑瓶中 将将红红瓶中的蓝墨水装入蓝瓶中瓶中的蓝
9、墨水装入蓝瓶中 交换结束交换结束算法的表示算法的表示可用不同的方法表示算法,常用的有: 自然语言 传统流程图 结构化流程图 伪代码 PAD图用流程图表示算法用流程图表示算法 美国国家标准化协会 ANSI(American National Standard Institute) 规定了一些常用的流程图符号起止框起止框判断框判断框处理框处理框输入输入/输出框输出框注释框注释框流向线流向线连接点连接点用流程图表示算法用流程图表示算法输入输入a,ba,ba-ca-cb-ab-ac-bc-b开始开始输出输出a,ba,b结束结束例例 两数交换两数交换提提 纲纲1.1 程序与程序语言程序与程序语言1.2
10、算法和算法的表示算法和算法的表示1.3 结构化程序设计方法结构化程序设计方法结构化程序设计方法结构化程序设计方法 程序设计的基本目标基本目标是用算法对问题用算法对问题的原始数据进行处理,从而获得所期望的的原始数据进行处理,从而获得所期望的效果效果。但这仅仅是程序设计的基本要求基本要求。要全面提高程序的质量,提高编程效率,使程序具有良好的可读性可读性、可靠性可靠性、可维可维护性护性以及良好的结构良好的结构,编制出好的程序来。程序的三种基本结构程序的三种基本结构 顺序结构顺序结构l特点:特点:l一个入口,一个出口一个入口,一个出口l顺序执行顺序执行S1S2ab程序的三种基本结构程序的三种基本结构
11、选择结构选择结构功能:功能:判断条件为真时执行判断条件为真时执行语句,否则跳过语句,否则跳过 条件条件 语句语句1 语句语句2YN双选择双选择 语句语句N条件条件Y单选择单选择语句语句N条件条件Y功能:功能:判断条件为真时执行语判断条件为真时执行语句句1,否则执行语句,否则执行语句2程序的三种基本结构程序的三种基本结构 循环结构循环结构循环体循环体N条件条件Y当型循环当型循环直到型循环直到型循环条件条件NY循环体循环体例: 将求5!的算法用三种基本结构表示如果需要将最后结果打印出来,可在菱形框的下面加一个输出框。 t=1开始t2tt3tt4tt5t输出t结束三种基本结构的共同特点三种基本结构的
12、共同特点(1)只有一个入口; (2)只有一个出口;(3)结构内的每一部分都有机会被执行到;(4)结构内不存在“死循环”(无终止的循环)。传统流程图的弊端传统流程图的弊端传统流程图用流程线流程线指出各框的执行顺序,对流程线的使用没有严格限制没有严格限制。因此,使用者可以毫不受限制地使流程随意地转向,使流程图变得毫无规律毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法难以理解算法的逻辑的逻辑。传统流程图的弊端传统流程图的弊端缺点:难以阅读、修改,使算法的可靠性和可维护性难以保证。解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向,只能顺序地进行下去。 N-S流程图流程图 1973
13、年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图又称NS结构化结构化流程图流程图。N-S流程图流程图条件条件YNS1 S22. 选择结构选择结构1. 顺序结构顺序结构S1S23. 循环结构循环结构 循环体循环体循环体循环体当满足条件时直到条件满足时当型循环当型循环直到型循环直到型循环0t,1it+iti+1i直到 t100输出 t 的值4 4、传统流程图与、传统流程图与N-SN-S流程图的
14、比较流程图的比较t100不成立成立开始0t,1it+iti+1i输出 t 的值结束例例1 1:1+2+3+1+2+3+ + 加到加到100100为止为止 用三种NS流程图中的基本框,可以组成复杂的NS流程图。图中的A框或B框,可以是一个简单的操作,也可以是三个基本结构之一。 A框可以是一个选择结构 B框可以是一个循环结构 N-S流程图流程图小结: 由三种基本结构三种基本结构顺序顺序组成的算法结构,可以解决任何复杂的问题。 由基本结构所构成的算法属于“结构结构化化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。NS流程图扩展流程图扩展 只要具有四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。多分支选择结构:例例 打印打印5050名学生名学生中成绩高于中成绩高于8080分的学号和成分的学号和成绩用绩用N NS S图表示图表示。 结构化程序设计方法结构化程序设计方法结构化程序设计方法是公认的面向过程编程应遵循的基本方法和原则。结构化程序设计方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33391-2026鞋类化学试验方法多环芳烃(PAHs)的测定
- 2026年中学初二物理试题及答案
- 深度解析(2026)《GBT 30239-2013陶质文物彩绘保护修复技术要求》
- 2026年物理试题天体运动及答案
- DB4401-T 146.2-2022 食品快速检测工作规范 第2部分:日常检测
- 2026年中考语文总复习训练专题-病句
- 《DLT 1238-2013 1000kV交流系统用静电防护服装》(2026年)合规红线与避坑实操手册
- 2026年生鲜电商冷链仓储协议
- 2025北京朝阳区高三(上)期中英语试题及答案
- 纺织工程职业方向
- 2026年滁州凤阳大明旅游发展(集团)有限公司招聘导游员(讲解员)15名笔试备考题库及答案详解
- T∕SZSSIA 019-2026 反恐怖防范管理规范 总则
- 24J113-1 内隔墙-轻质条板(一)
- 药食同源食品管理办法实施细则
- 律师事务所内部惩戒制度
- 政治监督培训课件模板
- 桥架培训课件
- JT-T-760-2009浮标技术条件
- 陕西省西安市长安区2023-2024学年八年级下学期期中数学试题(含答案)
- 行政的使命目的和价值概述
- 人工智能改变网络支付方式
评论
0/150
提交评论