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

合集下载

微机原理分支程序设计实验

微机原理分支程序设计实验

微机原理分支程序设计实验微机原理是计算机科学与技术专业的核心课程之一、在这门课程中,学生需要学习计算机的基本原理和体系结构,并通过实验来巩固所学的知识。

本文将介绍一个关于分支程序设计的微机原理实验。

实验背景:分支程序是计算机中的一种非线性控制结构,它根据条件的不同选择不同的执行路径。

分支程序设计是计算机编程中非常重要的一部分,也是实际应用中经常会遇到的情况之一、通过这个实验,学生将学会如何使用分支结构来解决实际问题。

实验目的:1.了解分支程序设计的基本概念和原理。

2.掌握使用条件语句和循环语句来实现分支程序。

3.通过实际案例分析和编程实践,巩固所学的知识。

实验内容:本实验以学生成绩管理系统为例,通过判断学生的成绩等级来计算总评成绩,并输出等级信息。

分支程序设计的思路如下:1.输入学生的成绩。

2.根据成绩的范围判断学生的等级。

3.根据等级计算总评成绩。

4.根据总评成绩输出相应的等级信息。

实验步骤:1.在开发环境中创建一个新的项目,并新建一个名为“GradeManage”的源文件。

2.在源文件中定义一个成绩变量和一个等级变量,并使用输入函数从键盘读取学生的成绩。

3.使用条件语句根据成绩的范围判断学生的等级,并将等级赋值给等级变量。

4.使用条件语句根据等级计算总评成绩,并将结果赋值给一个总评成绩变量。

5.使用条件语句根据总评成绩输出相应的等级信息。

6.在屏幕上显示输出结果。

7.编译并运行程序,进行测试。

实验总结:通过本实验,我学会了如何设计并实现一个简单的分支程序。

在实验过程中,我深入了解了分支结构的原理和使用方法,并通过编程实践巩固了所学的知识。

分支程序设计在实际应用中非常广泛,掌握这一技能对于计算机科学与技术专业的学生来说非常重要。

在今后的学习和工作中,我将继续探索和学习更多关于分支程序设计和其他相关知识,以提高自己的编程能力。

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

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

XXX大学软件类实验报告
课程名称:C语言程序设计学号:
姓名:
班级:
指导教师:
开课学期:
学院:
XXX大学教务处
4.switch语句。

四、实验过程及内容:(运行结果请抓图到对应题目的下方)
1. 先分析以下程序,写出运行结果,再上机检验。

实验结果:
2.先分析以下程序,写出运行结果,再上机检验。

实验结果:
3.先分析以下程序,写出运行结果,再上机检验。

实验结果:
4. 程序改错题。

以下程序的功能是将a、b、c三个数从小到大进行排序,即使得a≤b≤c.。

程序中有一些错误,试将其改正并上机验证。

实验结果:
5. 程序填空题。

以下程序的功能是:从键盘接收一个字符,如果是小写英文字母,则将其转换为相应的大写字母;如果是大写英文字母,则将其转换为相应的小写字母;如果是其他字符,则不做转换。

填空将程序补充完整并上机验证。

实验结果:
6. 编程题。

根据以下分段函数计算y的值,x的值由键盘输入。

保留两位小数
输入格式:-2
输出格式:y=-2.00
实验代码:
实验结果:
7.输入一个正整数作为年份,编程判断该年是否为闰年。

若是输出“Yes”,否则输出“No”。


示:能被4整除,但不能被100整除的年份;或者能被400整除的年份。

实验代码:
实验结果:。

《Python程序设计》实验3---Python基本数据类型及分支结构实验报告

《Python程序设计》实验3---Python基本数据类型及分支结构实验报告

**大学数学与信息工程学院《Python程序设计》实验报告实验名称:实验3 Python基本数据类型及分支结构班级:姓名:,学号:实验地点:日期:《一、实验目的:[实验目的和要求]1、熟练掌握Python三种数字类型及其应用2、熟练判断条件表达式的真假3、熟练掌握Python分支结构二、实验环境:1、计算机,局域网,python 软件三、~四、实验内容和要求:(直接将实验步骤及截图写在题目下面,结果必须截图)1、复数z=-3+4j,用Python程序求得对应的实部和虚部并计算z的绝对值,并思考输出的绝对值代表什么含义2、请将下列数学表达式用Python程序写出来,并运算结果1)427345x+-⨯=代码:a=2**4 b=7。

c=3 d=4 e=5x=(a+b-c*d)/e print(x)2)2131677()(mod )/x =+⨯代码:>a=3**2 b=1 c=16 d=7x=(a+b)*(c%d)/7 print(x)3、编写程序,根据输入的长和宽,计算矩形的面积并输出。

要求:输入语句input 实现同步赋值。

、lw=input('请输入矩形的长和宽,以空格分隔:') length,width=map(float,()) s=length*widthprint("矩形面积为:",s)4、编写程序,用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。

例如用户输入1234,则程序输出12。

(提示:使用整除运算。

)代码:a=eval(input('请输入一个三位以上的整数:'))!b=int(a/100)if(a<99):print('输入错误')else:print(b)------------------------------------------------------------------------------------------------------------------------------5、已知某课程的百分制分数mark ,将其转换为5分制(优、良、中、及格、不及格)的评定等级grade ,评定条件如下:(注意:不要存在冗余条件) 、908090=7080607060mark mark mark mark mark ≥⎧⎪≤<⎪⎪≤<⎨⎪≤<⎪⎪<⎩优良成绩等级中及格不及格代码:mark=eval(input('请输入你的分数:')) if mark>=90: print('优') elif 90>mark>=80: print('良') elif 80>mark>=70:、print('中') elif 70>mark>=60: print('及格') elif mark<60:print('不及格')6、-7、 (1)编写计算n的阶乘的程序,n由用户输入。

分支结构应用实验报告

分支结构应用实验报告

一、实验目的1. 理解分支结构在程序设计中的重要作用。

2. 掌握C语言中的分支结构语句,如if-else、switch-case等。

3. 通过实际编程,熟练运用分支结构解决实际问题。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言三、实验内容1. 实验一:判断两个整数的大小(1)功能描述:输入两个整数,输出较大的数。

(2)程序代码:```c#include <stdio.h>int main() {int a, b;printf("请输入两个整数:\n");scanf("%d %d", &a, &b);if (a > b) {printf("较大的数是:%d\n", a);} else {printf("较大的数是:%d\n", b);}return 0;}```2. 实验二:计算分段函数的值(1)功能描述:输入一个实数x,计算分段函数y的值。

(2)程序代码:```c#include <stdio.h>int main() {double x, y;printf("请输入一个实数x:\n");scanf("%lf", &x);if (x < 2) {y = x x;} else {y = 2 x - 1;}printf("分段函数y的值是:%lf\n", y);return 0;}```3. 实验三:判断字符类型(1)功能描述:输入一个字符,判断其是字母、数字还是其他字符。

(2)程序代码:```c#include <stdio.h>#include <ctype.h>int main() {char c;printf("请输入一个字符:\n");scanf("%c", &c);if (isalpha(c)) {printf("该字符是字母。

选择分支结构的实验报告

选择分支结构的实验报告

一、实验背景选择分支结构是程序设计中非常重要的一种结构,它可以根据不同的条件判断,选择执行不同的代码块。

在Java、C、Python等多种编程语言中,选择分支结构都有着广泛的应用。

为了加深对选择分支结构的理解,本次实验通过具体的实例来演示选择分支结构的实现方法。

二、实验目的1. 理解选择分支结构的原理和语法;2. 掌握if-else语句、switch-case语句等选择分支结构的用法;3. 能够运用选择分支结构解决实际问题。

三、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse四、实验内容1. 实验一:if-else语句(1)实验目的:掌握if-else语句的基本用法。

(2)实验内容:编写一个Java程序,根据用户输入的年龄,判断用户是青少年、中年还是老年人。

(3)实验步骤:① 创建一个名为AgeDemo的Java类;② 在主函数中,声明一个变量age,用于存储用户输入的年龄;③ 使用Scanner类获取用户输入的年龄;④ 使用if-else语句判断年龄,并输出相应的结果。

(4)实验代码:```javaimport java.util.Scanner;public class AgeDemo {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入您的年龄:");int age = scanner.nextInt();if (age >= 18 && age <= 30) {System.out.println("您是青少年。

");} else if (age >= 31 && age <= 60) {System.out.println("您是中年人。

微机原理实验报告-分支程序设计

微机原理实验报告-分支程序设计

实验三 分支程序设计一、实验要求和目的1.熟悉汇编语言程序设计结构;2.熟悉汇编语言分支程序基本指令的使用方法;3.掌握利用汇编语言实现单分支、双分支、多分支的程序设计方法。

二、软硬件环境1.硬件环境:微机CPU 486以上,500MB 以上硬盘,32M 以上内存; 2.软件环境:装有MASM 5.0、DEBUG 、LINK 和EDIT 等应用程序。

三、实验涉及的主要知识单元在实际应用中,经常根据一些条件来选择一条分支执行。

汇编语言的条件判断主要是通过状态寄存器中的状态位、无符号数相减或有符号和相减而导致的结果来进行。

下面就有符号数转移指令来了解在汇编语言程序设计方法。

四、实验内容与步骤1.实验内容(1)编写计算下面函数值的程序:⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y设输入数据为X 、输出数据Y ,且皆为字节变量,使用Debug 查看X 、Y 两个变量的数据(2)以ARRAY 为首地址的内存单元中,存放5个8位的不带符号数,找出5个数中的最大数,并将结果存入RESULT 字节单元中。

2.实验步骤 a.实验流程图(1)计算函数值的流程图b.编写程序(1)计算函数值的实验代码 DATA SEGMENT X DB 12 Y DB ?DATA ENDSSTACK SEGMENT STACK'STACK' DB 100H DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AL,XX CMP AL,0 ;把AX 与0比较JGE BIGPR ;0≥AL 转入BIGPR MOV Y,0FFFFH ;0<AL 则1-=Y JMP EXIT BIGPR: JE EQUPR ;0=AL 转入EQUPR MOV Y,1 ;0>AL 则1=Y JMP EXIT EQUPR: MOV Y,0;0=AL 则0=YEXIT: MOV AL,Y RET CODE ENDS END START(2)查找最大值的实验代码 DATA SEGMENT ARRAY DB 2,1,4,5,3 RESULT DB ? DATA ENDSSTACK SEGMENT STACK'STACK' DB 100H DUP(?) STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX LEA B X,ARRAY MOV AL,[BX] ;ARRAY 第一个数存入BXMOV CX,5 ;置循环次数 LOP: INC BX ;指针变量增1 CMP AL,[BX] ;比较AL 中数与[BX]的大小JAE L1;][BX AL ≥转入L1 MOVAL,[BX];][BX AL <则][BX AX ← L1: LOOP LOP;执行循环LOP 程序MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDS END STARTc.对程序进行debug 调试,观察中间结果 (1)计算函数值的调试 1.反汇编内容①MOV AL,XX 反汇编后变成MOV AL,[0000],即XX 为数据段第一个存储单元的内容,数据段的起始偏移地址为0000。

《汇编语言程序设计》实验指导书

《汇编语言程序设计》实验指导书

实验一简单程序编制和上机过程一.实验目的1.掌握计算机常用代码的软件转换技术。

2.熟悉DEBUG软件的使用。

3.掌握简单程序的编程方法。

二.实验内容代码转换是计算机和I/O设备进行信息交换的重要技术之一。

各种I/O设备所提供和接收的数据编码不尽相同。

为了处理这些信息,计算机必须将各种不同编码形式的信息转换成别种适当的数据形式。

例如,键盘输入的数据均为ASC Ⅱ码形式存储在内存中,通常要求将其转换成相应的数据形式。

一般实现代码转换有两种方法:1.软件法利用CPU的算术逻辑运算功能,通过运算或查表实现各种数据代码间的转换。

该方法经济但速度慢。

2.硬件法利用专用代码转换集成电路进行转换。

如74LS74可把BCD码转换为七段代码。

这种方法需要硬件费用,但速度快。

本实验要求掌握软件编码转换技术。

计算机常用的代码有二进制、八进制、十六进制、BCD码、ASCⅡ码、七段码等,它们之间的相互关系如下表所示。

本次试验的内容是ASCⅡ码转换为未组合BCD码设从键盘输入十进制数的ASCⅡ码已存放在起始地址CS :150H的单元中,把它转换成未组合BCD码后,再分别存入起始地址为CS:15AH的单元中。

若输入的不是十进制数的ASCⅡ码,则相应存放结果单元的内容为“FF”。

提示:1.组合BCD码是一位十进制数字占一个字节,高半字节为0,低半字节为该十进制数字的BCD码。

ASCⅡ码转换为未组合BCD码只需减30H。

2.程序框图如下图所示。

3.程序执行前,需要在CS:150H内存缓冲区写入待转换的ASCⅡ码。

方法如下:方法一:用A命令-ACS:150 DB 35,39,30,41,32CS:155 ∧C方法二:用E 命令-ECS:150,35,39,30,41,32方法三:用F命令-FCS:150 L5 35,39,30,41,321.执行程序后检查执行结果可用D命令:-DCS:15ACS:15A 05,09,00,FF,02ASCⅡ码转换为未组合BCD码的程序流程图参考程序如下:ORG 100HMOV CX,0005HMOV DI,150HBB:MOV BL,0FFHMOV A,[DI]CMP AL,3AHJNB DONESUB AL,30HJB DONEMOV BL,ALDONE:MOV AL,BLMOV [DI+0AH],ALINC DILOOP BBINT 20HORG 150HDB 35H,39H,30H,41H,32H实验二顺序结构的程序设计一.实验目的1.掌握计算机常用代码的软件转换技术。

分支结构程序设计

分支结构程序设计

分支结构程序设计分支结构程序设计分支结构是计算机程序设计中的一种重要的流程控制结构,它能够根据不同的条件选择不同的执行路径。

在分支结构中,程序会根据条件判断的结果,选择性地执行不同的代码块。

1. if条件语句if条件语句是最基本的分支结构之一。

它的语法如下:```markdownif (条件) {// 条件满足时执行的代码块}```如果条件满足,即为真(True),则执行大括号内的代码块;否则,跳过此代码块,继续向下执行。

如果需要在条件不满足时执行一段代码,我们可以使用`else`关键字。

`else`后面的代码块会在条件不满足时执行。

```markdownif (条件) {// 条件满足时执行的代码块} else {// 条件不满足时执行的代码块}```有时候,我们需要多个条件进行判断。

此时,可以使用`else if`来添加额外的条件判断。

```markdownif (条件1) {// 条件1满足时执行的代码块} else if (条件2) {// 条件2满足时执行的代码块} else {// 以上条件都不满足时执行的代码块}```在`if`条件语句中,条件可以是任何能够返回`True`或`False`的表达式,比如比较操作符(`==`、`!=`、`>`、`<`、`>=`、`<=`)、逻辑操作符(`&&`、`--------`)等。

2. switch语句`switch`语句是另一种常用的分支结构。

它用于根据不同的条件选择性地执行不同的代码块。

`switch`语句的语法如下:```markdownswitch (表达式) {case 值1:// 第一个值时执行的代码块break;case 值2:// 第二个值时执行的代码块break;// 其他case语句default:// 所有值都不匹配时执行的代码块break;}````switch`语句首先根据表达式的值进行匹配,如果匹配成功,则执行相应值的代码块。

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

实验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)#include<stdio.h>int main(void){/*********Found************/char x, y;x = 39270;y = 41001;/*********Found************/if (x != y){printf("x=y");}/*********Found************/else;;{printf("x<>y\n");}return 0;}2.程序D1000.c的功能是从键盘输入3个浮点数a,b,c(输入时abc之间以空格相隔),首先按照输入顺序显示在屏幕上,然后按从小到大顺序把它们输出到屏幕上。

(序号:20)#include<stdio.h>#include<stdio.h>int 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;}3. 程序D1006.c的功能是判断输入的数据是否与已经给出的数据j相等。

(序号:26)#include<stdio.h>#include<stdio.h>int 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)#include<stdio.h>int main(void){char ch;/****Found****/getchar(ch);/*****Found*****/if ('A' <= ch, ch <= 'Z'){printf("yes");}else{printf("no");}return 0;}5.程序D1008.c的功能是判断用户是不是输入的整数0。

(序号:28)#include<stdio.h>int main(void){int n;scanf("%d", &n);/****Found****/switch (n);{/****Found****/case0:printf("Zero\n");break;default:printf("Non-Zero");break;}return 0;}6.程序D1009.c的功能是输入一个整数,如果为1时输出100,为2时输出200,其它输出0。

(序号:29)#include<stdio.h>int main(void){int x, y;scanf("%d", &x);switch (x){/*********Found************/case x == 1:y = 100;break;/*********Found************/case x == 2:y = 200;break;default:/*********Found************/y = 500;break;}printf("%d\n", y);return 0;}(二)编程题说明:程序的输出格式和运行界面要求完全一样1.编写一程序P7-710.C实现以下功能(查点:字符变量输入、输出函数的正确使用)(序号:42)输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。

编程可用素材:printf("Input a lowercase letter: ")...、printf("\n...(...)...。

程序的运行效果应类似地如图1所示,图1中的y是从键盘输入的内容图12.编写一程序P7-712.C实现以下功能(考查点:简单双分支结构程序)(序号:44)判断输入的正整数是否既是5又是7的整倍数,若是,则输出“Yes.”;否则输出“No.”。

程序的运行效果应类似地如图1和图2所示,图1中的75和图2中的105是从键盘输入的内容。

图1图23. 编写一程序P7-713.C实现以下功能(序号:45)用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份≥3时需考虑多加一天。

注:判断年份是否为闰年的方法——为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。

编程可用素材:printf("Please input: year-month-day\n")...、printf("\nIt is the ...th day.\n"...。

程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内容#include <stdio.h>void main(){int year,month,day,x;printf("Please input :year-month-day");scanf("%d-%d-%d",&year,&month,&day);switch(month){case 1: x=day;break;case 2: x=31+day;break;case 3: x=59+day;break;case 4: x=90+day;break;case 5: x=120+day;break;case 6: x=151+day;break;case 7: x=181+day;break;case 8: x=212+day;break;case 9: x=243+day;break;case 10: x=273+day;break;case 11: x=304+day;break;case 12: x=334+day;break;}if(month>2&&(year%400==0||(year%4==0&&year%100!=0)))x+=1;printf("It is the %dth day.\n",x);}图1四、问题讨论1.对于多分支选择结构何时使用if语句的嵌套,何时使用switch语句?2.编程题,给出源程序清单或程序流程图。

相关文档
最新文档