版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序的设计举例程序的设计举例程序的设计举例BA图传统流程图顺序结构BABA图传统流程图顺序结构BABN如果成绩<60那么通知补考否则告知你考试成绩AY条件PABNY条件P分支结构(选择结构)条件PA当型循环直到型循环真假假条件PA假真循环结构当型循环A真假假条件P循环结构当P为真A当P为真A直到型循环条件PA假真循环结构直到P为假A直到P为假A复合语句{}括住的若干条语句构成一个复合语句语句块内可以定义变量变量仅在定义它的复合语句内有效变量必须在复合语句的开头定义复合语句可以用在任何可以使用语句的地方选择结构的一种最常用形式
(表达式)
语句1;
语句2;
语句3表达式值非0时,执行语句1,然后语句3;
表达式值为0时,执行语句2,然后语句3部分可以没有。
(表达式)
语句1;
语句3当表达式值为0时,直接执行语句3嵌套使用时,注意和谁配对的问题的一种扩展形式
(表达式)
语句1;
(表达式)
语句2;
(表达式)
语句3;
…………
语句4;
语句5;部分可以没有现场编程完成例4.5体型判断。按“体指数”对肥胖程度进行划分:体指数t=体重w/(身高h)2
(w单位为公斤,h单位为米)当t<18时,为低体重;当t介于18和25之间时,为正常体重;当t介于25和27之间时,为超重体重;当t>=27时,为肥胖。编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。用3种方法编程:算法1:用不带子句的语句编程算法2:用在子句中嵌入语句的形式编程算法3:用在子句中嵌入语句的形式编程多路选择
(表达式){
常数1:
语句序列1;
常数2:
语句序列2;
…………
:
语句序列3;
}可以没有,但最好不省略不要忘记现场编程完成计算器程序……例4.8编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1运算符操作数2
然后,计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)循环——,(表达式)
{
语句;}(表达式1;表达式2;表达式3)
{
语句;}(表达式)
{
语句;}只要表达式的值为非0,就重复执行语句,直到表达式值为0时止(表达式1;表达式2;表达式3)
{
语句;}首先执行表达式1。如果表达式2的值为非0,就重复执行语句和表达式3,直到表达式2的值为0时止相当于:
表达式1;
(表达式2){
语句;
表达式3;
}表达式1和表达式3可以没有或者是用逗号分隔的多个表达式的组合。但最好不要有太多的表达式组合注意在和语句之后一般没有分号有分号表示循环体就是分号之前的内容(空循环体)
(i<100);
;(i=0;i<100;);
("",i);通常有一个循环变量控制循环的次数,不要在循环体内改变这个变量
{
语句;
}(表达式);首先执行语句,然后判断表达式的值。如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值语句会被至少执行一次条件PA当型循环直到循环真假假条件PA假真假条件P条件PA假当循环条件第一次就为假时选择三种循环的一般原则如果循环次数已知,用如果循环次数未知,用如果循环体至少要执行一次,用这只是“一般”原则,不是“原则”现场编程完成例4.6,例4.9例4.6:猜数游戏:先由计算机“想”一个数请人猜,如果人猜对了,则计算机给出提示:“!”,否则提示:“!”,并告诉人所猜的数是大还是小。例4.9:先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。计算机记录人猜的次数,以此来反映猜数者“猜”的水平。猜数游戏用到的库函数随机函数()<>在中定义,不大于双字节整数的最大值32767产生[0]之间的随机数
=();产生[01]之间的随机数
=();产生[1]之间的随机数
=()+a;现场编程完成例4.6,发现问题猜数游戏用到的库函数随机函数为函数()设置随机数种子来实现对函数所产生的伪随机数的“随机化”通过键入随机数种子,产生[0,100]之间的随机数("",);();=()%100+1;猜数游戏用到的库函数随机函数为函数()设置随机数种子来实现对函数所产生的伪随机数的“随机化”使用计算机读取其时钟值并把该值自动设置为随机数种子,产生[0,100]之间的随机数函数()返回以秒计算的当前时间值,该值被转换为无符号整数并用作随机数发生器的种子
<>(());=()%100+1;死循环永远不会退出的循环为死循环
(;;){}(1){}
{}(1)一般情况下,要极力避免死循环绝大多数程序不需要死循环。如果出现,往往都是时间过长的循环会造成“假死”效果,也要考虑解决现场编程完成例4.11国王的许诺。相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。位聪明的宰相指着8×8共64格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放1粒,第2格中放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米?(已知1立方米麦子约1.42e8粒)总粒数为:1+2+22+23+…+263方法11.42e8<><>(){n;,=0;/*累加求和变量赋初值*/(1;n<=64;){=(2,1);/*根据累加项的规律计算累加项*/=+;/*作累加运算*/}("=\n",);/*打印总麦粒数*/("=\n",)*打印折合的总麦粒体积数*/}方法21.42e8/*定义符号常量值为1.42e8*/<>(){n;=1,=1;/*累乘求积、累加求和变量赋初值*/
(2;n<=64;){=*2;/*根据后项总是前项的2倍计算累加项*/=+;/*作累加运算*/}("=\n",);/*打印总麦粒数*/("=\n",);/*打印折合的总麦粒体积数*/}使用嵌套的循环体时,应注意以下问题在嵌套的各层循环体中,使用复合语句(即用一对大花括号将循环体语句括起来)保证逻辑上的正确性内层和外层循环控制变量不应同名,以免造成混乱嵌套的循环最好采用右缩进格式书写,以保证层次的清晰性循环嵌套不能交叉,即在一个循环体内必须完整的包含着另一个循环合法的嵌套循环现场编程完成例4.14编程输出如下形式的乘法九九表<>(){ m,n; (1;m<10;) ("%4d",m);/*打印表头*/ ("\n"); (1;m<10;) ("-"); ("\n"); (1;m<10;) { (1;n<10;) { ("%4d",m*n); } ("\n"); }}现场编程完成例4.15将上例输出格式改成如下的下三角格式打印<>(){ m,n; (1;m<10;) ("%4d",m);/*打印表头*/ ("\n"); (1;m<10;) ("-"); ("\n"); (1;m<10;) { (1;n<;) { ("%4d",m*n); } ("\n"); }}现场编程完成例4.16马克思手稿中有一道趣味数学题:有30个人,其中有男人、女人和小孩,在一家饭馆里吃饭共花了50先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,问男人、女人和小孩各有几人?解方程组穷举法方法1:采用三重循环穷举的全部可能的组合<>(){;("\t\t\n");(0;x<=30;)(0;y<=30;)(0;z<=30;)(303*2*50)("%3d\t%5d\t%8d\n");}方法2:改进算法<>(){;("\t\t\n");(0;x<=16;)(0;y<=25;){z=30–x-y;(3*x+2*y+z50)("%3d\t%5d\t%8d\n");}}流程的转移控制语句语句语句语句标准库函数()和对、、循环进行内部手术,退出循环,中断此次循环体的执行,开始下一次和少用为妙和假假真真break表达式1表达式2循环语句的下一条语句循环语句的下一条语句假假真真contiue表达式1表达式2continue标号举例:举例
;一般形式语句标号;……
语句标号:……或语句标号:…………
语句标号;及标号()()函数(0)作用是终止整个程序的执行,强制返回操作系统调用该函数需要嵌入头文件<>输入一个整数,判断它是否是素数方法1<>(){ m,i,k; ("a:"); ("",); k=(m); (2;i<;) { (0) { ("!\n"); ; } } ("!\n");: ("!\n");}a:
6
!!方法1<>(){ m,i,k; ("a:"); ("",); k=(m); (2;i<;) { (0) { ("!\n"); ; } } ("!\n");: ("!\n");}a:
5
!!方法2<>(){ m,i,k; ("a:"); ("",); k=(m); (2;i<;){ (m%i0); } (i>k) ("!\n");
("!\n"); ("!\n")
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44262-2026质子交换膜燃料电池汽车用氢气采样技术要求
- 高中数学教资面试答辩历年真题题库含答案
- 小学教资面试试讲真题高频题含答案
- 2026高中英语教资面试世界史高频题含答案解析
- 纸面石膏板制备工安全文明能力考核试卷含答案
- 船舶泥工岗前工艺优化考核试卷含答案
- 金属材涂层机组操作工岗前健康知识考核试卷含答案
- 设备点检员岗前技术应用考核试卷含答案
- 食品安全管理师岗前评审考核试卷含答案
- 堆场机械维修工岗前变革管理考核试卷含答案
- Unit 3 My School Section A Pronunciation 课件(内嵌视频)2026-2027学年人教版七年级英语上册
- 2026年校招:广西农村信用社联合社试题及答案
- 2026学校入团考试题库(附答案解析)
- 以诺书999中英对照
- (必考题)高中物理必修三第十一章《电路及其应用》测试题(有答案解析)
- (正式版)HG∕T 20644-2024 弹簧支吊架选用标准
- 铜锌锡硫硒半导体薄膜制备方法概述
- 体育教研组工作总结汇报
- 水下桩专项安全施工方案
- 高考语句补写题型解题技巧精品精讲演示文稿
- GB/T 38160-2019不锈钢厨房设备
评论
0/150
提交评论