实验报告分支结构程序设计

合集下载

分支程序设计实验

分支程序设计实验

分支程序设计实验在计算机科学领域中,分支程序设计是一种重要的概念。

它是指在程序执行过程中,根据不同的条件选择不同的执行路径。

这种设计方法可以使程序更加灵活和智能,提高程序的执行效率和准确性。

在本文中,我们将探讨分支程序设计的原理和实验。

一、分支程序设计的原理分支程序设计的核心原理是根据条件的真假来选择不同的执行路径。

在程序中,我们可以使用条件语句来实现分支程序设计。

常见的条件语句有if语句和switch语句。

if语句是一种基本的条件语句,它根据条件的真假来选择不同的执行路径。

if语句的基本结构是:if (条件) {执行语句} else {执行语句}。

当条件为真时,执行if语句中的代码块;当条件为假时,执行else语句中的代码块。

switch语句是另一种常见的条件语句,它根据条件的不同值来选择不同的执行路径。

switch语句的基本结构是:switch (条件) {case 值1: 执行语句1; break; case值2: 执行语句2; break; default: 执行语句3;}。

当条件的值与某个case的值相等时,执行对应的执行语句;当条件的值与所有case的值都不相等时,执行default语句。

二、分支程序设计的实验为了更好地理解和应用分支程序设计的原理,我们可以进行一些实验。

下面是一个简单的实验示例:实验目的:根据用户输入的成绩,判断其等级。

实验步骤:1. 定义一个变量grade,用于存储用户输入的成绩。

2. 使用scanf函数获取用户输入的成绩,并将其赋值给变量grade。

3. 使用if语句判断成绩的等级,并输出相应的结果。

实验代码:```#include <stdio.h>int main() {int grade;printf("请输入您的成绩:");scanf("%d", &grade);if (grade >= 90) {printf("您的等级为A\n");} else if (grade >= 80) {printf("您的等级为B\n");} else if (grade >= 70) {printf("您的等级为C\n");} else if (grade >= 60) {printf("您的等级为D\n");} else {printf("您的等级为E\n");}return 0;}```在这个实验中,我们根据用户输入的成绩判断其等级,并输出相应的结果。

微机原理分支结构实验报告

微机原理分支结构实验报告

微机原理实验报告实验二分支程序的设计一、实验目的1.学习提示信息的显示及键盘输入字符的方法。

2.掌握分支程序的设计方法。

二、实验内容在提示信息下,从键盘上输入原码表示的二位十六进制有符号数。

当此数大于0时,屏幕上显示此数为正数。

当此数等于0时,屏幕上显示此数为零。

当此数小于0时,屏幕上显示此数为负数。

三、实验原理分支程序是程序通过判断和比较形成不同的逻辑框并产生相应的分支程序。

它的结构有两种:一种是二分支,一中是多分支。

它们的共同特点是:运行方向总是向前的,在某种确定条件下,只能执行多个分支中的一个分支。

四、程序流程CRLF MACROMOV AH,02HMOV DL,0DHINT 21HMOV AH,02HMOV DL,0AHINT 21HENDMDATA SEGMENTMESS1 DB'INPUT DATA',0DH,0AH,'$'MESS2 DB'THIS DATA IS +',0DH,0AH,'$'MESS3 DB'THIS DATA IS -',0DH,0AH,'$'MESS4 DB'THIS DATA IS 0',0DH,0AH,'$'DATABUF DB 3ACTLEN DB ?STRING DB 3 DUP(?)DATA ENDSSSEG SEGMENT PARA STACK'STACK'DB 50 DUP(0)SSEG ENDSCODE SEGMENTASSUME CS:CODE,SS:SSEG,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AX,SSEGMOV SS,AXMOV DX,OFFSET MESS1MOV AH,09HINT 21HMOV AH,0AHMOV DX,OFFSET DATABUFINT 21HCRLFMOV AL,STRINGCMP AL,38HJAE CIRAMOV AL,STRING+1CMP AL,30HJNE CIRBMOV DX,OFFSET MESS4MOV AH,09HINT 21HJMP BOTCIRA:MOV DX,OFFSET MESS3MOV AH,09HINT 21HJMP BOTCIRB:MOV DX,OFFSET MESS2MOV AH,09HINT 21HJMP BOTBOT:MOV AX,4C00HINT 21HCODE ENDSEND START五、程序调试查看结果:DEBUG调试调试结果图上图,程序顺利运行,结果正确。

Python程序设计之结构与复用实验报告

Python程序设计之结构与复用实验报告

计算机科学技术学院实验报告import randomguess=0 #输入的数字times=1 #猜数字的次数secret=random.randint(0,100) #生成随机数print("--------欢迎参加猜数字游戏,请开始--------")while guess!=secret:guess=int(input("@数字区间0-100,请输入你猜的数字:"))print("你猜的数字是:",guess)if guess==secret:print("你猜了{}次,猜对了,真厉害".format(times))else:if guess<secret:print("你猜的数字小于正确答案")else:print("你猜的数字大于正确答案")times+=1print("游戏结束")3. 猜数字游戏再续。

用变量maxtimes设置允许猜数字的最大次数(比如最多只允许猜6次maxtimes=6),并在猜错后提示还有几次机会。

用for循环改写整个程序,并提交。

(提示,猜对后可使用break跳出循环)import randomguess=0times=1maxtimes=eval(input("请输入猜数字的最大次数:"))#用户自己设置maxtimessecret=random.randint(0,100)print("----------欢迎参加猜数字游戏,请开始-----------")for i in range(maxtimes):guess=int(input("@数字区间0-100,请输入你猜的数字:"))print("你输入的数字是:",guess)if guess==secret:print("你猜了{}次,猜对了,真厉害".format(times))breakelse:if guess<secret:print("你猜的数字小于正确答案")print("你还有", maxtimes - 1, "次输入机会")else:print("你猜的数字大于正确答案")print("你还有", maxtimes - 1, "次输入机会")times+=1maxtimes-=1else:print("你已没有输入机会,猜数字游戏失败!")print("游戏结束")4.猜数字游戏之续了又续。

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)

汇编语言程序设计实验报告二(分支循环程序实验)一、实验目的1、掌握分支程序、循环程序的设计方法。

2、熟悉DEBUG程序的使用方法。

3、掌握汇编语言程序的编辑、汇编、连接以及调试过程。

二、实验内容1、编写一程序,将内存中某一区域的数据传送到另一个区域中(要求用循结构,不考虑数据块重叠问题)。

2、编写一程序,将内存中某一区域的数据传送到另一区域(要求考虑数据块重叠问题)。

三、实验准备1、预习数据传送指令,熟悉分支和循环程序设计方法。

2、预习DEBUG调试程序的使用方法。

3、根据实验内容要求,编写好实验源程序。

四、实验步骤1、用QE或其它编辑软件,在计算机上编辑源程序,使其正确无误。

2、汇编、连接源程序,产生.EXE可执行文件。

3、运行程序。

(1) 进入DEBUG。

打入DEBUGT MYPROG.EXE。

MYPROG为所编程序的文件名。

(2) 先用G命令连续剧连续执行程序,程序执行完毕后,观察运行结果。

如果执行后是对的,说明程序编写是正确的,如果结果不对,说明程序有错误,则执行下一步。

(3) 检查程序。

在程序中设置若干断点,以便杳出错误所在。

(4) 采用单步命令T或执行程序,观察各寄存器和存储单元内容,以便找到错误之处。

五、实验报告要求1、列出程序清单,并给出程序流程图。

2、总结实现数据传送的几种方法,指出它们的区别。

开始3、分析实验中所遇到的一些问题,分析错误原因。

4、说明本实验中是如何使用DEBUG进行调试的。

CX、SI、DI置初值六、流程图勤开始设置增量方式CX、SI、DI置初值保存SI内容AL [SI] SI SI+源块长度[DI] AL N SI>DIYSI SI+1 恢复SI内容恢复SI内容DI DI+1CX CX-1 设置减量方式N CX=0, SI指向源块末尾DI指向目的块末尾Y结束 [DI] [SI]题一流程图 N 传完了吗, 书馆 Y结束题二流程图七、程序清单题一程序清单:STACK SEGMENT STACK ‘STACK’DB 100 DUP(0)STACK ENDSDATA SEGMENT PARA ‘DATA’SOUR DB 0、1、2、3、4、5、6、7、8、9 DEST DB 10 DUP(,)DB ‘$’DATA ENDSSEGMENT PARA‘CODE’ASSUME CS:CODEMAIN PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV CX,10MOV SI,offset SOURMOV DI, offset DESTAGAIN: MOV AL,[SI]MOV [DI],ALINC SIIN DILOOP AGAINMOV DX,offset DESTMOV AH,09HINT 21HRETMAIN ENDPCODE ENDSEND START题二程序清单:DATA SEGMENT PARA ‘DATA’STRG DB ‘ABCDEFGHIJKLMNOP’STG1 EQU STRG+4STG2 EQU STHG+8STRSE EQU 6DATA ENDSSTACK SEGMENT PARA ‘CODE’DB 100 DUP(0) STACK ENDSCODE SEGMENT PARA ‘CODE’ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK PROC FARSTART: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV DS,AXMOV ES,AXMOV CX,STRSEMOV SI,OFFSET STG1MOV DI,OFFSET STG2CLDPUSH SIADD SI,STRSE-1CMP SI,DIPOP SIJL MOVESTDADD SI,STRSE-1ADD DI,STRSE-1 MOVE: REP MOVSB RETMAIN ENDPCODE ENDSEND START。

实验二C语言中的分支语句程序设计实验

实验二C语言中的分支语句程序设计实验

实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("V eryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。

x等于87时,程序段运行后屏幕上显示。

x等于100时,程序段运行后屏幕上显示。

x等于43时,程序段运行后屏幕上显示。

x等于66时,程序段运行后屏幕上显示。

x等于79时,程序段运行后屏幕上显示。

x等于57时,程序段运行后屏幕上显示。

分支结构程序设计(精)

分支结构程序设计(精)

深圳大学实验报告课程名称: 学院:信息工程学院
班级:
实验时间:
实验报告提交时间:
教务处制
实验结论: 1.从范例 4 中演示的 C++输入输出易出错的地方,发现在输入数据时,若不指定数据的类型,程序会自动当做十进制数进行处理。

因此涉及到其他进制的输入输出时,一定要在输入输出前加上其进制类型,例如八进制是 oct,十六进制是 hex 等。

在输入字符串时,若直接用 cin,则程序会忽略掉其中的空格,若要空格也作为输入,则必须使用 cin.getline 或 cin.get 函数。

2.对于这次的实验,使用 switch 比使用 if-else 结构简单,因为 switch 结构特别适用于某个整型或字符型表达式的值与一组常量的匹配的情况。

不过 if-else 的适用范围更加广泛。

指导教师批阅意见:成绩评定:指导教师签字:年月日备注:注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后 10 日内。

C++实验2 分支结构和循环结构程序设计实验报告

C++实验2 分支结构和循环结构程序设计实验报告
}
return 0;
}
实践教程P16编程5,设计一个程序,输入某天是几月几日,要求算出这一天是本年的第几天。[分析]要算出某天是当年的第几天,应该将当年中本月之前所有月的天数相加,再加上本月的天数。但这里有一个闰年问题,二月是一个特殊月,如该年是闰年,则二月有29天,否则,便是28天,所以,还必须给出年份。[提示]判断某年是闰年的条件是:该年号能被4整除但不能被100整除,或者能被400整除的是闰年。如,1996,2000是闰年,但1800不是闰年。
cout<<"B Grade"<<endl;
else if(a>=70&&a<80)
cout<<"C Grade"<<endl;
else if(a>=60&&a<70)
cout<<"D Grade"<<endl;
else
cout<<"Not Passed"<<endl;
return 0;
}
Stwich语句
深圳大学实验报告
课程名称:面向对象程序设计
实验项目名称:实验2分支结构和循环结构程序设计
学院:信息工程学院
专业:电子信息工程
指导教师:张力(J)
报告人:学号:班级:
实验时间:2014.10.15
实验报告提交时间:2014.11.12
教务处制
一、实验目的与要求:
1.掌握C++程序的基本结构。
2.掌握C++基本数据类型与运算符。
3.熟悉输入/输出方法。

实验3:分支结构程序设计

实验3:分支结构程序设计

实验3:分⽀结构程序设计实验2 顺序程序结构程序设计⼀、实验⽬的1.进⼀步掌握关系表达式和逻辑表达式的使⽤。

2.熟悉选择结构程序设计。

3.熟练使⽤if语句进⾏程序设计。

4.使⽤switch语句实现多分⽀选择结构。

⼆、实验要求1.复习关系表达式、逻辑表达式、条件表达式的相关内容;2.复习if语句、if…else语句、switch语句的执⾏流程;3.完成各项实验任务及问题讨论。

三、实验内容(⼀)程序改错题说明:给出的程序可能存在语法或算法上的问题或需要补充完整,但需要修改的地⽅肯定在/*******Found*******/下的第⼀⾏上且每⾏仅有⼀个(类)错误,不能修改其它地⽅,不能修改或删除/*******Found*******/本⾝,遵循最少修改、保持⼀⾏⼀条语句及{与}单独⼀⾏的原则。

考试时由于是计算机⾃动阅卷,修改时不能增加⾏或删除⾏,哪怕是⼀个空⾏都不⾏,否则可能得0分。

1.程序D7.c的功能是判断x和y是否相等,相等则显⽰x=y,不等则显⽰x<>y。

(序号:7)#includeint main(void){/*********Found************/char x, y;x = 39270;y = 41001;/*********Found************/if (x != y){printf("x=y");}/*********Found************/else;;{printf("x<>y\n");}}2.程序D1000.c的功能是从键盘输⼊3个浮点数a,b,c(输⼊时abc之间以空格相隔),⾸先按照输⼊顺序显⽰在屏幕上,然后按从⼩到⼤顺序把它们输出到屏幕上。

(序号:20)#include#includeint main(void){float a, b, c, t;printf("please input three numbers:\n");/*********Found************/scanf("%f%f", &a, &b, &c);printf("before sort:a=%g,b=%g,c=%g\n", a, b, c);if (a > b){t = a;a = b;/*********Found************/b = a;}if (a > c){t = a;a = c;c = t;}if (b > c){t = b;b = c;c = t;}printf("after sort:a=%g,b=%g,c=%g\n", a, b, c);return 0;}#includeint main(void){long int i = 79870, j = 23;/*****Found*****/scanf("%f", &i);/*****Found*****/if (j == i);{printf("Equal!");}else{printf("Not equal!");}return 0;}4.程序D1007.c的功能是使⽤getchar⽅式从键盘读⼊⼀个字符,判断该字符是否⼤写字符.(序号:27)#includeint main(void){char ch;/****Found****/getchar(ch);/*****Found*****/if ('A' <= ch, ch <= 'Z'){printf("yes");}else{printf("no");}}5.程序D1008.c的功能是判断⽤户是不是输⼊的整数0。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宁德师范学院计算机系
实验报告

2011—2012学年 第 2学期)

课程名称 高级语言程序设计
实验名称
专 业
年 级 2011级
学号 姓名
指导教师
实验日期 2012.

实验三 分支结构程序设计
实验目的与要求:
(1) 熟练掌握关系表达式和逻辑表达式的使用。
(2) 熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计。
(3) 熟练掌握switch语句中break语句的作用。
(4) 掌握使用断点调试程序的方法。

实验设备(环境):
PC机、VC++

实验内容:
输入一个整数x,判断x能否被3、5、7整除,并输出以下信息之一。
① 能同时被3、5、7整除。
② 能被其中两数整除。
③ 能被其中一个数整除。
④ 不能被3、5、7任一个数整除。
源代码
方法一使用嵌套的if语句:
#include
int main(){
int n;
printf("请输入一个数:\n");
scanf("%d",&n);
if(n%3==0&&n%5==0&&n%7==0)
printf("此数能同时被3、5、7整除\n");
else if((n%3==0&&n%5==0)||(n%3==0&&n%7==0)||(n%5==0&&n%7==0))
printf("此数能被其中两数整除\n");
else if((n%3==0)||(n%5==0)||(n%7==0))
printf("此数能被其中一个数整除\n");
else printf("此数不能被3、5、7任一个数整除!\n");
return 0;
}

方法二使用switch语句:
#include
void main()

{
int n;
printf("请输入一个数:\n");
scanf("%d",&n);

switch((n%3==0)+(n%5==0)*2+(n%7==0)*4)
{
case 0:
printf("此数不能被3、5、7任一个数整除!\n");break;
case 1:
printf("此数能被其中一个数整除\n");break;
case 2:
printf("此数能被其中一个数整除\n");break;
case 4:
printf("此数能被其中一个数整除\n");break;
case 3:
printf("此数能被其中两数整除\n");break;
case 5:
printf("此数能被其中两数整除\n");break;
case 6:
printf("此数能被其中两数整除\n");break;
case 7:
printf("此数能能同时被3、5、7整除\n");

}
}
运行结果

小结:
通过本次实验我进一步熟悉了C语言操作环境,学习了两种条件语句,弄清了语
句格式和使用方法。学会了分别使用使用if嵌套语句和switch语句实现功能,其中在
使用if嵌套时要注意分清层次,明白else所对应的应当是离得最近的if语句,防止发
生逻辑错误。条件判断语句可以结合逻辑运算符更好得实现。
指导教师评语:
成绩评定
教师签字
年 月 日
备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整
2、教师批改学生实验报告应在学生提交实验报告10日内

相关文档
最新文档