文档库 最新最全的文档下载
当前位置:文档库 › 作业4 循环结构

作业4 循环结构

作业4 循环结构
作业4 循环结构

作业4 循环结构

一、作业要求

1. 作业最后需写作业小结,写出本次作业中遇到的问题或程序中遇到的错误,以及解决问题的方法。无作业小结者,本次作业无成绩。

2. 作业成绩取决于作业的认真程度(反映在作业小结中),而不是作业题目的对错。雷同者双方成绩均为0,未事先说明迟交者,作业成绩为0。

二、作业内容

任选4个难度级别不同的题目!!

所有程序要求写出程序运行结果!!!

先看书,再写作业。

1、(难度:★)

个位数为6且能被3整除的五位数共有多少?

2、(难度:★)

编程计算1!+2!+3!+4!+…+10!的值。

3、(难度:★★)

求s=1/(1+2+3)-2/(2+3+4)+3/(3+4+5)-4/(4+5+6)+……的前20项之和

4、(难度:★★) 计算 +-++-+-100

1991413121

1,直到最后一项的绝对值小于10-4为止。

5、(难度:★★)

假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的五年中的年底取出1000元,到第五年时刚好取完,请算出他存钱时应存入多少。

提示:

分析存钱和取钱的过程,可以采用倒推的方法。若第五年年底连本带息要取1000元,则要先求出第五年年初银行存款的钱数:

第五年初存款=1000/(1+12*0.0063)

依次类推可以求出第四年、第三年……的年初银行存款的钱数:

第四年年初存款=(第五年年初存款+1000)/(1+12*0.0063)

第三年年初存款=(第四年年初存款+1000)/(1+12*0.0063)

第二年年初存款=(第三年年初存款+1000)/(1+12*0.0063)

第一年年初存款=(第二年年初存款+1000)/(1+12*0.0063)

通过以上过程就可以很容易地求出第一年年初要存入多少钱。

6、(难度:★★★)

编写程序输出下面图形(要求用嵌套循环语句实现)

7、(难度:★★★)

一辆卡车违反交通规则,撞人后逃跑,现场有3个目击证人,但都没有记住车号,只记住车号的一些特征。甲说:牌照的前两位数字是相同的,乙说:牌照的后两位数字是相同的,但与前两位不同。丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。

8、(难度:★★★)

编写程序输出下面图形(要求用嵌套循环语句实现)

9、(难度:★★★★)

构造N×N 阶的拉丁方阵(2≤N≤9),使方阵中的每一行和每一列中数字1到N 只出现一次。如N=4时:

1 2 3 4

2 3 4 1

3 4 1 2

4 1 2 3

提示:

构造拉丁方阵的方法很多,这里给出最简单的一种方法。观察给出的例子,可以发现:若将每一行中第一列的数字和最后一列的数字连起来构成一个环,则该环

正好是由1到N 顺序构成;对于第i 行,这个环的开始数字为i 。按照此规律可以很容易的写出程序。

10、(难度:★★★★★)

利用泰勒级数sin(x )≈,!

9!7!5!39

753 -+-+-x x x x x 计算sin(x ) 的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。

11、(难度:★★★★★)

买买提将养的一缸金鱼分五次出售:第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。问原来的鱼缸中共有几条金鱼?

提示:

题目中所有的鱼是分五次出售的,每次卖出的策略相同;第j 次卖剩下的(j+1)分之一再加1/(j+1)条。第五次将第四次余下的11条全卖了。

假定第j 次卖之前,鱼的总数为x ,则第j 次卖之后,留下:

x-(x+1)/(j+1)

当第四次出售完毕时,应该剩下11条。若x 满足上述要求,则x 就是题目的解。

应当注意的是:"(x+1)/(j+1)"应满足整除条件。因为第一次售完以后,剩余的数量应该超过11,所以x的初值从23开始,而x如果为偶数的话,第一次卖鱼结果就不正确,故x只能是奇数,把循环的步长设为2。

实验四-循环结构汇编语言程序的设计实验报告

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

实验四循环结构汇编语言程序设计 一、实验目的 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放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

实验4循环伏安法测定电极反应参数实验报告

华南师范大学实验报告 学生姓名学号2014 专业新能源材料与器件年级、班级2014 课程名称电化学实验实验项目循环伏安法测定电极反应参数实验类型□√验证□设计□综合实验时间2016年4月25日 实验指导老师吕东生实验评分

一、实验目的 1.了解循环伏安法的基本原理及应用 2. 掌握循环伏安法的实验技术和有关参数的测定方法。 二、实验原理 循环伏安法(Cyclic Voltammetry)是一种常用的电化学研究方法。该法控制电极电势以不同的速率,随时间以三角波形一次或多次反复扫描,电势范围是使电极上能交替发生不同的还原和氧化反应,并记录电流-电势曲线。根据曲线形状可以判断电极反应的可逆程度,中间体、相界吸附或新相形成的可能性,以及偶联化学反应的性质等。常用来测量电极反应参数,判断其控制步骤和反应机理,并观察整个电势扫描范围内可发生哪些反应,及其性质如何。对于一个新的电化学体系,首选的研究方法往往就是循环伏安法。该方法使用的仪器简单,操作方便,图谱解析直观,在电化学、无机化学、有机化学、生物化学等许多研究领域被广泛使用。循环伏安法通常采用三电极系统,一支工作电极(被研究物质起反应的电极),,一支参比电极,一支对电极。外加电压在工作电极和辅助电极之间,反应电流通过工作电极与辅助电极。 图1 循环伏安法测得的氧化还原曲线 正向扫描的峰电流i p 与v^0.5和C都成线性关系,对研究电极过程具有重要意义。标准 电极电势为:EΘ=(E pa +E pc )/2。所以对可逆过程,循环伏安法是一个方便的测量标准电极 电位的方法。 三、实验器材 CHI电化学工作站;玻碳电极;铂电极;Hg/Hg2SO4电极;0.1 mol/L VO2+ + 0.1 mol/L VO2+ +3 mol/L H2SO4溶液 四、实验步骤 1. 预处理电极

实验6 循环结构程序设计

实验6 循环结构程序设计 一.实验目的 1.掌握在设计条件型循环结构时,如何正确地设定循环条件。 2.掌握如何正确地控制计数型循环结构的循环次数。 3.练习并掌握选择结构与循环结构的嵌套、多重循环的应用。 4.掌握在程序设计中用循环的方法实现一些常用算法,加强调试程序的能力。二.实验要求 1.复习while、do-while、for语句和continue、break语句。 2.能够用流程图表示实验题目的算法。 3.能够独立调试运行实验题目。 4.本实验要求4学时完成。 三.实验内容和步骤 题目1:分别用while循环和for循环计算:1+2+3+…+100=? 要求:写出程序并上机查看运行结果。 题目2:输入一行字符,分别统计出其中大小写英文字母、空格、数字和其他字母的个数。要求:程序填空并写出2组运行结果。 01#include 02#include 03#include 04main( ) 05{ 06char c; 07int letter=0,capital=0,lower=0,space=0,digital=0,other=0; 08printf("\ninput a line character :\n"); 09while((c=getchar())!='\n') 10{ 11if( 【1】) /*统计大小写字母的个数*/ 12{ 13letter++; 14if ( 【2】) 15lower++; /*统计小写字母的个数*/ 16} 17else if( 【3】) 18space++; /*统计空格的个数*/

循环伏安法实验报告(有测定电极有效面积)

循环伏安法实验 【实验目的】 学习和掌握循环伏安法的原理和实验技术。 了解可逆波的循环伏安图的特性以及测算玻碳电极的有效面积的方法。 【实验原理】 循环伏安法是在固定面积的工作电极和参比电极之间加上对称的三角波扫 描电压(如图1),记录工作电极上得到的电流与施加电位的关系曲线(如图2),即循环伏安图。从伏安图的波形、氧化还原峰电流的数值及其比值、峰电位等可以判断电极反应机理。 与汞电极相比,物质在固体电极上伏安行为的重现性差,其原因与固体电极的表面状态直接有关,因而了解固体电极表面处理的方法和衡量电极表面被净化的程度,以及测算电极有效表面积的方法,是十分重要的。一般对这类问题要根据固体电极材料不同而采取适当的方法。 对于碳电极,一般以Fe(CN) 63-/4- 的氧化还原行为作电化学探针。首先,固体 电极表面的第一步处理是进行机械研磨、抛光至镜面程度。通常用于抛光电极的 材料有金钢砂、CeO 2、ZrO 2 、MgO和α-Al 2 O 3 粉及其抛光液。抛光时总是按抛 光剂粒度降低的顺序依次进行研磨,如对新的电极表面先经金钢砂纸粗研和细磨 后,再用一定粒度的α-Al 2O 3 粉在抛光布上进行抛光。抛光后先洗去表面污物, 再移入超声水浴中清洗,每次2~3分钟,重复三次,直至清洗干净。最后用乙 醇、稀酸和水彻底洗涤,得到一个平滑光洁的、新鲜的电极表面。将处理好的碳 图2:循环伏安曲线(i—E曲线)

电极放入含一定浓度的K 3Fe(CN)6和支持电解质的水溶液中,观察其伏安曲线。如得到如图2所示的曲线,其阴、阳极峰对称,两峰的电流值相等(i pc / i pa =1),峰峰电位差ΔE p 约为70 mV (理论值约59/n mV ),即说明电极表面已处理好,否则需重新抛光,直到达到要求。 有关电极有效表面积的计算,可根据Randles-Sevcik 公式: 在25°C 时,i p =(2.69×105 )n 3/2 AD o 1/2ν1/2 C o 其中A 为电极的有效面积(cm 2 ),D o 为反应物的扩散系数(cm 2 /s),n 为电极反应的电子转移数,ν为扫速(V/s ),C o 为反应物的浓度(mol/cm 3 ),i p 为峰电流(A )。 【仪器和试剂】 1. CHI 660D 电化学系统,玻碳电极(d = 4mm ) 为工作电极,银/氯化银电极为参比电极,铂片电极为辅助电极; 2. 固体铁氰化钾、H 2SO 4 溶液、高纯水; 3. 100 mL 容量瓶、50 mL 烧杯、玻棒。 【实验内容】 1. 配制5 mM K 3Fe(CN)6 溶液(含0.5 M H 2SO 4),倒适量溶液至电解杯中; 2. 将玻碳电极在麂皮上用抛光粉抛光后,再用蒸馏水清洗干净; 3. 依次接上工作电极(绿)、参比电极(白)和辅助电极(红); 4. 开启电化学系统及计算机电源开关,启动电化学程序,在菜单中依次选择Setup 、Technique 、CV 、Parameter ,输入以下参数: 5. 点击Run 开始扫描,将实验图存盘后,记录氧化还原峰电位E pc 、E pa 及峰电流I pc 、I pa ; 6. 改变扫速为0.05、0.1 和0.2 V/s ,分别作循环伏安图; 7. 将4个循环伏安图叠加比较; Init E (V) 0.8 V Segment 2 High E (V) 0.8 V Smpl Interval (V) 0.001 Low E (V) ?0.2 V Quiet Time (s) 2 Scan Rate (V/s) 0.02 V Sensitivity (A/V) 5e?5

4字节乘法及循环结构

实验三 4字节乘法及循环结构 实验目的: 1.掌握顺序向下编程方法。 2.掌握4字节乘法编程处理方法。 3.掌握循环结构编程方法。 4.掌握多模块汇编、链接、运行的方法。 实验设备: 计算机一台。预装Windows XP、宏汇编MASM5。 实验内容A: 编写能够实现以下要求的汇编语言程序,并上机实现。 1.编写一个4字节乘法程序,并将结果以十六进制数形式输出到屏幕上。 2.给出两个4字节的乘数,用Winsows中的计算器(科学型)算出十六进制结果,再用本程序获得结果,对照二者是否相同。注意数的高、低位在内存中的放置规则。 实验内容B: 编写能够实现以下要求的汇编语言程序,并上机实现。 1. 一个较大的汇编语言程序常需要做成多个模块,然后链接起来。这需要用到以下两条伪指令。 使本模块中的符号可被其它模块使用: PUBLIC 符号 在本模块中使用其它模块中的符号: EXTRN 符号:类型(类型为BYTE、WORD、NEAR、FAR等) 将两个模块分别汇编,然后键接起来即可。各模块的汇编同单独程序的汇编,链接时用LINK 模块1+模块2+…。 将十六进制数转换成ASCII码子程序单独做成一个模块,然后与主模块链接起来。运行应该能够获得与实验内容A同样的结果。 2.分析实验内容B程序有哪些变化,总结出分模块编程的方法。 预习要求: 1.阅读实验内容A的参考源程序,对其结构以及实现方法进行分析,在理解的基础上掌握编程方法。 2.根据要求,编写实验内容B的源程序。 3.编辑建立实验内容A和实验内容B的源程序文件,存入U盘保存。 4.写出预习报告,报告中应有实验内容B的源程序清单。 实验步骤: 1.编辑建立实验内容A的源程序,对其进行汇编、链接获得可执行文件。运行可执行文件,实现实验内容A的要求。 2.参考实验内容A的源程序,编辑建立实验内容B的源程序,对其进行汇编、链接获得可执行文件。如果在汇编、链接过程中有错误产生,则根据提示信息逐一修改错误,直到无错误产生。运行可执行文件,实现实验内容B的要求。

C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构 一、选择题 1、有以下程序段 int k=0; while(k=1)k++; while 循环执行的次数是( A) A) 无限次B) 有语法错,不能执行 C) 一次也不执行D) 执行1次 2、t为int类型,进入下面的循环之前,t的值为0 while( t=1) { …… } 则以下叙述中正确的是( B) A) 循环控制表达式的值为0 B) 循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对 3、在C程序中,与while(m)中表达式m完全等价的是(B ) A) m==0 B) m!=0 C) m==1 D) m!=1 4、有以下程序,程序运行后的输出结果是(C )。 main() {int i=1,sum=0; while(i<=4) { sum=sum+i; i=i+1; } printf(“%d\n”,sum);} A)4 B)5 C)10 D)死循环 5、有以下程序,程序运行后的输出结果是(D )。 main() { int i=1,sum=0; while(i<=4) sum=sum+i; i=i+1; printf(“%d\n”,sum); } A)4 B)5 C)10 D)死循环 6、有如下程序 main(){ int n=9; while(n>6){n--;printf(“%d”,n);} } 该程序段的输出结果是(B) A) 987 B) 876 C) 8765 D) 9876

7、以下程序的输出结果是( B ) main() { int num= 0; while(num<=2) { num++; printf(“%d\n”,num);} } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4 8、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。main() {float x,y,z; scanf(“%f%f”,&x,&y); z=x/y; while(1){ if(fabs(z)>1.0) { x=y; y=z; z=x/y;} else break;} printf(“%f\n”,y);} A)1.500000 B)1.600000 C)2.000000 D)2.400000 9、执行以下程序段时 x=-1; do { x=x*x; } while(! x); 则下面描述正确的是(A ) A) 循环体将执行一次B) 循环体将执行两次 C) 循环体将执行无限次D) 系统将提示有语法错误 10、有以下程序段其输出结果是(C ) int x=3; do { printf("%d",x-=2); } while (!(--x)); A) 1 B) 3 0 C) 1 -2D) 死循环 11、有如下程序 main(){ int x=23; do {

实验四循环结构程序设计

实验四循环结构程序设计(一) 一、实验学时 2学时 二、实验目的 (一)掌握用while,do-while,for语句实现循环的方法; (二)掌握在设计条件型循环结构的程序时,如何正确地设定循环条件,以及如何控制循环的次数。 (三)掌握与循环有关的算法。 三、预习要求 预习教材第六章有关while,do-while,for语句的语法格式,并能通过这三种语句编写、调试单层循环结构的程序。 四、实验内容 (一)分析并运行下面程序段,循环体的执行次数是__________。 int a=10,b=0; do { b+=2;a-=2+b;} while(a>=0); (二)当执行以下程序段时,循环体执行的次数是__________。 x = -1; do { x=x*x;} while( !x); (三)编程求 1!+2!+3!+……+20! 的值。 注意:根据题目,考虑所定义的各个变量应该为何种类型。程序结构如下:/* c4-1.c */ /* 求1!+2!+3!+……+20! */ #include "stdio.h" void main( ) { 定义变量i作为循环控制变量; 定义变量p和sum分别存放各个整数的阶乘和阶乘之和; 变量p和sum赋初值; for( i=1; i<=20; i++ ) { 变量p连乘 ; 变量sum累加; } 输出sum的值 ; } (四)编写一个程序,求出两个数m和n的最大公约数和最小公倍数。 编程提示:求最大公约数的方法有三种: 1.从两个数中较小数的开始向下判断,如果找到一个整数能同时被m和n整除,则终止循环。设n为m和n中较小的数,则如下程序段可实现: for(k=n; k>=1; k--) if(m%k==0 && n%k ==0) break; k即为最大公约数。 /* c4-2.c */ /* 求最大公约数算法1 */ #include "stdio.h"

实验报告-循环伏安法测定亚铁氰化钾

循环伏安法测定亚铁氰化钾 实验目的 (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.2 0.00.20.4 0.60.8 -0.0005 -0.0004-0.0003-0.0002-0.00010.0000 0.00010.00020.0003i pa i pc I /m A E /V vs.Hg 2Cl 2/Hg,Cl - 起始电位:(-0.20V) 终止电位:(0.80 V) 溶液中的溶解氧具有电活性,用通入惰性气体除去。 仪器与试剂 MEC-16多功能电化学分析仪(配有电脑机打印机);金电极;铂丝电极;饱和甘汞电极; 容量瓶:250 mL 、100mL 各2个,25 mL 7个。 移液管:2、5、10mL 、20mL 各一支。 NaCl 溶液、K 4[Fe(CN)6]、、Al 2O 3粉末(粒径0.05 μm ) 实验步骤

1、指示电极的预处理 金电极用金相砂纸细心打磨,超声波超声清洗,蒸馏水冲洗备用。 2、溶液的配制 配制0.20 mol/L NaCl溶液250mL,再用此溶液配制0.10 mol/L的K4[Fe(CN)6]溶液100mL备用。 3、支持电解质的循环伏安图 在电解池中,放入25mL 0.2 mol·L-1 NaCl溶液,插入电极,以新处理的铂电极为工作电极,铂丝电极为辅助电极,饱和甘汞电极为参比电极,进行循环伏安仪设定,扫描速率为0.1V/s;起始电位为-0.20V,终止电位为0.80V。开始循环伏安扫描. 4、K4 [Fe(CN)6]溶液的循环伏安图 在-0.20至0.80V电位范围内,以0.1V/s的扫描速度分别作0.01 mol·L-1、0.02 mol·L-1、0.04 mol·L-1、0.06 mol·L-1、0.08 mol·L-1的K4 [Fe(CN)6]溶液(均含支持电解质NaCl浓度为0.20mol·L-1)循环伏安图 5、不同扫描速率K4 [Fe(CN)6]溶液的循环伏安图 在0.08 mol·L-1 K4 [Fe(CN)6]溶液中,以0.1V/s、0.15 V/s、0.2V/s、0.25 V/s、0.3V/s、0.35V/s,在-0.20至0.80V电位范围内扫描,做循环伏安图 数据处理 1、从K4[Fe(CN)6]溶液的循环伏安图,测量i pa、i pc值。 -1;起始电位为-0.20V,终止电位为0.80V) 2、分别以i pa和i pc对K4[Fe(CN)6]溶液浓度c作图,说明峰电流与浓度的关系。

第四章。循环结构(while、do-while、for)

Top 1.循环结构(while、do…while、for) 1. 循环结构(while、do…while、for) 1.1. 什么是循环结构 在日常生活中,会有很多需要反复执行的事情,比如:每一年的4个季节,每一周的7天,每日的3餐,打印机每份文档打印50份,一圈跑道400米跑3圈,都是在反复执行的。 再看软件系统中的需求: 问题1:输出100行语句,每行语句都一样,即: ?行动是成功的阶梯,行动越多,登得越高! ?行动是成功的阶梯,行动越多,登得越高! ?行动是成功的阶梯,行动越多,登得越高! … 问题2:输出100行语句,每行语句都类似,即: ?第1,行动是成功的阶梯,行动越多,登得越高! ?第2,行动是成功的阶梯,行动越多,登得越高! ?第3,行动是成功的阶梯,行动越多,登得越高! ?… ?第100,行动是成功的阶梯,行动越多,登得越高!

问题3:计算1到50乘以8.88的结果 ?1×8.88 =8.88 ? 2 ×8.88 =17.76 ? 3 ×8.88 =26.64 ? 4 ×8.88 =35.52 ?… ?50 ×8.88 =444 诸如此类问题都是在反复执行的,在软件系统中可以通过循环这种语法结构来解决。循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。 对于循环来说,需要考虑两个要素,其一要素为循环体,也就是被反复执行的相同或相似的语句,其二要素为循环的条件,也就是循环得以继续执行下去的条件,常常以循环次数的方式体现。 常用的循环结构有:while、do-while、for。 1.2. while语句 1.2.1. while语句的执行逻辑 while语句是循环的一种常见语法结构,语法如下: 1.while(boolean表达式){ 语句块; 2.}

实验四 循环结构程序设计(答案)

实验四循环结构程序设计(解答) 1.改错题 (1)下列程序的功能为:求1~100之和(和值为5050)并输出。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c存盘。 #include main() { int i,sum=0; i=1; while(i<100) sum=sum+i; i++; printf(“The sum from 1 to 100 is %d\n”,sum); } 改正后的程序: #include main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("The sum from 1 to 100 is %d\n",sum); } (2)下列程序的功能为:倒序打印26个英文字母。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c存盘。 #include main() { char x; x='z'; while(x!='a') { printf("%3d",x); x++; } }

改正后的程序: #include main() { char x; x='z'; while(x!='a'-1) 或while(x>='a') 或while(x!=96) { printf("%3c",x); x- -; } } (3)下列程序的功能为:输出如下的图形,要求顶端的*定位在第21字符位置,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_3.c存盘。 * *** ***** ******* #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20;j++) printf("\n"); for (j=0;j<2*i+1;j++) printf("*"); } } 改正后的程序: #include void main() { int i,j; for (i=0;i<4;i++) { for (j=0;j<=20-i;j++) printf(" "); for (j=0;j<2*i+1;j++) printf("*"); printf("\n"); } } 2.程序填空 (1)下列程序的功能为:用辗转相除法求两个正整数的最大公约数;请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_4.c存盘。 提示:

第四章循环结构

第四章循环结构 一、选择题 1.下列叙述正确的是( ) A.continue语句的作用是跳出循环体 B.while循环语句的循环体至少执行一次 C.do-while循环语句的循环体至少执行一次 D.switch语句中的每个case语句组必须含有break语句 2.if(表达式)和while(表达式)中的“表达式”( ) A.只能是逻辑的 B.只能是关系的 C.只能是算术的 D.以上三种都 可以 3.对循环结构正确的叙述是() A.do-while循环体可能被执行0次 B.do-while循环体至少被执行1次 C.while循环体不可能被执行0次 D.for循环体不可能被执行无限次 4.设int i=l, k=2;则错误 ..的循环语句是() A.for(i=0,k=-1;i++,k++); B.for(;k-1;i++); C.for(i=1,k=4;k--;i++); D.for(;k--;); 5.在循环体中用来强制继续循环的语句是() A.break B.continue C.exit D. return 6.下列程序段中循环体执行的次数是() int x=-1;do{x=x*x;}while(! x); A. 0 B. 1 C. 2 D. 无限 7.设int m=5;语句while (m==0)printf (″%d″,m-=2);的循环体执行的次数是() A. 0 B. 1 C. 2 D. 无限 8.语句for(a=0;a==0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是( ) A.0,0 B.0,1 C.1,0 D.1,1 9.执行下列程序段后x的值为() int i=1, j=10, x; for (; i<=j; i++, --j) x=i; A.5 B.6 C.7 D.8 10.以下程序的运行结果是( ) int x,y,z=1; for(x=1,y=-1;xb); A.1,3 B.1,4 C.2,3 D.2,4 12.设for(i=0, j=10; (j>0)&&(i<4); i++, j--);该语句的循环次数是()A.0 B.3 C.4 D.无限 13.执行语句for(i=1;i++<4);后i的值是( ) A. 3 B. 4 C. 5 D. 不确定 14.以下程序段中的变量已正确定义,程序段的输出结果是( ) for(i=0;i<4;i++,i++) for(k=1;k<3;k++);printf("*"); A.******** B.**** C.** D.*

最新实验四分支循环结构程序设计

实验四分支循环结构 程序设计

实验四、分支循环结构程序设计 一、实验目的 1.通过本实验,加深对循环控制结构有关概念的理解。 2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。 3.掌握二重循环结构程序的设计方法。 二、实验内容 1.用while循环实现数据统计问题。 数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值(习题5.9)。三、实验指导 1.用while循环实现数据统计问题。 ⑴编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不 确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键 问题。循环控制条件可以有多种确定方法: ①使用一个负数作为数据输入结束标志。 ②输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。 ⑵参考程序 l 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main() { int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0)break; if(m<=100)counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } l 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include "stdio.h" void main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m);

循环伏安法实验数据处理

六、实验数据处理 1、从K 3Fe (CN )6溶液的循环伏安法图测定ipa 、ipc 和ψpc 、ψpa 值。 表1、pt 做电极得到的不同浓度溶液峰电位和峰电流 表2、不同扫描速率下1.00×10-3mol/L K 3Fe (CN )6溶液的峰电位和峰电流 2、分别以ipa 和ipc 对υ1/2作图,说明峰电流与扫描速率间的关系。 表3、数据处理表1 K 3Fe (CN)6浓度(mol/L ) ipc (A) ipa(A) ψpc(V) ψpa(V) 5.00×10-4 2.64E-06 1.71E-06 0.168 0.258 1.00×10-3 5.17E-06 4.22E-06 0.177 0.257 5.00×10-3 2.18E-05 2.13E-05 0.171 0.265 1.00×10-2 4.94E-05 4.77E-05 0.174 0.265 扫描速率υ(V/s ) ipc (A) ipa(A) ψpc(V) ψpa(V) 0.02 3.55E-06 3.23E-06 0.213 0.282 0.04 4.43E-06 4.11E-06 0.212 0.282 0.06 5.49E-06 5.10E-06 0.213 0.282 0.08 6.35E-06 5.66E-06 0.212 0.284 0.10 7.11E-06 6.52E-06 0.216 0.283 0.15 8.57E-06 7.96E-06 0.214 0.282 0.20 9.84E-06 8.95E-06 0.213 0.284 扫描速率υV/s υ1/2 ipc (A) ipa(A) 0.02 0.141 3.55E-06 3.23E-06 0.04 0.200 4.43E-06 4.11E-06 0.06 0.245 5.49E-06 5.10E-06 0.08 0.283 6.35E-06 5.66E-06 0.10 0.316 7.11E-06 6.52E-06 0.15 0.387 8.57E-06 7.96E-06 0.20 0.447 9.84E-06 8.95E-06

实验项目四结构化程序设计_循环结构

《程序设计基础I》实验报告实验项目四:结构化程序设计_循环结构

一、实验目的及要求 (1)熟悉掌握用while语句,do-while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)掌握多重循环的选择时机和使用方法; (4)掌握使用break和continue语句的方法。 二、实验设备(环境)及要求 使用Visual C++ 6.0;windows系列操作系统的环境。 三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目; 例项目名为:2013050201_***_01) 1.分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示: 1)定义实变量sum、term、a、b、c,整变量i 2)初始化:sum=0,分子a=2,分母b=1 3)初始化:i(计数器)=1 4)计算第i项term =a/b 5)累加sum=sum+term 6)计算c=a+b,更新b= a,更新a=c 7)计数器加1,i++ 8)重复4、5、6、7,直到i>20 9)输出2位精度的结果

把每一次迭代结果输出,程序应做怎样的修改? 3输入正数n ,要求输出Fibonacci 数列的前n 项。1,1,2,3,5,8…… #include 开始 结束 term=0 sum=0 i=1 i ≤20? i=i+1 sum=sum+term term=term *i 输出sum 是 否 #include int main() {float term,sum;int i; term=1,i=1,sum=0; while(i<=20) {term=term*i; sum=sum+term; printf("sum=%.1f\n",sum); i++; } printf("sum=%f\n",sum); return 0; }

实验十 循环伏安法分析

实验十循环伏安法分析 一、实验目的 1.仔细阅读理解本讲义和相关资料,掌握循环伏安法的基本原理。 2.熟练使用循环伏安法分析的实验技术。 二、实验原理 循环伏安法(Cyclic Voltammetry, 简称CV)往往是首选的电化学分析测试技术,非常重要,已被广泛地应用于化学、生命科学、能源科学、材料科学和环境科学等领域中相关体系的测试表征。 现代电化学仪器均使用计算机控制仪器和处理数据。CV测试比较简便,所获信息量大。采用三电极系统的常规CV实验中,工作电极(The Working Electrode, 简称WE)相对于参比电极(the Reference Electrode,简称RE)的电位在设定的电位区间内随时间进行循环的线

表1. 图1的实验条件和一些重要解释

零,所以RE的电位在CV实验中几乎不变,因此RE是实验中WE电位测控过程中的稳定参比。若忽略流过RE上的微弱电流,则实验体系的电解电流全部流过由WE和对电极(The Counter Electrode,简称CE)组成的串联回路。WE和CE间的电位差可能很大,以保证能成功地施加上所设定的WE电位(相对于RE)。CE也常称为辅助电极(The Auxiliary Electrode, 简称AE)。 分析CV实验所得到的电流-电位曲线(伏安曲线)可以获得溶液中或固定在电极表面的组分的氧化和还原信息,电极|溶液界面上电子转移(电极反应)的热力学和动力学信息,和电极反应所伴随的溶液中或电极表面组分的化学反应的热力学和动力学信息。与只进行电位单向扫描(电位正扫或负扫)的线性扫描伏安法(Linear Scan Voltammetry,简称LSV)相比,循环伏安法是一种控制电位的电位反向扫描技术,所以,只需要做1个循环伏安实验,就可既对溶液中或电极表面组分电对的氧化反应进行测试和研究,又可测试和研究其还原反应。 循环伏安法也可以进行多达100圈以上的反复多圈电位扫描。多圈电位扫描的循环伏安实验常可用于电化学合成导电高分子。 图1为3 mmol L-1 K4Fe(CN)6 + 0.5 mol L-1 Na2SO4水溶液中金电极上的CV实验结果。实验条件和一些重要的解释列于表1中。 三、仪器和试剂 仪器:CHI400电化学工作站 磁力搅拌器 铂片工作电极 铅笔芯对电极 KCl饱和甘汞电极 试剂:K3Fe(CN)6(分析纯或优级纯) KNO3(分析纯或优级纯) 溶液及其浓度:1.0 mol L-1 KNO3水溶液。实验中每组学员使用30.0 mL。 0.100 mol L-1 K3Fe(CN)6水溶液储备液。实验中每组学员使用100 L微量注射 器依次注射适量体积的0.100 mol L-1 K3Fe(CN)6水溶液到30 mL的1.0 mol L-1 KNO3水溶液中,详见如下4.3.节。

实验四 循环结构

实验报告 班级:电信13-1班学号:130******** 姓名:谢朗星成绩: 实验四循环结构 一、实验目的 1.掌握循环结构C程序的编写和调试方法。 2.掌握循环结构C程序中使用while语句和do while语句。 二、实验内容和步骤 1.调试下面三个程序,分析执行的结果。 1. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; } printf(“%d\n”,sum); return 0; } 5050 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,然后输出最终结果,结束该程序。 2. #include int main( ) { int sum=0,i=1; while(i<=100) { sum=sum+i; i++; printf(“%d\n”,sum);} return 0;

} 在该程序中,先判断i是否<=100,如果是,在循环体先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,然后再返回判断i是否<=100,接着再重复上步骤,直到i>100,结束该程序。 3.#include int main( ) { int sum=0,i=1; do { sum=sum+i; i++; printf(“%d\n”,sum); }while(i<=100); return 0; } 在该程序中,在循环体中先执行了sum=sum+i,接着再执行i++,然后输出当次运行的结果,接着再判断i是否<=100,如果是,返回执行循环体,接着再重复上步骤,直到i>100,结束该程序。 2.编写如下2道题目的程序,要求详细写出程序编写、编译、运行的过程,源程序关键执 行语句需要给出注释。 (a)统计全单位人员的平均工资。单位的人数不固定,工资数从键盘先后输入,当输入-1 时表示输入结束(前面输入的是有效数据) 分析:循环执行的条件while(i!=-1) , 循环结束条件是单位的人数n,循环体采用累加的方法。 (b)求∑= 20 1 n !n 分析:循环体采用累加和累乘。(a) #include int main() {

讲义实验七循环伏安法

循环伏安法 【实验目的】 学习固体电极表面的处理方法; 掌握循环伏安仪的原理和测量技术; 了解扫描速率和浓度对循环伏安图的影响 【实验原理】 循环伏安法(CV )是最重要的电分析化学研究方法之一。该方法使用的仪器简单,操作方便,图谱解析直观,在电化学、无机化学、有机化学、生物化学等许多 研究领域被广泛应用。 循环伏安法通常采用三电极系统,一支工作电极(被研究物质起反应的电极),一支参比电极(监测工作电极的电势),一支辅助(对)电极。外加电压加在工作电极与辅助电极之间,反应电流通过工作电极与辅助电极。 对可逆电极过程(电荷交换速度很快),如一定条件下的Fe(CN)63-/4-氧化还原体系,当电压负向扫描时,Fe(CN)63- 在电极上还原,反应为: Fe(CN)63-+e - → Fe(CN)64- 得到一个还原电流峰。当电压正向扫描时,Fe(CN) 64-在电极上氧化,反应为: Fe(CN)64- - e - → Fe(CN)63- 得到一个氧化电流峰。所以,电压完成一次循环扫描后,将记录出一个如图7-2所示的氧化还原曲线。扫描电压呈等腰三角形,如图7-1所示。如果前半部扫描(电压上升部分)为去极化剂在电极上被还原的阴极过程,则后半部扫描(电压下降部分)为还原产物重新被氧化的阳极过程。因此.一次三角波扫描完成一个还原过程和氧化过程的循环,故称为循环伏安法。如图7-2所示,电流随电势的变化而逐渐加大,反应速率逐渐加快,当电极表面的反应物的浓度由于浓度极化的影响,来不及供应时,电极表面反应物的浓度变为零,出现峰值电流I p ,所以就整个循环伏安图而言,循环一周有阴极峰值电流I p,c 和阳极峰值电流I p,a ,与峰值电流相对应的电势称为峰值电势。E p,c 和E p,a 分别是阴极峰值电势和阳极峰值电势,它们是循环伏安法中最重要的参数。 对于符合Nernst 方程的可逆电极反应,i p.a / i p.c ≈ 1 在25℃时 )(63 57mv n E E E pc pa p -= -=?表明此时的峰值电势差在 )(63 57mv n -之间。

实验四循环结构大全语言程序设计实验报告

循环结构汇编语言程序设 计实验报告 实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和内存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验内容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示: 四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:+。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序汇编(翻译)后生成二进制目标程序,文件名为 (3)目标程序需要经连接生成可执行程序,文件名为 2)汇编环境

最基本的汇编环境只需要两个文件:和。将这两个文件拷入到已经建好的文件夹(例如huibian)中,并将文件夹huibian放在硬盘根目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入 数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数 据为13,0,59,900,587,1,657,234,34,48) 六、实验心得 通过本次循环结构汇编语言程序设计的实验,我初步了解了汇编语言的基本语法,利用汇编语言的循环结构实现了对于数组A中元素的排序以及求得元素中的最大值最小值。另外,在实验过程中,我也了解到了,我们要时刻细心严谨,认真做好每一步,避免出现低级错误。 七、汇编语言代码 1、利用冒泡排序实现求最大值最小值的代码 data segment mes1 db 'the max:$' mes2 db 'the min:$' a dw 13,0,59,900,587,1,657,234,34,48 data ends code segment main proc far assume cs:code,ds:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax ;以下是起泡排序核心代码 mov cx,10 dec cx loop1: mov di,cx mov bx,0

相关文档