




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计 基础 1 第 4章 控制结构 顺序 结构 算法及其描述方法 选择 结构 循环 结构 综合应用举例 2 算法及其描述方法 计算机科学家沃思( 提出过一个经典公式: 数据结构 +算法 =程序 数据结构 : 对 数据的描述 。 算法 : 对操作的描述。 这 就好比厨师 做 的 菜谱 。菜谱上一般应包括: 原材料 :指出应使用哪些原料。 操作步骤 :指出如何使用这些原材料按规定的步骤加工成所需的菜肴 。 3 算法的概念 为解决一个具体问题而采取的确定的有限的操作步骤 。 算法 有穷性 确定性 有效性 没有或多 个 输入 一个或多个输出 算法特性 4 1 2 3 4 算法的描述方法 自然语言 程序流程图 伪码 5 1 自然语言 【 举例 】 计算 n! 。 【 分析 】 n! =1234n,可用 次在原有结果基础上乘上一个数,而这个数是从 1变化到 【 算法 】 输入 如果 n 0,则打印输出 “ 输入错误 ” 提示信息,转去执行 。 如果 n0,则: 给存放结果的变量 。 给代表乘数的变量 。 进行累乘运算 i。 乘数变量增 1,得到下一个乘数的值, i=i+1。 如果 in,则重复执行和,否则执行。 输出 n!的结果 程序结束。 6 2 程序流程图 开始 / 结束框处理框判定框输入 / 输出框流程线连接符开始 1 , i = 1i n ?输出 i + 1n 的值n # a,b,c,s,请输入三角形的三条边: n); %f,%f,%f,&a,&b,&c); s=(a+b+c)/2; s*(; a=%b=%c=%n,a,b,c); n, ; 输入 计算 输出 3,4,5 a= b= c= 2 【 程序 4交换数据。对输入的两个变量 a、 b,交换它们的值并输出 。 【 算法分析 】 定义程序中用到的变量: a,b,c; 输入要交换的两个变量 a和 b。 借助第三个变量 a和 换 c=a; a=b; b=c; 打印输出交换后的 a和 b。 a b c a b 交换 13 【 程序 4对 输入的两个变量 a、 b,交换它们的值并输出 。 # a,b,c; %d%d,&a,&b); a=%d,b=%dn,a,b); c=a; a=b; b=c; a=%d,b=%dn,a,b); ; 输入 交换 输出 3 4 a=3,b=4 a=4,b=3 14 选择结构 实际 问题中, 有时需要 根据不同的判断条件执行不同的操作步骤,这 就是 选择结构 , 也 称为 分支结构 。 如果输入的三角形三边不能构成三角形,则输出 “ 输入错误 ” 信息;否则,若能构成三角形,则计算三角形的面积并输出。 计算一元二次方程 bx+c=0的根,如果 ,有两个不等的实根;如果 ,有两个相等的实根;如果 15 选择结构 单分支 双分支 多分支 多 分支 16 种基本形式的 ( 1) 达式 ) 语句 达式功能 :如果 “ 表达式 ” 为真,则执行 “ 语句 ” ,否则不执行 “ 语句 ” 。 ab) a; 单分支 17 ( 2) 达式 ) 语句 1 语句 2 如果 “ 表达式 ” 为真,则执行 “ 语句 1” ,否则执行 “ 语句 2” 。 ab) a; b; 语 句 1 语 句 2表 达 式真 假语 句 1 式语 句 2双分支 18 ( 3) 达式 1) 语句 1 达式 2) 语句 2 达式 n) 语句 n 语句 n+1 多分支 语句 1 语句 2表达式 1真假表达式 2真假语句 3表达式 3真假语句 4语句 1Y 语句 2表达式 3Y 语句 419 【 程序 4某商店规定按照用户购物款,给出相应的折扣率。规定为 : ( 1)购物款大于 1000元,购物为 7折 。 ( 2)购物款大于 800,小于或等于 1000元,购物为 8折 。 ( 3)购物款大于 500,小于或等于 800元,购物为 9折 。 ( 4)购物款小于或等于 500元,购物无折扣 。 请 设计程序,根据用户购物款,计算用户实际支付的金额 。 用 000) 00 & & 00) 00) 20 【 程序 4用 现 # /*购物款 */ *折扣率 */ 请输入用户的购物款: n); %d,& 000) 00 & & 000 ?a t e = 0 . 8c o s t 800 & c o s t 500 & c o s t /*购物款 */ *折扣率 */ 请输入用户的购物款: n); %d,& 000) 00) 00) 用户支付的实际金额是: %n, ; 开始r a t e = 0 . 7结束输入 c o s tc o s t 1000 ?a t e = 0 . 8 r a t e = 0 . 9 r a t e = 1 . 0c o s t 800 ?c o s t 500c o s t * r a t 700 用户支付的实际金额是:算 22 【 注意 】 条)语句,则必须把这组语句用 大括号 括起来组成一个 复合语句块 。 if(ab) a+; b+; a=0; b=1; if(ab) a+; b+; a=0; b=1; 无 大括号,报错 23 【 注意 】 套 : 如果 一 个 , 尚未 配对的 配 。 ab) b0) ab0 n”); a b,b=a0 n”); a=0) b=a=0 n”); b= a,a m a g i c ? 错误 ! 太大 ! ”提示 “ 错误 ! 太小 ! ” 正确 ! ” , 打印 g u e s s【 算法设计 】 通过调用随机函数任意生成一个数 输入人猜的数 如果 给出提示 “ ” 。 如果 出提示 “ oo ” 。 如果 出提示 “ ” ,并打印 26 /*程序 4计一个简单的猜数游戏。 */ # /*定义计算机 “ 想 ” 的数 */ /*定义人猜的数 */ ; /*调用随机函数任意生成一个数 a ); %d,& if( /*如果 oo n); if( /*包含函数 的声明 */ ; /*为 函数 设置随机数种子 */ %100+1; /*生成一个 1【 程序 4 30 用于各类分类统计、菜单等程序的设计。 达式 ) 量表达式 1: 语句序列 1; 量表达式 2: 语句序列 2; 量表达式 n: 语句序列 n; 语句 序列 n+1; 多分支 相等 相等 相等 其它值 整型 字符型 枚举型 31 【程序 4据用户输入的整数,打印输出星期一至星期天 。 # a; %d,&a); a) : n); : n); : n); : n); : n); : n); : n); n); ; 3 等 32 只有 【 程序 4增加了 a) : n); : n); : n); : n); : n); : n); : n); n); 3 等 每个 序发生改变时,不影响程序的运行 结果 。 33 开始输入 a = 1 a = 2 a = 3 a = 4 a = 5 a = 6 a = 7 其它结束输出M o n d a u e s d a e d n e s d a h u r s d a r i d a a t u r d a u n d a r r o o n d a u e s d a r i d a e d n e s d a h u r s d a a t u r d a u n d a r r o 3 4 5 6 7 其它输入 a) 程序 4图 4b) 程序 434 【 注意 】 若 表示与它后续 a) : n); : n); : n); : n); : n); : /*语句序列缺省 */ : n); n); 6 5 【 注意 】 各个 量表达式 ,一定 不要 试图使用 条件表达式 或者逻辑表达式 。 a) : n); : n); : n); : n); : n); |7: n); n); 逻辑表达式 36 【 注意 】 各个 量表达式 ,一定 不要 试图使用 条件表达式 或者逻辑表达式 。 # %d,& 60: 及格 n); n); if(90) %n, if(80) %n, if(70) %n, if(60) %n, %n, 算法 1: 嵌套 39 0) 0: : %n, : %n, : %n, : %n, : : : : : : %n, n); 算法 2: 技巧 【 思考 】 如果输入101199之间的数,结果如何? 40 【程序 4编程实现一个简单的计算器程序,从键盘接收用户的输入: 操作数 1 运算符 操作数 2 运算符 为加( +)、减( -)、乘( *)、除( /)。计算表达式的值,并输出结果 。 程序 的 算法 描述 : 输出a + r r o r+ - * / 其它输入 a , = 0 ?Y 41 【 程序 4编程 实现一个简单的计算器程序 。 # # a,b; /*定义两个操作数 */ /*定义运算符 */ a+(-,*,/)b n); %f%c%f,&a,&b); /*输入运算表达式 */ +: /*处理加法 */ %n,a+b); -: /*处理减法 */ %n, *: /*处理乘法 */ %n,a*b); : /*处理除法 */ if(b) ,i=1; /*值为 0*/ i ,i=1; /*值为 0*/ /*在循环开始时不检查条件,先执行一次循环体 */ i; /*把 +; /*使 */ i ) ,i; %d,&i); i ) ,i; %d,&i); i; i+; /*如果 oo n); if( pi=; lfdn,pi, 循环条件 循环体 直到 “ | e l e m e n t | 10- 5” 为假累加项 e l e m e n t = s i g n / 输出 和 c o u n t 的值求和 s u m += e l e m e n c o u n t +下一项分子 s i g n = - s i g n += 259 【 程序 4求 1,1,2,3,5,8,的前 40个数。该数列的特点是: (n=1) (n=2) (n3) 三种循环控制语句的应用举例 【 分析 】 1 1 2 3 5 8 f1=f1+ f2=f2+ f1=f1+ f2=f2+ 60 【 程序 4 #) ,; i; i=1;i ,i,n=0; /*(i=1;i # 5 ,i,n=0; /*(i=1;i # m,i,k; a ); %d,&m); k=(m); /*计算 (i=2;%n,m); %n,m); ; a 3 13是素数! a 8 18不是素数 ! 76 【 程序 4“ 百钱买百鸡 ” 是我国古代的著名数学题。问题是这样描述的: 3文钱可以买 1只公鸡, 2文钱可以买一只母鸡, 1文钱可以买 3只小鸡。用 100文钱买 100只鸡,那么各有公鸡、母鸡、小鸡多少只? 【 问题 分析 】 假设 i, j和 鸡和小鸡的数目,因为 100文钱最多可以买33只公鸡, 50只母鸡和 300只小鸡,所以 0i33, 0j50, 0k300。 3*i+2*j+k/3=100 /*百钱 */ i+j+k=100 /*百鸡 */ k%3=0 /*小鸡只数必须为 3的倍数 */ 综合应用举例 77 【 程序 4算法 1】 # i,j,k; i=0;i i,j,k; i=0;i=33;i+) /*公鸡 */ j=0;j=50;j+) /*母鸡 */ k=100 /*小鸡 */ 3*i+2*j+k/3=100 & k%3=0) 公鸡 %2母鸡 %2小鸡 %2n,i,j,k); ; 二 重 循环 ,总共需要判定 的次数是 3451=1734次 ,效率提高。 综合应用举例 79 【 程序 4程序 4做一次算术运算程序就结束了,如果要求连续做多次算术运算,每次运算结束后,程序都给出提示“是否继续进行算术运算( Y/N或 y/n)?”, 如果用户输入 Y或 序继续进行算术运算,否则程序退出运行状态。 综合应用举例 输 出a + bo a - a * a / e r r o r+ - * /其 它输 入 a , o p , = 0 ? 为 0c h = Y 或 c h = y 输 入 c a,b; /*定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业劳动合同安全生产的责任书
- 视觉传播设计与新媒介融合试题及答案
- 合同履约成本科目借方登记
- 2025- 无合同、无保险、无加班工资、无双休劳动者的困境谁来关注
- 2024年宁波市北仑区招聘事业单位工作人员笔试真题
- 陇南市直单位招聘公益性岗位人员考试真题2024
- 2024年贵州社区工作者招聘笔试真题
- 2025监理工程师考试知识点:合同变更管理
- 2025年大坝加固工程合同管理与风险评估研究
- 主动振动隔离床企业制定与实施新质生产力战略研究报告
- 2025年浙江省初中名校发展共同体中考语文一模试卷附参考答案
- 2025年食安食品考试题及答案
- 2025年租赁料场协议
- 2025年北森题库测试题及答案
- 2025年必考保安证试题及答案
- 中国大唐集团有限公司陆上风电工程标杆造价指标(2023年)
- 茶馆里的政治:揭秘《茶馆》背后的历史
- 医院保安服务方案投标文件(技术方案)
- 危机公关服务合同范本
- 跨学科实践活动5探究土壤酸碱性对植物生长的影响教学设计-2024-2025学年九年级化学鲁教版下册
- 拆除临时用电施工方案
评论
0/150
提交评论