分支与循环程序设计实验报告汇总

合集下载

循环程序设计实验报告

循环程序设计实验报告

循环程序设计实验报告
实验名称:循环程序设计实验报告
实验目的:
本实验旨在通过编写循环程序,提高学生对循环结构的理解和应用
能力,并培养学生的编程思维和解决问题的能力。

实验要求:
1.熟悉循环结构的基本原理和应用场景。

2.掌握使用循环结构解决实际问题的方法。

3.能够分析和设计能够利用循环结构优化的程序。

4.完成实验报告,详细记录实验过程和结果。

实验内容:
1.实验环境和工具
介绍实验所使用的编程环境和工具,包括操作系统、编程语言和开
发工具等。

2.实验题目和要求
描述实验要求和题目,明确实验要求和要解决的问题。

3.实验设计
介绍实验的设计思想和方法,包括解决问题的整体思路和基本步骤。

4.实验步骤
按照设计思路和方法,详细描述实验的具体步骤,包括程序的编写、调试和运行等。

5.实验结果与分析
展示实验的运行结果,并对结果进行详细分析和解释。

6.实验总结
总结实验的过程和结果,提出实验中存在的问题和改进的方向。

附件:本实验涉及的附件包括但不限于实验源代码、实验数据和实
验报告等。

法律名词及注释:
1.版权:著作权法规定的个人或集体对作品享有的专有权利。

2.商标:商标法规定的商业标识,用以区分不同商家的商品或服务。

3.专利:专利法保护的发明创造,赋予发明人对其发明的独占权利。

实验二 分支结构程序设计实验

实验二 分支结构程序设计实验

实验二 分支结构程序设计实验1、实验目的和要求:掌握汇编语言分支程序的设计方法;2、实验内容:编程序求分段函数Y 的值。

已知变量X 为16位带符号数, 分段函数的值要求 保存到字单元Y 中。

函数定义如下:1 (当X>0)Y = 0 (当x=0)—1 (当X<0)3、实验仪器与器材:计算机及EMU8086汇编软件等。

4、实验原理:分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。

分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。

程序流程图是根据解题分析所绘制的程序执行流程图。

5、实验过程与测试数据(含电路图/程序流程框图):6、实验分析:自己分析7、实验体会:自己总结实验参考程序:DATA SEGMENTX DW -128Y DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AX,XCMP AX,0JG ISPNJZ ISZNMOV Y,-1JMP FINISHISPN: MOV Y,1JMP FINISHISZN: MOV Y,0FINISH: MOV AH,4CHINT 21HCODE ENDSEND START思考题:把程序修改成如下的分段函数的值—1 (当X>=0)Y=1 (当X<0)。

分支结构应用实验报告

分支结构应用实验报告

一、实验目的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("该字符是字母。

c语言循环结构实验报告总结

c语言循环结构实验报告总结

C语言循环结构实验报告总结引言C语言是一种广泛应用于系统程序开发的高级编程语言。

循环结构是C语言中重要的概念,通过循环结构,可以重复执行一段代码,提高程序的效率与可读性。

本实验旨在通过编写C语言程序来掌握循环结构的使用方法,并通过实际的实验案例来加深对循环结构的理解。

背景知识在开始实验之前,我们需要了解一些基础的C语言知识。

循环结构的类型在C语言中,常用的循环结构有三种类型:for循环、while循环和do-while循环。

1.for循环:通过指定循环变量的初始值、循环条件和循环变量的增量来控制循环的执行次数。

2.while循环:在每次循环开始前判断循环条件是否满足,如果满足则执行循环体,否则结束循环。

3.do-while循环:与while循环相似,但是循环体至少会被执行一次,然后再判断循环条件是否满足。

在实验中,我们将使用这三种循环结构来完成各种任务。

循环控制语句除了基本的三种循环结构外,C语言还提供了一些循环控制语句来控制循环的执行。

1.break语句:用于立即退出循环,跳出循环体。

2.continue语句:用于立即结束本次循环,跳过剩余循环体的执行,开始下一次循环。

这些循环控制语句在实际编程中非常实用,可以根据需要在循环内部进行灵活的控制。

实验过程实验案例一:求和在这个实验案例中,我们将使用for循环结构来求解给定范围内的整数和。

1.首先,我们需要定义一个用于存储求和结果的变量sum,并初始化为0。

2.接下来,我们通过for循环遍历给定的整数范围,将每个整数累加到sum中。

3.最后,我们输出求和结果sum。

下面是代码实现示例:#include <stdio.h>int main() {int sum = 0;int start = 1, end = 100;for (int i = start; i <= end; i++) {sum += i;}printf("Sum: %d\n", sum);return 0;}实验案例二:乘法表在这个实验案例中,我们将使用嵌套的for循环结构来输出乘法表。

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)

python程序设计实验报告五:循环结构程序设计(综合性实验)安徽⼯程⼤学Python程序设计实验报告班级物流192 姓名张⽻学号 3190505221 成绩⽇期 2020.4.23 指导⽼师修宇实验五综合运⽤三种基本结构进⾏程序设计(综合性实验)(⼆学时)【实验⽬的】(1)进⼀步掌握选择与循环结构程序设计的⽅法和技巧;(2)综合运⽤三种基本结构进⾏程序设计;【实验条件】PC机或者远程编程环境【实验内容】1、完成三个编程题。

(1)计算并输出指定范围内的素数素数⼜称质数。

指整数在⼀个⼤于1的⾃然数中,除了1和此整数⾃⾝外,没法被其他⾃然数整除的数。

换句话说,只有两个正因数(1和⾃⼰)的⾃然数即为素数。

⽐1⼤但不是素数的数称为合数。

1和0既⾮素数也⾮合数。

素数在数论中有着很重要的作⽤。

2300多年前,古希腊数学家欧⼏⾥得在《⼏何原本》⼀书中证明了素数有⽆穷多个,如2、3、5、7、11等等。

问题描述:编程实现输出指定范围内的素数,输⼊以逗号间隔,输出以空格间隔。

指定范围由⽤户输⼊指定。

(2)九九乘法表问题描述:请按照如下格式设计⼀个“九九乘法⼝诀表”,并打印出来。

编程要点及提⽰:1. 使⽤for循环或者while循环实现以上功能2. 代码量不超过10⾏3. 在⼀⾏中,每个等式之间使⽤制表符"\t"进⾏分隔;对于每⼀⾏等式之间使⽤print()打印空字符实现,即print("")(3)统计不同字符个数问题描述:⽤户从键盘输⼊⼀⾏字符。

请编写⼀个程序,统计并输出其中英⽂字符、数字符号、空格和其他字符的个数。

输⼊格式:输⼊⼀⾏字符输出:按照顺序输出字母,数字,空格,及其他字符的个数,个数以空格分隔如:【实验记录与分析】(请在填写实验记录与分析结果)1.计算并输出指定范围内的素数输⼊代码,输出结果及分析如下:易错点:1.程序⽆法同时处理两个输⼊数据,在输⼊未处理时。

2.本题中的else语句不能和第⼆个的if对齐。

matlab实验五循环结构程序设计实验报告

matlab实验五循环结构程序设计实验报告

实验五:循环结构程序设计实验报告一、实验目的1. 了解循环结构的基本概念和原理;2. 掌握使用Matlab进行循环结构程序设计的方法;3. 提高编程能力和问题解决能力。

二、实验内容1. 学习while循环和for循环的基本语法和用法;2. 设计并编写一些基于循环结构的Matlab程序;3. 分析程序运行结果并进行总结。

三、实验原理循环结构是程序设计中的重要组成部分,它可以让一段代码重复执行多次,从而简化程序的编写。

在Matlab中,循环结构主要有while 循环和for循环两种形式。

while循环在执行循环体前判断条件是否为真,只有条件为真时才会执行循环体;for循环则是指定循环的次数,每次迭代时执行一次循环体。

四、实验步骤与结果1. 编写一个使用while循环的程序,实现1~100的累加。

程序代码如下:```matlabsum = 0;i = 1;while i <= 100sum = sum + i;i = i + 1;enddisp(sum);```运行程序后,得到的结果为5050。

2. 编写一个使用for循环的程序,实现1~10的阶乘。

程序代码如下:```matlabresult = 1;for i = 1:10result = result * i;enddisp(result);```运行程序后,得到的结果为xxx。

五、实验总结通过本次实验,我深刻理解了循环结构的基本概念和原理,掌握了使用Matlab进行循环结构程序设计的方法。

在编写循环程序的过程中,我发现循环结构可以大大简化程序的编写,并且能够高效地处理重复性任务。

我也进一步提高了自己的编程能力和问题解决能力。

本次实验使我对Matlab中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。

六、实验感想和改进意见通过本次实验,我深刻认识到循环结构在程序设计中的重要性和灵活性。

循环结构能够帮助我们简化程序的编写,提高代码的重用性和可读性,因此在实际的程序设计中,合理地运用循环结构能够大大提高程序的效率和逻辑清晰度。

《C语言程序设计》实验报告

《C语言程序设计》实验报告

《C语言程序设计》实验报告学院:专业:学号:姓名:成绩:课程代码: 2001301指导教师:实验中心:电气信息专业试验中心日期:目录实验总体要求实验一………………………………………………C语言的运行环境和运行过程实验二………………………………………………数据类型、运算符与表达式实验三………………………………………………程序结构(顺序、选择和循环) 实验四………………………………………………数组实验五………………………………………………函数实验六………………………………………………指针实验七………………………………………………结构体实验八………………………………………………类和对象实验总体要求C语言程序设计课程是一门实践性很强的课程,为了培养学生的计算机应用能力,除了课堂理论教学外,必须加强程序设计课程实验的教学环节。

1、课程实验教学目的通过C语言程序设计的课程实验教学,学生应具有使用计算机解决相关问题的能力,同时为学生今后学习其他计算机应用课程打下良好的程序设计基础。

⑴分析问题和解决问题能力的训练课程实验教学将课本上的理论知识和实际应用有机地结合起来,达到训练学生分析问题解决实际问题的能力,提高学生应用计算机知识开发应用系统的综合能力。

⑵逻辑思维能力的训练通过课程实验教学,使学生正确地掌握C语言的基本知识,较好掌握基本的程序算法,以及描述方法。

培养学生在程序设计解题思路、算法的描述、编程构思等方面的计算机逻辑思维能力。

⑶程序设计技能的训练通过C语言环境下的应用实例,训练学生编写程序的能力,掌握编程的思路和方法,掌握结构化程序设计的基本概念和基本技能。

通过课程实验教学,使学生掌握C程序设计语言的语法规则,数据结构的应用,掌握算法描述及相应代码描述,掌握结构化程序设计的基本方法,能熟练编写一般的应用程序。

2、课程实验教学要求⑴要求通过解题、程序设计和上机实践,加深对所学概念的理解,提倡理论与实践相结合的学习方法。

实验四分支和循环程序设计实验(精)

实验四分支和循环程序设计实验(精)

实验四分支和循环程序设计实验一、实验要求和目的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位十六进制数,在终端上显示与它等值的二进制数。

二进制数。

要求:实验前要作好充分准备,包括程序清单、调试步骤、调试方法,对程序结果的分析等。

本实验要求在EDIT 下编写完整的汇编语言程并生成可执行文件运行。

下编写完整的汇编语言程并生成可执行文件运行。

二、实验时间及地点二、实验时间及地点日期:日期: 2011/11/21 节次:节次: 7.8 地点:地点:电子实验楼二楼电子机房电子实验楼二楼电子机房 三、实验目的三、实验目的通过本实验掌握DOS 系统功能调用功能,掌握循环程序设计的方法;学会编写循环结构程序。

构程序。

简述在实验过程中遇到的问题和解决的方法:简述在实验过程中遇到的问题和解决的方法:1、问题:遇到死循环解决方法:程序显示disp 中发现执行int int 21h 21h 会修改al 的值,避免这种情况的方法就是使用堆栈段。

2、问题:调试中出现no data segment 解决方法:start 开始时没有将数据段的IP 地址赋给dx 。

data segment 3、问题:可执行,结果为乱码解决方法:数据划分比较的粗,没有系统的将数据系统划分。

系统划分:<30h other 30h-39h num 39h-41h other 41h-46h big zi mu 46h-61h other 61h-67h small zi mu >67h other 运行结果:(要求用“抓图软件”抓程序的运行结果)(要求用“抓图软件”抓程序的运行结果)结果分析及实验体会:结果分析及实验体会:1、结果0001001000110100是十六进制数1234转化而来。

十六进制数通过ASCII码对照转换为二进制数。

A~F----- -57hA~ f----- -57h0~9 ------ -37h2、学习应用了循环指令并了解了其特点:A、循环指令不影响标志位B、其功能为使寄存器CX的值减1,如果结果不等于0,则循环至标号,否则顺序执行。

实验报告

实验报告

南通大学计算机科学与技术学院微机原理实验报告书班级:智控151学号:***********名:***南通大学计算机类课程实验报告南通大学计算机科学与技术学院微机原理实验报告书班级:智控151学号:1512042022姓名:王建棋南通大学计算机类课程实验报告六、实验结果<一><二>七、实验存在问题和解决办法程序一:检查发现第16行的“ADD AL,20H”将数字0写成了大写字母O,排除错误后可正常运行。

字符串后忘了加$,导致转换为小写字母后出现如下乱码:字符串后加结束符$后乱码消除。

程序二:分析表明第28行“CMP BL,0FFH”中FFH前要加0八、实验心得和建议南通大学计算机科学与技术学院微机原理实验报告书班级:智控151学号:1512042022姓名:王建棋南通大学计算机类课程实验报告ADD AL,30HMOV DL,ALMOV AH,2INT 21HMOV AX,4C00HINT 21HCODE ENDSEND START(如不够,请另附纸)六、实验结果七、实验存在问题和解决办法分析表明错误原因如下:(1)O写成0;(2)相对寻址只限于用SI、DI、BX、BP,而程序中却用了其它寄存器。

修改后仍有错误如下:错误原因:使用“INC BYTE PTR[BX+2]”忘了加BYTE PTR修改后仍得不到正确结果,错误如下:错误原因:“CMP [DI],'0'”应改成“CMP BYTE PTR[DI],'0'”错误全部修改后得到所要的结果八、实验心得和建议南通大学计算机科学与技术学院微机原理实验报告书班级:智控151学号:1512042022姓名:王建棋南通大学计算机类课程实验报告MOV AX,4C00HINT 21HCODE ENDSEND START(如不够,请另附纸)六、实验结果七、实验存在问题和解决办法出错原因:(1)DEC,DW 是保留字;(2)“MOV CL,10000”中10000超过范围CL的最大范围。

C语言循环结构程序设计实验报告

C语言循环结构程序设计实验报告
运行结果:1!+2!+3!+.+25!=1.61587e+25
while语句:
main()
{ float n=1,s=0,t=1;
while(n<=25)
{ t=t*n;
s=s+t;
n++;
}
printf(“1!+2!+3!+…+25!=%e\n”,s);
}
do-while语句:
main()
{ float n=1,s=0,t=1;
(3)计算并输出Σ(2n+1)超过1000的第一个n值。
n=1
main()
{ int n=1,sum=0;
for(; ; n++) sum=sum+(2*n+1);
if(sum>2000) break;
printf(“n=%d,sum=%d\n”,n,sum);
}
if(sum>1000)break;for中的表达式2不能省去
while语句do-while语句
#include<stdio.h>#include<stdio.h>
void main() void main()
{{
int i=1,sum=0; int i=1,sum=0;
while(i<=100) do
{ {
sum=sum+i; sum=sum+i;
i++;i++;
5.某班有学生n人,从终端读入n及n个人学生的成绩,试编程实现以下功能:
①印出前3个最好成绩及取得每个最好成绩的人数;

计算机原理实验报告 排序程序设计

计算机原理实验报告 排序程序设计

《计算机原理实验报告》实验(二)排序程序设计一、实验目的:1、掌握分支、循环、子程序调用等基本的程序结构。

2、学习综合程序的设计、编制及调试。

二、实验要求:在数据区中存放着一组数(两位数或者一位数),数据的个数就是数据缓冲区的长度,要求用气泡法,对该数据区中的数据按递增关系排序。

三、编程算法与说明:1、从第一个数开始,依次把相邻的两个数比较,若前面的数大于后面的数,则交换,否则不交换,直到比较完最后两个数。

此时,最大的那个数将排在最后面。

2、除去已经排好的数,对剩下的数重复第一步。

3、重复第二步,直到所有的数都排完。

四、程序流程图:五、程序清单:SHOW MACRO B ;宏定义显示一个字符MOV DL,BMOV AH,02HINT 21HENDMDA TA SEGMENTINFO DB '**********',0AH,0DH,'$' ;学生信息ARRAY DB 34,56,25,17,68,95,40,59,9 ;数值为两位数或者一位数N EQU $-ARRAYMES1 DB 'Before: ','$'MES2 DB 'After: ','$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV DX,OFFSET INFO ;显示学生信息MOV AH,09HINT 21HMOV DX,OFFSET MES1MOV AH,09HINT 21HCALL DISP ;显示排序前数组MOV BX,NP4: DEC BX ;第一次比较N-1次,以后比较次数依次减1 MOV CX,BX ;循环比较相邻两个数LEA SI,ARRAYP2: MOV AL,[SI]MOV AH,[SI+1]CMP AL,AHJNG P3 ;前面数小于等于后面数,则不交换MOV [SI],AH ;前面数大于后面数,交换MOV [SI+1],ALP3: INC SILOOP P2 ;进行完一轮比较CMP BX,1JG P4 ;再进行一轮比较,直到结束SHOW 0AH ;另起一行显示排序后数组SHOW 0DHMOV DX,OFFSET MES2MOV AH,09HINT 21HCALL DISP ;显示排序后数组MOV AX,4C00HINT 21HDISP PROC NEAR ;将数组显示出来LEA SI,ARRAYMOV CX,N ;循环显示数组的N个数P1: LODSB ;依次取数到AL,取后SI自动加1CBW ;将AL扩展到AXMOV BL,0AH ;BL=10IDIV BL ;AX除以10,则十位存在AL,个位存在AHMOV BX,AXADD BL,30HSHOW BL ;显示十位数ADD BH,30HSHOW BH ;显示个位数SHOW ' ' ;两个数之间显示两个空格SHOW ' 'LOOP P1 ;循环显示N个数RETDISP ENDPCODE ENDSEND START六、实验结果与分析:汇编-连接-运行,显示如下:可看出正确按照递增排序。

分支程序设计实验报告

分支程序设计实验报告

分支程序设计实验报告
实验名称:分支程序设计实验报告
实验目的:通过分支程序设计的实验,深入理解程序运行的基本
原理,掌握分支语句的应用方法,提高编写程序的能力和水平。

实验原理:分支程序设计是一种基于逻辑运算的程序结构,它可
以根据不同的条件,选择不同的执行路径,从而实现程序不同的输出
效果。

实验过程:首先,确定需要实现的程序功能,并根据程序逻辑设
计分支语句。

然后,使用编程工具编写代码,调试程序,运行程序。

最后,对程序进行测试和优化,达到预期的效果。

实验结果:通过实验,我深入理解了分支程序设计的基本原理和
应用方法。

我能够设计和编写简单的分支程序,实现不同的输出结果。

我还学会了如何测试和优化程序,以达到最佳的执行效果。

通过实验,我提高了编写程序的能力和水平。

实验总结:分支程序设计是计算机编程中非常重要的一部分,掌
握分支语句的应用方法可以提高编写程序的效率和质量。

通过实验,
我能够利用分支语句来设计程序,实现复杂的逻辑运算和条件判断。

我对编程语言的掌握和应用能力也有了进一步的提高。

我相信,凭借
自己的勤奋努力和不断的实践,我一定能成为一名优秀的程序员。

《Python程序设计》循环结构实验报告

《Python程序设计》循环结构实验报告
for w in range(1,10):
print(" "*(15-w),end="")
for y in range(1,2*w):
print(chr(64+w),end="")
print()
3.用*画出一个倒梯形
#倒梯形
for i in range(6):
for j in range(12):
if i<j:
三、实验过程与结论:(经调试正确的源程序(核心部分)和程序的运行结果)
1.
2.
3.
4.
四、实验总结:(实验中遇到的问题及解决方法,心得体会等)
学习了循环结构的各种形式,通过单循环实现各种较为复杂的数学计算,并可以实现数学中的阶乘等等,熟练掌握函数for,while,range,for和while循环实现了各种图形与用符号实现的图形,range函数可以提取从一个数字到另一个数字之间的整数,并不包括最后的一个数,通过本次实验,对各种函数的理解更加透彻,在今后的运用中也更加熟悉。
《Python程序设计》循环结构实验报告
一、实验目的:
1.掌握循环结构的各种形式
2.熟练掌握函数for,while,range
二、实验内容:
1.1-100偶数的倒数之奇
#1-100之间偶数的倒数之积
s=1
for i in range(1,101):
if i%2==0:
s=s*1/i
print(s)
2.制作一个用大写字母构成的等腰直角形
print("*",end="")
se:
print(" ",end="")

实验3 分支和循环程序设计报告

实验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、编写程序从键盘输入一系列有符号数,找出其中的最大数和最小数,显示运行结果。

分支与循环程序设计实验报告汇总

分支与循环程序设计实验报告汇总

分支与循环程序设计实验-报告汇总————————————————————————————————作者:————————————————————————————————日期:ﻩ实验名称 分支与循环程序设计实验指导教师 罗志祥专业班级 光电1406 姓名 段昳晖 学号 U2014*****联系电话 137********一、任务要求1. 设有8bits符号数X存于外部RAM 单元,按以下方式计算后的结果Y 也存于外部RAM 单元,请按要求编写完整程序。

264/2106410X X Y X X X X ⎧≥⎪=<<⎨⎪≤⎩ 当 当 当 2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P 1、P 2端口输出(以压缩BCD 码的形式)。

P3.0为低电平时开始计时,为高电平时停止计时。

设计1s 延时子程序(延时误差小于10us,晶振频率12MHz)。

二、设计思路1. 设有8bi ts符号数X存于外部R AM单元,按以下方式计算后的结果Y 也存于外部RA M单元,请按要求编写完整程序。

264/2106410X X Y X X X X ⎧≥⎪=<<⎨⎪≤⎩ 当 当 当 将外部单元1000H 中的X ,通过分支判断,分别执行不同的语句,三条语句分别为标记为L 1、L2、L3,先比较X 与64的大小关系,再判断X 与10的大小关系,主要利用比较转移指令C JNE,以及执行CJNE 指令后的进位位CY,进一步比较大小,分别跳转至对应语句。

将结果存于外部单元的1001H以及1002H 。

2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P 1、P2端口输出(以压缩BCD 码的形式)。

P3.0为低电平时开始计时,为高电平时停止计时。

设计1s 延时子程序(延时误差小于10us,晶振频率12MHz)。

主程序设计三层循环,分别对应时、分、秒,最内层安放一秒延时程序。

电子科技大学_汇编实验报告

电子科技大学_汇编实验报告

电子科技大学计算机工程学院标准实验报告(实验)课程名称电子科技大学教务处制表电子科技大学实验报告实验一学生姓名:穆萨·图拉克学号:2012060090033 指导教师:实验地点:主楼A2-412 实验时间:19:00~一、实验室名称:二、实验项目名称:汇编源程序的上机调试操作基础训练三、实验学时:四、实验原理:(包括知识点,电路图,流程图)DEBUG 的基本调试命令;汇编数据传送和算术运算指令MASM宏汇编开发环境使用调试方法五、实验目的:1. 掌握DEBUG 的基本命令及其功能2. 学习数据传送和算术运算指令的用法3. 熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程六、实验内容:(介绍自己所选的实验内容)1. DEBUG命令的使用2. 程序的调试与运行3. 编写程序计算以下表达式:Z=(5X+2Y-7)/2设X、Y的值放在字变量V ARX、V ARY中,结果存放在字节单元V ARZ中。

七、实验器材(设备、元器件):WinXP PC机,MASM,50 ,VisulASM软件平台。

八、实验步骤:(编辑调试的过程)1.编辑源程序,建立一个以后缀为.ASM的文件.2.汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。

无错时继续第3步。

3.连接目标程序,产生可执行程序。

4.用DEBUG程序调试可执行程序,记录数据段的内容。

九、实验数据及结果分析:(实验运行结果介绍或者截图,对不同的结果进行分析)程序说明:功能:本程序完成Z=(5X+2Y-7)/2这个等式的计算结果求取。

其中X 与Y是已知量,Z是待求量。

结构:首先定义数据段,两个DB变量VARX与VARY(已经初始化),以及结果存放在VARZ,初始化为?。

然后定义堆栈段,然后书写代码段,代码段使用顺序程序设计本程序,重点使用MOV和IMUL以及XOR,IDIV完成程序设计。

详细内容见程序注释。

程序清单:DATA SEGMENTVARX DB10VARY DB10VARZ DB?DATA ENDSSTACK SEGMENT PARA STACKSTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKMAIN:MOV AX,DATAMOV DS,AXMOV AL,VARXMOV AH,VARYSAL AL,1SAL AL,1ADD AL,VARXSAL AH,1ADD AL,AHSUB AL,7SAR AL,1MOV VARZ,ALMOV AH,4CHINT21HCODE ENDSEND MAIN程序框图:结束调试说明:将汇编语言(.asm文件)通过masm命令转换为目标程序(.obj 文件),通过link命令转换为目标程序可执行程序(.exe文件); 这次试验还要用-p参数以及d参数显示结果为:十、实验结论:(联系理论知识进行说明)通过本次实验,我们学习了解掌握了DEBUG 的基本命令及其功能,学习了数据传送和算术运算指令的用法,熟悉了在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

多分支程序实验报告

多分支程序实验报告

一、实验目的1. 理解多分支程序的概念和作用。

2. 掌握多分支程序的编写方法。

3. 提高程序设计能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 设计一个多分支程序,根据用户输入的年龄判断其所属年龄段。

2. 设计一个多分支程序,根据用户输入的分数判断其成绩等级。

四、实验步骤1. 编写判断年龄段的程序。

(1)定义一个函数,接收年龄参数。

(2)根据年龄参数,判断用户所属年龄段,并打印结果。

代码如下:```pythondef age_branch(age):if age < 18:print("青少年")elif age < 30:print("青年")elif age < 45:print("中年")else:print("老年")# 测试程序age = int(input("请输入您的年龄:"))age_branch(age)```2. 编写判断成绩等级的程序。

(1)定义一个函数,接收分数参数。

(2)根据分数参数,判断用户成绩等级,并打印结果。

代码如下:```pythondef grade_branch(score):if score >= 90:print("优秀")elif score >= 80:print("良好")elif score >= 70:print("中等")elif score >= 60:print("及格")else:print("不及格")# 测试程序score = int(input("请输入您的分数:"))grade_branch(score)```五、实验结果与分析1. 输入年龄:20,程序输出:青年。

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

分支与循环程序设计实验报告汇总集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]实验名称分支与循环程序设计实验指导教师罗志祥专业班级光电1406 姓名段昳晖学号 U2014*****联系电话 137********一、任务要求1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

2. 利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

为低电平时开始计时,为高电平时停止计时。

设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。

二、设计思路1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

将外部单元1000H中的X,通过分支判断,分别执行不同的语句,三条语句分别为标记为L1、L2、L3,先比较X与64的大小关系,再判断X与10的大小关系,主要利用比较转移指令CJNE,以及执行CJNE指令后的进位位CY,进一步比较大小,分别跳转至对应语句。

将结果存于外部单元的1001H以及1002H。

2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

为低电平时开始计时,为高电平时停止计时。

设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。

主程序设计三层循环,分别对应时、分、秒,最内层安放一秒延时程序。

利用R0、R1、R2计数,R3保存分钟数、R4保存小时数,最内层循环60次,中循环循环1次,中循环60秒,外循环循环1次,外循环循环24次,清零。

其中对端口显示的秒数、分钟数、时间数,进行二进制修正。

利用循环来设计延时程序,合理计算语句长度,以及循环次数。

程序运行时修正的值,可以实现暂停计数和继续的功能。

提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。

利用状态选择加、减计数方式。

2)利用P3口低四位状态控制开始和停止计数,控制方式自定。

初始化P1、P2,,计数循环中插入一秒延时程序。

R1存千百位、R2存个十位,=0时,进行加1计数,取出R2中的数存于A,对A 加1,同时进行十进制修正,存于P2,达到99,则进位对千百位进行加1。

=1时,进行减一操作,取出R1中的数存于A,对A减1,同时进行十进制修正,存于P1,达到0,则对P2,对R2进行减一。

计数循环前判断的值,当=1时,开始计数,=0时,原地循环,停止计数,直到=1,可以实现随时停止与开始。

三、资源分配1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

X存于片外1000HY存于片外1001H、1002H其中,求平方时,低位存于1001H,,高位存于1002H除二时,商存于1001H,,余数存于1002H2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

为低电平时开始计时,为高电平时停止计时。

设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。

P0输出小时数P1输出分钟数P2输出秒数R0小时循环计数R1分钟循环计数R2秒循环计数R3保存分钟数R4保存小时数提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。

利用状态选择加、减计数方式。

2)利用P3口低四位状态控制开始和停止计数,控制方式自定。

P1输出千百位P2输出个十位计数开始与停止控制加1减1计数切换R1存千百位R2存个十位四、流程图1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

为低电平时开始计时,为高电平时停止计时。

设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。

提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。

利用状态选择加、减计数方式。

2)利用P3口低四位状态控制开始和停止计数,控制方式自定。

五、源代码(含文件头说明、语句行注释)1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

File name:Description: 对8bits符号数X,对于不同的X进行不同的运算操作Date:Designed by:Source used: 1000H: 存X的值1001H、1002H: 存Y的值1001H:平方运算所得低位;除法运算所得商1002H:平方运算所得高位;除法运算所得余数ORG 0000HLJMP MAINORG 0100HMAIN: MOV DPTR,#1000H ;X存于1000HMOV A,#-1 ;给X赋值MOV B,#0MOVX @DPTR,A;正负判断JB ,L3 ;X<0,L3;X>0CJNE A,#64,L2 ;A!=64,L2SJMP L1L1: MOV B,A ;X>=64MUL ABSJMP STORE ;低位存于1001H,?高位存于1002HL2: JNC L1 ;X>64,L1CJNE A,#10,L4 ;A!=10,L4SJMP L3 ;X=10,L3L4: JC L3 ;X<10,L3MOV B,#2DIV AB ;X>10SJMP STORE ;商存于1001H,余数存于1002HL3: CPL A ;X<=10STORE: INC DPTR ;结果存于1001HMOVX @DPTR,AINC DPTRMOV A,BMOVX @DPTR,ASJMP $END2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

为低电平时开始计时,为高电平时停止计时。

设计1s延时子程序(延时误差小于10us,晶振频率12MHz)。

File name:Description: 24小时制电子时钟Date:Designed by: DYHSource used:P0:输出小时数P1:输出分钟数P2:输出秒数R0:小时循环计数R1:分钟循环计数R2:秒循环计数R3:保存分钟数R4:保存小时数ORG 0000HLJMP MAINORG 0100HMAIN: MOV SP,#40HMOV P0,#0MOV P1,#0MOV P2,#0MOV R3,#0 ;保存小时MOV R4,#0 ;保存分钟;设定循环MOV R0,#24 ;小时外循环·24MOV R1,#59 ;分钟中循环·60MOV R2,#59 ;秒内循环·60CLR ALOOP: JNB ,$ ;=0,结束计数LCALL DELAY ;延时1sADD A,#1DA AMOV P2,ADJNZ R2,LOOPMOV A,R3 ;分钟开始计数将分钟赋给AADD A,#1 ;分钟+1DA AMOV R3,AMOV P1,ACLR A ;秒清零MOV R2,#59 ;重置内循环·DJNZ R1,LOOP ;R1!=0,中循环MOV R3,#0 ;分钟清零,小时计数MOV A,R4ADD A,#1DA AMOV R4,AMOV P0,AMOV R2,#59 ;重置中循环MOV R1,#59 ;重置外循环DJNZ R0,LOOPDONE: SJMP $DELAY: MOV R7,#11 ;n==((201*5+5)*90+9)*11+2=1000001DELAY3: MOV R6,#90 ;t=DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND提高部分(选做):1)实现4位十进制加、减1计数,千位、百位由P1口输出;十位、个位由P2口输出。

利用状态选择加、减计数方式。

2)利用P3口低四位状态控制开始和停止计数,控制方式自定。

Description: 实现4位十进制加、减1计数Date:Designed by: DYHSource used:P1输出千百位P2输出个十位计数开始与停止控制加1减1计数切换R1存千百位R2存个十位ORG 0000HMOV P1,#0 ;输出千百位MOV P2,#0 ;输出个十位MOV R1,#0 ;存千百位MOV R2,#0 ;存个十位LJMP MAINORG 0100HMAIN: JB ,$ ;计数开始与停止控制JNB ,ADD1 ;加1减1,模式选择SUB1: MOV P1,#99MOV P2,#99MOV R1,#99LOOP2: MOV R2,#99LOOP1: JB ,$JNB ,LOOP3MOV A,R2LCALL DELAYDEC AMOV R2,AMOV P2,R2CJNE R2,#0H,LOOP1MOV A,R1DEC AMOV R1,AMOV P1,R1CJNE R1,#0H,LOOP2SJMP $ADD1: MOV P1,#0MOV P2,#0MOV R1,#0LOOP4: MOV R2,#0LOOP3: JB ,$JB ,LOOP1MOV A,R2LCALL DELAYINC AMOV R2,AMOV P2,R2CJNE R2,#99H,LOOP3MOV A,R1INC AMOV R1,AMOV P1,R1CJNE R1,#99H,LOOP4MOV R1,#0SJMP $DELAY: MOV R7,#11 ;n==((201*5+5)*90+9)*11+2=1000001 DELAY3: MOV R6,#90 ;t=DELAY2: MOV R5,#201DELAY1: NOPNOPNOPDJNZ R5,DELAY1NOPNOPDJNZ R6,DELAY2NOPNOPNOPNOPNOPNOPDJNZ R7,DELAY3RETEND六、程序测试方法与结果1. 设有8bits符号数X存于外部RAM单元,按以下方式计算后的结果Y也存于外部RAM单元,请按要求编写完整程序。

(1)X=-30=E2H Y=1DH(2).X=5=05H,Y=FAH(3).X=10=0AH,Y=F5H(4)X=25=19h Y=0CH(商) 01H(余数)(5).X=64=40H Y=1000H2.利用51系列单片机设计一个24小时制电子时钟,电子时钟的时、分、秒数值分别通过P0、P1、P2端口输出(以压缩BCD码的形式)。

相关文档
最新文档