2.1 算法与程序 2.2 结构化程序设计方法简介 2.3 结构化程序的描述 2.4 简单程序分析.

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

南 通. 南通概述 南通,位于江苏省东部, 东抵黄海,南望长江。 “ 据江 海之会、扼南北之喉 ” ,隔江 与中国经济最发达的上海及 苏南地区相依,被誉为 “ 北上 海 ” 。 南通也是中国首批对 外开放的 14 个沿海城市之一 ,被称为 “ 中国近代第一城 ” 。 南通面临海外和内陆两大经 济辐射扇面,素有.
程序设计基础 第 2 章 解题要有程序 主讲:吴献彩 Tel : QQ :
Go, Next Java? No, Next 许式伟 Go ,会成为下一个 Java 吗? 不。 Go 不是下一个 Java 。 认为 Go 是下一个 Java ,那是远远低估 Go 的能力。 Go 是下一个 C !
创作计算机程序 学习目标: 定义术语 “ 计算机程序 ” 说明编程过程中流程图和伪代码的用途 介绍程序在寻求解决方案的过程中可以利用的两种方 法 区别计算机编程的两个主要步骤 列举并描述面向对象编程的三个要素.
C/C++ 程序设计 吉林财经大学 管理科学与信息工程学院 李艳东 : Tel :
1 天天 5 蔬果 國立彰化特殊教育學校 延杰股份有限公司營養師:陳婷貽. 2 蔬果彩虹 579 蔬果彩虹 歲以內兒童,每天 攝取五份新鮮蔬菜水 果,其中應有三份蔬 菜兩份水果 蔬菜份數水果份數總份數 兒童 325 女性 437 男性 549.
語言與文化通識報告 - 台日年菜差異 - 指導老師 : 葉蓁蓁 小組 : 日本微旅行 組員 :4a21b032 吳采玲 4a21b037 沈立揚 4a 洪雅芳 4a 陳楚貽 4a 王巧稜.
均衡推进,确保质量 08学年第一学期教学工作会议 广州市培正中学
黑木耳.
投資權證13問 交易所宣導資料(104) 1.以大盤指數為標的之權證,和大盤指數的連動性,為什麼比和期交所期指的連動性差?
如何把作文写具体.
第一章 人口与环境 第一节 人口增长模式.
第一节 人口与人种 第一课时.
解读我党发展史 思索安惠美好明天 主讲人:王辰武.
第5课 长江和黄河.
銓敘部研究規劃自願退休公務人員月退休金起支年齡延後方案座談會
瓦罐湯 “瓦缸煨汤”是流行于南方民间的一种风味菜肴。它采用一种制特的大瓦缸,其缸底可以烧火,缸内置有铁架,厨师将装有汤的小瓦罐一层层地码入缸内的铁架上,然后点燃木炭,借用木炭火产生的高温将瓦罐内的汤煨熟。
从永磁体谈起.
1.數學的難題 如下圖所示,你知道表格中的問號應填入什麼數字嗎?
第九章 欧氏空间 §1 定义与基本性质 §2 标准正交基 §3 同构 §4 正交变换 §5 子空间 §6 对称矩阵的标准形
第九章 欧氏空间 §1 定义与基本性质 §6 对称矩阵的标准形 §2 标准正交基 §7 向量到子空间的 距离─最小二乘法 §3 同构
合肥学院外国语言系2012年度 学生工作表彰大会.
真题模拟 主讲:凌宇 时间:6月9日.
树立信心,沉着应战,吹响中考冲锋号 ——谈语文学科的复习备考及考试技巧.
请大家欣赏龙岩, 新罗区 上杭,武平, 连城,长汀, 永定,漳平 小吃和特产.
游 泳 理 论 课 位育中学 高蓉.
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
政府採購法規概要 報告人:杜國正 行政院公共工程委員會企劃處.
二代健保補充保費 代扣項目說明 簡報.
1.某公司需购一台设备,有两个方案,假定公司要求的必要报酬率为10%,有关数据如下:
第4课 “千古一帝”秦始皇.
第一节 人口与人种 光山一中 屈应霞.
第五章 二次型.
抚宁县第五中学 教学暨新课改推进工作会.
《社会体育指导员讲座》课程整体设计介绍 席永 副教授 2015 年 6 月
山东建筑大学 国家级虚拟仿真实验教学中心 (建筑工程及装备) 申报及建设情况汇报
专项建设检查工作总结 本科试卷 毕业论文(设计) 合格课程 专项检查工作基本情况 专项建设的工作内容 专项建设检查工作情况
企业所得税几项热点难点 业务问题讲析 湛江市地税局税政科 钟胜强.
电磁铁.
之 魔 析 妖 鬼 解 怪 大 沈家仪小组出品.
班級老師:潘盈仁 班級:休閒三甲 學號:4A0B0124 學生:柯又瑄
告状 一位叫杨鲁的孩子,告他父亲杨庆的状。他极其认真地向父亲所在的工厂党委书记指控,说父亲不让儿子“游戏人间”,每天“画地为牢”,要儿子“咬文嚼字”,稍不满意,还要“入室操戈”。他声称父亲打他总是“重于泰山”,不象母亲打他“轻如鸿毛”。并且表示“庆父不死,鲁难不已”。
學校社工師服務與家訪技巧 三峽區駐區學校社工師 陳若喬.
2014年玉溪市统测质量分析 及高考语文应注意的几个问题
第三部分 区域可持续发展 第二单元 区域可持续发展 第7课 资源跨区域调配. 第三部分 区域可持续发展 第二单元 区域可持续发展 第7课 资源跨区域调配.
钢铁工业产能置换与相关政策 工业和信息化部产业政策司 辛 仁 周 二〇一五年三月二十八日.
中餐烹調丙級技術士考照 介紹 劉曉宜老師.
忆一忆 1.什么叫财政? 2.财政收入的形式有哪些? 国家的收入和支出。 税、利、债、费 3.其中,财政收入的最主要的形式是什么? 税收.
腐败的食物表面有白色小圆斑点,绿色斑点等
模块 中国古代史 主题 古代大一统(隋前).
遭遇险情有对策.
生物七下复习.
第一单元 算法与流程图.
比爾蓋茲導讀.
第九章 长期资产及摊销 2017/3/21.
第6章 程序设计与算法 计算机应用基础 数学与计算机工程学院.
第一讲 面向对象程序设计概论 苏州大学 计算机科学与技术学院.
高级语言程序设计 主讲人:陈玉华.
視窗程式設計簡介-VB、Visual Studio
程序语言的现在和未来 孙志岗.
程序基础 2019/4/25.
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
第1章 历史回顾与语言分类 说明程序设计语言的发展阶段,并列出每一个阶段出现的两到三种最重要语言。
第1章 历史回顾与语言分类 说明程序设计语言的发展阶段,并列出每一个阶段出现的两到三种最重要语言。
1.1算法的概念.
Javascript 基础 面向非JS语言的开发人员.
方格紙上畫正方形.
知识点4---向量的线性相关性 1. 线性相关与线性无关 线性相关性的性质 2..
Presentation transcript:

2.1 算法与程序 2.2 结构化程序设计方法简介 2.3 结构化程序的描述 2.4 简单程序分析

清华大学出版社 2.1 算法与程序 算法 “ 计算机科学就是关于算法的科学 ” 。 算法: 大陆中文名称出自《周髀算经》、《九章算术》, 英文名称 Algorithm 来自于 9 世纪波斯数学家 al-Khwarizmi , 因为 al-Khwarizmi 在数学上提出了算法这个概念。 算法 ” 原为 "algorism" ,意思是阿拉伯数字的运算法则,在 18 世纪演变为 "algorithm" 。 第一次编写程序的是 Ada Byron (一位女士) 20 世纪的英国数学家图灵提出了著名的图灵论题,并提出 一种假想的计算机的抽象模型,这个模型被称为图灵机。 图灵机的出现解决了算法定义的难题,图灵的思想对算法 的发展起到了重要作用。

清华大学出版社 2.1 算法与程序 算法的定义: 常被定义为是对特定问题求解步骤的一种描述,包含操作的有 限规则和操作的有限序列。 通俗一点讲,算法就是一个解决问题的公式(数学手册上的公 式都是经典算法)、规则、思路、方法和步骤。 算法可以用自然语言描述、伪代码描述,也可以用流程图描述, 但最终要用计算机语言编程,上机实现。 程序与算法: 程序是操作计算机完成特定任务的指令的集合,程序由程序设 计语言来具体实现。 实际中,程序是用来解决特定问题的,而算法是对解决问题步 骤的描述,他是程序设计的基础。 沃思( N.Wirth )提出了一个经典的公式: 程序 = 数据结构 + 算法

清华大学出版社 2.1 算法与程序 算法应具有如下特点: 有穷性 确定性 有效性 有 0 个或多个输入 有 1 个或多个输出

清华大学出版社 2.1 算法与程序 程序 面向机器的语言 面向结构过程的语言 是进行以模块功能和处理过程设计为主的详细设计的基本原则。 C 语言, Pascal 语言等属于结构化语言的代表。 面向对象的语言 是一类以对象作为基本程序结构单位的程序设计语言,指用于 描述的设计是以对象为核心,而对象是程序运行时刻的基本成 分。语言中提供了类、继承等成分。

清华大学出版社 2.1 算法与程序 常用开发语言简介 TIOBE 编程语言社区排行榜最新公布( 2014 年 5 月) 的开发语言排行榜前十依次是 C 、 Java 、 Objective-C 、 C++ , Visual Basic 、 C# 、 PHP 、 Python 、 JavaScript 和 Perl. JAVA Objective-C C++ Visual Basic C# PHP Python JavaScript Perl

清华大学出版社 2.2 结构化程序设计方法简介 概念的提出:最早由 E.W.Dijikstra 在 1965 年提出的,是软 件发展的一个重要里程碑。 主要观点:采用自顶向下、逐步求精及模块化的程序设计 方法;使用三种基本控制结构构造程序,既任何程序都可 由顺序、选择、循环三种基本控制结构构造。 描述方法:可以采用图形、表格和语言进行详细描述。 图形:程序流程图、 N-S 图、 PAD 图 表格:判定表 语言:过程设计语言( PDL )

清华大学出版社 2.2 结构化程序设计方法简介 要点: 主张使用顺序、选择、循环三种基本结构来嵌套连结成具有复 杂层次的 “ 结构化程序 ” ,严格控制 GOTO 语句的使用。 “ 自顶而下,逐步求精 ” 的设计思想,其出发点是从问题的总体目 标开始,抽象低层的细节,先专心构造高层的结构,然后再一 层一层地分解和细化。 “ 独立功能,单出、入口 ” 的模块结构,减少模块的相互联系使模 块可作为插件或积木使用,降低程序的复杂性,提高可靠性。 结构化程序设计的三种基本结构具体是 指:顺序结构、选择结构和循环结构。

清华大学出版社 2.3 结构化程序的描述 结构化程序的描述最常用的方法: ( 1 )伪代码( Pseudocode ):介于自然语言与编程语言之间。 是一种近似于高级程序语言但是又不受语法约束的描述方式, 相比高级程序语言它更类似于自然语言。 例 2-1 输入 3 个数,输出其中最大的数。用伪代码描述该程序。 算法开始 输入三个数 A , B , C 如果 A 大于 B 则 记录最大数 Max 值为 A 否则记录最大数 Max 值为 B 如果 C 大于 Max 则 记录最大数 Max 值为 C 输出 Max 算法结束 但是复杂的算法(程序),由于伪代码 相对比较随意,对算法的描述其实是不 严谨的,容易出现推理漏洞。而且,伪 代码描述过程因人而异,对问题的描述 往往不够直观。

清华大学出版社 2.3 结构化程序的描述 结构化程序的描述最常用的方法: ( 2 )流程图描述:千言万语不如一张图,因此使用图形表示算 法的思路是一种极好的方。 一般流程图中的基本图形元素: 通过基本图形中的框和流程线组成的流 程图来表示算法,形象直观,简单方便。 但是,这种流程图对于流程线的走向没 有任何限制,可以任意转向,在描述复 杂的算法时所占篇幅较多。

清华大学出版社 2.3 结构化程序的描述 结构化程序的描述最常用的方法: ( 2 )流程图描述:千言万语不如一张图,因此使用图形表示算 法的思路是一种极好的方。 (a) 一般流程图 基本图形元素: 通过基本图形中的框和流程线组成的流 程图来表示算法,形象直观,简单方便。 但是,这种流程图对于流程线的走向没 有任何限制,可以任意转向,在描述复 杂的算法时所占篇幅较多。

清华大学出版社 2.3 结构化程序的描述 结构化程序的描述最常用的方法: ( 2 )流程图描述:千言万语不如一张图,因此使用图形表示算 法的思路是一种极好的方。 (b) N-S 流程图: 1973 年美国学者 I.Nassi 和 B.Shneiderman 提出了 一种新的流程图形式。这种方法完全去掉了流程线,算法的每一 步都用一个矩形框来描述,把一个个矩形框按执行的次序连接起 来就是一个完整的算法描述。 优点:强制设计人员按结构化程序方法进行思考并描述设计方案, 因为除了表示几种标准结构的符号之处,它不再提供其他描述手段, 这就有效地保证了设计的质量,从而也保证了程序的质量。

清华大学出版社 2.3 结构化程序的描述 结构化程序设计中三种基本结构的图形描述: ( 1 )顺序结构:顺序结构是指程序的执行按语句的先后顺序逐 条执行,没有分支,没有转移。

清华大学出版社 2.3 结构化程序的描述 结构化程序设计中三种基本结构的图形描述: ( 2 )选择结构:选择结构表示程序的处理步骤出现了分支,它 需要根据某一特定的条件选择其中的一个分支执行。 选择结构有单选择、双选择和多选择三 种形式(详见教材第 5 章)。

清华大学出版社 2.3 结构化程序的描述 结构化程序设计中三种基本结构的图形描述: ( 3 )循环结构:循环结构表示程序反复执行某个或某些操作, 直到某条件为假(或为真)时才可终止循环。 注意在循环结构中最主要的是:什么情况下执行循环?哪些操 作需要循环执行? 循环结构的基本形式有两种: 当型循环 直到型循环

清华大学出版社 2.3 结构化程序的描述 结构化程序设计中三种基本结构的图形描述: ( 3 )循环结构: 当型循环:表示先判断条件,当满足给定的条件时执行循环体, 并且在循环终端处流程自动返回到循环入口;如果条件不满足, 则退出循环体直接到达流程出口处。

清华大学出版社 2.3 结构化程序的描述 结构化程序设计中三种基本结构的图形描述: ( 3 )循环结构: 直到型循环:表示从结构入口处直接执行循环体,在循环终端处 判断条件,如果条件满足,返回入口处继续执行循环体,直到条 件为假时再退出循环到达流程出口处,是先执行后判断。

清华大学出版社 2.4 简单程序分析 例 2-2 求解 …+100 的和,画出程序流程图。 解题思路: 先初始当前求和数 i 等于 1 ,和值 sum 等于 0 ;当求 和数 i 小于等于 100 时,和值 sum 等于已经计算的和 值 sum 加上当前的求和数 i ;然后将 i 的值增加 1 ,如 此不断循环,直到 i 大于 100 。这样,最后 sum 的值 就是 …+100 的和,程序最后输出 sum 。

清华大学出版社 2.4 简单程序分析 例 2-2 求解 …+100 的和,画出程序流程图。 根据此思路,画出程序的一般流程图和相应的 N-S 流程图 变量 i 用来控制循环, 当 i<=100 时,执行 循环体; 在循环体内进行求 和及变量 i 值的增加。

清华大学出版社 2.4 简单程序分析 例 2-3 输入三个数 A 、 B 、 C ,求出其中的最大值,画出 程序流程图。 解题思路: 三个数求最大值的方法很多,这里采用:先比较 两个数 A 、 B ,如果 A>B ,则将 A 赋值给变量 Max , 否则把 B 的值赋值给 Max ;再比较 Max 与 C ,如果 Max>C ,则输出 Max 即为最大值,否则把 C 的值赋 值给 Max ,再输出最大值 Max 。

清华大学出版社 2.4 简单程序分析 例 2-3 输入三个数 A 、 B 、 C ,求 出其中的最大值,画出程序流 程图。 根据此思路,画出程序的一般流 程图和相应的 N-S 流程图

清华大学出版社 2.4 简单程序分析 例 2-4 先后输入若干个整数,要求求出其中的最大数,当 输入的数小于 0 时结束,画出程序流程图。 解题思路: 先输入一个数,在没有其他数参加比较之前,它显然 是当前最大数,把它放到变量 max 中。然后输入第二 个数,并与 max 比较,如果第二个数大于 max ,则用第 二个数取代 max 中原来的值。如此重复输入并比较, 每次比较后都将最大值存在 max 中,直到输入的数小 于 0 时结束。这样,最终 max 中的值就是所有输入数中 的最大值。

清华大学出版社 2.4 简单程序分析 例 2-4 先后输入若干个整数, 要求求出其中的最大数,当输 入的数小于 0 时结束,画出程序 流程图。 根据此思路,画出程序的一般流 程图和相应的 N-S 流程图 变量 x 用来控制循环 的次数,当 x>0 时, 执行循环体; 在循环体内进行两个 数的比较和输入 x 值.