循环程序设计实验

合集下载

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

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

循环结构程序设计实验报告在计算机程序设计中,循环结构是一种非常重要的控制结构,它能够让程序在满足一定条件下重复执行某段代码,从而实现对重复性任务的高效处理。

本次实验旨在通过实际编写程序,掌握循环结构的使用方法及其在程序设计中的应用。

一、实验目的。

本次实验的主要目的是:1. 掌握循环结构的基本概念和语法;2. 熟练掌握for循环、while循环和do-while循环的使用方法;3. 能够运用循环结构解决实际问题。

二、实验内容。

1. 编写一个程序,利用for循环计算1-100的累加和,并输出结果。

2. 编写一个程序,利用while循环计算1-100的累加和,并输出结果。

3. 编写一个程序,利用do-while循环计算1-100的累加和,并输出结果。

4. 编写一个程序,利用循环结构求解实际问题,如计算阶乘、斐波那契数列等。

三、实验步骤。

1. 编写for循环程序。

```c。

#include <stdio.h>。

int main() {。

int sum = 0;for (int i = 1; i <= 100; i++) {。

sum += i;}。

printf("1-100的累加和为,%d\n", sum); return 0;}。

```。

2. 编写while循环程序。

```c。

#include <stdio.h>。

int main() {。

int sum = 0;int i = 1;while (i <= 100) {。

sum += i;i++;}。

printf("1-100的累加和为,%d\n", sum); return 0;}。

```。

3. 编写do-while循环程序。

```c。

#include <stdio.h>。

int main() {。

int sum = 0;int i = 1;do {。

sum += i;i++;} while (i <= 100);printf("1-100的累加和为,%d\n", sum); return 0;}。

循环结构程序设计实验心得

循环结构程序设计实验心得

循环结构程序设计实验心得概述循环结构是计算机编程中非常重要的一部分,它可以帮助我们重复执行某些操作,大大提高了程序的效率和灵活性。

本次循环结构程序设计实验,主要涉及到了循环结构的基本概念、循环控制变量的赋初值和改变方式、循环条件的判断以及循环语句的实现等内容。

通过实际动手编写程序,我深刻理解了循环结构的原理和使用方法,并且在实验过程中遇到了一些问题,通过解决这些问题,我对循环结构的掌握又进一步提高了。

实验过程任务一:计算从1到n的和首先,我在程序中定义了一个整型变量n,并通过输入语句让用户输入一个正整数n。

然后,我使用了for循环结构来计算1到n的和,代码如下所示:int sum = 0;for (int i = 1; i <= n; i++) {sum += i;}在这段代码中,我将sum初始化为0,然后使用for循环,让i从1依次增加到n,每次循环都将i加到sum中。

最后,我输出sum的值,即可得到1到n的和。

任务二:计算阶乘在这个任务中,我需要计算给定正整数n的阶乘。

我同样使用了for循环结构,代码如下所示:int factorial = 1;for (int i = 1; i <= n; i++) {factorial *= i;}在这段代码中,我将factorial初始化为1,然后使用for循环,让i从1依次增加到n,每次循环都将i乘到factorial中。

最后,我输出factorial的值,即可得到n的阶乘。

任务三:猜数字游戏这个任务是一个简单的猜数字游戏,程序随机生成一个1到100之间的整数,然后提示用户猜这个数是多少。

用户每次猜测后,程序会根据用户的猜测给出“猜大了”、“猜小了”或“猜对了”的提示,直到用户猜对为止。

代码如下所示:import java.util.Scanner;import java.util.Random;Scanner scanner = new Scanner(System.in);Random random = new Random();int target = random.nextInt(100) + 1;int guess;do {System.out.print("请输入你猜的数字:");guess = scanner.nextInt();if (guess > target) {System.out.println("猜大了!");} else if (guess < target) {System.out.println("猜小了!");} else {System.out.println("猜对了!");}} while (guess != target);在这段代码中,我使用了do-while循环结构,先生成一个随机数target,然后通过输入语句让用户猜数字,将用户的猜测存储在guess变量中。

循环程序设计_实验报告

循环程序设计_实验报告

一、实验目的1. 理解循环程序设计的基本原理和方法。

2. 掌握不同编程语言中循环结构的实现方式。

3. 学会使用循环程序解决实际问题。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.8.03. 编程工具:PyCharm三、实验内容1. 循环结构的基本概念循环结构是程序设计中的一种常见结构,用于重复执行一段代码。

在Python中,常见的循环结构有while循环、for循环和嵌套循环。

2. while循环while循环是一种基于条件的循环结构,当条件满足时,循环体中的代码会被重复执行。

实验示例:```pythoni = 0while i < 5:print(i)i += 1```3. for循环for循环是一种基于迭代对象的循环结构,通常用于遍历列表、元组、字符串等可迭代对象。

实验示例:```pythonfor i in range(5):print(i)```4. 嵌套循环嵌套循环是指在循环体内部再嵌套一个循环结构。

实验示例:```pythonfor i in range(3):for j in range(3):print(f"i={i}, j={j}")```5. 循环控制语句循环控制语句用于改变循环的执行流程,包括break、continue和pass。

实验示例:```pythonfor i in range(5):if i == 3:breakprint(i)```6. 循环程序解决实际问题(1)计算1到100的偶数之和```pythonsum = 0for i in range(1, 101):if i % 2 == 0:sum += iprint(sum)```(2)判断一个整数是否为水仙花数```pythonnum = int(input("请输入一个整数:")) temp = numsum = 0while temp > 0:digit = temp % 10sum += digit 3temp //= 10if sum == num:print(f"{num}是水仙花数")else:print(f"{num}不是水仙花数")```四、实验总结通过本次实验,我对循环程序设计有了更深入的了解。

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中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。

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

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

实验四 循环结构程序设计

实验四  循环结构程序设计
/* 求最大公约数算法1 */
#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( )
{定义变量;
变量赋初值;

实验报告4

实验报告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时,输入停止。

实验结论循环结构程序设计

实验结论循环结构程序设计

实验结论循环结构程序设计一、引言二、实验目的三、实验原理1.循环结构的概念2.循环结构的分类3.循环结构程序设计的基本原则四、实验步骤1.确定循环次数和循环条件2.选择合适的循环结构语句3.编写循环体语句五、实验结果分析六、结论与讨论引言:编程是计算机科学中非常重要的一部分,而程序设计中常用到的循环结构也是非常重要的一种控制流程方式。

本文将介绍如何进行循环结构程序设计,并给出相应实验结果及分析。

实验目的:通过本次实验,我们将学会如何使用不同类型的循环结构来控制程序流程,并能够编写简单而有效的程序。

实验原理:1. 循环结构的概念:在程序运行过程中,为了重复执行某些操作或者根据特定条件反复执行某些操作,需要使用到循环结构。

2. 循环结构的分类:常见的有while循环、do-while循环和for循环。

3. 循环结构程序设计基本原则:确定好需要重复执行多少次或在什么情况下需要重复执行,选择合适的循环结构语句,编写循环体语句。

实验步骤:1. 确定循环次数和循环条件:在程序设计之前,需要明确需要重复执行多少次或在什么情况下需要重复执行。

2. 选择合适的循环结构语句:根据确定好的循环次数和循环条件,选择while、do-while或for等不同类型的循环结构语句。

3. 编写循环体语句:在循环结构中,需要编写具体的操作语句来实现所需功能。

实验结果分析:通过本次实验,我们可以发现,在程序设计中使用不同类型的循环结构可以有效地控制程序流程,并且能够编写出简单而有效的程序。

同时,在实际应用中也需要根据具体需求来选择合适的循环结构类型以及确定好相应的循环次数和条件。

结论与讨论:通过本次实验,我们深入了解了循环结构程序设计,并掌握了相应技能。

在今后的学习和工作中,我们将继续深入研究相关知识,并且不断提高自己在编程方面的能力。

循环指令编程实验报告

循环指令编程实验报告

一、实验目的1. 熟悉循环指令的概念和作用。

2. 掌握循环指令在程序设计中的应用。

3. 培养分析问题和解决问题的能力。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 语言:C++三、实验内容1. 循环指令的概念和作用循环指令是程序设计中常用的一种指令,用于重复执行一段代码,直到满足特定条件为止。

循环指令分为三类:顺序循环、条件循环和无限循环。

2. 循环指令的应用(1)顺序循环:顺序循环是最简单的循环结构,按照语句顺序依次执行,直到循环体结束。

其格式如下:```for (初始化语句; 循环条件; 循环变量增量){// 循环体}```(2)条件循环:条件循环在满足特定条件时执行循环体,不满足条件时退出循环。

其格式如下:```while (条件表达式){// 循环体}```(3)无限循环:无限循环在满足特定条件时退出循环,否则会一直执行。

其格式如下:```do{// 循环体}while (条件表达式);```3. 实验步骤(1)编写一个程序,使用顺序循环计算1到100的和。

```c++#include <iostream>using namespace std;int main(){int sum = 0;for (int i = 1; i <= 100; i++){sum += i;}cout << "1到100的和为:" << sum << endl;return 0;}```(2)编写一个程序,使用条件循环计算用户输入的正整数之和。

```c++#include <iostream>using namespace std;int main(){int sum = 0;int num;cout << "请输入一个正整数(输入0结束):";while (cin >> num && num != 0){sum += num;}cout << "输入的正整数之和为:" << sum << endl;return 0;}```(3)编写一个程序,使用无限循环计算1到1000的偶数之和。

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

循环程序设计实验
实验目的
1、掌握循环程序的设计方法。

2、掌握比较指令、转移指令和循环指令的使用方法。

3、进一步掌握调试工具的使用方法。

实验预习要求
复习比较指令、条件转移指令和循环指令。

复习循环程序的结构、循环控制方法等知识。

读懂“实验内容”中给出的将十进制数转换为二进制数以及将二进制数转换为十进制数的程序。

根据“实验内容”中给出的流程图和程序框架编写源程序,以便上机调试。

从“实验习题”中任选一道题目,编写源程序,以便上机调试。

实验内容
计算1+2+……n=,其中n通过键盘输入。

要求在屏幕上提供如下信息:
Please input a number(1627): ;出现此信息后通过键盘输入一个小于628的无符号整数
1+2+…..n=sum;其中n为用户输入的数,sum为所求的累加和
程序运行情况如下图所示(说明:图中所运行程序允许累加和不大于一个32位二进制数所能表示的范围)。

编程指导
键盘输入的十进制数如
368在计算机中是以
33H,36H,38H形式存
放的,如何将它们转换
为一个二进制数0B,以
便对累加循环的循环次
数进行控制是本程序首
先要解决的问题。

将键
盘输入的十进制数转换为二进制数的程序清单如下:
DATA SEGMENT
INF1 DB "Please input a number (0-65535):$"
IBUF DB 7,0,6 DUP()
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS:DATA
START: MOV A X, DATA
MOV DS, AX
MOV DX, OFFSET INF1
MOV AH, 09H
INT 21H
MOV DX, OFFSET IBUF ;键入一个十进制数(<65535)
MOV AH, 0AH
INT 21H
MOV CL, IBUF+1 ;十进制数的位数送CX
MOV CH, 0
MOV SI, OFFSET IBUF+2 ;指向输入的第一个字符(最高位)
MOV AX, 0 ;开始将十进制数转换为二进制数
AGAIN: MOV D X, 10 ;((010+a4) 10+…) 10+a0
MUL DX
AND BYTE PTR [SI], 0FH
ADD AL, [SI]
ADC AH, 0
INC SI
LOOP AGAIN
MOV AH, 4CH
INT 21H
CODE ENDS
END START
本程序功能:从键盘接收一个无符号十进制整数(小于65535),将其转换为二进制数,转换结果存在AX寄存器中。

累加结果为一个16位的二进制数,为了显示结果,必需把它们转换为十进制数。

将二进制数转换为十进制数的程序清单如下:
DATA SEGMENT
OBUF DB 6 DUP()
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV A X, DATA
MOV DS, AX
MOV BX, OFFSET OBUF+5
MOV BYTE PTR [BX],'$'
MOV CX, 10 ;做(DX):(AX)/10运算
LOOP1: MOV D X, 0 ;被除数高16位清0
DIV CX
ADD DL, 30H ;将DL中的一位十进制数转换为ASCII码
DEC BX
MOV [BX], DL
OR AX, AX
JNZ LOOP1
;判断商是否为0,不为0继续
MOV DX, BX
MOV AH, 09H
INT 21H
;显示转换得到的十进制数
MOV AH, 4CH
INT 21H
CODE ENDS
END START
本程序功能:将存储在AX寄存器中的二进制数转换为十进制数并显示。

流程图及程序
流程图
实验代码:
DATA SEGMENT
INF1 DB "Please input a number (0-65535):$"
IBUF DB 7,0,6 DUP()
OBUF DB 6 DUP ()
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET INF1
MOV AH,09H
INT 21H
MOV DX,OFFSET IBUF
MOV AH,0AH
INT 21H
MOV CL,IBUF+1
MOV CH,0
MOV SI,OFFSET IBUF+2
MOV AX,0
AGAIN:MOV DX,10
MUL DX
AND BYTE PTR[SI],0FH
ADD AL,[SI]
ADC AH,0
INC SI
LOOP AGAIN
MOV CX,AX
MOV AX,0
MOV BX,1
LOOP2:ADD AX,BX
INC BX
LOOP LOOP2
MOV BX,OFFSET OBUF+5
MOV BYTE PTR[BX],'$'
MOV CX,0AH
LOOP1:MOV DX,0
DIV CX
ADD DL,30H
DEC BX
MOV [BX],DL
OR AX,AX
JNZ LOOP1
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DX,BX
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
实验结果:
实验习题
从自然数1开始累加,直到累加和大于60000为止,显示累加的自然数的个数和累加和。

显示格式为:1+2+…+n=sum
其中n为累加个数,sum为累加和。

实验代码:
DATA SEGMENT
OBUF DB 6 DUP()
EU DB '+','$'
EB DB 0DH,'=',0DH,'$'
DATA ENDS
DISPLAY MACRO STRING
MOV DX,OFFSET STRING
MOV AH,09H
INT 21H
ENDM
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,1
MOV CX,0
LOOP1:
ADC CX,AX
CMP AX,1
JE ALL
PUSH AX
DISPLAY EU
POP AX
ALL:CALL EXCHANGE
INC AX
CMP CX,60000
JC LOOP1
PUSH AX
PUSH CX
DISPLAY EB
MOV AX,CX
CALL EXCHANGE
POP CX
POP AX
MOV AH,4CH
INT 21H
RET
MAIN ENDP
EXCHANGE PROC NEAR
PUSH AX
PUSH BX
PUSH CX
MOV BX,OFFSET OBUF+5
MOV BYTE PTR [BX],'$'
MOV CX,10
LOOP2:MOV DX,0
DIV CX
ADD DL,30H
DEC BX
MOV [BX],DL
OR AX,AX
JNZ LOOP2
MOV DX,BX
MOV AH,09H
INT 21H
POP CX
POP BX
POP AX
RET
EXCHANGE ENDP
CODE ENDS
END START
(2)实验结果:
实验总结
通过本次实验,我掌握了汇编循环程序的设计方法,加深了循环程序的结构、循环控制方法的知识。

实验中遇到了一些问题,例如:输入源代码时,一定要按照语句格式与语法来写,并且少了空格会导致编译错误;一个完整的汇编程序只能返回一次DOS等,返回DOS 语句后面的汇编程序不会执行等。

相关文档
最新文档