文档详情

Ch01-程序设计基础.ppt

发布:2017-05-21约1.01万字共99页下载文档
文本预览下载声明
* 算法举例(1)-cont. * 算法举例(2)-cont. 开始 k ? 9 计数器初值为9 k 等于 0? k ? k -1 x ? 1 A10 = 1 Ai = 2×(Ai+1 + 1) x ? 2*(x + 1) 结束 No Yes 计数器是否完成计数? 计数器进行一次计数 输出 x * 算法举例(2)-cont. 练习 教材一习题一6~12 教材二实验1的第2题 教材二实验1的第4题 * * 小结 C语言的历史和特点 C语言的数据类型、常量和变量 程序开发环境基础知识 * * 循环结构 操作的重复执行 C语言中的循环结构 while 循环结构 do-while 循环结构 for 循环结构 * while循环结构 由一个循环条件和一个循环操作语句(称为循环体)组成。 一般形式: while ( 循环条件 ) 循环体 条件成立吗? 操作步骤 Y N * while循环结构的执行过程 每次循环前,先求循环条件的值,当条件成立时,就执行循环体,并接着再次求循环条件的值,以确定循环体是否再次被执行。 当循环条件的值一开始为假,或某次循环后其值为假,则结束循环操作。 * do-while 循环结构 由一个循环条件和一个循环操作语句(称为循环体)组成。 一般形式: do 循环体 while ( 循环条件 ); 条件成立吗? 操作步骤 N Y * do-while循环结构的执行过程 每次循环前,先执行循环体,接着再求循环条件的值,当条件成立时,再执行循环体。 如此反复,直到循环条件的值为假,结束循环操作。 * for 循环结构 由为循环有关变量赋初值的表达式、循环条件、循环后对变量的修正表达式和循环执行的循环体组成。 一般形式: for(赋初值表达式;循环条件表达式;修正表达式) 循环体 (计数器)赋初值 循环条件 成立吗? 操作 修正(计数器) Y N * for 循环结构的执行过程 循环前,先执行赋初值表达式,为循环中的有关变量赋初值; 每轮循环开始,先求循环条件的值,若条件不成立,则结束循环; 当条件成立时,执行循环体;然后求变量修正表达式,更新有关变量的值;接着再次求循环条件。 如此反复,直到条件为假,结束循环。 * 算法举例(1) 问题:告诉计算机三个数,计算机输出其中最大的数。 难点:计算机一次只能比较两个数 键盘 显示器 15 30 20 A B C D CPU * 算法: 用三个变量A、B、C分别存放输入的三个数; 先比较A和B: 如果AB,把A的值放入变量MAX 如果A=B,把B的值放入变量MAX 再比较C和MAX 如果CMAX,把C的值放入变量MAX 如果C=MAX,MAX的值不变 变量MAX的值即为最大的数,输出MAX 算法举例(1)-cont. * 算法举例(1)-cont. 流程图 开始 输入A, B, C A B MAX ? A MAX ? B C MAX MAX ? C 输出 MAX 结束 No Yes Yes No * 算法举例(2) 猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个? * 算法举例(2)-cont. 假设第i天早上有Ai只桃子,根据题目有右图。 A1 = 2×(A2 + 1) A2 = 2×(A3 + 1) … … A9 = 2×(A10 + 1) 即Ai = 2×(Ai+1 + 1) 其中i = 9,8,7,…,2,1 天数 早上桃子数 第1天 A1 第2天 A2 = A1 / 2 – 1 第3天 A3 = A2 / 2 – 1 第4天 A4 = A3 / 2 – 1 第5天 A5 = A4 / 2 – 1 第6天 A6 = A5 / 2 – 1 第7天 A7 = A6 / 2 – 1 第8天 A8 = A7 / 2 – 1 第9天 A9 = A8 / 2 – 1 第10天 A10 = A9 / 2 -1 = 1 又已知A10=1,故可求出A1 * 算法举例(2)-cont. 开始 k ? 9 计数器初值为9 k 等于 0? k ? k -1 x ? 1 A10 = 1 Ai = 2×(Ai+1 + 1) x ? 2*(x + 1) 结束 No Yes 计数器是否完成计数? 计数器进行一次计数 输出 x * 结构化程序设计方法 结构化的控制结构 自顶向下模块化设计方法 逐步求精设计方法 * 4. 数据类型、变量和常量 *
显示全部
相似文档