实验4循环控制
汇编语言实验4详细讲解

汇编语言实验4详细讲解一、引言汇编语言是一种底层的计算机语言,它直接操作计算机的硬件。
在汇编语言实验4中,我们将深入了解汇编语言的一些重要概念和技巧。
本文将详细讲解汇编语言实验4的内容,帮助读者更好地理解和应用汇编语言。
二、实验目的汇编语言实验4的主要目的是学习和掌握在汇编语言中使用条件和循环结构的方法。
通过实验,我们将能够编写能够根据条件执行不同操作的程序,并实现循环执行一定次数的功能。
三、实验内容1. 条件结构条件结构是根据条件的真假来执行不同的操作。
在汇编语言中,我们可以使用条件跳转指令来实现条件结构。
条件跳转指令根据条件寄存器的值来决定是否跳转到指定的地址执行。
常用的条件跳转指令有JZ、JNZ、JC、JNC等。
2. 循环结构循环结构是重复执行一段代码的结构。
在汇编语言中,我们可以使用循环指令来实现循环结构。
循环指令根据计数器的值来判断是否继续执行循环体,并在每次循环结束后更新计数器的值。
常用的循环指令有LOOP、LOOPE、LOOPZ、LOOPNE、LOOPNZ等。
四、实验步骤1. 定义和初始化计数器在循环结构中,我们首先需要定义一个计数器,并对其进行初始化。
计数器可以使用DX寄存器或AX寄存器来保存。
2. 执行循环体在循环结构中,我们需要执行的代码放在循环体中。
循环体的代码将会被重复执行,直到计数器的值为0或满足其他条件。
3. 更新计数器的值在每次循环结束后,我们需要更新计数器的值。
可以使用INC或DEC指令对计数器进行加1或减1操作。
4. 判断是否继续执行循环在每次循环结束后,我们需要判断是否继续执行循环。
可以使用循环指令来实现此功能。
根据计数器的值或其他条件来判断是否继续执行循环。
五、实验示例下面是一个简单的实验示例,演示了如何使用条件和循环结构来实现一个简单的程序:```MOV CX, 10 ; 初始化计数器为10MOV AX, 0 ; 将AX寄存器清零LOOP_START:ADD AX, CX ; 将CX的值加到AX中LOOP LOOP_START ; 循环执行,直到CX的值为0MOV BX, AX ; 将AX的值保存到BX寄存器中```在上面的示例中,我们首先将CX寄存器初始化为10,然后将AX 寄存器清零。
C语言实验四

1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
·…·
·…·
·…·
1 2 3…8 9 8…3 2 1
对应答案:实验4程序流程控制
1.参考程序
#define PI 3.14159
main()
{
float r,c,s1,s2,v;
printf("Enter r:");
scanf("%f",&r);
exit(0);
}
do
{
printf("%d",x%10);
i++;
x=x/10;
}while(x!=0);
printf("\ni=%d\n",i);
}
5.参考答案
(1)2 2 3 3 4 4 5 5 5 6 6 7 7 7 7
(2)Chi(注意:回车符“↙”也作为一个字符)
(3)x=13
6.分析
方法一:借助最大公约数。两个数的最小公倍数等于这两个数的积除以其最大公约数,这样,可以先利用辗转相除法求出最大公约数,进而求出最小公倍数。
3.先分析下面程序的功能,然后输入一个3位整数进行调试,看一看分析的结果是否正确。
main()
{
int n,x1,x2,x3,y;
printf("Enter n:");
scanf("%3d",&n);
x1=n/100;
x2=n/10%10;
x3=n/100;
y=x3*100+x2*10+x1;
printf("y=%d",y);
while和do-while实验

#include <stdio.h>
void main()
{
int i=1,c=0;
while(i<=100)
{
if(i%7==0)
{
printf("%d\n",i);
c++;
}
i++;
}
printf("能被7整除的个数为%d\n",c);
}
2、用do—while完成。,当输入的数小于100时,提示输入数据错误重新输入.,循环控制当输入一个大于100的数时,循环结束
星号个数是2*i-1。
#include <stdio.h>
void main()
{
int i=1,j;
while(i<=4)
{
j=1;
while(j<=4-i)
{
printf(" ");
j++;
}
j=1
while(j<=2*i-1)
{
printf("*");
j++;
}
printf("\n");
i++;
#include <stdio.h>
void main()
{
int an=5,b;
printf("请输入一个1-10的数:");
do
{
scanf("%d",&b);
if(b<an)
printf("太小了!\n");
上机实验4:循环结构程序设计

上机实验4:循环结构程序设计 循环结构程序设计
1.《级数求和》 《级数求和》 ( filename: cp41.c ) 编程,计算下列级数和的近似值,x的值从键盘输 入,求和精度为10-6 ,输出达到精度要求的最小n与 级数和,两者间用逗号分隔。例如, 调试数据: 输入:0.523599 输出:4,0.500000 ⑴ 左例 输入:-1 输出:5,-0.841471 ⑵ 4 输入:6.283185 输出:13,0.000000
提示: 提示: 可模拟人工除法求小数的每一位(设 可模拟人工除法求小数的每一位 设 a=1, b=素数): : 商的整数部分: ⑴ 商的整数部分:a/b 输出( .)。 可用 printf("%d.", a/b); 输出(即0.)。 .) 余数: 余数: a=a%b ; ⑵ 商的小数部分: 商的小数部分: 每位商: 每位余数: 每位商:a*10/b 每位余数:a=a*10%b ; ⑶ 从余数判断循环节是一种简便的方法
结
束
4. 《求符合要求的自然数对》 ( filen数对:它们的和为 667,它们的最小公倍数除以最大公约数的商为120。 输出格式为每对一行,小数在前,大数在后,两数间 用逗号分隔,多对则按每对中小数的大小升序排列先 后。
5.《大于正整数a的n个素数》 《大于正整数 的 个素数》 个素数 编程, 输出大于并最接近正整数a的n个素数,每行 打印8个,a 和 n 从键盘输入。例如: 输入: 100 17 输出: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 ( filename: cp45.c )
C语言与数据结构实验指导

C语⾔与数据结构实验指导Harbin Institute of TechnologyC语⾔与数据结构实验指导书刘梅索莹⽥⽂龙哈⼯⼤电⼦与信息⼯程学院电⼦⼯程系实验1 实验平台⼀、实验⽬的1.掌握Microsoft Visual C++ 6.0集成环境的使⽤⽅法。
2.掌握C程序在Microsoft Visual C++ 6.0开发环境中的编辑、编译、链接和运⾏全过程⼆、实验内容1)启动Microsoft Visual C++ 6.0开发环境双击桌⾯应⽤程序图标或“开始”菜单程序组中的Microsoft Visual C++ 6.0应⽤程序,启动VC++,如图所⽰图1.1 VC++初始界⾯2)建⽴C源程序⽂件⽅法1:单击⼯具栏的“新建⽂本⽂件”按钮,打开⽂本⽂件编辑界⾯如下图所⽰图1.2 ⽂本⽂件编辑界⾯⽅法2:执⾏“⽂件”->“新建”命令,如图1.3所⽰,在“⽂件”选项卡下选择C++ Source File ⽂件类型,然后输⼊C源程序⽂件名和保存⽂件,如图1.3所⽰,然后单击“确定”按钮,打开源程序⽂件编辑界⾯,如图1.4所⽰。
注意:输⼊C源程序⽂件名时必须带上扩展“.c”,否则默认创建的是扩展名为“.cpp”的C++⽂件。
3)编辑源⽂件⽅法1:在如图1.2所⽰的⽂本⽂件编辑界⾯中输⼊源程序代码,如图1.5所⽰。
⽅法2:在如图1.4所⽰的C源程序⽂件编辑界⾯中编辑源程序代码,如图1.6所⽰。
图1.3 新建⽂件图1.4 C源程序⽂件编辑界⾯图1.5 ⽂本⽂件编辑界⾯编辑源⽂件图1.6 C源程序编辑界⾯编辑源⽂件4)保存源⽂件源⽂件编辑结束后,执⾏“⽂件”->“保存”命令保存⽂件,⽂本⽂件编辑界⾯中编辑的源⽂件保存时必须在⽂件名后加上扩展名“.c”,否则保存的是扩展名为txt的⽂本⽂件,不能编译运⾏。
5)组件⽂件执⾏“组建”->“组建”命令或直接按F7功能键或单机⼯具栏Build按钮,可以对源⽂件进⾏编译、链接⽽不运⾏该程序。
VFP_实验4-2 循环结构程序设计

实验4-2 循环结构程序设计一、实验目的理解循环结构的概念,掌握三种循环语句的格式和不同的使用方法,在程序设计中灵活运用各种循环语句。
二、实验准备复习教材中有关循环结构的和语句概念,特别注意DO WHILE---ENDDO、SCAN ---ENDSCAN、FOR--- ENDFOR的有关内容,重点理解和掌握本章例题的设计技巧。
三、实验内容1.编写程序:求x + x2 + x3 + x4 + + x n的值。
n,x从键盘输入。
要求用DO WHILE---ENDDO和FOR--- ENDFOR两种方法实现。
2. 编写程序,求1+2+3+…+M 的累加和不大于103的临界值M 。
3.编写程序,能够反复判定从键盘输入的一个年份是否为闰年,直到用户选择退出为止。
4.编写程序:显示输出正整数M(从键盘输入)内的偶数及偶数和。
5.要求用循环语句编写程序,显示输出“职工”表中基本工资大于2000元的姓名、部门、性别、基本工资等数据。
6.利用表设计器在销售表中增加一个“档次”字段(C,6),然后利用表循环结构编写程序,根据每个职工的总销售金额给出5档业绩评价:优(≥6000),良(≥4000),中(≥2000),合格(≥1000),不合格(<1000),评价填写在档次字段中。
(设计提示:先按每个职工分类求和销售金额,再对分类求和后的表进行循环处理。
运行结果如图4-33所示。
)图4-33 职工总销售额业绩评价7.编写程序,从键盘输入M个正整数,显示输出其中的最大和最小数。
8.编写程序,显示输出M!<=5000时的最大正整数M。
四、实验4-2报告1.实验过程报告(1)写出第1题的程序代码。
*1.编写程序:求x + x2 + x3 + x4 + + xn的值。
n,x从键盘输入。
DO WHILE---ENDDO方式。
SET TALK OFFCLEARINPUT "N=" TO NINPUT "X=" TO XA=1S=0I=1DO WHILE I<=NA=A*XS=S+AI=I+1ENDDO?"S=" , SSET TALK ON*1.编写程序:求x + x2 + x3 + x4 + + xn的值。
实验四 循环结构程序设计

#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) 掌握循环伏安仪的使⽤技术;(3) 了解扫描速率和浓度对循环伏安图的影响⼆、实验原理铁氰化钾离⼦[Fe(CN)6]3--亚铁氰化钾离⼦[Fe(CN)6]4-氧化还原电对的标准电极电位为[Fe(CN)6]3- + e -= [Fe(CN)6]4- φθ= 0.36V(vs.NHE) 电极电位与电极表⾯活度的Nernst ⽅程式为φ=φθ+ RT/Fln(C Ox /C Red )-0.20.00.20.40.60.8-0.0005-0.0004-0.0003-0.0002-0.00010.00000.00010.00020.0003i pai pcI /m AE /V vs.Hg 2Cl 2/Hg,Cl-在⼀定扫描速率下,从起始电位(-0.20V)正向扫描到转折电位(0.80 V)期间,溶液中[Fe(CN)6]4-被氧化⽣成[Fe(CN)6]3-,产⽣氧化电流;当负向扫描从转折电位(0.80V)变到原起始电位(-0.20V)期间,在指⽰电极表⾯⽣成的[Fe(CN)6]3-被还原⽣成[Fe(CN)6]4-,产⽣还原电流。
为了使液相传质过程只受扩散控制,应在加⼊电解质和溶液处于静⽌下进⾏电解。
在0.1MNaCl 溶液中[Fe(CN) 6]4-]的扩散系数为0.63×10-5cm.s -1;电⼦转移速率⼤,为可逆体系(1MNaCl 溶液中,25℃时,标准反应速率常数为5.2×10-2cm·s -1)。
溶液中的溶解氧具有电活性,⽤通⼊惰性⽓体除去。
三、仪器与试剂MEC-16多功能电化学分析仪(配有电脑机打印机);玻碳圆盘电极(表⾯积0.025 cm 2)或铂柱电极;铂丝电极;饱和⽢汞电极;超声波清洗仪;电解池;氮⽓钢瓶。
容量瓶:250 mL 、100mL 各2个,25 mL 7个。
实验报告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 循环结构程序设计

实验4 循环结构程序设计(一)实验目的要求1.掌握“当”型循环控制语句do while…enddo程序设计的方法。
2.掌握“计数”型循环控制语句for…endfor|Next程序设计的方法。
3. 掌握“指针”型循环控制语句scan…endscan程序设计的方法。
(二)实验内容1.do while…enddo编程。
2.for…endfor|Next编程。
3. scan…endscan编程。
(三)实验指导实验4-1计算1~100之间自然数的和。
具体操作如下:(1)创建程序文件“L10-14-2.prg”,内容如图4-1所示:图4-1⑵运行程序实验4-2根据“员工”表,统计物业部的员工人数。
具体操作如下:(1)创建程序文件“L10-15.prg”,内容如图4-2所示:图4-2(2)运行程序,结果如下:物业部的员工人数是: 6实验4-3从键盘输入10个数,求其中的最大数。
具体操作如下:(1)创建程序文件“bcl4.prg”,内容如图4-3所示:图4-3 (2)一次程序运行的结果如下:实验4-4计算10!。
具体操作如下:(1)创建程序文件“L10-16.prg”,内容如下:图4-4 (2)运行程序,结果如下:实验4-5计算S的值(S=2!+4!+6!+8!+10!)。
具体操作如下:(1)创建程序文件“L10-17.prg”,内容如下:图4-5(2)运行程序,结果如下:实验4-6计算“员工”表中所属“物业部”的职工的人数。
具体操作如下:(1)创建程序文件“L10-17.prg”,内容如下:图4-6(2)运行程序,结果如下:实验4-7输出1-100自然数中被3整除的数据的个数及它们的和。
具体操作如下:(1)创建程序文件“bcl5-1.prg”,内容如下:图4-7(2)运行程序,结果如下:实验4-8计算1+2+3+……,当和刚刚大于10000时,所加的最后一个数和最后的和为多少。
具体操作如下:(1)创建程序文件“bcl6.prg”,内容如下:图4-8(2)运行程序,结果如下:实验4-9由键盘输入10个数,按由小到大的顺序输出这10个数。
操作系统原理实验4-进程控制

《操作系统原理》实验报告
实验序号:4 实验项目名称:进程控制
一、实验目的及要求
1. 加深对进程信号量的理解。
2. 理解进程同步与互斥机制。
3. 掌握Linux操作系统下的进程控制编程。
二、实验设备(环境)及要求
1.虚拟机VMware Workstation、Ubuntu操作系统和C语言编程。
2.编写一段程序,使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上来的中断信号(即按Ctrl C键),当捕捉到中断信号后,父进程调用kill()向两个子进程发出信号,子进程捕捉到信号后,分别输出下面信息后终止:
child process 1 is killed by parent!
child process 2 is killed by parent!
父进程等待两个子进程终止后,输出以下信息后终止:
parent process is killed!
三、实验内容与步骤
代码:
在终端上进行测试
四、实验结果与数据处理
五、分析与讨论
了解了计算机进程的管理以及signal()函数的作用。
六、教师评语成绩。
厦门理工学院C语言 实验4_循环结构

《高级语言程序设计》实验报告实验序号:4 实验项目:循环结构1.#include <stdio.h>void main(){int a=0,b=0,c=0; // a->男, b->女, c->小孩,变量初始化为0while(a<=36){b=0;while(b<=36){c=36-a-b;if(c>=0){if((36==a*4+b*3+c/2)&&(0==c%2)) //小孩个数需要为偶数才成立printf("男人:%d 女人:%d 小孩:%d\n",a,b,c);}b++;}a++;}}2.#include "stdio.h"int main(){int i=0,count=0;while (count<10){if (i%3==2 && i%5==4 && i%7==3){printf("%d ",i);count++;}i++;}}3.#include<stdio.h>#include<math.h>main(){long int x;int i=0;printf("input:");scanf("%ld",&x);do{x=x/10;i++;}while(x>0);printf("the nubmer is:%d\n",i);}4.#include<stdio.h>main(){int i,x=3,y=0;for(i=1;i<=10;i++){x=(x-0.5)*2;y+=x;}printf("x=%d\n,y=%d\n",x,y);}5.#include "stdio.h"void main(){int i,a,b,c;int count=0;for(i=100;i<1000;i++){if(i%2==0){a=i%10;b=(i/10)%10;c=i/100;if((a==b && b!=c)||(a==c && b!=c)||(b==c && a!=c)){count++;printf("%d\t",i);}}}printf("\nT otally: %d\n",count);}6.#include<stdio.h>main(){float sum,term,a,b,c;int i;sum=0;a=2;b=1;i=1;while(i<=20){term=a/b;sum=sum+term;c=a+b;b=a;a=c;i++;}printf("数列前20项之和为%.2f\n",sum); }7.#include<stdio.h>int main(){int i,j;for (i=1;i<=7;++i){for(j=1;j<=(i<4?4-i:i-4);++j){printf(" ");}for(j=1;j<=(i<4?i*2-1:15-2*i);++j){printf("*");}for(j=1;j<=(i<4?4-i:i-4);++j){printf(" ");}printf("\n");}}8. #include<stdio.h>void main(){for(int i=0;i<=10;i++){for(int j=0;j<=5;j++){if(i*1+j*2==10)printf("10元可兑换成%d张1元和%d张2元\n",i,j);}}}。
实验4 程序控制结构

实验4 程序控制结构1.实验目的(1)学会使用逻辑运算符和逻辑表达式;(2)熟练掌握if语句和switch语句;(3)熟练掌握while、do-while和for语句实现循环的方法,理解各种循环语句的联系与区别;(4)结合习题、例题中的程序掌握一些经典的算法;(5)进一步地提高调试程序的能力。
2.实验内容(1)上机测试课本例题:例5.3,例5.5, 例5.6,例5.7,例6.1,例6.4,例6.5,例6.9,例6.10问题1:例5.5中int型变量leap有何作用?问题2:例5.6中fabs(a) <=1e-6有何意义?问题3:例6.1中用goto语句构造循环结构的基本思路是什么?总结一下goto语句的用途?问题4:通过分析例6.4总结一下while和do-while的区别?问题5:通过分析对比,例6.5,例6.9总结一下break和continue语句的用法?(2)编程并上机调试课后习题:习题5.6,习题5.7,习题5.8,习题5.9,习题6.1,习题6.2,习题6.3,习题6.7,习题6.10,习题6.11,习题6.12,习题6.13,习题6.14,习题6.15注意:以上习题的解答可以参考参考书或网上查找的程序代码!切忌直接拷贝!要学会通过利用学习资源学到东西,而不是应付差事!(3)程序设计①设计一个简单的菜单程序⏹运行时,首先显示一个菜单画面用以提示输入操作选择⏹操作员从菜单上选择一个操作(即输入相应的代码,例如1、2等),程序接收选择后调用相应的函数完成操作⏹假设系统提供select()、insert()、update()和del()函数,分别用以实现选择、插入、更新与删除等相应操作参考代码如下(根据自己需要做适当修改):#include <stdio.h>void insert();void select();void del();void update();void main(){/* generate menu */char op;printf(“\n ********************************“); /*生成菜单*/printf(“\n * Menu Options *“);printf(“\n * 1. Insert *“);printf(“\n * 2. Select *“);printf(“\n * 3. Delete *“);printf(“\n * 4. Update *“);printf(“\n * 5. Exit *“);printf(“\n ********************************“);/* selection operation */while(1){printf(“\nPlease enter selection: “); scanf(“%d“, &op);switch(op){ /* 根据输入,选择分支走向*/case ‘1‘: insert(); break;case ‘2‘: select(); break;case ‘3‘: del(); break ;case ‘4‘: update(); break;case ‘5‘: break;default: printf(“\nSelection error!“); break;}if(op == ‘5’) break; /* 退出循环*/}} // 结束主函数//被调用函数的定义…………………………………..…………………………………………………………………….3.心得体会4上机作业提交说明(1)将上机的程序用一个工作空间管理,命名为:上机作业4,然后每题作为一个工程单独管理。
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. 实验设计:描述实验的设计方案,包括实验组和对照组的设置、样本选择、
实验条件等。
3. 实验方法:详细介绍实验的具体操作步骤,包括实验材料的准备、实验仪器
的使用、实验参数的调节等。
4. 数据收集与处理:记录实验过程中所采集到的数据,并对数据进行统计分析
和处理,例如计算平均值、标准差等。
5. 结果与讨论:展示实验结果并进行详细的分析和讨论,包括实验数据的图表
展示、对比实验组和对照组的差异、结果的合理解释等。
6. 结论:总结实验结果,回答实验目的和研究问题,并提出可能的进一步研究
方向或改进方法。
7. 参考文献:列出在实验过程中参考的文献或资料。
在撰写四季循环实验报告单时,需要注意准确记录实验过程中的细节和数据,
确保实验结果的可靠性和可重复性。
同时,对于实验结果的分析和讨论要准确、详细、谨慎和完整,以便读者能够全面理解实验的结果和意义。
(新)实验四 循环伏安法测定亚铁氰化钾的电极反应过程

循环伏安法测定亚铁氰化钾的电极反应过程一、实验目的(1) 学习固体电极表面的处理方法; (2) 掌握循环伏安仪的使用技术;(3) 了解扫描速率和浓度对循环伏安图的影响二、实验原理铁氰化钾离子[Fe(CN)6]3--亚铁氰化钾离子[Fe(CN)6]4-氧化还原电对的标准电极电位为[Fe(CN)6]3- + e -= [Fe(CN)6]4- φθ= 0.36V(vs.NHE) 电极电位与电极表面活度的Nernst 方程式为 φ=φθ+ RT/Fln(C Ox /C Red )-0.20.00.20.40.60.8-0.0005-0.0004-0.0003-0.0002-0.00010.00000.00010.00020.0003i pai pcI /m AE /V vs.Hg 2Cl 2/Hg,Cl-在一定扫描速率下,从起始电位(-0.20V)正向扫描到转折电位(0.80 V)期间,溶液中[Fe(CN)6]4-被氧化生成[Fe(CN)6]3-,产生氧化电流;当负向扫描从转折电位(0.80V)变到原起始电位(-0.20V)期间,在指示电极表面生成的[Fe(CN)6]3-被还原生成[Fe(CN)6]4-,产生还原电流。
为了使液相传质过程只受扩散控制,应在加入电解质和溶液处于静止下进行电解。
在0.1MNaCl 溶液中[Fe(CN) 6]4-]的扩散系数为0.63×10-5cm.s -1;电子转移速率大,为可逆体系(1MNaCl 溶液中,25℃时,标准反应速率常数为5.2×10-2cm·s -1)。
溶液中的溶解氧具有电活性,用通入惰性气体除去。
三、仪器与试剂MEC-16多功能电化学分析仪(配有电脑机打印机);玻碳圆盘电极(表面积0.025 cm 2)或铂柱电极;铂丝电极;饱和甘汞电极;超声波清洗仪;电解池;氮气钢瓶。
容量瓶:250 mL 、100mL 各2个,25 mL 7个。
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函数输入. 函数输入. 结果在窗体上显示. 结果在窗体上显示.
C语言循环实验报告

实验名:循环结构实验目的1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
2、了解条件型循环结构的基本测试方法。
3、掌握如何正确地控制计数型循环结构的次数4、了解对计数型循环结构进行测试的基本方法5、了解在嵌套循环结构中,提高程序效率的方法二、实验内容(一)) 题目11、题目内容描述1、下面是一个计算e 的近似值(使误差小于给定的δ)的程序。
main(){double e=1.0,x=1.0,y,detax;int i=1;printf(“\n please input enter a error:”);scanf(“%lf”,&detax);y=1/x;while(y>=detax){x=x*I;y=1/x;e=e+y;++i;}printf(“%12.10lf”,e);}2、实验步骤(1)阅读上面的程序,写出程序所依据的计算公式。
(2)当输入的detax 各是什么值时,能分别使程序按下面的要求运行:.不进入循环;.只循环一次;.只循环两次;.进入死循环(程序将永远循环下去)。
为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?(3)原程序中while 语句中的y>=detax,分别换成y>detax,y=detax,y<detax,y<=detax,观察程序运行将会有什么变化。
假如不知道机器内的程序中的各语句实际上是什么,分别输入什么样的detax 来测试出while 语句的循环条件写错了。
(4)把原程序中while 语句之前的y=1/x 语句去掉,观察程序的运行将会发生什么样的变化。
假如不知道机器内的程序实际上是怎么写的,输入什么样的detax 就能测试出少了上述这条语句。
(5)若把原程序中的++i 换成i++,观察程序的运行发生了什么变化?假如不知道这条语句到底是怎么写的,输入什么样的detax 就能测试出这条语句写错了.(6)把原程序中的while 结构改写成do—while 结构,再分别按上述的(2)、(3)两步进行实验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四循环控制
一:目的要求
1.熟悉用while语句,do-while 语句和for语句实现循环的方法;
2.掌握在程序设计中用循环方法实现各种算法;
3.掌握计算程序运行所占机时的计算方法;
4.上机前按实验要求预习编写出完整的程序,才允许上机。
二:实验内容与步骤
100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮一担。
1.当大马、中马、小马每种不能少于一匹,有多少种组合法?
2.当可以缺少一种或缺二种,又有多少种组合法?
3.用while求第一种组合法。
4.用do-while求2组合法。
5.用三重或二重for循环求2种组合法。
6.除打印结果和多少种组合法外,还要分别打印三种算法所费机时多少。
三:计算一种算法所占机时的程序提示:
#include <time.h>
#include <conio.h>
#include <dos.h>
main()
{
clock_t start,end; /* time_t start,end;*/
int i,big,middle,small,ncount;
clrscr();
start=clock(); /* start = time();*/
big=1; middle=1; small=2;
ncount=0;
printf("This a while program\n");
while (big<=33)
{
.
}
end=clock(); /* end = time();*/
printf("The num of method1 is: %d\n",ncount);
printf("and the time is: %5.1f time\n",difftime(end,start));
/*printf f(“”The difference is :%5.1f second\n”, difftime(end,start)/18.2);*/ .
.
}
1、While方法
#include <time.h>
#include <conio.h>
#include <dos.h>
#include <stdio.h>
void main()
{
clock_t start,end; /* time_t start,end;*/
int i,big,middle,small,ncount,n;
clrscr();
start=clock(); /* start = time();*/
big=1; middle=1; small=2,i=0,n=0;
ncount=0;
printf("This a while program\n");
while (big<=33)
{
for(small=2;small<=100;small=small+2)
for(middle=1;middle<=100;middle++)
{
n=big*3+middle*2+small/2;
i=big+middle+small;
if(n==100 && i==100)
{
printf("Big=%d,Middle=%d,Small=%d,n=%d,i=%d\n",big,middle,small,n,i);
ncount++;
}
}
big++;
}
end=clock();
printf("The num of method1 is: %d\n",ncount);
printf("and the time is: %5.1f time\n",difftime(end,start));
getchar();
}
2、do-while方法
#include <time.h>
#include <conio.h>
#include <dos.h>
#include <stdio.h>
void main()
{
clock_t
start,end; /*
time_t start,end;*/
int i,big,middle,small,ncount,n;
clrscr();
start=clock(); /* start = time();*/
big=0; middle=0; small=0,i=0,n=0;
ncount=0;
printf("This a do-while program\n");
do
{
for(small=0;small<=100;small=small+2)
for(middle=0;middle<=100;middle++)
{
n=big*3+middle*2+small/2;
i=big+middle+small;
if(n==100 && i==100)
{
printf("Big=%d,Middle=%d,Small=%d,n=%d,i=%d\n",big,middle,small,n,i);
ncount++;
}
}
big++;
}
while(big<=34);
end=clock();
printf("The num of method 2 is: %d\n",ncount);
printf("and the time is: %5.1f time\n",difftime(end,start));
getchar();
}
3、for循环法
#include <time.h>
#include <conio.h>
#include <dos.h>
#include <stdio.h>
void main()
{
clock_t start,end; /*time_t start,end;*/
int i,big,middle,small,ncount,n;
clrscr();
start=clock(); /* start = time();*/
big=0; middle=0; small=0,i=0,n=0;
ncount=0;
printf("This a for program\n");
for(big=0;big<=34;big++)
{
for(small=0;small<=100;small=small+2)
for(middle=0;middle<=100;middle++)
{
n=big*3+middle*2+small/2;
i=big+middle+small;
if(n==100 && i==100)
{
printf("Big=%d,Middle=%d,Small=%d,n=%d,i=%d\n",big,middle,small,n,i);
ncount++;
}
}
}
end=clock();
printf("The num of method 3 is: %d\n",ncount);
printf("and the time is: %5.1f time\n",difftime(end,start));
getchar();
}。