实验4 顺序与分支结构
实验四分支结构程序设计实验

实验四分支结构程序设计实验实验四分支结构程序设计实验一、实验目的1.掌握分支结构程序设计的基本设计方法;2.掌握条件转移指令和无条件转移指令的使用方法;3.掌握指令对标志寄存器中各标志位的影响情况;4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。
二、实验要求1.学会使用DEBUG的T命令,跟踪检查指令对标志位的影响情况;2.学会使用DEBUG中的P命令,对INT指令的跟踪方法;3.学会利用设置断点调试程序的方法;4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。
三、实验举例【例3.4】编写程序,从键盘上输入三个一位十进制数据,找出其中大于平均值的数据,并在屏幕上显示出来。
【解题思路】首先将三个数累加求和,再除3求出平均值,然后将三个数据分别与平均值进行比较。
三个已知数据的输入利用INT 21H的1号功能,大于平均值的数据利用INT 21H 的2号功能输出。
【步骤一】启动EDIT编辑器,编辑源程序。
程序清单如下:CSEG SEGMENTASSUME CS:CSEGSTART: XOR BX,BXMOV AH,01INT 21HMOV CH,AL ;第一个数据暂存CH中SUB AL,30HADD BL,AL ;累加求和MOV AH,01INT 21HMOV CL,AL ;第二个数据暂存CL中SUB AL,30HADD BL,AL ;累加求和MOV AH,01INT 21HMOV DH,AL ;第三个数据暂存DH中SUB AL,30HADD AL,BL ;累加求和XOR AH,AHMOV BH,3DIV BH ;求平均值ADD AL,30HMOV BL,AL ;平均值暂存BL中CMP BL,CH ;与第一个数比较JAE NEXT1MOV DL,CHMOV AH,02INT 21HNEXT1: CMP BL,CL ;与第二个数比较JAE NEXT2MOV DL,CLMOV AH,02INT 21HNEXT2: CMP BL,DH ;与第三个数比较JAE DONEMOV DL,DHMOV AH,02INT 21HDONE: MOV AH,4CHINT 21HCSEG ENDSEND源程序输入完成后,以EXAM4.ASM为文件名存入磁盘,进行下一步操作。
实验-4顺序结构

实验名称:顺序结构程序设计成绩:
实验日期:年月日实验报告日期:年月日
一、实验目的
1、掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。
2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。
二、实验内容
在Turbo C下完成程序题:
(1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位)
float c0,s0,s,v;
printf("Input r,h(m):");
scanf("%f,%f",&r,&h);
c0=2*pi*r;
s0=pi*r*r;
s=
v=
printf("c0=%.3f(m)\ns0=%.3f(m2)\ns=%.3f(m2)\nv=%.3f(m3)\n",c0,s0,s,v);
fee=price*(1-discount/100);
}
运行:
Input Price,Discount:<CR>
Fee=
注:下划线表示程序运行后用户输入的数据,<CR>表示回车,以后不再解释。
2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积
程序
void main()
{
float r,h,pi=3.1415926;
(2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位)
注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。
三、实验要求
1、实验前编制程序框图、编写源程序、准备测试数据。
实验四顺序结构程序设计及运算符解读

实验四顺序结构程序设计及运算符首先根据“新建文件夹操作提示”操作提示,在自己对应的计算机上建立一个文件夹,即文件夹的名字为“XX106X学号的后两位姓名”,如“水养106302匡珍春”,然后在新建好的文件夹里面再建一个文件夹,文件夹名字为“第4次”,而后依次按下面要求完成作业,同时将要存盘的作业按规定的文件名保存在刚才新建好的文件夹里。
提示:因为新建的文件夹名中包含有中文字,所以存盘时建议先保存在k:盘中,然后再将相应的.c程序从k:盘复制到刚才新建好的文件夹里。
实验目的:(1)掌握++、--运算符作为前缀与后缀的区别,掌握复合赋值运算符以及不同运算符的优先级别;(2)加深对运算符/和%的理解;(3)掌握C语言中printf()和scanf()函数的使用;(4)提高修改错误程序的能力。
实验内容:实例分析1 分析以下程序的运行结果。
重新输入、运行下面的程序并验证结果。
分析++、––运算符前缀和后缀运算的区别。
分析不同运算符的优先级别。
(无需存盘)#include "stdio.h"void main(){ int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("i=%d, j=%d, m=%d, n=%d\n", i, j, m, n);}(1)运行程序,注意 i、j、m、n 各变量的值,分别作以下改动并运行。
(2)将第6、7行改为:m=i++;n=–++j;再运行,分析比较运行结果。
(3) 将程序改为:#include "stdio.h"void main(){ int i,j,m,n;i = 8;j = 10;m = ++i;n = –j++; /*此例主要说明运算符的结合方向*/printf("i=%d, j=%d, m=%d, n=%d\n", i, j, m, n);}(4) 将程序改为:#include "stdio.h"void main(){ int i,j,m,n;i = 8;j = 10;m = ++i;n = –++j;printf("i=%d, j=%d, m=%d, n=%d\n", i, j, m, n);}(5)在(4)的基础上,将printf 语句改为:printf("%d,%d", ++i, ++j);(6)再将printf 语句改为:printf("%d,%d,%d,%d", i, j, i++, j++);(7) 将程序改为:#include <stdio.h>void main(){ int i, j, m=0, n=0;i = 8;j = 10;m+= i++;n–= ––j;printf("i=%d,j=%d,m=%d,n=%d", i, j, m, n);}实例分析2 分析每个输出语句的输出结果,输入以下程序验证分析结果。
C语言程序设计 第2章 顺序结构与分支结构程序设计

main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }
个体实验报告4--顺序图

《系统分析与设计》实验报告
实验四顺序图
【实验名称】顺序图
【实验目的】
1.理解动态交互模型的建模技术。
2.掌握顺序图的描述方法。
【实验器材】
1.计算机一台。
2.Rational Rose 工具软件。
【实验内容】
在前面的类图分析、设计中,我们已经确定了类的属性,类之间的关系,现在我们要考虑类的方法。
寻找类的操作的有效方法之一是绘制交互图。
交互图体现了如何为对象分配职责。
当一个对象接收了某条消息,就表明该对象具有处理该条消息的职责。
针对特定场景中各个系统事件单独绘制交互图,用以说明系统接收到该事件后,由哪些对象互相协作、来共同完成对事件的处理,从而抽象出对象以及对象的职责。
顺序图用来描述对象间的交互行为。
【实验结果】
将各自负责的子系统的顺序图复制,有几个就复制几个。
实验4:分支结构程序设计

实验 4 分支结构程序设计
一、实验目的
【知识点】
1.掌握关系表达式和逻辑表达式的使用; 2.熟练使用 if 语句、if„else 语句进行分支结构程序的设计; 3.使用 if„else 语句嵌套和 switch 语句实现多分支选择结构。
【技能】
1.掌握算法描述方法; 2.养成良好程序书写习惯。
2
《C 语言程序设计》实验指导书
2.三个随机数比大小,找出最大数。注意:需要使用随机数,应在程序适当 的地方,设置随机数种子。 (1)在下面程序中,用适当的语句替换注释,并在横线处填上适当表达式。 void four_test2_1() { int iNum1,iNum2,iNum3,iMax; //生成随机数 iNum1 //生成随机数 iNum2 //生成随机数 iNum3 printf(“The three numbers are:%d %d %d\n”,iNum1,iNum2,iNum3); if (iNum1>iNum2) if (iNum1>iNum3) iMax=iNum1; else iMax=iNum3; else if (iNum2>iNum3) ; else ; printf(“The maximum is %d\n”,iMax); } (2)在下面程序中,用适当的语句替换注释。 void four_test2_1() { int iNum1,iNum2,iNum3,iMax; //生成 iNum1 //生成 iNum2 //生成 iNum3 printf(“The three numbers are:%d %d %d\n”,iNum1,iNum2,iNum3); iMax=iNum1; //假定 iNum1 为最大 if (iMax>iNum2) { if (iMax<iNum3) iMax=iNum3; } else { iMax=iNum2; if (iMax<iNum3) iMax=iNum3; } printf(“The maximum is %d\n”,iMax); } 程序中红色大括号中只有一条语句,这对大括号是否可以删除?试试! 结果如何?为什么? 请修改菜单程序,将下面完成的实验任务加入菜单,统一管理。 3. 编写函数 Feb_days( )用 scanf 函数输入一个年份 year, 计算这一年 2 月份的 天数 days,然后用输出函数 printf 输出 days。 (提示:闰年的条件是:year 能
顺序结构和分支结构程序设计

else if(x<min) min=x;
}
printf("max=%f,min=%f\n",max,min);
}
3、求e≈1/1!+1/2!+1/3!+...1/n!
(1)直到第10项。
#include <stdio.h>
void main()
{
int n;
float t=1,sum=1;
scanf("%d%d%d",&a,&b,&c);
min=a;
if(min>b) min=b;
if(min>c) min=c;
printf("min=%d\n",min);
}
4、编写程序,输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的小写字母;否则,原样输出。例如:输入F,输出f,输入b,输出B,输入7,输出7。
int prime(int n) /*判断n是否为素数*/
{int k;
for (k=2; k<=n/2; k++)
if (n%k==0) return 0;
return 1 ;
}
void prt(int i,int k,int t)
{
printf("%3d=%2d+%2d ", i, k, i-k);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++)
实验4 顺序与分支结构

实验四顺序与分支结构一、实验目的1.熟练掌握赋值语句。
2.熟练掌握分支结构程序设计方法,灵活使用有关语句。
二、实验内容1.实验准备在练习文件夹中建立vb4-1、vb4-2、vb4-3、vb4-4、vb4-5、vb4-6、vb4-7文件夹。
2.赋值实验赋值语句的作用是把表达式的值赋给变量,变量可以是内部变量,也可以是对象的属性。
例1:给内部变量赋值设计一个简单的VB程序,在窗体上放置一个命令按钮Command1,编写按钮的单击事件过程,观察给变量赋值的情况。
(1)创建工程。
(2)建立用户界面在窗体下方画1个命令按钮,名称为Command1。
(3)编写命令按钮的事件代码。
双击“Command1”按钮,进入代码编写窗口,编写如下代码:(5)调试运行程序。
单击Command1按钮,观察各个变量的输出结果,进一步理解赋值语句的作用和用法。
(6)保存结果到练习文件夹中的vb4-1文件夹。
例2:为对象设置属性值对象的大部分属性值都可以在设计阶段设置,也可以在运行时设置。
运行时可以用赋值语句为对象的属性设置属性值,赋值格式为:对象.属性= 属性值设计一个工程,用户可在两个文本框内输入字体和字号,以控制文本的显示格式,当用户单击命令按钮后,两个文本框内的文字改用新的字体、字号显示。
设计一个简单的VB程序,界面如下:图4.1为对象设置属性值实验窗体界面设计(1)创建工程。
(2)建立用户界面。
各控件主要属性的设置参见表4.1。
表4.1 属性设置(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:(4)调试运行程序。
启动工程,在文本框Text1中输入字体名称,在文本框Text2中输入字号值,单击显示按钮,可见在两个文本框中显示文字的字体变化和大小变化,如图4.2所示。
图4.2 为对象设置属性值实验窗体运行情况(5)保存结果到练习文件夹中的vb4-2文件夹。
注意:所输入的字体必须是你的计算机中已经安装过的,如图4.3所示,是在Word字体列表框中列出的字体,不同的电脑所装字体不同。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四顺序与分支结构
一、实验目的
1.熟练掌握赋值语句。
2.熟练掌握分支结构程序设计方法,灵活使用有关语句。
二、实验内容
1.实验准备
在练习文件夹中建立vb4-1、vb4-2、vb4-3、vb4-4、vb4-5、vb4-6、vb4-7文件夹。
2.赋值实验
赋值语句的作用是把表达式的值赋给变量,变量可以是内部变量,也可以是对象的属性。
例1:给内部变量赋值
设计一个简单的VB程序,在窗体上放置一个命令按钮Command1,编写按钮的单击事件过程,观察给变量赋值的情况。
(1)创建工程。
(2)建立用户界面在窗体下方画1个命令按钮,名称为Command1。
(3)编写命令按钮的事件代码。
双击“Command1”按钮,进入代码编写窗口,编写如下代码:
(5)调试运行程序。
单击Command1按钮,观察各个变量的输出结果,进一步理解赋值语句的作用和用法。
(6)保存结果到练习文件夹中的vb4-1文件夹。
例2:为对象设置属性值
对象的大部分属性值都可以在设计阶段设置,也可以在运行时设置。
运行时可以用赋值
语句为对象的属性设置属性值,赋值格式为:
对象.属性= 属性值
设计一个工程,用户可在两个文本框内输入字体和字号,以控制文本的显示格式,当用户单击命令按钮后,两个文本框内的文字改用新的字体、字号显示。
设计一个简单的VB程序,界面如下:
图4.1为对象设置属性值实验窗体界面设计
(1)创建工程。
(2)建立用户界面。
各控件主要属性的设置参见表4.1。
表4.1 属性设置
(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:
(4)调试运行程序。
启动工程,在文本框Text1中输入字体名称,在文本框Text2中输入字号值,单击显示按钮,可见在两个文本框中显示文字的字体变化和大小变化,如图4.2所示。
图4.2 为对象设置属性值实验窗体运行情况
(5)保存结果到练习文件夹中的vb4-2文件夹。
注意:所输入的字体必须是你的计算机中已经安装过的,如图4.3所示,是在Word字体列表框中列出的字体,不同的电脑所装字体不同。
输入列表框中存在的字体名,则程序会正常运行。
否则,系统弹出出错信息,如图4.4所示,此时可单击“结束”按钮,重新启动程序。
因此,上机实验时应该注意自己的电脑安装了什么字体。
图4.3 Word字体列表框中列出的字体图4.4 输入错误字体后的出错信息
输入的字号必须是正数,可以带小数,如果输入的字号值小于或等于零,系统也会弹出如图4.4所示的出错信息。
3.单分支实验
单分支结构是条件是真时执行某语句块,条件为假时不执行语句块。
例3:设计一个简单的VB程序,要求在三个文本框内任意输入三个数,设计一个求其最大值的程序。
界面如下:
图4.5求三个数的最大值窗体界面设计
(1)创建工程。
(2)建立用户界面。
各控件主要属性的设置参见表4.2。
表4.2 属性设置
(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:
(4)调试运行程序。
在文本中输入数据,单击命令按钮,结果显示在标签中,如图4.6所示。
图4.6 求三个数的最大值执行情况 图4.7 三个数排序执行情况
(5)保存结果到练习文件夹中的vb4-3文件夹。
以下代码自己阅读理解,不需保存成工程。
已知三个数,将它们按从小到大的顺序显示。
要求从上例中添加一个按钮Command2,单击Command2后,取文本框中的三个数排序,排序后的数显示在标签内,如图4.7所示。
程序代码如下:
4.双分支实验
例4:设计一个简单的VB 程序。
要求:计算分段函数⎩⎨
⎧=+≠-=0
2
30
52x x x x y ,程序运行效果如图4.9所示。
(1)创建工程。
图4.8 求分段函数值的窗体界面设计图 4.9 分段函数求值运行效果
(2)建立用户界面。
各控件主要属性的设置参见表4.3。
表4.3 属性设置
(3)双击按钮控件,切换到代码设计窗口,添加程序代码如下:
(4)调试运行程序。
在文本框Text1中输入自变量的值,再单击命令按钮,应该在按钮上方的文本框内显示函数值,如图4.9所示。
(5)保存结果到练习文件夹中的vb4-4文件夹。
4.多分支实验
例5:设计一个简单的VB程序。
界面如下:
要求:当输入正数时输出“x>0”,输入零时输出“x=0”,
输入负数时输出“x<0”。
(1)创建工程,建立用户界面,如右图所示。
图4.10设计界面
(2)双击按钮控件,切换到代码设计窗口,在过程Command1_Click() 中添加程序代码如下:
(4)调试运行程序。
(5)保存结果到练习文件夹中的vb4-5文件夹。
三、思考题
1.设计一个程序。
要求:用输入对话框输入x ,根据下式计算对应的y ,并在窗体上输出y 的值 x
1/2+sinx
x>10
y= 0 x=10
2x 3+6
x<10
注:程序写在命令按钮Command1的Click 事件中。
设计提示:
(1)在窗体上添加一个按钮控件,双击按钮,在
Private Sub Command1_Click( )
……
End Sub
中书写程序;
(2)使用InputBox 函数输入x 的值; (3)用 If … Then
……
ElseIf … Then
……
Else
……
End If
结构来书写程序;
(4)使用Print 语句输出计算结果;
(5)运行程序;
(6)保存结果到练习文件夹中的vb4-6文件夹。
2.设计一个程序。
要求:求解形如ax2 + bx + c = 0的任意方程的解。
设Delt = b 2 - 4ac ,编程时要考虑以下4种情况: (1) a = 0时,提示:这不是一个二次方程; (2) a <> 0、Delt > 0时,方程有两个不等的实根; (3) a <> 0、Delt = 0时,方程有两个相等的实根; (4) a <> 0、Delt < 0时,方程有两个共轭复根。
程序运行后,针对任意输入的一组系数,可能产生四种不同的结果,如图4.11所示。
保存结果到练习文件夹中的vb4-7文件夹。
图4.11 练习2运行后产生一元二次方程三种不同类型的根。