实验四_循环结构汇编语言程序设计实验报告
C语言程序设计
《C语言程序设计》实验报告专业:化学班级:1504 学号:201513030404 学生姓名:侯德阳实验日期:2016.03.07 成绩:指导老师:实验单元一程序基本结构设计一、实验题目实验一熟悉VC++环境二、实验目的1. 熟悉C程序编辑环境,掌握主要菜单项的作用。
2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。
3. 熟悉C程序的基本输入输出语句三、实验内容1. 书本第一章的例一程序。
2. 由键盘输入两个整数,求得它们的和并输出至屏幕。
四、实验环境1.硬件环境:当前所有电脑硬件环境均支持。
2.软件环境:Visual C++ 6.0五、实验代码及结果(程序运行结果请以截屏图给出)1.源程序代码:#include<stdio.h>int main(){printf("I'm a student.\n");return 0;}运行结果为:2.源程序代码:#include <stdio.h>int main(){int a,b,c;scanf("%d %d",&a,&b);c=a+b;printf("你输入的两个数的和是""%d",c);return 0;}运行结果为:六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)So easy.《C语言程序设计》实验报告专业:化学班级:1504 学号:201513030404 学生姓名:侯德阳实验日期:2016.03.21 成绩:指导老师:实验单元一程序基本结构设计一、实验题目实验二顺序结构程序设计二、实验目的(1)掌握C语言数据类型以及变量的声明。
(2)掌握C语言的赋值运算符、赋值表达式、赋值语句。
(3)掌握C语言的整型和字符型的混合运算。
(4)掌握C语言的输入、输出函数的使用格式。
三、实验内容1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。
实验四 循环结构程序设计
#include "stdio.h"
void main( )
{
}
2.从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:
for(k=1; k<=n; k++) if(m%k==0 && n%k==0) x=k;
}
2.字符常量’0’与数值常量0是不同的。
(六)下面程序的功能是:计算1到100之间的奇数之和及偶数之和,并输出。请在程序中的横线上填入适当的内容,将程序补充完整并运行。
/* c4-6.c */
/* 计算1到100之间的奇数之和及偶数之和 */
#include "stdio.h"
void main( )
六、思考题
(一)求两个正整数x和y的最大公约数,请填空。
/* 求最大公约数程序 */
#include "stdio.h"
void main( )
{ int x,y,t,i;
printf("请输入两个数:");
scanf("%d,%d",&x,&y); /*注意scanf语句中间用“,”隔开*/
if(x > y){t = x; x = y; y = t;}
程序的基本结构如下:
/* c4-9.c */
/* 按条件求数列和 */
#include "stdio.h"
void main( )
{定义变量;
变量赋初值;
(实验六)汇编语言课内实验报告
实验四循环结构程序设计上机实验
一、实验目的:
1、掌握循环结构程序设计的基本方法。
2、掌握用masm for Windows编辑、编译、连接汇编语言源程序的基本方法。
3、掌握DEBUG调试程序的U、D、R、T、G、Q常用命令的用法。
二、实验步骤:
1、用ASM masm for Windows将源程序输入,其扩展名为.ASM。
2、用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。
若汇编时提示有错,则修改源程序后重新汇编,直至通过。
3、用LINK将.OBJ文件连接成可执行的.EXE文件。
4、用DEBUG调试程序并分析结果。
三、实验内容:
1. 在数据段中从变量DA1开始有N个带符号数。
把其中的正数、负数(设没有0)依次存入DA2、DA3开始的单元中并分别统计正、负数的个数存入DA4、DA5字节单元之中。
试编写程序。
将本例中的DEC指令修改为LOOP指令来实现循环程序的设计。
在修改过程中还应修改哪能些指令,请自己分析,为什么?
四、综合练习:
1.编写求100个正整数的和的程序。
如果和不超过16位字的范围(即65535),则将其和保存到WORDSUM单元中,若超过则显示OVERFLOW。
2.设有N个数,连续存放在以BUF为首址的字存储区中,试编写程序,统计其中最高的6位全1的数个数并将统计结果送入寄存器DX中。
五、实验报告(注意:将报告正反两面打印后用手写)附件如下:
实验四循环程序设计实验报告学号姓名成绩。
电大专科c++实验四循环结构程序设计
3.掌握使用for循环语句编写应用程序及其编写技巧.
4.掌握使用break语句及循环语句编写应用程序及其编写技巧.
5.掌握使用continue语句及循环语句编写应用程序及其编写技巧
二、实验要求
能够编写一些有实际应用意义的循环结构的程序
三、实验内容(要求:针对实验案例的每项工作,撰写完成实验的步骤)
#include
Void mian()
{ int x,y,z,num,num1;
For(x=1;x<101;x++)
For(z=1;z<101;z++)
{ num=x+y+z;
Num1=5*x+3*y+z/3.0;
If(num==100&& num1==100)
Cout<<"公鸡="<<X<<",母鸡="<<Y<<",鸡雏="<<Z<<"ENDL;
1.用近似公式∏/4≈1-1/3+1/5-1/7+1/9-1/11+…,计算∏的近似值,要求最后一项小于10-6即可.#include# Nhomakorabeanclude
Void maid()
{ float n,t,pi;int s;
T=1.0;pi=0.0;n=1.0;s=1;
While(favs(t)>=1e-6)
{ pi+=t;
n+=2;
s=-s;
t=s/n;
}
实验报告4
实验四:循环结构程序设计班级:学生姓名:学号:一、实验目的1、理解循环的概念2、理解并掌握循环结构相关语句的含义、格式及使用3、学会循环的应用及控制,包括:①掌握使用循环输入多个数据的方法②掌握在多个数据中有选择地输出数据的方法③掌握在多个数据中对某种数据进行计数的方法④掌握求多个数据中最大值、最小值的方法⑤掌握使用break、continue语句终止循环4、掌握循环的嵌套二、知识要点1、循环变量、循环条件、循环体的概念2、三种循环语句的一般格式、执行过程3、理解选择结构与循环结构中“条件表达式”之不同含义4、二重循环的执行过程三、实验预习(要求做实验前完成)1、循环变量的主要用途是:2、用循环求多个数的和之前,先要把和的初始值赋为:3、用循环求多个数的乘积之前,先要把乘积的初始值赋为:4、字符变量能否作为循环变量?5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法?6、什么叫循环的嵌套?四、实验内容(要求提供:①算法描述或流程图②源程序)1. 编程,利用循环计算以下表达式的值:(5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for循环)include <stdio.h>#include <stdlib.h>int main(){int a;double sum=1,sum1=0;for(a=1;a<=5;a++)sum=sum*(a+a*a);printf("结果为%lf\n",sum);for(a=2;a<=5;a++)sum1=sum1+(1.0/a);printf("%lf\n",sum1);printf("结果为%lf\n",sum*sum1);return 0;}2. 编程,从键盘输入若干个整数,当输入0时,输入停止。
matlab实验4_循环结构程序设计_参考解答
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
clear all; close all; clc; y=0; n=1; while y<3
y=y+1/(2*n-1); n=n+1; end n=n-1; y=y-1/(2*n-1) n=n-1
运行结果:
y= 2.9944
x1=a/(b+x0); y=abs(x1-x0); x0=x1;
MATLAB 语言
3
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
实验四:循环结构程序设计
n=n+1; end x1 r1=(-b+sqrt(b^2+4*a))/2 r2=(-b-sqrt(b^2+4*a))/2
clear all; close all; clc; prime=[]; for n=2:49
x=n*(n+1)-1; signx=0; for k=2:sqrt(x)
MATLAB 语言
5
WangChengyou © 山东大学威海分校
高教社刘卫国《MATLAB 程序设计与应用》(第二版)实验参考解答
根据
π2 6
=1 12
+
1 22
+1 32
+"+
1 n2
,求 π 的近似值。当
n
分别取
100、1000、10000
时,
结果是多少?
要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 答:程序设计:
(1) 循环结构
汇编语言循环结构程序设计
实验4 汇编语言循环结构程序设计实验题目:实现表达式S=(X+4×Y)/Z,其中X为有符号的字节数据,Z、Y为有符号的字数据,结果进行显示(进制不限)。
实验目的:1. 掌握循环结构程序设计:循环初始化、循环体、循环参数修改和循环控制;2. 灵活运用跳转类或循环指令;4. 掌握MASM、LINK、DEBUG等工具的使用。
实验设备:硬件:PC机软件:DOS操作系统、编辑软件、MASM 5.0实验内容:1. 程序代码DATA SEGMENTX DB 8Y DW 2Z DW 2N DW 10RESULT DW 4 DUP(?) ;定义RESULT单元,预留空间DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,XMOV AH,0H ;扩展xMOV BX,AXMOV CX,4MOV AX,YMUL CXADD AX,BXDIV ZDIV N ;除以10,用于进位显示MOV RESULT,AX ;存储商MOV RESULT+1,DX ;存储余数ADD RESULT,30HMOV DX,RESULTMOV AH,02HINT 21HADD RESULT+1,30HMOV DX,RESULT+1MOV AH,02HINT 21HMOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START2.调试过程(具体应用DEBUG指令及其结果)实验思考与总结:通过本次实验我熟悉了源程序的基本组成及其使用,掌握了数据传送、算术运算类指令的使用。
C语言实验报告 实验四 参考答案
实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。
例如输入n为15时,输出1.718282。
算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。
参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。
算法分析:该多项式的分母是累加。
参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。
例如,输入n 的值是100,则输出结果是148.874270。
注意n应在2~100之间。
算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。
参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。
循环结构的实验报告
一、实验目的1. 理解循环结构的原理和特点。
2. 掌握C语言中while、do...while和for循环语句的使用方法。
3. 学会运用循环结构解决实际问题。
二、实验环境1. 编程语言:C语言2. 编程工具:Visual Studio Code3. 操作系统:Windows 10三、实验内容1. 实验一:计算1至100之间所有整数的和实验目的:掌握while循环语句的使用方法。
实验步骤:(1)定义变量sum用于存储和,初始化为0。
(2)使用while循环语句遍历1至100之间的整数,将每个整数累加到sum变量中。
(3)输出最终的和。
实验代码:```c#include <stdio.h>int main() {int sum = 0, i = 1;while (i <= 100) {sum += i;i++;}printf("1至100之间所有整数的和为:%d\n", sum);return 0;}```2. 实验二:计算1至100之间所有偶数的和实验目的:掌握do...while循环语句的使用方法。
实验步骤:(1)定义变量sum用于存储和,初始化为0。
(2)定义变量i,初始化为1。
(3)使用do...while循环语句遍历1至100之间的整数,当i为偶数时,将其累加到sum变量中。
(4)输出最终的和。
实验代码:```c#include <stdio.h>int main() {int sum = 0, i = 1;do {if (i % 2 == 0) {sum += i;}i++;} while (i <= 100);printf("1至100之间所有偶数的和为:%d\n", sum);return 0;}```3. 实验三:计算1至100之间所有素数的和实验目的:掌握for循环语句的使用方法。
实验步骤:(1)定义变量sum用于存储和,初始化为0。
C语言实验报告
C语言实验报告实验一:c语言环境的开发与使用1.实验目的:上机编写简单的c语言程序,逐步了解c语言运行的程序步骤2.实验内容:在turboc3.0的环境下调试简单的c语言3.实验清单:输入一行字符(如“hello!”)Ex513_11.c#include<stdio.h>Int main(){printf(“hello!\n”);return 0;}从键盘输入两个整数,将其平方和输出(用函数关系求平方和)Ex513_12.c#include<stdio.h>#include<math.h>int main(){int a,b,c;printf(“\n input a=”);scanf(“%d”,&a);printf(“\n input b=”);scanf(“%d”,&b);c=sqre(a,b);printf(“sqre=%d”,c);return 0;}int sqre(x,y)int x,y;{return x*x+y*y;}从键盘输入三个整数,将其最大值输出。
(用函数求最大值)Ex513_13.c#include<stdio.h>int main(){int a,b,c,d;printf(“\n input a=”);scanf(“%d”,&b);printf(“\n input c=”);scanf(“%d”,&c);d=max(a,b,c);printf(“max=%d”,d);return 0;}int max(x,y,z);int x,y,z,t;{if(x>y) t=x;else t=y;if(z>t) t=z;return t;}输入三角形三边的长度,将其面积输出(用函数求面积) Ex513_14.c#include<stdio.h>#include<math.h>Int main(){double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\t%f\n”,a,b,c);printf(“area=%f\n”,area)return 0;}4运行结果及分析程序:Ex513_11.c结果:输出hello!分析:掌握输出一行字符的写法程序:Ex513_12.c结果:输入1,2输出5分析:编写正确,但不够简洁程序:Ex513_13.c结果:输入-3,1,2输出2分析:程序运用了函数程序:Ex513_14.c结果:输入3,4,5输出6分析:编写不够简洁实验二:顺序结构设计1.实验目的:了解什么是常量和变量及种类掌握整型,实型,字符型变量的定义和使用及输出规律掌握七个运算符的运算法则及其混合运算规律2.实验内容:假如我国国民生产总值的年增长率为百分之九,计算十年后我国国民生产总值与现在相比增长多少?Ex513_21.c#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}用编好的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’Ex513_22.c#include<stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
汇编语言实验报告
汇编语言实验报告
1. 实验简介
本次实验是针对汇编语言的学习和实践,在实验中,我们将学习如何使用汇编语言编写程序、调试程序,并通过一系列实例来练习和巩固所学知识。
2. 实验目的
(这一部分可以根据实际情况来写,列举实验的具体目的和要求)
3. 实验环境及工具
(介绍实验所使用的软件环境和工具,如:编译器、调试器)
4. 实验步骤
(根据实验内容具体描述实验步骤,可以分为多个小节)
4.1 准备工作
在开始实验之前,需要进行一些准备工作,包括安装编译器、创建工作环境等。
4.2 实验一:简单的汇编程序
本实验通过编写一个简单的汇编程序来熟悉汇编语言的基本语法和指令集,包括数据传送、算术运算、逻辑运算等。
4.3 实验二:汇编程序的调试
在实验二中,我们将学习如何使用调试器对汇编程序进行调试,包括设置断点、查看变量值、单步执行等操作。
4.4 实验三:汇编程序的优化
本实验将通过优化代码来提高程序的执行效率,包括减少指令的使用、优化循环结构等。
5. 实验结果与分析
(对实验的结果进行总结和分析,可以包括程序的输出结果、性能分析等)
6. 实验总结
(针对本次实验的收获和心得体会进行总结,可以包括对汇编语言的理解、解决问题的思路等)
7. 实验感想
(对本次实验的感想和建议,如实验过程中遇到的困难、改进的方向等)
8. 参考文献
(列出本报告中所引用的参考文献)
注:该文章只是按照题目提示给出了一个大致的框架和构思,实际根据具体的实验内容和要求来编写每个小节的详细内容。
希望对你有所帮助!。
MATLAB实验四 选择结构和循环结构程序设计
实验四 选择结构和循环结构程序设计实验目的:1.掌握建立和执行M 文件的方法 2.掌握利用if 语句实现选择结构的方法 3.掌握利用switch 语句实现多分支选择结构的方法 4.掌握利用for 语句实现循环结构的方法 5.掌握利用while 语句实现循环结构的方法 6. 熟悉利用向量运算来代替循环操作的方法实验内容:1. 求分段函数的值。
3及2其它,1x 且50,653且0,6222≠⎪⎩⎪⎨⎧--≠<≤+--≠<-+=x x x x x x x x x x y用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
x=input('请输入x 的值:x=');if(x<0&x~=-3)y=x.*x+x-6elseif(x>=0&x<5&x~=2&x~=3)y=x.*x-5.*x+6elsey=x.*x-x-1end请输入x 的值:x=[-5.0 -3.0 1.0 2.0 2.5 3.0 5.0]y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.00002. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:a) 分别用if 语句和switch 语句实现。
If 语句x=input('请输入分数:')if(x<=100&x>=90)disp('A')elseif(x>=80&x<=89)disp('B')elseif(x>=70&x<=79)disp('C')elseif(x>=60&x<=69)disp('D')elseif(x<60)disp('E')end请输入分数:95x =95Aswitch语句c=input('请输入分数:')switch ccase num2cell(90:100)disp('A')case num2cell(80:89)disp('B')case num2cell(70:79)disp('C')case num2cell(60:69)disp('D')case num2cell(0:59)disp('E')end请输入分数:83c =83Bb)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
汇编语言编程实验报告
汇编语言编程实验报告汇编语言程序设计实验报告(一)汇编语言程序设计实验报告(一)一、预备知识汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
二、实验目的1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。
)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。
4、LINK连接程序5、DEBUG调试程序三、汇编语言源程序上机操作过程2、编辑源文件根据给定的任务,可编写程序。
如果经过检查认为所编程序无错时,就可在计算机上通过编辑程序建立源程序文件了。
一般在编辑过程中总会有错误产生,因此还要进行人工检查、修改以致重新编辑,直到所编辑的源程序无误为止,然后以一个源程序文件(ASM文件)存盘。
将包含QE文件的工作磁盘插入驱动器A:。
进入QEA\QE进入全屏幕后可以开始编程。
文件名取为Myprog。
asm;Ddisplystring (09H)CODESEGMENTPUBLICASSUME CS:CODE,DS:CODEORG 100HSTART:JMP BEGINMSG DB‘Hi ! This ia a dollar sign terminated string.’,’$’BEGIN:MOV AX,CS ;set up to display messageMOV DS,AXMOV DX,OFFSET,SG ;set up to display messageMOV AH,09H;display string function requestINT 21H ;call DOSMOV AH ,4CH ;terminate propram funct requestINT 21H ;Call DOSCODE ENDS;end of code segmentEND START;strat is the entry point输入完毕后,按ALT---X,存盘返回DOS3、汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。
程序设计基础实验报告4-循环结构
程序设计基础实验指导及实验报告专业班级:学号:姓名:时间:指导老师:魏银珍实验四循环结构程序设计一、实验目的1.熟练掌握三种循环语句的应用。
2.熟练掌握循环结构的嵌套。
3.掌握break和continue语句的使用。
4.练习调试与修改程序。
二、实验内容1、读下面程序并运行,结果是什么?2、读下面程序并运行,改正其中的错误。
main( ) main( ){{int m, k ,I , n =0; int s ;for(m=101;m<=200;m=m+2) float n ,t ,pi ;{ t=1 ;pi=0 ;n=1.0 ;s=-1 ;k=sqrt(m) ; while(fabs(t)>1e+6)for(i=2;i<=k; i++) {pi=pi+t ;if(m%i= =0)break; n=n+2 ;if(i>=k+1) s=-s ;{ t=s/n ;printf(“%d”,m); }n=n+1; pi=pi*4 ;} printf(“pi=%10.6d\n”, pi);if(n%10= =0)printf(“\n”); }}printf(“\n”);}3.用while语句、do-while语句编写程序,计算e≈1+1/1!+1/2!+...+1/n!。
使误差小于给定的ε=10-5。
输出e和总的项数n。
4、如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。
例如6的因子是1,2,3,且6=1+2+3,因此6是完数。
编写程序找出1000之内的所有完数及这些完数的和。
5.输入并运行下面的程序,观察程序的运行结果。
#include"stdio.h"main( ){int n;while (1){printf("Enter a number:");scanf("%d",&n);if (n%2==1){printf("I said");continue;}break;}printf("Thanks. I needed that!");6. 打印九九乘法表,用for语句实现1X1=11X2=2 2X2=4……1X9=9 …… 9X9=81教材 6.6,6.147. 5.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。
循环结构微机实验报告
一、实验目的1. 理解微机循环结构的基本原理;2. 掌握循环结构的编程方法;3. 熟悉微机实验环境及工具的使用;4. 提高编程能力和问题解决能力。
二、实验环境1. 实验设备:PC微机一台;2. 实验软件:汇编语言编程软件(如MASM、TASM等);3. 实验工具:汇编语言编程手册、实验指导书。
三、实验内容1. 循环结构的原理及编程方法循环结构是程序设计中常用的一种结构,它可以简化程序设计,提高编程效率。
本实验主要介绍以下循环结构:(1)顺序循环结构:按照顺序执行程序中的语句,直到循环条件不满足为止。
(2)当型循环结构:当循环条件满足时,执行循环体内的语句;当循环条件不满足时,退出循环。
(3)直到型循环结构:执行循环体内的语句,直到循环条件不满足为止。
2. 循环结构的编程实例(1)求1到100的和程序代码如下:```MOV CX, 100 ; 设置循环次数为100MOV AX, 0 ; 初始化累加器AX为0SUM_LOOP:ADD AX, CX ; 将循环次数加到AX上LOOP SUM_LOOP ; 判断CX是否为0,如果不为0,则继续循环```(2)计算Fibonacci数列的前10项程序代码如下:```MOV CX, 10 ; 设置循环次数为10MOV AX, 0 ; 初始化累加器AX为0MOV BX, 1 ; 初始化累加器BX为1FIB_LOOP:ADD AX, BX ; 将BX加到AX上XCHG AX, BX ; 将AX的值传给BXDEC CX ; 循环次数减1JNZ FIB_LOOP ; 判断CX是否为0,如果不为0,则继续循环```3. 循环结构的调试及优化在编程过程中,可能会遇到循环结构不正确、效率低下等问题。
以下是一些调试及优化方法:(1)检查循环条件是否正确;(2)优化循环体内的语句,减少计算量;(3)使用循环嵌套结构,提高程序效率;(4)合理使用循环变量,减少内存占用。
四、实验结果与分析1. 实验结果通过实验,我们成功实现了以下功能:(1)求1到100的和;(2)计算Fibonacci数列的前10项;(3)掌握了循环结构的编程方法及调试技巧。
实验四 循环结构程序设计
。 #include<stdio.h>
int main() { char c; int letters=0,space=0,digit=0,other=0; printf("请输入一行字符:\n"); while((c=getchar())!='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='z') letters++; else if(c==' ') space++; else other++; } printf("字母数:%d\n空格数:%d\n其它字符 数:%d\n",letters,space,digit,other); return 0; }
河南工业大学 C语言实验报告
实验题目:循环结构程序设计 实验目的:熟练掌握while,do—while及for语句的格式、执行过程及循 环嵌套的使用 实验内容:P140-141 习题3,4,6,8 实验步骤:(具体程序及运行结果) #include<stdio.h> int main() { int p,r,n,m,temp; printf("请输入两个正整数 n,m:"); scanf("%d,%d,",&n,&m); if(n<m) { temp=n; n=m; m=temp; } p=n*m; while(m!=0) { r=n%m; n=m; m=r; } printf("它们的最大公约当数为: %d\n",n); printf("它们的最小公倍当数为: %d\n",p/n); return 0; }
4.VB实验四(无答案) 循环结构(1)
循环结构
Do循环基本结构如下: Do循环基本结构如下: 循环基本结构如下 Do Dim i%, sum% 循环体 sum = 0 i=1 Loop
Do 最简单的Do循环 循环, 最简单的Do循环, sum = sum + i 没有循环控制条 i=i+1 件,所以在循环 If i > 100 Then Exit Do 体中要使用Exit 体中要使用Exit Loop Do跳出循环 Do跳出循环 Print "1+2+...+100="; sum
循环结构
Do While循环结构语法格式如下: While循环结构语法格式如下 循环结构语法格式如下: Do While 条件 Dim i%, sum% 循环体 sum = 0 Loop i=1 先判断条件, 先判断条件, 条件成立时, 条件成立时, 反复执行循环 体
Do While i <= 100 sum = sum + i i=i+1 Loop Print "1+2+...+100="; sum
计算: 其中X,N由文本框输入,计算结果显示在 文本框中.
X X X X S = 1+ + + + ... + 2! 4! 6! (2 N )!
2
3
N
代码
题目8 题目8
计算: 1+1×3+1×3×5+……+1×3×……(2N+1) 其中N由InputBox函数或文本框输入,计算结 果显示在窗体上.
题目4 题目4
编程计算n!. 的值用inputbox函数输入 编程计算n!.n的值用inputbox函数输入. 函数输入. 结果在窗体上显示. 结果在窗体上显示.
汇编语言程序设计实验报告
实验报告实验名称汇编语言程序设计||专业班级:信息安全学号:姓名:实验一汇编语言上机过程和Debug常用调试命令一.实验目的:学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法。
二.实验题目:熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。
在调试过程中,学习及掌握debug程序的各种操作命令。
三.问题描述:试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘match’; 否则,显示‘no match’。
四.方法说明:a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。
b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。
c) 用连接程序link 产生执行文件EXE.d) 执行程序,可直接从DOS执行程序。
e) 使用debug程序调试程序的方法。
五.实验步骤:1.调用字处理程序EDIT 建立以sample.asm文件datarea segmentstring1 db ‘move the cursor backward.’string2 db ‘move the cursor backward.’mess1 db ‘Match..’,13,10,’$’mess2 db ‘No match!..’,13,10,’$’datarea endsprognam segmentmain proc farassume cs:prognam,ds:datarea,es:datarea start:push dssub ax,axpush axmov ax,datareamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx, mess1disp:mov ah,09int 21hretmain endpprognam endsend start2.对源文件汇编产生目标文件obj D:\masm 文件名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5)调试成功后重新汇编、连接并生成可执行代码
6)执行程序,并对运行结果截图。
利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:
(说明:输入数据为:13,0,59,900,587,1,657,234,34,48)
循环结构汇编语言程
序设计实验报告
实验四循环结构汇编语言程序设计
一、实验目的
1、学习循环结构的汇编语言程序的设计和调试。
2、学习通过直接对8086计算机的寄存器和内存的直接访问,编写更高效简洁
的汇编程序。
3、加深掌握计算机整体的工作过程。
3、加深对排序算法的理解。
二、实验任务
编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。
要求至少采用二种不同的排序算法来实现。(快速排序,归并排序、堆排序、
Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序⋯⋯)
三、实验内容
为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实
验。
1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如
下所示:
2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:
四、实验环境
PC机:winXP/win7(32位)/win7(64位)+winxp虚拟机
汇编工具:Masm.exe+Link.exe。
五、实验步骤
1)建立和生成的文件
(1)编写的源程序,源程序名为abc、扩展名为.asm
(2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件
名为abc.obj
(3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe
2)汇编环境
最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷
入到已经建好的文件夹(例如huibian)中,并将文件夹huibian放在硬盘根目录
>下
3)上ቤተ መጻሕፍቲ ባይዱ步骤
进入DOS窗口中执行。
4)调试程序