精华内容
下载资源
问答
  • 循环程序设计实验报告
    2021-06-19 08:23:46

    假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数是大于0,等于0,还是小于0;并输出其判断结果Y。

    《微机原理与接口技术》课程实验报告

    一、实验目的

    1.掌握循环程序设计的方法

    2.掌握正确分配与使用寄存器。

    二、实验环境

    1. 硬件环境:微型计算机一台。

    2. 软件环境:装有MASM 5.0,DEBUG,LINK,EDIT等应用程序。

    三、实验重点及难点

    循环程序的结构及程序设计方法。

    四、实验内容

    假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数是大于0,等于0,还是小于0;并输出其判断结果Y。

    1, 当 X >0

    Y= 0, 当 X =0

    -1,当 X <0

    五、实验分析和实验体会

    (1)实验分析:

    程序代码:

    DATA SEGMENT

    X DB 5,-4,0,3,100,-51

    NUM EQU $-X

    Y DB 6 DUP(?)

    DATA ENDS

    CODE SEGMENT

    ASSUME CS:CODE;DS:DATA

    START:MOV AX,DATA

    MOV DS,AX

    LEA SI,X

    LEA DI,Y

    MOV CX,NUM

    BJ: MOV AL,[SI]

    CMP AL,0

    JGE BIGE

    MOV BL,-1

    JMP NEXT

    BIGE:JE ZERO

    MOV BL,1

    JMP NEXT

    更多相关内容
  • 循环程序设计实验报告
  • 分支和循环程序设计实验报告.doc
  • 分支及循环程序设计实验报告.doc
  • 分支与循环程序设计实验报告.doc
  • 课 程 设 计 报 告 题 目 弹球小游戏 姓 名 方成 学 号 20 专 业 java 指导教师 陈华恩 2013 年 12 月 30 目录 一实验目的 3 二需求分析 3 三实验任务 3 1设计 3 2程序要求 3 3选作题 3 四开发工具与平台 3 五设计...
  • 精品文档 LINUX的 FTP实验报告 实验需求为了实现文件传输共享资源 实验环境一台 centos 和一台 XP客户机 实验步骤首先打开 centos 再将安装光盘挂载上输入命令 rpm -qa|grep vsftpd 查看是否有此软件如果没有进入到...
  • 掌握循环程序设计方法。 3.进一步熟悉汇编语言程序的汇编、连接及调试技术。 二、实验内容: 已知当前数据段中的DATA1和DATA2开始分别存放若干字节数据,数据个数相同,编制程序检查两数据块中数据是否相同,若...
  • 实验循环结构程序设计 1.根据求的近似值当n分别取100100010000时记过是多少 n=100 程序设计 n=100; i=1:n; f=1./i^2; x=sum(f; y=sqrt(6*x) 运行结果 x = 3.1321 n=1000 程序设计 n=1000; i=1:n; f=1./i^2; x=sum...
  • 中国石油大学(华东)循环程序设计实验报告[DOC可编辑]
  • 甘肃政法学院 本科生实验报告 五 姓名赵明翔 学院:公安技术学院 专业安全防范工程 班级:2015级安全防范工程班 实验课程名称程序设计 实验日期:2016年月曰 开课时间2015学年第二学期 实验题目 实验5循环结构程序设计 ...
  • 汇编语言程序设计实验报告二分支循环程序实验 实验目的 掌握分支程序循环程序的设计方法 熟悉DEBUG程序的使用方法 掌握汇编语言程序的编辑汇编连接以及调试过程 实验内容 编写一程序将内存中某一区域的数据传送到另...
  • 这是武汉理工大学汇编语言设计实验报告!为whuters提供无微不至的人文主义关怀和亲切的慰问! 这是武汉理工大学汇编语言设计实验报告!为whuters提供无微不至的人文主义关怀和亲切的慰问! 这是武汉理工大学汇编语言...
  • 汇编程序设计中的循环程序设计,里面含有步骤、截图、报告
  • 1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。 2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令与转移指令、循环指令等。 3、初步了解系统功能调用的使用方法,...

    实验目的

    1、掌握程序设计中的3种基本结构(顺序结构、选择程序、循环程序)。

    2、熟练使用汇编语言的指令:数据传送类指令、数据运算类指令、逻辑判断类指令与转移指令、循环指令等。

    3、初步了解系统功能调用的使用方法,尝试使用01H号功能调用进行字符输入的方法及使用02H号功能调用进行字符输出(显示)的方法。

    实验内容

    1. 计算1+2+3+…+10,将结果显示在屏幕上。
    2. 利用01H号功能调用输入10个一位数字,并将其由ASCII码转换为二进制数,依此保存到变量BUF的10个字节中,变量BUF的形式为BUF  DB  10  DUP(?)。编程求出这10个数中的最大数和最小数,将最大数存入MAX单元、最小数存入MIN单元,并将其在屏幕上显示出来。
    3. 对于第2题,怎样修改程序可以同时实现将10个数字的累加功能。(选作)
    4. 对于第2题,若要求输入的是两位数,又该怎么办?(选作)

    设计思想

    1、先将1-10循环求和,为了将结果显示在屏幕上,需要讲计算后保存在ax中的结果以十进制形式输出,可以将结果的两位数分别存于低位和高位中,即除以10取整和余   AL是商,AH是余数,后加上30h。

    2、使用SI寄存器,用于在存储器中寻址。利用循环输入10个数字,将10个数比较,大的放在AL,小的放在BL。利用01H号功能,输出。

    3、结合第1题和第2题。

    4、修改输入。

    程序代码

    1

    code segment
    	main proc far
    	assume cs:code
    start:
    	push ds
    	sub ax,ax
    	push ax
    	mov bx,0ah
    	mov cx, 0ah
    sum1:
    	add ax,bx
    	dec bx
    	loop sum1
    printit:
    	mov bl,10
    	div bl
    	add al,30h
    	mov ch,ah
    	mov dl,al
    	mov ah,2
    	int 21h
    	add ch,30h
    	mov dl,ch
    	mov ah,2
    	int 21h
    	ret
    	main endp
    	code ends
    end
    

    2

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09
        int 21h
        mov ah,01h    ; 输入
        int 21h
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
        lea dx,Str2
        mov ah,09
        int 21h
        mov dl,max
        mov ah,02h                  
        int 21h       	;输出最大数
        lea dx,Str3
        mov ah,09
        int 21h
        mov dl,min
        mov ah,02h                  
        int 21h       	;输出最小数
        ret 
        main endp
        code ends    
    end start
    

    3

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
        Str4 db 0DH,0AH,'SUM:','$'        	 ;定义Str4的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09
        int 21h
        mov ah,01h    ; 输入
        int 21h
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
        lea dx,Str2
        mov ah,09
        int 21h
        mov dl,max
        mov ah,02h                  
        int 21h       	;输出最大数
        lea dx,Str3
        mov ah,09
        int 21h
        mov dl,min
        mov ah,02h                  
        int 21h       	;输出最小数
        lea dx,Str4
        mov ah,09
        int 21h
        sub ax,ax
        mov bx,0
        mov cx,9
        mov si,0
    sum1:
        inc si   
        mov bl,buf[si]
        sub bl,30h
        add ax,bl
        loop sum1
    printit:
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
        ret
        main endp
        code ends    
    end start
    

    4

    data segment         ;数据段定义开始
        buf db 10 dup(?)      ;数据定义及其存储空间
        max db ?
        min db ?
        Str1 db 0DH,0AH,'Please input: ','$'  	 ;定义Str1的内容
        Str2 db 0DH,0AH,'MAX:','$'      	 ;定义Str2的内容
        Str3 db 0DH,0AH,'MIN:','$'        	 ;定义Str3的内容
    data ends    ;数据段定义结束  
    
    Stack segment stack   ;堆栈段定义开始
        db 10 dup(?)
    stack ends      ;堆栈段定义结束
    
    code segment    ;代码段定义开始
    main proc far     
        assume cs:code,ds:data,ss:stack
    start:    					
        push ds       
        sub ax,ax
        push ax
        mov ax,data
        mov ds,ax
        mov ax,stack
        mov ss,ax
        mov cx,10
        mov si,0      ;寄存器,用于寻址
        mov bx,0
    lop1:				
        lea dx,Str1  
        mov ah,09h
        int 21h
        mov ah,01h ; 输入1
        int 21h
        sub al,30h
        mov ah,0
        mov bl,10
        mul bl
        mov dl,al
        mov ah,01h ; 输入2
        int 21h
        sub al,30h
        mov ah,0
        add al,dl
        mov buf[si],al
        inc si
        loop lop1    ;返回循环1
        mov cx,9
        mov si,0
        mov al,buf[si]
        mov bl,al
    lop2:
        inc si   
        mov dl,buf[si]
        cmp dl,al
        jl compare1
        mov al,dl
    compare1:
        cmp bl,dl 		 ;比较,小的数放在bl
        jl compare2
        mov bl,dl
    compare2:
        loop lop2   
        mov max,al   
        mov min,bl 
    printmax:
        lea dx,Str2
        mov ah,09
        int 21h
        mov ax,0
        mov al,max
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
    printmin:
        lea dx,Str3
        mov ah,09
        int 21h
        mov ax,0
        mov al,min
        mov bl,10
        div bl
        add al,30h
        mov ch,ah
        mov dl,al
        mov ah,2
        int 21h
        add ch,30h
        mov dl,ch
        mov ah,2
        int 21h
        ret
        main endp
        code ends    
    end start
    

    结果分析

    1

    2

    3

    4

    参考文章

    https://blog.csdn.net/csj41352/article/details/79981434

    https://zhidao.baidu.com/question/562479802788685844.html

    https://wenku.baidu.com/view/af740cdc19e8b8f67d1cb92f.html

    展开全文
  • 实验题目循环结构程序设计 实验目的 1.熟悉VC++6.0的运行环境掌握C程序的执行方法 2.掌握三种基本数据类型部分运算符号和常用函数 3.掌握三种循环控制语句及break和continue语句的使用方法 4.掌握循环结构的嵌套及...
  • 实验报告,里面包含实验程序及结果截图/心得等,完美运行无bug。
  • C语言程序设计实验报告选择与循环结构程序设计学 生 实 验 报 告学 院: 软件与通信工程学院课程名称: C++与程序设计专业班级: 通信121姓 名:学 号:学生实验报告(2)学生姓名学号0124036同组人实验项目选择与循环...

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

    学 生 实 验 报 告

    学 院: 软件与通信工程学院

    课程名称: C++与程序设计

    专业班级: 通信121

    姓 名:

    学 号:

    学生实验报告(2)

    学生姓名学号0124036同组人实验项目选择与循环结构程序设计□必修 □选修□演示性实验 □验证性实验 □操作性实验 □综合性实验实验地点M102实验仪器台号指导教师实验日期及节次周一56节课一、实验综述

    1、实验目的及要求

    1.单分支程序设计

    2.多分支程序设计

    (1)if else的多分支程序结构

    (2)switch case的多分支程序结构

    3.for 循环程序设计

    4.While循环程序设计

    5. 循环的嵌套

    6.循环控制

    2、实验仪器、设备或软件

    计算机、VC++6.0、office、相关的操作系统等。

    二、实验过程(实验步骤、记录、数据、分析)

    实验题目:

    (一).输出以上三角矩阵的形式输出9-9乘法表。

    程序如下:

    #include

    void main()

    {

    int x,y,z;

    for(x=1;x<=9;x++)

    {

    printf(" "); /*输出空格使其九九乘法表居中*/

    for(y=1;y<=3*(x-1);y++)

    putchar(' ');

    for(z=x;z<=9;z++)

    printf("%3d",x*z);

    putchar('\n');

    }

    }

    在VC++中输入程序并编译它。如图:

    程序没有错误

    三、结论

    1、实验结果:

    2、分析讨论:

    在控制输出的行和列时,如果实在想不出怎样给循环变量赋初始值及修改循环变量以控制循环次数,可以先在草稿纸上写出输出图形的规律,这样便于直观地发现我们要找的变量的初始值及其变化规律。

    四、指导教师评语及成绩:

    (二). .一个整数等于该数所有因子之和,则称该数是一个完数。例如:6和28都是完数。因为:6=1+2+3,28=1+2+4+7+14.输出三位数中的所有完数。要求:用while语句实现。

    程序如下:

    #include

    void main()

    {

    int x,y,s,m=1;

    x=101;

    while(x<1000)

    {

    s=1;y=2;

    while(y

    if(x%y==0) s+=y;

    y++;

    }

    if(x==s){

    printf("%4d",x);

    m++;

    }

    if(m%10==0) putchar('\n');

    x++;

    }

    putchar('\n');

    }

    在VC++中输入程序并编译它。如图:

    结论

    1、实验结果:

    2、分析讨论:

    当用while语句执行循环结构时,碰到外层循环嵌套了内循环,内循环的控制变量的赋值不仅要在内层循环外,还要在该循环紧接上一层的外层循环外面赋值,切勿在最初时给所有变量赋值。此实验的s和y均在外层循环里面进行赋值,尤其是s,应特别注意。

    指导教师评语及成绩:

    (三).编程用牛顿迭代法求2x3-4x2+3x-6=0在1.5附近的根。要求误差小于1e-5。该方法又称牛顿切线法,其思想是:先任意假定一个与真实的根接近的值xk求出f(xk),再过(xk, f(xk))点作f(x)的切线,交x轴于xk+1,它作为第二次近似根;再由xk+1求出f(xk+1),再过(xk+1, f(xk+1))点作f(x)的切线,交x轴于xk+2,再求出f(xk+2),再作切线,…,如此进行下去,直到足够接近真正的根为止。下面是用N-S图表示的算法:

    输入x(如输入1.5)x0=xf=((2*x-4)*x+3)*x-6f1=(6x-8)*x+3求下一个根x=x0-f/f1当fabs(x-x0)>=1e-5输出x提示:牛顿迭代法的公式为 ,初始化x0为1.5。

    程序如下:

    #include

    #include

    void main()

    {

    float fx,x,k,x0;

    printf("Please input a numeric value:\n");

    scanf("%f",&x);

    do{

    x0=x;

    fx=2*x*x*x-4*x*x+3*x-6;

    k=x*(6*x-8)+3;

    x=x0-fx/k;

    }while(fab

    展开全文
  • C语言程序设计实验报告模版——实验循环控制凯里学院 C语言程序设计 实验报告××××× 专业×× 年级×× 班,学号×××××× 姓名××成绩合作者 实验日期 年 月 日指导教师 评阅日期 年 月 日实验五...

    C语言程序设计实验报告模版——实验循环控制

    凯里学院 C语言程序设计 实验报告

    ××××× 专业×× 年级×× 班,学号×××××× 姓名××成绩

    合作者 实验日期 年 月 日

    指导教师 评阅日期 年 月 日

    实验五 循环结构程序设计

    一、实验目的:

    (1)熟练掌握for 语句、while 语句、do-while 语句实现循环的方法;

    (2)理解循环嵌套及其使用方法;

    (3)掌握break 语句与continue 语句的使用;

    (4)掌握用循环实现一些常用算法(如穷举、迭代、递推等)。

    二、实验内容:

    (1)输入一组整数,统计其中奇数偶数个数,直到遇到回车为止。

    (2)印如下图案

    * * *

    * * * * *

    * * * * * * *

    三、实验步骤:

    编程序并上机调试运行。

    (1)输入一组整数,统计其中奇数偶数个数,直到遇到回车为止。

    1)算法分析:可设一整型变量x,循环的输入整数的值,若x%2==0 即为偶数,否则是奇数。

    提示:循环条件可在while 语句后的括号中出现,也可以用break 语句控制。

    2)根据分析结果写出源程序。

    程序一:

    #include

    void main( )

    {

    int x,xo=0,xj=0 ;

    /* 将偶数个数xo 与奇数个数xj 赋0 值*/

    scanf("%d",&x);

    /* 先输入一个整数*/

    /* 输入不是回车时循环*/

    while(x!='\n')

    {

    if(x%2==0)xo=xo+1 ;

    else xj=xj+1 ;

    scanf("%d",&x);

    }

    /* 循环输入其余整数*/

    printf("xo:%d,xj:%d",xo,xj);

    }

    程序二:

    #include

    void main( )

    {

    int x,xo=0,xj=0 ;

    /* 在循环内部用break 语句控制循环条件*/

    while(1)

    {

    scanf("%d",&x);

    if(x=='\n')break ;

    if(x%2==0)xo=xo+1 ;

    else xj=xj+1 ;

    }

    printf("xo:%d,xj:%d",xo,xj);

    }

    分析:

    (2)打印如下图案

    * * *

    * * * * *

    * * * * * * *

    1)算法分析:从图案中找出行数,空格数,星号数间的关系如下:

    行数 空格数 星号数

    1 3 1

    2 2 3

    3 1 5

    4 0 7

    I 4-i 2*i-1

    可用双重循环控制整个图案的输出。若用循环变量i,j 分别控制外层,内层循环,则i 的取值从1 到4,表示行数,在每行中要确定前面空格个数和星号个数,空格个数是4-i,星号个数是2*i-1。

    2)根据分析结果写出源程序

    #include

    void main( )

    {

    int i,j ;

    /*定义循环控制变量*/

    for(i=1;i<=4;i++)

    {

    for(j=1;j<=4-i;j++)

    prinf(" ");

    /* 输出4-i 个空格*/

    for(j=1;j<=2*i-1;j++)

    printf("*");

    printf("\n");

    }

    }

    程序结果如下图:

    四、实验心得(体会):

    通过本次C语言上机实验,我对循环结构程序设计的理解如下:

    (1)本实验是练习循环控制,要求要熟悉掌握用while语句,do-while语句和for语句实现循环的方法。在使用这几个实现循环的语句时要特别注意:

    在使用while时,要注意循环体如果包含一个以上的语句,应该用花括号括起来,以复合语句形式出现。在循环体中就有使循环趋向于结束的语句,否则就成为死循环,不能跳出循环。

    在使用do-while时,要注意do-while的执行是先执行一次特定的循环体语句,然后判别表达式,,当表达式的值为真时,再返回重新循环体语句。这是与while语句最大的区别。

    在使用for语句时,要特别注意前两个表达式后一定要用分号作分隔符且当省略表达式时,一定不能省略分号。

    在使用循环的方法实现一些常用算法,如穷举、迭代、递推等应注意这些方法所使用时要理解其运算步骤,从而更加高效的使用这些方法。

    在实验中还要注意的就是输入程序的正确,调试时及时发现

    展开全文
  • 微机原理循环设计实验报告一、实验目的1、掌握循环程序的设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使用方法。二、实验预习要求1、复习比较指令、条件转移指令和循环指令。...
  • 编写程序计算下式前n项的和。(例如, n的值为10时,得到结果:9.612558) 找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出。
  • 微机实验报告5 循环程序设计实验

    千次阅读 2018-11-22 09:29:58
    桂 林 理 工 大 学 实 验 报 告 班级 软件工程16-1班 学号 ...实验名称 循环程序设计实验 日期 2018年 11 月16 日 一、实验目的: 掌握循环程序的设计方法。 二、实验环境: PC 微机一台。 三...
  • CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第三月...
  • 微机原理-循环设计实验报告

    千次阅读 2021-06-19 06:40:57
    一、实验目的1、掌握循环程序设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。 3、进一步掌握调试工具的使用方法。二、实验预习要求1、复习比较指令、条件转移指令和循环指令。 2、复习循环程序的结构...
  • matlab循环结构程序设计实验报告实验三MATLAB程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握选择结构、多分支选择结构程序的编程方法。3、掌握多种循环结构程序的编程方法。4、掌握定义函数文件...
  • 实验四_循环结构汇编语言程序设计实验报告.pdf实验四_循环结构汇编语言程序设计实验报告.pdf实验四_循环结构汇编语言程序设计实验报告.pdf实验四_循环结构汇编语言程序设计实验报告.pdf实验四_循环结构汇编语言程序...
  • 实验四_循环结构汇编语言程序设计实验报告.docx实验四_循环结构汇编语言程序设计实验报告.docx实验四_循环结构汇编语言程序设计实验报告.docx实验四_循环结构汇编语言程序设计实验报告.docx实验四_循环结构汇编语言...
  • 实验2循环结构程序设计实验报告.doc

    千次阅读 2021-05-23 08:40:12
    广 州 大 学实 验 报 告学 院 商学院专业、班级 11电子商务姓名、学号 任雨桐 1113800001课程名称 C程序设计项目名称 循环结构设计实验时间:2012年 4 月 10 日实验2 循环结构程序设计 实验报告2012-4-10学院商学院...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,913
精华内容 10,765
关键字:

循环程序设计实验报告