实验4分支结构程序设计
微机实验分支程序设计

微机实验分支程序设计微机实验是计算机科学与技术专业学生的重要实践环节,其中分支程序设计是程序设计中的一项基础技能。
分支程序设计指的是在程序中根据条件判断,执行不同的代码路径。
这种设计可以使得程序更加灵活,能够根据不同的输入或状态做出相应的反应。
一、分支程序设计概述分支程序设计通常涉及到条件语句的使用,如`if`、`switch`等。
在微机实验中,分支程序设计的应用非常广泛,包括但不限于数据处理、用户交互、错误处理等方面。
二、分支程序设计的基本结构1. 条件判断:程序首先需要对某个条件进行判断,这个条件可以是一个变量的值、用户输入或者程序的状态等。
2. 执行路径:根据条件判断的结果,程序将选择执行不同的代码块。
在`if`语句中,通常会有两个执行路径:条件为真时执行的代码块和条件为假时执行的代码块。
3. 嵌套分支:在复杂的程序设计中,分支可以嵌套使用,即在一个分支的内部再进行条件判断和分支选择。
三、分支程序设计的应用场景1. 用户输入验证:在用户输入数据后,程序需要验证输入的有效性,根据验证结果执行不同的操作。
2. 错误处理:当程序运行过程中出现错误时,通过分支程序设计可以对错误进行分类处理。
3. 功能选择:在具有多个功能的程序中,用户可以通过选择来决定执行哪个功能。
四、分支程序设计的实现以C语言为例,分支程序设计的基本实现如下:```c#include <stdio.h>int main() {int choice;printf("请输入一个数字(1-5):");scanf("%d", &choice);if (choice == 1) {printf("你选择了选项1。
\n");} else if (choice == 2) {printf("你选择了选项2。
\n");} else if (choice == 3) {printf("你选择了选项3。
上机实验四 分支结构程序设计

上机实验四分支结构程序设计学号: 姓名:一.目的要求1.掌握运用关系运算和逻辑运算表示各种条件;2.掌握字符型变量的定义方法和输入一个字符的方法;3.掌握if语句的3种格式和使用方法;掌握switch语句的语法规则、执行流程;4.掌握break语句在switch语句和循环语句中的作用。
二.实验内容【实验题1】. 程序填充:输入年份year, 判断并输出该年份是否是闰年(leap year)?如输入2000,则显示“2000 is a leap year!”,输入2100,则显示“2100 is not a leap year!”. 提示:判断年份year是闰年的条件是:(1) 能被400整除,或者(2) 能被4整除但不能被100整除.如何用逻辑或“||”和逻辑与“&&”,结合求余运算“%”以及关系运算“==”和“!=”表示该条件?源程序:编译、连接并运行该程序:如果输入2000,则显示Input year:2000 2000 is a leap year!;如果输入2008,则显示Input year:2008 2008 is a leap year!;如果输入2100,则显示Input year:2100 2100 is not a leap year!。
【实验题2】程序填充:输入15个字符,统计英文字母、空格、数字和其它字符的个数。
源程序如下:/* ch是英文字母*/other++;}printf("digit=%d, letter=%d, blankr=%d, other=%d\n", digit,letter,blank,other);}编译、连接并运行程序,输入aB 5c&d *!221?, 则结果显示:Enter 15 characters:aB 5c&d *!221?digit=4,letter=4,blank=3,other=4如果删除标有/*line 5 */的语句行,并将标有/*line 3*/的语句行改写为“int i,digit=blank=letter=other=0;”,重新编译时是否正确?系统提示什么?应如何修改这一行才能保证程序的正确性?错误,digit letter,blank,other没有定义,int i,digit=0,blank=0,letter=0,other=0【实验题3】程序设计:输入一个三位数的整数n,判断n是否为Amstrong数。
分支程序设计实验

分支程序设计实验在计算机科学领域中,分支程序设计是一种重要的概念。
它是指在程序执行过程中,根据不同的条件选择不同的执行路径。
这种设计方法可以使程序更加灵活和智能,提高程序的执行效率和准确性。
在本文中,我们将探讨分支程序设计的原理和实验。
一、分支程序设计的原理分支程序设计的核心原理是根据条件的真假来选择不同的执行路径。
在程序中,我们可以使用条件语句来实现分支程序设计。
常见的条件语句有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;}```在这个实验中,我们根据用户输入的成绩判断其等级,并输出相应的结果。
湖南省C语言(上)教案:第四章分支结构程序设计(高教版).doc

第四章分支结构程序设计分支程序设计章节练习题四、选择题1.若x=0,y=3,z=3,以下表达式值为0的是A. !xB.x<y? 1:0C. x%2&&y==zD. y=x||z/32.以下运算符中优先级最低的运算符为 ,优先级最高的为。
A. &&B. !C. !=D. ||E. ?:F. ==3.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的结果为。
A. 4B. 3C. 2D. 14.若w,x,z均为int型变量,则执行以下语句后的输出为。
w=3;z=7;x=10;printf("%d\n",x>10?x+100:x-10);printf("%d\n",w++||z++);printf("%d\n",!w>z);printf("%d\n",w&&z);A. 0B. 1C. 0D. 01 1 1 11 1 0 01 1 1 05.分析以下程序, 下列说法正确的是。
main(){ int x=5,a=0,b=3;if(x=a+b) printf("* * * *\n");else printf("# # # #\n");}A. 有语法错,不能通过编译B. 通过编译,但不能连接C. 输出* * * *D. 输出# # # #6.分析以下程序, 下列说法正确的是。
main(){ int x=0,a=0,b=0;if(x=a+b) printf("* * * *\n");else printf("# # # #\n");}A. 有语法错,不能通过编译B. 通过编译,但不能连接C. 输出* * * *D. 输出# # # #7.分析以下程序, 下列说法正确的是。
实验四 结构化程序设计

实验四结构化程序设计一、实验目的1.掌握结构化程序设计思想和算法设计方法2.掌握各类语句的用途和使用方法3.掌握条件的表示方法4.掌握表示条件结构的几种语句形式5.掌握表示循环结构的几种语句形式6.掌握break语句和continue语句的功能和使用7.了解goto语句的适用范围及使用二、实验相关知识本次实验涉及如何根据一个问题来设计算法,采用“自顶向下,逐步细化”的结构化程序设计方法,以及如何将算法用C语言描述出来。
掌握C语言中三种程序控制结构:顺序、选择和循环及对应的各类语句。
如表达式语句、复合语句、空语句、条件语句、循环语句和跳转语句,以及表示条件的关系运算符(<、<=、>、>=、==、!=)和逻辑运算符(!、&&、||)的使用。
基本的顺序结构语句有表达式语句、空遇句、复合语句等,选择结构语句有if语句和switch语句等,循环结构语句有while语句、do-while语句和for语句以及跳转语句break和continue等。
1.表示选择结构的语句形式●if(表达式)语句●if(表达式)语句1else语句2●if(表达式1)语句1else if(表达式2)语句2…else if(表达式n-1)语句n-1else语句n●if (表达式1)if (表达式2)语句1else 语句2elseif (表达式3)语句3else 语句4●switch (表达式) {case 常量表达式1: 语句列1case 常量表达式2: 语句列2 …case 常量表达式n: 语句列ndefault: 语句列n+1}2.表示循环结构的语句●while (表达式) 语句●do语句while (表达式);●for (表达式1;表达式2;表达式3)语句3.表示跳转的语句●break语句可用来跳出switch语句或循环结构,其一般形式为:break;要注意的是,break语句仅用于跳出所在的switch语句或循环语句。
C语言实验(分支结构程序设计)

实验1 分支结构程序设计(假期自学用)【实验目的】1.掌握C语言逻辑量的表示方法(以0代表“假”,1代表“真”)。
学会正确地使用关系表达式和逻辑表达式。
2.掌握用if语句实现选择结构。
3.掌握用switch语句实现多分支选择结构。
4.掌握选择结构的嵌套。
【样例】实验内容:从键盘输入一年份,判断年份是否为闰年。
说明:注意程序的输入和输出分别是什么。
参考程序如下:#include <stdio.h>void main( ){int year;scanf("%d", &year); /*键盘输入年份值*/if (year%4==0&&year%100!=0 || year%400==0)printf("This year is a leap year!\n"); /*如果是则输出是闰年*/elseprintf("This year is not a leap year!"); /*否则输出不是闰年*/ }注意:程序的书写风格,要求或括号对齐,程序采用缩进排列。
题目一:完善下列程序并回答问题???实验内容:已知一函数:-1 x<0y= 0 x=01 x>0现有4个程序段:A) if(x<0) y=-1; else if(x= =0) y=0;else y=1;B) y=-1;if(x! =0)if(x>0) y=1;else y=0; C) y=0;if(x>=0){if(x>0) y=1;} else y=-1;D) if(x>=0)if(x>0) y=1;else y=0;else y=-1;问题:哪个程序段不能实现此函数关系?为什么?请用缩进格式编写完整的程序并上机调试。
题目二:运行程序并回答问题void main( ){ int a,b,max,min;scanf("%d%d",&a,&b);if(a>b){ max=a;min=b;}else{ min=a;max=b; }printf("max=%d,min=%d\n",max,min);}实验内容:a、此程序的功能是什么? 比较两个数的大小,输出最大和最小值。
实验4 分支结构程序设计

1.练习题一编写程序,计算练习一分段函数的值。
(1)用scanf函数输入x的值。
(2)运行程序时,分别按x的值小于0、x的值在0-15之间、x的值大于15三种情况输入数据,检查输出的y值是否正确。
判断x的值在0-15之间可否使用表达式“0<=x<15”?为什么?正确的表示方法是什么?不可。
因为一个条件判断表达式中最多只能有一个运算符。
正确的表示方法是x>=0&&x<15.2.练习题二输入3个数字,判断他们是否能构成三角形,如果不能,输出提示信息;否则判断它是直角、等边、等腰# include <stdio.h>int k=1;void test();void main(){while(k==1){int a,b,c,d;printf("Input a,b,c:");scanf("%d,%d,%d",&a,&b,&c);while ((d=getchar())!='\n'&&c!=EOF);//清空输入缓存区if(!(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a))printf("三条边无法构成三角形。
\n");elseif (a*a+b*b==c*c||a*a==b*b+c*c||b*b==a*a+c*c)printf("这是一个直角三角形\n");else if (a==b&&b==c)printf("这是一个等边三角形\n");else if (a==b||b==c||a==c)printf("这是一个等腰三角形\n");elseprintf("这是一个普通三角形\n");test();}}void test(){ char c;printf("Test again?y/n:");if ((c=getchar())=='n'||c=='N')//只有当输入N或n时才终止程序k=0;}判断三角形的类型时需要用到各种判断条件,入等边三角形的判断条件是3条边相等,该判断条件可否描述为“a=b=c”?为什么?答案:1. 练习题三编写一个程序,输出给定的某年某月的天数。
实验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字体列表框中列出的字体,不同的电脑所装字体不同。
实验4分支结构(精)

实验四分支结构程序设计实验一、实验目的1.掌握分支结构程序设计的基本设计方法;2.掌握条件转移指令和无条件转移指令的使用方法; 3.掌握指令对标志寄存器中各标志位的影响情况;4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。
二、实验要求1.学会使用DEBUG 的T 命令,跟踪检查指令对标志位的影响情况; 2.学会使用DEBUG 中的P 命令,对INT 指令的跟踪方法; 3.学会利用设置断点调试程序的方法;4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。
三、实验内容1.编写程序,已知在DATA 开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。
2.编写程序,从键盘输入若干个任意字符,如果是小写字母a ~z 之间的字符,请将它们转换成相应的大写字母,若为其它字符,则保持不变,将转换后的新字符保存在指定的存储单元中。
四、解题思路1.先对DATA 内存单元连续存放三个一位十六进制数。
先对DATA 内存单元里的前两个数据比较,较大的数据再和第三个数据比较,从而得到最大数据存到MAX 内存单元里。
把两次比较得到的两个较小的数据进行比较,从而得到最小数据存到MIN 内存单元里。
两个无符号数据比较后,用JA/JNBE、JAE/JNB/JNC/、JB/JNAE/JC和JBE/JNA来判别两数的大小关系,这些条件转移指令是把进位标志CF 和零标志位ZF 结合起来判别的。
2.先开辟20个字节的内存单元DATA 用来存储输进来字符串和修改后的字符串。
对字符串的输入是以‘#’为结束字符的,当字符的个数少于20时,只要输入的字符串是以‘#’结尾,就代表字符串输入结束(其中结束字符‘#’也是字符串中的一个字符存储到内存单元里)。
每次输入一个字符,就对其进行判别。
若输入的字符在字符‘a ’到‘z ’之间,那么就对其进行转换成对应的大写字母(方法把小写字母的值减去32即可),然后再存到指定的内存单元中;否则,直接把输入的字符存到指定的内存单元中去。
实验四分支和循环程序设计实验(精)

实验四分支和循环程序设计实验一、实验要求和目的1.熟悉汇编语言程序设计结构;2.熟悉汇编语言分支程序基本指令的使用方法;3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法;4.了解汇编语言循环程序设计的基本流程;5.熟悉汇编语言循环基本指令的使用方法;6.掌握利用汇编语言的循环指令完成循环程序设计方法。
二、软硬件环境1、硬件环境:计算机系统 windows;2、软件环境:装有 MASM、DEBUG、LINK、等应用程序。
三、实验涉及的主要知识在实际应用中,经常根据一些条件来选择一条分支执行。
汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号相减而导致的结果来进行。
1.无条件转移指令 JMP无条件转移指令 JMP是使程序无条件转移至目标处,又分为段内转移、段间转移。
2.条件转移指令 JXX条件转移指令可分为三大类:1).简单条件转移指令指令。
根据单个标志位的状态判断转移条件。
标志位指令转移条件意义CFJC CF=1 有进位/借位JNC CF=0 无进位/借位ZFJE/JZ ZF=1 相等/等于 0JNE/JNZ ZF=0 不相等/不等于 0SFJS SF=1 是负数JNS SF=0 是正数OFJO OF=1 有溢出JNO OF=0 无溢出PFJP/JPE PF=1 有偶数个 1JNP/JPO PF=0 有奇数个 12).无符号数条件转移指令。
假设在条件转移指令前使用比较指令,比较两个无符号数A,B,指令进行的的操作是 A-B,其转移指令如下:指令转移条件意义JA/JNBE CF=0 AND ZF=0 A>BJAE/JNB CF=0 OR ZF=1 A>=BJB/JNAE CF=1 AND ZF=0 A<BJBE/JNA CF=1 OR ZF=1 A<=B3).带符号数条件转移指令。
指令转移条件意义JG/JNLE SF=OF AND ZF=0 A>BJGE/JNL SF=OF OR ZF=1 A>=BJL/JNGE SF OF AND ZF=0 A<BJLE/JNG SF OF OR ZF=1 A<=B四、实验内容与步骤1、判断方程 AX2+BX+C=0是否有实根。
实验4分支程序设计报告

实验4 分支程序设计实验目的:1.掌握Visual Basic的常量、变量的定义和使用。
2.掌握各种表达式的使用。
3.掌握各种标准函数的使用。
4.掌握分支结构程序设计方法。
实验4.1计算面积实验任务:1.设计程序界面如图4-1所示,在窗体上先放置框架一个,然后将三个单选按钮放置在框架中,放置两个标签框、两个文本框和两个命令按钮。
2.选择某种形状的同时Label1动态显示相应的“半径”或“边长”。
3.在Text1中输入数值后,按确定按钮,在Text2中显示计算的面积。
4.形状转换时,要清除前次结果(两个文本框清空),光标聚焦Text1。
5.按“退出”按钮,结束运行。
图4-1 程序界面提示:可以根据单选按钮的Value属性进行判断,当某个按钮值为真时,则进行与之相应的计算。
因此,可以使用分支结构(If…Then)来实现条件判断功能。
实验步骤:2.添加代码Option ExplicitConst Pi As Single = 3.141593 ’Pi为“符号常量”类型,不可再次赋值Private Sub Option1_Click()Label1 = "半径"Text1 = ""Text2 = ""Text1.SetFocusEnd SubPrivate Sub Option2_Click()Label1 = "边长"Text1 = ""Text2 = ""Text1.SetFocusEnd SubPrivate Sub Option3_Click()’填写一段程序(可以模仿Option2_Click()中的代码)End SubPrivate Sub Command1_Click()Dim r As Single, s As Singler = Val(Text1)If Option1.Value = True Then s = Pi * r ^ 2If Option2.Value = True Then s = r ^ 2 * Sqr(3) / 4If Then s = r ^ 2Text2 = sEnd SubPrivate Sub Command3_Click()EndEnd Sub3.保存文件,调试运行并记录结果。
4实验四!分支结构程序设计

实验四分支结构程序设计一、实验内容1.条件表达式中的关系与逻辑运算;2.单分支、双分支选择结构程序设计;3.Python中的三元运算;4.多分支选择结构程序设计和分支结构的嵌套使用。
二、实验要求1.掌握条件表达式中的关系与逻辑运算;2.掌握单分支、双分支选择结构程序设计;3.掌握Python中的三元运算;4.掌握多分支选择结构程序设计和选择结构的嵌套使用。
三、实验过程1.写一个程序实现对任意两个变量值的交换。
a=eval(input("请输入第一个数:")) #输入数据并转换成数值型b=eval(input("请输入第二个数:"))print(a,b)a,b=b,aprint(a,b)2.输入一个矩形的边长,求其面积和周长。
a=eval(input("请输入矩形的长:"))b=eval(input("请输入矩形的宽:"))s=a*bl=2*(a+b)print("矩形的面积:{},矩形的周长:{}".format(s,l))3. 填空,输入三角形三边长,求三角形面积,面积公式为:s=√h(h−a)(h−b)(h−c), h=a+b+c。
2import ___________a=float(input("请输入三角形边长a:")) #输入一个数转换成浮点型后给变量a b=float(input("请输入三角形边长b:"))c=float(input("请输入三角形边长c:"))h=_______________s=math.sqrt(h*(h-a)*(h-b)*(h-c)) #使用标准库函数sqrt()print("三角形的面积={:.3}".format(s))4.填空,求一元二次方程ax2+bx+c=0的解,并调试运行,a、b、c系数由键盘输入。
汇编语言--分支结构程序设计实验

汇编语言--分支结构程序设计实验汇编语言实验报告实验6 汇编语言分支结构程序设计学院:计算机学院班级:姓名:梁建辉学号: [1**********]72019年12月1日1. 实验目的:(1)(2)(3)(4)掌握汇编语言顺序结构设计方法熟悉常用汇编指令的用法学会用debug输入、运行小程序,并检查运行情况的方法学会在pc机上建立、汇编、连接、调试和运行80x86汇编语言程序的过程2. 实验内容:(1)调试程序1:将存储单元DAT+1中的两个压缩的bcd码拆成2个非压缩的不承担码(高位bcd码放在DAT+1单元,地位bcd码放在DAT+2单元)。
程序如下:DATA SEGMENTDAT DB 0A5H,2 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, DATMOV BL, ALMOV CL, 4SHL BL, CLMOV DAT+1, BLAND AL, 0FHMOV DAT+2, ALMOV AH, 4CHINT 21HCODE ENDSEND START上机运行该程序并检查运行结果是否正确。
3.实验运行结果:(1)1401:0000 B80014 MOV1401:0003 8ED8 MOV DS,AX1401:0005 A00000 MOV AL,[0000]1401:0008 8AD8 MOV BL,AL1401:000A B104 MOV CL,041401:000C D2E3 SHL BL,CL1401:000E 881E0100 MOV [0001],BL1401:0012 240F AND AL,0F1401:0014 A20200 MOV [0002],AL1401:0017 B44C MOV AH,4C1401:0019 CD21 INT 211401:001B FE8946F6 DEC BYTE PTR [BX+DI+F646]1401:001F EB06 JMP 0027段首地址为:1400运行前的结果:-d 1400:0,F1400:0000................运行后的结果:-gProgram terminated normally-d 1400:0,f1400:0000.P..............单步运行结果:BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=13F0 ES=13F0 SS=1400 CS=1401 IP=0003 NV UP EI PL NZ NA PO NC 1401:0003 8ED8 MOV DS,AX-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000SI=0000 DI=0000 DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PO NCMOV AL,[0000]DS:0000=A5 -tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PO NCMOV BL,AL-tAX=14A5 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PO NCMOV CL,04-tAX=14A5 BX=00A5 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PO NCSHL BL,CL-AX=14A5 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401NV UP EI PL NZ NA PE NCMOV [0001],BLDS:0001=50 -tBX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=1400 ES=13F0 SS=1400 CS=1401NV UP EI PL NZ NA PE NC 1401:0012 240F AND AL,0F-tBX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PE NCMOV [0002],ALDS:0002=05 -tAX=1405 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1401 NV UP EI PL NZ NA PE NC MOV AH,4C-AX=4C05 BX=0050 CX=0004 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000SS=1400 CS=1401 NV UP EI PL NZ NA PE NC INT 21程序2:DATAX Y SEGMENT DB 20H DW ?ENDSSEGMENTMOV AX,DATA;把X的值转移到AL ;清零AH ;定义X为字类型并赋值20H ;定义Y为字节类型 DATA CODESTART: ASSUME CS:CODE,DS:DATA MOV MOV DS,AX AL,X XOR AH,AH SHL AX,1 MOV MOV ;将目的操作数向左移动1位 ;移位大于1,需用CL ;将目的操作数向左移动2位 ;把AX与BX中的值相加 ;返回DOS状态下 BX,AX CL,2 SHL AX,CL ADD AX,BX MOV MOV Y,AX AH,4CH INT 21H ENDS END START CODE运行结果:1401:0000 B80014 MOV AX,14001401:0003 8ED8 MOV DS,AX1401:0005 A00000 MOV AL,[0000]1401:0008 32E4 XOR AH,AH1401:000A D1E0 SHL AX,11401:000C 8BD8 MOV BX,AX1401:000E B102 MOV CL,021401:0010 D3E0 SHL AX,CL1401:0012 03C3 ADD AX,BX1401:0014 A30100 MOV [0001],AX1401:0017 B44C MOV AH,4C1401:0019 CD21 INT 211401:001B FE8946F6 DEC BYTE PTR [BX+DI+F646]1401:001F EB06 JMP 0027-首地址:1400运行前结果:-d 1400:0,f1400:0000...............-t运行后结果:Program terminated normally-d 1400:0,f1400:0000@..............单步调试:-tAX=-tAX=-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=13EB ES=13EB SS=1400 CS=13FC IP=0003 NV UP EI PL NZ NA PO NC 13FC:0003 8ED8 MOV DS,AX-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=1400 ES=13EB SS=1400CS=13FC NV UP EI PL NZ NA PO NCMOV AL,[0000] DS:0000=20BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL NZ NA PO NCXOR AH,AH-tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL ZR NA PE NCSHL AX,1-gBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13EB ES=13EB SS=1400 CS=13FC IP=0003 NV UP EI PL NZ NA PO NC 13FC:0003 8ED8 MOV DS,AX-tAX=1400 BX=0000 CX=002B DX=0000 SP=0000 BP=0000SI=0000 DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL NZ NA PO NCMOV AL,[0000]DS:0000=20-tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL NZ NA PO NCXOR AH,AH-tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL ZR NA PE NCSHL AX,1-gBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13EB ES=13EB SS=1400 CS=13FC IP=0003 NV UP EI PL NZ NA PO NC 13FC:0003 8ED8MOV DS,AX-tAX=13FB BX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=1400 ES=13EB SS=13FB CS=13FC NV UP EI PL NZ NA PO NCMOV AL,[0000]DS:0000=20-tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL NZ NA PO NCXOR AH,AH-tBX=0000 CX=002B DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13EB SS=1400 CS=13FC NV UP EI PL ZR NA PE NCSHL AX,1-g程序3:DATA SEGMENTORG 1000HBIN DB ?HEX DB 6BhORG 1030HDB 00H, 01H,02H,03H,04H,05H,06H,07H,08H,09H ORG 1040HDB 0AH,0BH,0CH,0DH,0EH,0FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,HEXMOV BX,OFFSET BINSUB AH,AHADD BX,AXMOV DL,[BX]MOV CL,4SHL DL,CLMOV AL,HEX+1MOV BX,OFFSET BINXOR AH,AHADD BX,AXMOV Ax,BXOR Al,DLMOV BIN,ALMOV AH,4CHINT 21HCODE ENDSEND START运行结果:1505:0000 B80014 MOV1505:0003 8ED8 MOV DS,AX1505:0005 A00110 MOV AL,[1001] 1505:0008 BB0010 MOV BX,1000 1505:000B 2AE4 SUB AH,AH1505:000D 03D8 ADD BX,AX1505:000F 8A17 MOV DL,[BX]1505:0011 B104 MOV CL,041505:0013 D2E2 SHL DL,CL1505:0015 A00210 MOV AL,[1002] 1505:0018 BB0010 MOV BX,1000 1505:001B 32E4 XOR AH,AH1505:001D 03D8 ADD BX,AX1505:001F 8BC3 MOV AX,BX首地址:1400-运行前结果:-d 1400:0,f1400:0000.....................-运行后结果:-d 1400:0,f1400:0000...........单步调试:BX=0000 CX=107A DX=0000 SP=0000 BP=0000 SI=0000 DI=0000DS=13F0 ES=13F0 SS=1400 CS=1505 IP=0003 NV UP EI PL NZ NA PO NC 1505:0003 8ED8 MOV DS,AX-TAX=1400 BX=0000 CX=107A DX=0000 SP=0000 BP=0000SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NCMOV AL,[1001]DS:1001=6B-TBX=0000 CX=107A DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 NV UP EI PL NZ NA PO NCMOV BX,1000-TAX=146BCX=107A DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NCSUB AH,AH-TBX=1000 CX=107A DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL ZR NA PE NC ADD BX,AX-AX=006B CX=107A DX=0000 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NC MOV DL,[BX]DS:106B=32-tAX=006B BX=106B CX=107A SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NC MOVCL,04-tAX=006B BX=106B CX=1004 DX=0032 SP=0000 BP=0000SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 NV UP EI PL NZ NA PO NCSHLDL,CL-tAX=006B BX=106B CX=1004 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1505NV UP EI PL NZ NA PO CYMOV AL,[1002]DS:1002=00-tBX=106B CX=1004 DX=0020 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505NV UP EI PL NZ NA PO CYMOVBX,1000-AX=0000 CX=1004 DX=0020 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO CYXORAH,AH-tAX=0000 BX=1000 CX=1004 DX=0020 SP=0000 BP=0000SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL ZR NA PE NCADD BX,AX-tAX=0000 BX=1000 CX=1004 DX=0020 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1505NV UP EI PL NZ NA PE NCMOV AX,BX-tBX=1000 CX=1004 DX=0020 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 NV UP EI PL NZ NA PE NCOR AL,DL-tBX=1000 CX=1004 DX=0020 SP=0000 BP=0000 SI=0000DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NCMOV [1000],ALDS:1000=20--tAX=1020 BX=1000 CX=1004 DX=0020 SP=0000 BP=0000 SI=0000 DI=0000DS=1400 ES=13F0 SS=1400 CS=1505 NV UP EI PL NZ NA PO NCMOV AH,4C-心得体会:写程序时,对于有些特定的指令不太熟,有时还得借助于课本,不能脱离课本编程。
分支程序设计实验

分支程序设计实验[文档标题][目录]1. 引言1.1 目的1.2 背景1.3 范围2. 实验准备2.1 硬件要求2.2 软件要求2.3 数据准备3. 实验方案3.1 设计思路3.2 算法分析3.3 代码实现4. 实验步骤4.1 步骤一4.2 步骤二4.3 步骤三5. 实验结果与分析 5.1 实验结果展示5.2 分析与讨论6. 实验总结6.1 完成情况6.2 实验心得7. 参考文献8. 附件8.1 附件一:实验数据8.2 附件二:代码清单[1. 引言]1.1 目的本实验旨在通过设计和实验分支程序,加深对分支程序设计的理解,并掌握分支程序设计的基本方法和技巧。
1.2 背景分支程序是计算机程序中常见的一种控制结构,用于根据条件选择不同的执行路径。
了解和掌握分支程序设计对于开发高质量的软件至关重要。
1.3 范围本文档详细介绍了分支程序设计实验的准备工作、实验方案、实验步骤、实验结果与分析以及实验总结等内容。
[2. 实验准备]2.1 硬件要求(列出实验所需的硬件设备,如计算机、开发板等)2.2 软件要求(列出实验所需的软件环境,如IDE、编程语言等)2.3 数据准备(描述实验所需的测试数据、输入样例等)[3. 实验方案]3.1 设计思路(说明实验的设计思路和方法)3.2 算法分析(对所采用的算法进行分析和解释)3.3 代码实现(展示实验的代码实现)[4. 实验步骤]4.1 步骤一(详细描述实验的第一步骤)4.2 步骤二(详细描述实验的第二步骤)4.3 步骤三(详细描述实验的第三步骤)[5. 实验结果与分析]5.1 实验结果展示(展示实验运行的结果)5.2 分析与讨论(对实验结果进行分析和讨论)[6. 实验总结]6.1 完成情况(总结实验的完成情况)6.2 实验心得(总结实验中获取的经验和教训)[7. 参考文献](列出本文档中所引用的参考文献)[8. 附件]8.1 附件一:实验数据(列出附件内容,如实验数据)8.2 附件二:代码清单(列出附件内容,如代码清单)[本文档涉及附件]本文档涉及的附件包括实验数据和代码清单。
选择分支结构_实验报告(3篇)

第1篇一、实验目的1. 理解选择分支结构的概念和作用。
2. 掌握选择分支结构的语法和执行流程。
3. 学会使用选择分支结构进行简单的程序设计。
二、实验环境1. 操作系统:Windows 102. 编程语言:C语言3. 编译器:Code::Blocks三、实验内容1. 实验一:简单if语句实验目的:理解if语句的基本用法。
实验步骤:(1)编写一个C语言程序,包含一个变量a。
(2)使用if语句判断变量a的值是否大于10。
(3)如果条件成立,输出“a大于10”;否则,输出“a不大于10”。
实验代码:```cinclude <stdio.h>int main() {int a = 5;if (a > 10) {printf("a大于10\n");} else {printf("a不大于10\n");}return 0;}```2. 实验二:if-else语句实验目的:理解if-else语句的基本用法。
实验步骤:(1)编写一个C语言程序,包含两个变量a和b。
(2)使用if-else语句判断变量a的值是否大于变量b的值。
(3)如果条件成立,输出“a大于b”;否则,输出“a不大于b”。
实验代码:```cinclude <stdio.h>int main() {int a = 10, b = 5;if (a > b) {printf("a大于b\n");} else {printf("a不大于b\n");}return 0;}```3. 实验三:嵌套if语句实验目的:理解嵌套if语句的基本用法。
实验步骤:(1)编写一个C语言程序,包含三个变量a、b和c。
(2)使用嵌套if语句判断变量a、b和c的值,输出最大值。
实验代码:```cinclude <stdio.h>int main() {int a = 10, b = 20, c = 30;if (a > b) {if (a > c) {printf("最大值是:%d\n", a);} else {printf("最大值是:%d\n", c);}} else {if (b > c) {printf("最大值是:%d\n", b);} else {printf("最大值是:%d\n", c);}}return 0;}```4. 实验四:switch语句实验目的:理解switch语句的基本用法。
分支结构程序设计(汇编语言)

汇编语言实验报告实验名称:分支结构程序设计姓名:学号:班级:一、实验内容1.将程序1输入、汇编、连接并通过Debug调试和检查运行结果。
2.修改程序1完成将其中的最小数存入MIN单元。
3.将编写好的程序2输入、汇编、连接并通过Debug调试和检查运行结果。
4.将编写好的程序3输入、汇编、连接并通过Debug调试和检查运行结果。
二、实验目的1. 掌握分支程序的结构。
2. 掌握分支程序的设计、编写及调试方法。
三、实验原理1、汇编语言源程序编制完成后,在计算机上的操作过程分为四个阶段:编辑、汇编、连接、运行调试(如图1)。
2、上机实验步骤:1)确定源程序的存放目录2)编辑ASM源程序3)用MASM.EXE汇编程序产生OBJ目标文件4)用LINK.EXE产生EXE可执行文件5)执行程序3、程序执行过程的跟踪可以用Debug来跟踪一个程序的运行过程,这通常是必须要做的工作。
我们写的程序在逻辑上不一定总是正确,对于简单的错误,仔细检查一下源程序就可以发现;而对于隐藏较深的错误,就必须对程序的执行过程进行跟踪分析才容易发现。
为了观察程序的运行过程,可以使用Debug。
Debug可以将程序加载入内存,设置CS:IP 指向程序的入口,但Debug并不放弃对CPU的控制,这样,我们就可以使用Debug的相关命令来单步执行程序,查看每一条指令的执行结果。
4 分支结构汇编语言中的分支结构式一种很常用的结构,就像我们高级语言中的if结构一样。
对一些需要判断的很有用。
四、实验过程1、实验环境汇编语言程序设计的实验环境如下:(1). 硬件环境微型计算机(Intel x86系列CPU)一台(2). 软件环境Windows98/2000/XP操作系统任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等)汇编程序(MASM.EXE或TASM.EXE)调试程序(DEBUG.EXE或TD.EXE)文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。
实验四 分支结构程序设计

实验四分支结构程序设计一、实验目的1.掌握多分支结构程序设计的方法;2.掌握无符数和带符号数比较大小转移指令的区别。
二、实验内容1.在数据区中自己定义十个个带符号字节变量。
2.编写程序将其中的最大数找出送到MAX单元中。
3.将这十个数据按由小到大依次存放到数据段中以PAIXU命名的数据区。
三、编程思路该题目要求掌握多分支程序设计方法。
为了实现指定功能,应从以下几个方面考虑:(1) 确定编程的算法思想。
(2) 确定带符号数比较大小转移应选择哪一组条件转移指令。
四、参考程序清单(可以按照这个参考程序修改)DATA SEGMENTX DB 115Y DB 23Z DB -20MAX DB ?DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV AL,XCMP AL,YJG NEXTMOV AL, YCMP AL,ZJG EXITMOV AL,ZJMP EXITNEXT:CMP AL,ZJG EXITMOV AL,ZEXIT:MOV MAX,ALMOV AH,4CHINT 21HCODE ENDSEND START ;返回DOS五、思考题1)如果用子程序的方法来设计程序,应如何修改此程序?2)如果是无符号数比较大小,条件转移时应选择哪一组指令?实验五循环结构程序设计一、实验目的1.掌握循环结构程序设计的方法;2.掌握数据块传送程序设计的方法;3.掌握串传送指令的应用。
二、实验内容1.编写程序实现将数据段STR1单元开始的20个字符移到STR2开始的存储区。
2.假设STRI+20>STR2,可以用串传送指令,也可以用MOV传送指令。
三、编程思路该题目要求掌握单循环程序设计方法。
为了实现指定功能,应从以下几个方面考虑:(1)数据串操作的起始位置从高地址还是从低地址开始。
(2)确定使用串传送指令,还是用MOV指令。
实验4分支程序设计

安徽工商职业学院电子信息系 6. 已知三个数 a,b,c,找出最大值放于 max 中。 分析:由已知可得在变量定义时定义四个变量 a,b,c 和 max,a,b,c 是任意输入的三个数, max 是用来存放结果最大值的。第一次比较 a 和 b,把大数存入 max 中,因 a,b 都可能是大值, 所以用 if 语句中 if——else 形式。第二次比较 max 和 c,把最大数存入 max 中,用 if 语句 的第一种形式 if 形式。Max 即为 a,b,c 中的最大值。 源程序: 运行结果截图: 7.求一元二次方程的根。 源程序: 运行结果截图:
实验结果和自我总结:
13. 分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比 较对照。 main ( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch (y) { case 0 : a++ ; break ; case 1 : b++ ; break ; } case 2:a++; b++; break; case 3:a++; b++; } printf(“a=%d,b=%d”,a,b); } 分析: 运行结果:
修改后的源程序: 运行结果截图:
15. 下面程序的功能是:从键盘输入学生成绩,输出对应的等级(100 分为 A,90~99 分为 B, 80~89 分为 C,70~79 分为 D,60~69 分为 E,小于 60 分为 F)。请将程序补齐,并上机运行。 main() { int g; printf("Enter a mark:"); scanf("%d", ); /*$BLANK1$*/ printf("g=%d",g); switch( ) /*$BLANK2$*/ { case 10: printf("A\n");break; case 9: printf("B\n");break; case 8: printf("C\n");break; case 7: printf("D\n");break; case 6: printf("E\n");break; : printf("F\n"); /*$BLANK3$*/ }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验4分支结构程序设计
分支结构是程序设计中常用的一种控制结构,通过判断条件的真假来
选择不同的执行路径。
在实验4中,我们将学习如何使用分支结构来设计
程序。
一、分支结构的基本语法
在分支结构中,根据条件的真假执行不同的代码,主要有以下几种语
法结构:
1. if语句: if语句是最基本的分支结构,用于根据条件执行不同
的代码块。
语法如下:
if (条件)
//条件为真时执行的代码
} else
//条件为假时执行的代码
其中,条件是一个表达式,如果表达式的值为真,则执行if语句块
中的代码;否则执行else语句块中的代码。
2. if-else if-else语句:用于根据多个条件选择执行不同的代码。
语法如下:
if (条件1)
//条件1为真时执行的代码
} else if (条件2)
//条件1为假,条件2为真时执行的代码
} else
//条件1和条件2都为假时执行的代码
在这种结构中,多个条件会按照顺序依次被检查,一旦一些条件为真,相应的代码块即被执行,后续的条件判断将被略过。
3. switch语句:用于根据不同的表达式值选择执行不同的代码块。
语法如下:
switch (表达式)
case 值1:
//表达式的值与值1相等时执行的代码
break;
case 值2:
//表达式的值与值2相等时执行的代码
break;
...
default:
//表达式的值与之前的值都不相等时执行的代码
break;
在switch语句中,表达式的值将与每个case后的值进行比较,如果相等,相应的代码块将被执行,使用break语句可以使程序跳出switch 语句。
二、分支结构的应用
在实验4中,我们可以结合具体问题来设计分支结构程序。
以下是一个示例:
问题:根据学生的成绩判断其等级并输出。
解决方法:
1.输入学生的成绩。
2. 使用if-else if-else语句判断成绩所属的等级,并输出。
具体实现如下:
#include <iostream>
int mai
//输入学生的成绩
int score;
std::cout << "请输入学生的成绩:";
std::cin >> score;
//判断成绩所属等级并输出
if (score >= 90)
std::cout << "成绩等级为A" << std::endl;
} else if (score >= 80)
std::cout << "成绩等级为B" << std::endl;
} else if (score >= 70)
std::cout << "成绩等级为C" << std::endl;
} else if (score >= 60)
std::cout << "成绩等级为D" << std::endl;
} else
std::cout << "成绩等级为E" << std::endl;
}
return 0;
在上述代码中,我们通过if-else if-else语句根据学生的成绩判断其等级,并输出相应的结果。
根据成绩的不同区间,程序将执行不同的代码块。
三、注意事项
1.在分支结构中,条件的判断结果应该是布尔类型的值,即真或假。
2. 在使用if-else if-else语句或switch语句时,条件的顺序非常重要。
条件应该按照从特殊到一般的顺序排列,避免条件重叠或被忽略。
3. 在使用if-else if-else语句时,只要满足一些条件,即执行相应的代码块,并不会继续判断后续条件。
4. 在使用switch语句时,每个case后的值应该是唯一的,避免重复或缺失。
总结:
分支结构是程序设计中常用的控制结构,可以根据条件的真假选择不同的执行路径。
在实验4中,我们学习了if语句、if-else if-else语句和switch语句的基本语法和应用方法。
合理运用分支结构可以实现复杂的逻辑判断和流程控制。