实验三 分支结构程序设计实验报告
华工微机实验报告-实验三-分支和循环设计实验
实验报告课程名称微型计算机原理及其应用实验项目分支和循环设计实验学生姓名朱轲信学生学号201530281598专业/班级信息工程冯秉铨实验班实验成绩电子与信息学院实验中心制二〇一七年版预习报告一、实验目的1.掌握分支程序的结构。
2掌握分支程序的设计、调试方法。
3加深对循环结构的理解。
4掌握循环结构程序设计的方法。
5熟练掌握调试循环程序的方法。
二、实验设备微机一台、TDS-MD微机一台三、实验内容及步骤1.设计一数据块间的搬移程序设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存贮区(称为目的数据块)。
源数据块和目的数据块在存贮中可能有三种情况。
对于两个数据块分离的情况,数据的传送从数据块的首址开始,或者从数据块的末址开始均可,但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。
可以得出以下结论:当源数据块首址〉目的块首址时,从数据块首址开始传送数据。
当源数据块首址〈目的块首址时,从数据块末地址开始传送数据。
代码:STACK SEGMENT STACK'STACK'DB 50 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:MOV CX,0AHMOV BX,3500HMOV SI,[BX]MOV DI,[BX+2]CMP SI,DIJA A1MOV AX,SIADD AX,CXMOV SI,AXMOV AX,DIADD AX,CXMOV DI,AXDEC SIDEC DISTDREP MOVSBJMP EXITA1: CLDREP MOVSBEXIT:MOV AX,4C00HINT 21HCODE ENDSEND START流程图:结果:在源数据块中存入6个数,分别使SI大于、等于、小于DI均发觉数据正确传送。
可见程序正确。
2. (1)编制程序使S=1+2*3+3*4+4*5+……N(N+1),直到N(N+1)项大于200为止。
实验三---分支结构程序设计实验报告-
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整除的年份。
实验代码:
实验结果:。
选择分支结构的实验报告
一、实验背景选择分支结构是程序设计中非常重要的一种结构,它可以根据不同的条件判断,选择执行不同的代码块。
在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("您是中年人。
实验报告分支结构程序设计
{
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;
(4)掌握使用断点调试程序的方法。
实验设备(环境):
PC机、VC++
实验内容:
输入一个整数x,判断x能否被3、5、7整除,并输出以下信息之一。
①能同时被3、5、7整除。
②能被其中两数整除。
③能被其中一个数整除。
④不能被3、5、7任一个数整除。
源代码
方法一使用嵌套的if语句:
#include<stdio.h>
宁德师范学院计算机系
实验报告
2011—2012学年第2学期)
课程名称高级语言程序设计
实验名称
专业
年级2011级
学号姓名
指导教师
实验日期2012.
实验目的与要求:
(1)熟练掌握关系表达式和逻辑表达式的使用。
(2)熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计。
(3)熟练掌握switch语句中break语句的作用。
case 2:
printf("此数能被其中一个数整除\n");break;
case 4:
printf("此数能被其中一个数整除\n");break;
实验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。
实验三 编制分支结构的程序实验
实验三 编制分支结构的程序实验一、实验目的掌握各种分支语句的使用。
二、实验性质和课时验证性,2个课时三、实验内容或原理(1)IF 语句编写单分支、两个分支和多分支的程序;(2)用SWITCH 语句编写多分支程序;四、主要仪器及试材主要仪器设备:微型计算机;软件环境:WINDOWS2000/XP 操作系统;Visual C++6.0。
五、实验方法与步骤1.编写如下程序,并调试。
(1)21(110)311(10)x x y x x x x <⎧⎪=-≤<⎨⎪-≥⎩多次运行程序,输入不同x 的值,看输出结果,把输出结果填写到实验报告上。
2.给出一个百分制的成绩,要求输出成绩等级‘A ’,‘B ’,‘C ’,‘D ’,‘E ’。
90分以上为‘A ’,80~89分为‘B ’,70~79分为‘C ’,60~69分为‘D ’,60分以下为‘E ’。
要求:2.1 用if 语句编写程序2.2 用switch 语句编写程序3.输入四个整数,要求按由小到大顺序输出。
4.企业发放奖金根据利润i 提成。
标准如下:(1)低于等于10万 提成10%(2)10万~20万(含20万) 10万以内提成10%,超出部分提成7.5%(3)20万~40万(含40万) 超出20万部分提成5%,低于部分按(2)提成(4)40万~60万(含60万) 超出40万部分提成3%,低于部分按(3)提成(5)60万~100万(含100万) 超出60万部分提成1.5%,低于部分按(4)提成(6)100万以上 超过100万部分提成1%,其余按(5)提成要求: 3.1 用if 语句编写程序3.2 用switch 语句编写程序(2,3,4自选一题写到实验报告上)5.输入任意年份,判断该年份是否为闰年。
提示:若该年份能被4整除但不能被100整除则是闰年,或者该年份能同时被100和400整除则是闰年。
6. 水仙花数指的是一个3位数,其各个位数数字立方和等于该数本身,求所有的水仙花数。
分支结构程序设计实验报告
分支结构程序设计实验报告实验目的本次实验旨在通过编写分支结构程序,加深对分支结构的理解,并提高编写程序的能力。
实验内容本次实验分为两个部分,分别为编写一个判断分数等级的程序和一个银行利率计算程序。
判断分数等级编写一个程序,根据输入的分数输出对应的等级。
等级规则如下:- 90分以上:优秀- 80-89分:良好- 70-79分:中等- 60-69分:及格- 60分以下:不及格银行利率计算编写一个程序,根据输入的存款金额和存款期限计算出存款到期后的本息合计。
假设银行利率为年利率,根据存款期限的不同,利率如下:- 存款期限小于等于1年:年利率为3%- 存款期限大于1年小于等于3年:年利率为4% - 存款期限大于3年:年利率为5%实验步骤判断分数等级程序思路1. 接收用户输入的分数。
2. 使用if-elif-else语句判断分数所处的等级范围。
3. 根据判断结果,输出对应的等级。
银行利率计算程序思路1. 接收用户输入的存款金额和存款期限。
2. 使用if-elif-else语句判断存款期限范围。
3. 根据判断结果,计算存款到期后的本息合计。
4. 输出存款到期后的本息合计。
实验代码判断分数等级程序代码pythonscore = float(input("请输入分数:"))if score >= 90:print("优秀")elif score >= 80:print("良好")elif score >= 70:print("中等")elif score >= 60:print("及格")else:print("不及格")银行利率计算程序代码pythonamount = float(input("请输入存款金额:")) period = float(input("请输入存款期限:"))if period <= 1:interest_rate = 0.03elif period <= 3:interest_rate = 0.04else:interest_rate = 0.05total_amount = amount * (1 + interest_rate)print("存款到期后的本息合计为:", total_amount)实验结果与分析判断分数等级程序当输入分数为85时,程序输出良好,符合预期。
汇编语言--分支结构程序设计实验
汇编语言--分支结构程序设计实验汇编语言实验报告实验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-心得体会:写程序时,对于有些特定的指令不太熟,有时还得借助于课本,不能脱离课本编程。
选择分支结构_实验报告(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语句的基本用法。
python程序设计程序的分支结构实验报告
【实验报告】Python程序设计中的分支结构摘要本实验报告旨在深入探讨Python程序设计中的分支结构,包括if 语句、if-else语句和if-elif-else语句的使用方法、逻辑思维以及在实际应用中的案例分析。
通过对分支结构的全面评估,我们可以更加深入地理解Python程序设计的关键概念,并加深对代码逻辑和条件判断的理解。
本报告将从简到繁、由浅入深地探讨分支结构的理论和实际应用,以便读者全面、深刻地理解这一主题。
1. 理论基础在Python程序设计中,分支结构是一种非常重要的控制结构,用于根据条件判断来执行不同的代码逻辑。
最常见的分支结构包括if语句、if-else语句和if-elif-else语句。
通过合理运用分支结构,我们可以编写出更加灵活和智能的程序,满足不同条件下的不同需求。
2. if语句的基本用法在Python中,if语句可以用来执行一条语句或一组语句,只有在满足指定条件的情况下才会执行。
其基本语法为:if condition:# 执行语句其中,condition是一个条件表达式,如果其值为True,则执行下面的语句块;如果为False,则跳过。
if语句的应用使得程序能够根据条件做出相应的处理,提高了程序的灵活性和智能化。
3. if-else语句的灵活运用除了if语句外,我们还经常使用if-else语句来处理条件判断。
其基本语法为:if condition:# 执行语句1else:# 执行语句2在这种结构中,如果条件满足,则执行第一条语句块;如果条件不满足,则执行第二条语句块。
if-else语句的灵活运用使得程序能够根据不同的情况执行不同的逻辑,增加了程序的可操作性和适用性。
4. if-elif-else语句的高级应用在一些复杂的情况下,我们需要多个条件进行判断和处理。
这时,就需要使用if-elif-else语句来进行高级的条件控制。
其基本语法为:if condition1:# 执行语句1elif condition2:# 执行语句2else:# 执行语句3在这种结构中,程序会按照从上到下的顺序依次检查条件,如果某个条件满足,则执行对应的语句块;如果所有条件都不满足,则执行最后的else语句。
实验三 简单分支结构程序实验
实验3 简单分支结构程序实验一、实验目的1.掌握条件转移指令的使用方法;2.掌握指令对标志寄存器中各标志位的影响情况;3.掌握标志位和转移指令之间的关系;4.初步掌握利用设置断点调试程序的方法.二、实验内容1.编写一个程序,显示AL寄存器中的两位十六进制数2.编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入。
三、实验要求1.仔细阅读汇编语言教材相关内容。
2.熟练掌握DEBUG中的G命令。
3.在DEBUG下执行程序,利用跟踪命令检查指令对标志位的影响情况。
4.掌握对INT指令的跟踪方法。
四、实验报告要求1.总结DEBHG中P、G命令的功能2.写出程序清单,并记录执行结果.五、参考程序(1)显示AL中两位十六进制数程序:;DISPHEX.ASMCODE SEGMENTASSUME CS:CODESTART: MOV AL,3EHMOV BL,ALMOV DL,ALMOV CL,4SHR DL,CLCMP DL,9JBE NEXT1ADD DL,7NEXT1: ADD DL,30HMOV AH,2INT 21H ;显示高位ASCII码MOV DL,BLAND DL,0FHCMP DL,9JBE NEXT2ADD DL,7NEXT2: ADD DL,30HMOV AH,2INT 21H ;显示低位ASCII码 MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START(2)显示键入字符程序;DISPKEY.ASMCODE SEGEMENTASSUME CS:CODESTART: MOV AH,1INT 21H ;等待键入字符,送AL CMP AL,0DH ;是否是回车符?JZ DONE ;是则转DONE退出程序 CMP AL,’0’JB NEXTCMP AL,’9’JA CHARUPMOV DL,ALMOV AH,2INT 21HJMP STARTCHARUP: CMP AL,41HJB NEXTCMP AL,5AHJA CHRDNDISPC: MOV DL,’C’MOV AH,2INT 21HNEXT: JMP START CHRDN: CMP AL,61H JB NEXTCMP AL,7AH JA NEXTJMP DISPC DONE: MOV AH,4CH INT 21H CODE: ENDSEND START。
JAVA语言程序设计实验三 程序结构实验报告 (2)
public class shiy34 {
public static void main(String[] args) { // TODO 自动生成的方法存根 int s=0; for(int i=0;i<30;i++)
{ for(int j=0;j<10;j++) { s=i+3*j; if(s==30) { System.out.println("一步的:"+i+"次"+" } }
3:
代码:
public class shiy33 { int jiech(int n) { if(n==0||n==1) { return 1; } else return n=n*jiech(n-1); } int Qiangd(int n) { int j,k,sum=0; j=n; while(j!=0) { k=j%10; j=j/10; sum=sum+jiech(k); }
"+"三步的:"+j+"次"); }
}
"+"二步的:"+r+"次"+"
} }
} }
六:思考题:
七、教师评语: 实验成绩:
教师:** **年 09 月 23 日
if(sum==n) {
return 1; } else {
return 0; }
} void Fanw(int m,int n) { for(int i=m;i<n;i++) {
C语言分支结构实习报告
C语言分支结构实习报告第一篇:C语言分支结构实习报告南京****大学实验(实习)报告实验(实习)名称分支结构程序设计日期20**年**月**日得分指导教师 *** 系*********** 专业 ******** 年级20**级班次** 姓名*** 学号*********一、实验名称分支结构程序设计二、实验目的(1)了解条件与程序流程的关系。
(2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。
(3)掌握if语句和if else语句的用法。
(4)掌握switch语句的用法。
三、实验内容(1)从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。
请分别设计下列数据对自己的程序进行测试:①找出各条语句中的错误。
②找出各分支中的错误。
③找出各条件中的错误。
④找出各种条件组合中的错误。
⑤找出各条路径中的错误。
第1页第3页(2)用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分为D,60分以下为E。
具体要求如下:①用if语句实现分支或switch分支。
②在输入百分制成绩前要有提示。
③在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。
④在输入结果中应包括百分制成绩与成绩等级,并要有文字说明。
⑤分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。
第2页第3页(3)编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。
四、实验体会 ********第3页第3页第二篇:5分支结构——if语句第二节分支结构——if语句教学设计一、教学目标1、知识与技能(1)了解分支程序的结构,流程以及作用。
(2)知道条件语句的作用,初步掌握分支语句的格式。
实验3 分支和循环程序设计报告
实验3 分支和循环程序设计实验目的:熟练掌握分支和循环结构的设计方法,熟悉跳转和循环指令的使用方法。
实验要求:按照要求编写程序,调试运行。
实验内容:1、编写程序实现下面的算法:ifthenlowerCount+1;elseif(ch≥’A’) and (ch≤’Z’)thenupperCount+1elseotherCount+1;endifendif其中ch调用ReadChar输入,lowerCount, upperCount和otherCount的值用WriteUDecByte显示。
源代码.386.model flat,stdcallinclude\masm32\include\io32.inc.stack 4096.datalowercount Byte ?uppercount Byte ?othercount Byte ?prompt1 byte "Input a string(if(#)end)",0dh,0ah,0prompt2 byte "output the number",0dh,0ah,0prompt3 byte "the lowercount number:",0dh,0ah,0prompt4 byte "the uppercount number:",0dh,0ah,0prompt5 byte "the othercount number:",0dh,0ah,0buf byte 80 dup(?).codestart:writestring prompt1 readstring buflea edi,bufagain:mov al,[edi]cmp al,'#'jz donecmp al,'A'jb othercmp al ,'Z'jbe uppercmp al,'a'jb othercmp al,'z'jbe lowerjmp otherlower: inc lowercount inc edijmp againupper:inc uppercount inc edijmp againother: inc othercount inc edijmp againdone:writestring prompt2 writecrlfwritestring prompt3 writeUDecByte lowercount writecrlfwritestring prompt4 writeUDecByte uppercount writecrlfwritestring prompt5 writeUDecByte othercount retend start实验结果结果1结果22、编写程序从键盘输入一系列有符号数,找出其中的最大数和最小数,显示运行结果。
实验三分支结构程序设计(设计性实验)
实验三分⽀结构程序设计(设计性实验)安徽⼯程⼤学Python程序设计实验报告班级物流192 姓名许雷雷学号3190505215成绩⽇期 2020.4.8 指导⽼师修宇实验三分⽀结构程序设计(设计性实验)【实验⽬的】(1)学会正确使⽤⽐较运算符与⽐较表达式、逻辑运算符和逻辑表达式(2)熟练⽤if语句设计选择结构程序;【实验条件】PC机或者远程编程环境【实验内容】1、完成三个编程题。
(1)设计⼀个货币转换程序问题描述:参考温度转换实例编制⼀个货币转换程序假定美元/⼈民币汇率为:6.7744 : 1输⼊输出格式例1: 输⼊⼀个美元货币值:$32.3当输⼊美元时,返回“美元转换为⼈民币后是:¥32元”例2: 输⼊⼀个⼈民币货币值:¥10.1 ,当输⼊⼈民币时,返回“⼈民币转换为美元后是:$32美元如下图(2)求解数学表达式的值问题描述从键盘输⼊x的值,根据公式计算并输出x和y的值直接输出y的值,保留⼩数点后两位,不需要额外信息.如下图(3)新版个⼈所得税计算问题描述:请编写⼀个程序,根据⽤户输⼊计算个⼈所得税。
1. ⽤户输⼊是个⼈薪⾦扣险所得。
(1)约定⽤户输⼊为以⼈民币元为单位的零或者正数。
不要增加额外的提⽰信息。
(2)如果⽤户输⼊了负数,提⽰“请输⼊正数!”。
其他错误输⼊可以不予处理。
2. 计算应缴纳的税⾦(保留⼩数点后⼀位)。
我国的个⼈所得税采⽤“超额累进税率”计算⽅法,简化公式如下:缴税 = (个⼈薪⾦扣险所得 – 个税免征额)* 税率其中,个税免征额为5000元,税率根据应纳税额数量⽽不同,如下表所⽰:如下图思考题尝试⽤IDLE 运⾏你的程序,如果⽤户输⼊不符合输⼊格式时,程序会运⾏出现什么情况?1.货币转换:提⽰输⼊错误,请输⼊带有符号的货币值。
2.数学公式求解:提⽰输⼊格式错误。
3.新版个⼈所得税计算:提⽰输⼊⽆意义。
你认为如何从哪⼏⽅⾯修改程序让计算机与⼈的交互更加友好语⾔格式。
C语言:3种基本结构试验报告
课程名称:结构化程序设计与C语言开课实验室:信自楼444 2011 年 10 月 19 日一、实验目的用C语言编写和调试三种基本结构的程序,包括顺序、分支与循环。
从而对三种基本结构的程序设计有比较深入的了解。
二、内容及结果1、程序一顺序结构程序设计:计算利息1)程序要求:2.存款利息的计算。
有1000元,想存5年,可按以下5种办法存:(1)一次存5年期。
(2)先存2年期,到期后将本息再存3年期。
(3)先存3年期,到期后再将本息再存2年期。
(4)存1年期,到期后将本息再存1年期,连续存5次。
(5)存活期存款。
活期利息每一季度结算一次。
2007年12月的银行存款利息如下:1年期定期存款利息为4.14%;2年期定期存款利息为4.68%;3年期定期存款利息为5.4%;5年期定期存款利息为5.85%;活期存款利息为0.72%(活期存款每一季度结算一次利息)。
如果r为年利率,n为存款年数,则计算本息和的公式为1年期本息和:P=1000*(1+r);n年期本息和:P=1000*(1+n*r);存n次1年期的本息和:P=1000*(pow(1+r,n))。
活期存款本息和:P=1000*(pow((1+r/4),4n))。
说明:1000*(1+r/4)是一个季度的本息和。
2)代码:#include<stdio.h>#include<math.h>int main(){float r,p,p1,p2,p3,p4;printf("请输入金额:\n");scanf("%f",&r);p=r*(1+0.0585*5)-r;printf("五年的定期利息为:%.2f\n",p);p1=((r*(1+0.0468*2))*(1+0.054*3))-r;printf("先存两年再改三年的利息为:%.2f\n",p1);p2=(r*(1+0.054*3))*(1+0.0468*2)-r;printf("先存三年再改两年的利息为:%.2f\n",p2);p3=r*pow(1+0.0414,6)-r;printf("存一年再连续存五年的利息为:%.2f\n",p3);p4=r*pow(1+0.07214,20)-r;printf("存活期的一季度活期的利息为:%.2f\n",p4);return 0;3)运行截图:2、程序二顺序结构程序设计:房贷还款月数计算1)程序要求:3.购房从银行贷了一笔款,准备每月还款额为p,月利率为r,计算多少月能还清。
实验3 分支结构程序设计
2.3 实验3 选择结构程序设计2.3.1 实验学时:2学时2.3.2实验目的1. 掌握C语言关系表达式和逻辑表达式的运算和使用。
2. 正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。
2.3.3 预习要求1.关系运算符和关系表达式、逻辑运算符和逻辑表达式。
2.if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套。
3.switch语句的形式。
2.3.4实验内容1. 阅读程序,分析结果,并上机验证。
(1) 阅读下面的程序,理解逻辑运算的短路特性。
/* ex3-1 */#include "stdio.h"int main( ){int a = 3, b = 5, c = 8;if(a++ < 3 && c-- != 0) b = b + 1;printf("a=%d\tb=%d\tc=%d\n", a, b, c);return 0;}程序运行后a、b、c的值分别是。
(2) 根据下面两个程序的运行结果,理解case语句中break语句的作用。
/* ex3-2-1方法1 *//* 不含break的switch */#include "stdio.h"int main( ){int a, m = 0, n = 0, k = 0;printf("Please input an integer:");scanf("%d", &a);switch(a){case 1:m++;case 2:case 3:n++;case 4:case 5:k++;}printf("m=%d,n=%d,k=%d\n", m, n, k);return 0;}/* ex3-2-2 方法2 *//* 含break的switch */#include "stdio.h"int main( ){int a, m = 0, n = 0, k = 0;printf("Please input an integer:");scanf("%d", &a);switch(a){case 1:m++; break;case 2:case 3:n++; break;case 4:case 5:k++;}printf("m=%d,n=%d,k=%d\n", m, n, k);return 0;}分别从键盘上输入1、3、5,两个程序运行的结果分别是、。
【实验指导书】实验3:分支结构程序设计
实验三:分支结构程序设计一、实验目的:1. 熟练掌握关系表达式和逻辑表达式的使用;2. 熟练掌握用嵌套的if语句和switch语句实现多分支结构程序设计;3. 熟练掌握switch语句中break语句的作用;4. 掌握简单的调试程序方法,包括:单步调试和运行到光标。
二、实验要求:1.编写程序,计算分支函数。
要求:输入为任意实数,输出结果保留小数点后2位。
输入输出示例:Enter x:227.00提示:实现x n可以标准库函数pow(x,n),此数学函数已在头文件math.h中说明。
2.编写程序。
根据一个年份,判断是否是闰年。
要求:输入为一个整数,表示一个年份;输出:如果是闰年,输出"Y es",否则输出"No"。
输出单独占一行。
输入输出示例:Enter year:2012Yes3. 编写程序。
给你三个正整数,判断用这三个整数做边长是否能构成一个三角形。
要求:输入为三个正整数,中间有一个空格隔开;输出:如果能构成三角形,输出"Yes",否则输出"No"。
提示:在一个三角形中,任意两边之和大于第三边。
输入输出示例:3 4 5Yes4.输入五级制成绩(A~E),输出相应的百分制(0~100)区间。
要求用switch语句。
五级制对应的百分制成绩区间为:A(90~100)、B(80~89)、C(70~79)、D((60~69))、E(0~59)。
输入输出示例:Input Grade:BB对应的百分制成绩区间是80~895.编写程序,输入月薪salary,输出应交的个人所得税tax(保留2位小数)。
按照2011年开始实行的新的个人所得税法,计算公式为:tax=rate*(salary - 3500)- deduction当salary ≤3500时,rate = 0、deduction = 0;当3500 <salary ≤5000时,rate = 3%、deduction = 0;当5000 <salary ≤8000时,rate = 10%、deduction = 105;当8000 <salary ≤12500时,rate = 20%、deduction = 555;当12500 <salary ≤38500时,rate = 25%、deduction = 1005;当38500 <salary ≤58500时,rate = 30%、deduction = 2755;当58500 <salary ≤83500时,rate = 35%、deduction = 5505;当83500 <salary时,rate = 45%、deduction = 13505。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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整除的年份。
实验代码:
实验结果:。