循环结构实验报告

循环结构实验报告
循环结构实验报告

《VB语言程序设计》实验报告

实验名称:循环结构程序设计实验

姓名:____赵婷婷_____________

学号:_____3130541027____________

专业班号:_____营销131____________

教师签字:_________________

一、实验目的及要求

1. 掌握for语句的使用;

2. 掌握DO语句的各种形式的使用;

3. 掌握循环条件设置;

4. 实验独立完成,提交实验报告。

二、实验设备及环境

1.PC机一台;

2.Visual Basic 6.0企业版。

三、实验内容

1.设计程序,求出所有水仙花数。(如果一个三位整数等于它的各位数字的立方和,则此数称为水仙花数,如153=1^3+5^3+3^3)

2.在文本框中指定一个初始值,从该值开始,找出100个不能被7整除的自然数,并显示在列表框中。

3.在窗体上建立一个列表框List1和一个“显示”命令按钮COM1。列表框中已有5个列表项“表项1”——“表项5”。程序运行后,可通过多次单击选中多了列表项。单击“显示”按钮,在窗体上输出左右选中的列表项。

四、实验步骤

题1:

(1)用户界面设计

(2)设置对象属性

(3)关键程序代码

Private Sub Form_Load()

Show

Dim a As Integer, b As Integer, c As Integer For a = 1 To 9

For b = 0 To 9

For c = 0 To 9

If a & b & c = a ^ 3 + b ^ 3 + c ^ 3 Then Print a & b & c

End If

Next c

Next b

Next a

End Sub

(4)运行结果

题2:

(1)用户界面设计

(2)设置对象属性

(3)关键程序代码

Private Sub Form_Click()

Dim a As String

a = Text1.Text

Do While List1.ListCount < 100 If a Mod 7 > 0 Then

List1.AddItem a

End If

a = a + 1

Loop

End Sub

(4)运行结果

题3:

(1)用户界面设计

(2)设置对象属性

(3)关键程序代码Private Sub Command1_Click() For i = 0 To 4

If List1.Selected(i) = True Then Print List1.List(i)

End If

Next i

End Sub

(4)运行结果

五、实验总结

对于第一题来说,主要是循环结构和选择结构的穿插运用。第一个问题:For 语句用next结尾,刚开始是nexta,b,c.但是实际上应该是nextc,b,a。第二个问题:先是end if,后再nexta,b,c。因为先有for语句。第三个问题:必须要有show 才能显示出来。

对于第二题来说,do while语句和if语句的穿插运用。也是用时最长的一道题。基础知识不牢固,问题1:do while后面跟的是循环条件。而不是执行语句的条件。主要就在循环条件那卡住了。问题2:刚开始应该分析清楚条件,思路理清。

对于第三题。简单的list属性。记清楚属性值。For语句和if语句综合运用。和第一题差不多。不过对于多选问题还是有点模糊。

这次做题时间长的很。但仔细看过去,确实是基础不扎实。功夫没有下够。正是因为这次做题的小崩溃激发了我学好vb的决心。只是时间问题。

基于MATLAB的循环码实验报告

课程名称:信息论与编码 课程设计题目:循环码的编码和译码程序设计指导教师: 系别:专业: 学号:姓名: 合作者 完成时间: 成绩:评阅人:

一、实验目的: 1、通过实验了解循环码的工作原理。 2、深刻理解RS 码构造、RS 编译码等相关概念和算法。 二、实验原理 1、RS 循环码编译码原理与特点 设C 使某 线性分组码的码字集合,如果对任C c c c C n n ∈=--),,,(021 ,它的循环 移位),,,(1032)1(---=n n n c c c c C 也属于C ,则称该 码为循环码。 该码在结构上有另外的限制,即一个码字任意循环移位的结果仍是一个有效码字。其特点是:(1)可以用反馈移位寄存器很容易实现编码和伴随式的计算;(2)由于循环码有很多固有的代数结构,从而可以找到各种简单使用的译码办法。 如果一个 线性码具有以下的属性,则称为循环码:如果n 元组 },,,{110-=n c c c c 是子空间S 的一个码字,则经过循环移位得到的},,,{201)1(--=n n c c c c 也 同样是S 中的一个码字;或者,一般来说,经过j 次循环移位后得到的 },,,,,,,{11011)(---+--=j n n j n j n j c c c c c c c 也是S 中的一个码字。 RS 码的编码系统是建立在比特组基础上的,即字节,而不是单个的0和1,因此它是非二进制BCH 码,这使得它处理突发错误的能力特别强。 码长:12-=m n 信息段:t n k 2-= (t 为纠错符号数) 监督段:k n t -=2 最小码段:12+=t d 最小距离为d 的本原RS 码的生成多项式为:g(x)=(x-α)(x -α2)(x -α3)…(x -αd -2) 信息元多项式为::m(x)=m0+m1x+m2x2+…+mk -1xk-1 循环码特点有: 1)循环码是线性分组码的一种,所以它具有线性分组的码的一般特性,且具有循环性,纠错能力强。 2)循环码是一种无权码,循环码编排的特点为相邻的两个数码之间符合卡诺中的邻接条件,即相邻数码间只有一位码元不同,因此它具有一个很好的优点是它满足邻接条件,没有瞬时错误(在数码变换过程中,在速度上会有快有慢,中间经过其他一些数码形式,即为瞬时错误)。 3)码字的循环特性,循环码中任一许用码经过牡环移位后,所得到的码组仍然是许用码组。

数据结构-堆栈和队列实验报告

实验二堆栈和队列 实验目的: 1.熟悉栈这种特殊线性结构的特性; 2.熟练并掌握栈在顺序存储结构和链表存储结构下的基本运算; 3.熟悉队列这种特殊线性结构的特性; 3.熟练掌握队列在链表存储结构下的基本运算。 实验原理: 堆栈顺序存储结构下的基本算法; 堆栈链式存储结构下的基本算法; 队列顺序存储结构下的基本算法;队列链式存储结构下的基本算法;实验内容: 3-18链式堆栈设计。要求 (1)用链式堆栈设计实现堆栈,堆栈的操作集合要求包括:初始化Stacklnitiate (S), 非空否StackNotEmpty(S),入栈StackiPush(S,x), 出栈StackPop (S,d),取栈顶数据元素StackTop(S,d); (2)设计一个主函数对链式堆栈进行测试。测试方法为:依次把数据元素1,2,3, 4,5 入栈,然后出栈并在屏幕上显示出栈的数据元素; (3)定义数据元素的数据类型为如下形式的结构体, Typedef struct { char taskName[10]; int taskNo; }DataType; 首先设计一个包含5个数据元素的测试数据,然后设计一个主函数对链式堆栈进行测试,测试方法为:依次吧5个数据元素入栈,然后出栈并在屏幕上显示出栈的数据元素。 3-19对顺序循环队列,常规的设计方法是使用対尾指针和对头指针,对尾指针用于指示当 前的対尾位置下标,对头指针用于指示当前的対头位置下标。现要求: (1)设计一个使用对头指针和计数器的顺序循环队列抽象数据类型,其中操作包括:初始化,入队列,出队列,取对头元素和判断队列是否为空; (2)编写一个主函数进行测试。 实验结果: 3-18 typedef struct snode { DataType data; struct snode *n ext; } LSNode; /* 初始化操作:*/

汇编语言循环程序实验报告

东北大学 计算机硬件技术基础实验报告 一、实验目的 (1) 加深对循环结构的理解; (2) 掌握循环程序的设计方法; (3) 熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。 二、实验内容 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 2.设STR字符串是以0结尾。试编写一个把字符串中的所有大写字母改为小写字母的程序并将转换后的字符串显示输出。 3.试编程从自然数1开始累加,直到累加和大于5050为止,统计被累加的自然数的个数,并把统计的个数送入COUNT单元,累加和送入TOTAL单元。 三、算法描述流程图 实验内容1、2、3的流程图分别为图1、图2、图3。

图 1 图 2 图3

四、实验步骤 1.已知以BUF为首地址的字存储区中存放着8个有符号二进制数,是编写程序将其中大于等于0的数依次送BUF1为首地址的字存储区中,小于0的数依次送以BUF2为首地址的字存储区中。同时将大于等于0的数的个数送A字变量,将小于0数的个数送B字变量。 1)输入源程序: DATA SEGMENT BUF DW 23,123,-12,-210,45,0,90,-453 BUF1 DW 8 DUP(0) BUF2 DW 8 DUP(0) A DW ? B DW ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, BUF LEA SI, BUF1 LEA DI, BUF2 MOV A,0 MOV B,0 MOV CX,8 L0: MOV AX,[BX] CMP AX,0 JGE L1 MOV [DI],AX ADD DI,2 INC B JMP NEXT L1: MOV [SI],AX ADD SI,2 INC A NEXT: ADD BX,2 LOOP L0 MOV AH, 4CH INT 21H CODE ENDS END START 2)运行程序。

实验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. 预处理电极

队列实验报告

一.实验项目名称 循环队列和链式队列的创建 二、实验目的 1、掌握队列的特点 (先进先出 FIFO) 及基本操作 ,如入队、出队等, 2、队列顺序存储结构、链式存储结构和循环队列的实现,以便在 实际问题背景下灵活应用。 三、实验内容 1.链式队列的实现和运算 2.循环队列的实现和运算 四、主要仪器设备及耗材 VC++6.0 运行环境实现其操作 五.程序算法 (1)循环队列操作的算法 1>进队列 Void enqueue (seqqueue &q, elemtype x) { if ((q.rear+1)%maxsize = = q.front) cout<< ” overflow”; else { q.rear=(q.rear+1)%maxsize; // 编号加 1 或循环回第一个单元 q.queue[q.rear]=x; } } 2>出队列 Void dlqueue(seqqueue &q ) { if (q.rear= =q.front)cout<< ” underflow”; else q.front =(q.front+1)%maxsize; } 3>取对头元素

elemtype gethead(seqqueue q ) { if(q.rear= =q.front) { cout<<” underflow;” return NULL;} else return q.queue[(q.front+1)%maxsize]; //front 指向队头前一个位置 } 4>判队列空否 int empty(seqqueue q ) { if (q.rear= =q.front) else return 0; reurn 1; } (2).链队列操作的算法 1>.链队列上的初始化 void INIQUEUE( linkqueue&s) {link *p; p=new link; p->next=NULL;//p 是结构体指针类型,用 s.front=p;//s 是结构体变量,用. s.rear=p;//头尾指针都指向头结点 -> } 2>.入队列 void push(linkqueue &s, elemtype x) { link*p;//p 是结构体指针类型,用-> p=new link; p->data=x; p->next=s.rear->next;//s 是结构体变量,用s.rear->next=p; s.rear=p;//插入最后 . } 3>判队空 int empty( linkqueue s ) {if (s.front= =s.rear) return 1; else return 0; } 4>.取队头元素 elemtype gethead( linkqueue s ) { if (s.front= =s.rear) else retuen return NULL; s.front->next->data; }

电化学实验报告

电化学分析实验报告 院系:化学化工学院专业班级:学号:姓名: 同组者: 实验日期: 指导老师: 实验一:铁氰化钾在玻碳电极上的氧化还原 一、实验目的 1.掌握循环伏安扫描法。 2.学习测量峰电流和峰电位的方法。 二、实验原理 循环伏安法也是在电极上快速施加线性扫描电压,起始电压从ei开始,沿某一方向变化, 当达到某设定的终止电压em后,再反向回扫至某设定的起始电压,形成一个三角波,电压扫 描速率可以从每秒数毫伏到1v。 当溶液中存在氧化态物质ox时,它在电极上可逆地还原生成还原态物质,即 ox + ne → red;反向回扫时,在电极表面生成的还原态red则可逆地氧化成ox,即 red → ox + ne.由 此可得循环伏安法极化曲线。 在一定的溶液组成和实验条件下,峰电流与被测物质的浓度成正比。从循环伏安法图中 可以确定氧化峰峰电流ipa、还原峰峰电流ipc、氧化峰峰电位φ pa 和还原峰峰电位φpc。 对于可逆体系,氧化峰峰电流与还原峰峰电流比为:ipa/ipc =1 25℃时,氧化峰峰电位 与还原峰峰电位差为:△φ条件电位为:φ=(φpa+ φpc)/2 由这些数值可判断一个电极过程的可逆性。 =φ pa - φpc≈56/z (mv) 三、仪器与试剂 仪器::电化学分析仪va2020, 玻碳电极、甘汞电极、铂电极。试剂:铁氰化钾标准溶 液,0.5mol/l氯化钾溶液,蒸馏水。 四、实验步骤 1、溶液的配制 移取铁氰化钾标准溶液(10mol/l)5ml于50ml的塑料杯中,加入0.5mol/l氯化钾溶液, 使溶液达到30ml 。 2、调试 (1)打开仪器、电脑,准备好玻璃电极、甘汞电极和铂电极并清洗干净。(2)双击桌 面上的valab图标。 3、选择实验方法:循环伏安法 设置参数:低电位:-100mv;高电位600mv;初始电位-100mv; 扫描速度:50mv/s;取样间隔:2mv;静止时间:1s;扫描次数:1;量程: 200μa。 4. 开始扫描:点击绿色的“三角形”。 5. 将上述体系改变扫描速度分别为10mv/s、50mv/s、100mv/s、160mv/s、200mv/s,其 他条件不变,作不同速度下的铁氰化钾溶液的循环伏安曲线,其峰值电流与扫描速度的平方 根成正比关系。 -3 五、实验数据及处理 1. 找到循环伏安曲线上对应的氧化与还原峰,然后手动做切线。

《数据结构》实验报告 设计循环单链表

《数据结构》实验报告 1、实验名称:设计循环单链表 2、实验日期: 2013-3-26 3、基本要求: 1)循环单链表的操作,包括初始化、求数据元素个数、插入、删除、取数据元素; 2)设计一个测试主函数实际运行验证所设计循环单链表的正确性。 4、测试数据: 依次输入1,2,3,4,5,6,7,8,9,10,删除5,再依次输出数据元素。 5、算法思想或算法步骤: 主函数主要是在带头结点的循环单链表中删除第i个结点,其主要思想是在循环单链表中寻找到第i-1个结点并由指针p指示,然后让指针s指向a[i]结点,并把数据元素a[i]的值赋给x,最后把a[i]结点脱链,并动态释放a[i]结点的存储空间。 6、模块划分: 1)头文件LinList.h。头文件LinList.h中包括:结点结构体定义、初始化操作、求当前数据个数、插入一个结点操作、删除一个结点操作以及取一个数据元素操作; 2)实现文件dlb.cpp。包含主函数void main(void),其功能是测试所设计的循环单链表的正确性。

7、数据结构: 链表中的结点的结构体定义如下: typedef struct Node { DataType data; struct Node *next; }SLNode; 8、源程序: 源程序存放在两个文件中,即头文件LinList.h和实现文件dlb.cpp。//头文件LinList.h typedef struct Node { DataType data; struct Node *next; }SLNode; void ListInitiate(SLNode **head) //初始化 { *head=(SLNode *)malloc(sizeof(SLNode)); //申请头结点,由head指示其地址 (*head)->next=*head; }

数据结构-队列实验报告

《数据结构》课程实验报告 一、实验目的和要求 (1)熟悉C语言的上机环境,进一步掌握C语言的结构特点。 (2)掌握队列的顺序表示和实现。 二、实验环境 Windows7 ,VC 三、实验内容及实施 实验三:队列 【实验要求】 构建一个循环队列, 实现下列操作 1、初始化队列(清空); 2、入队; 3、出队; 4、求队列长度; 5、判断队列是否为空; 【源程序】 #include #define MAXSIZE 100 #define OK 1; #define ERROR 0; typedef struct { int *base; int front; int rear; }SqQueue;//队列的存储结构 int InitQueue(SqQueue &Q) {

Q.base=new int[MAXSIZE]; Q.front=Q.rear=0; return OK; }//队列的初始化 int EnQueue(SqQueue &Q,int e) { if((Q.rear+1)%MAXSIZE==Q.front) return ERROR; Q.base[Q.rear]=e; Q.rear=(Q.rear+1)%MAXSIZE; return OK; }//队列的入队 int DeQueue(SqQueue &Q,int &e) { if(Q.front==Q.rear) return ERROR; e=Q.base[Q.front]; Q.front=(Q.front+1)%MAXSIZE; return OK; }//队列的出队 int QueueLength(SqQueue &Q) { int i; i=(Q.rear-Q.front+MAXSIZE)%MAXSIZE; return i; }//求队列长度 void JuQueue(SqQueue &Q) { if(Q.rear==Q.front) printf("队列为空"); else printf("队列不为空"); }//判断队列是否为空 void QueueTraverse(SqQueue &Q)

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

嘉应学院计算机学院 实验报告 课程名称程序设计基础实验名称实验地点 指导老师实验时间提交时间 班级姓名座号 一、实验目的和要求 (1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)进一步学习调试程序。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错, 及时改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”, 根据提示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果 是否正确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容:编译以下题目的程序并调试运行。 (1)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 编写程序如下: #include int main() { char c; int letters=0,space=0,digit=0,other=0; printf("请输入一行字符:\n"); while((c=getchar())!='\n')

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

循环伏安法实验 【实验目的】 学习和掌握循环伏安法的原理和实验技术。 了解可逆波的循环伏安图的特性以及测算玻碳电极的有效面积的方法。 【实验原理】 循环伏安法是在固定面积的工作电极和参比电极之间加上对称的三角波扫 描电压(如图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

队列的表示及实现实验报告

陕西科技大学实验报告 班级信工082 学号200806030202 姓名李霄实验组别 实验日期2010-12-20 室温报告日期2010-12-20 成绩 报告内容:(目的和要求,原理,步骤,数据,计算,小结等) 实验名称:实验三队列的表示及实现 实验目的: 1、通过实验进一步理解队列的“先进先出”特性。 2、掌握队列的逻辑结构及顺序存储结构和链式存储结构。 3、熟练运用C语言实现队列的基本操作。 4、灵活运用队列解决实际问题。 实验内容: 1、实现链队列,并编写主函数进行测试。测试方法为:依次10、20、 30、40,然后,出对3个元素。再次入队50、60,然后出队3个元 素。查看屏幕上显示的结果是否与你分析的结果一致。 2、在1的基础上,再出队1个元素。查看屏幕上显示的结果是否与你 分析的结果一致。 3、编写主函数比较取队头元素操作和出队操作。 实验学时:2学时 实验程序 #include "stdio.h" #include "conio.h" typedef int DataType; typedef struct { DataType data; struct QNode* next; }LQNode,*PQNode; typedef struct { PQNode front,rear; }LinkQueue; int InitQueue(LinkQueue *Q) { Q->front=Q->rear=(PQNode)malloc(sizeof(LQNode));

if (!Q->front){printf("errors\n");return 0;} Q->front->next=NULL; return 1; } int QueueEmpty(LinkQueue Q) { if(Q.front==Q.rear) return 1; else return 0; } int EnQueue(LinkQueue *Q,DataType e) { PQNode p; p=(PQNode)malloc(sizeof(LQNode)); if(!p) { printf("\n\nerrors\n\n"); return 0; } p->data=e; p->next=NULL; Q->rear->next=p; Q->rear=p; return 1; } int DeQueue(LinkQueue *Q,DataType *e) { PQNode p; if( Q->front==Q->rear) { printf("\nerrors\n");

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

甘肃政法学院 本科生实验报告 ( 五) 姓名:赵明翔 学院:公安技术学院 专业:安全防范工程 班级: 2015级安全防范工程班 实验课程名称:程序设计 实验日期:2016年月日 开课时间:2015学年第二学期

(2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。例如,153是水仙花数,因为153=12+53+33程序如下: #include int main() { int i,j,k,n; printf("paicissus numbers are"); for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf("%d",n); } printf("\n"); return 0; } 运行结果: (3)猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又

多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下了1个桃子了。求第一天共摘了多少桃子。 程序如下: #include int main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; x2=x1; day--; } printf("total=%d\n",x1); return 0; } 运行结果: (4)①用牛顿迭代法求方程0634223=-+-x x x 在1.5附近的根. #include #include int main() {double x1,x0,f,f1; x1=1.5; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1;

超级电容器实验报告

实验报告 题目C,MnO2的电化学电容特性实验姓名许树茂 学号20104016005 所在学院化学与环境学院 年级专业新能源材料与器件创新班 指导教师舒东老师 完成时间2012 年 4 月

1.【实验目的】 1. 了解超级电容器的原理; 2. 了解超级电容器的比电容的测试原理及方法; 3. 了解超级电容器双电层储能机理的特点; 4. 掌握超级电容器电极材料的制备方法; 5. 掌握利用循环伏安法及恒流充放电的测定材料比电容的测试方法。 2. 【实验原理】 超级电容器的原理 超级电容器是由两个电极插入电解质中构成。超级电容与电解电容相比,具有非常高的功率密度和实质的能量密度。尽管超级电容器储存电荷的能力比普通电容器高,但是超级电容与电解电容或者电池的结构非常相似。 图1 超级电容器的结构图 从图中可看出,超级电容器与电解电容或者电池的结构非常相似,主要差别是用到的电极材料不一样。在超级电容器里,电极基于碳材料技术,可提供非常大的表面面积。表面面积大且电荷间隔很小,使超级电容器具有很高的能量密度。大多数超级电容器的容量用法拉(F)标定,通常在1F到5,000F之间。 (1) 双电层超级电容器的工作原理 双电层电容是在电极/溶液界面通过电子或离子的定向排列造成电荷的对峙所产生的。对一个电极/溶液体系,会在电子导电的电极和离子导电的电解质溶液界面上形成双电层。当在两个电极上施加电场后,溶液中的阴、阳离子分别向正、负电极迁移,在电极表面形成双电层;撤消电场后,电极上的正负电荷与溶液中的相反电荷离子相吸引而使双电层稳定,在正负极间产生相对稳定的电位差。这时对某一电极而言,会在一定距离内(分散层)产生与电极上的

实验报告5答案

实验报告 课程名称:高级语言程序设计 实验五:循环结构程序设计 班级: 学生姓名: 学号: 专业: 指导教师: 学期:2010-2011学年上学期 云南大学信息学院

一、实验目的 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 循环) 2、编程,从键盘输入若干个整数,当输入0时,输入停止。统计并输出总共输入了几个 数,以及所有输入数的和。(while 循环) 3、输入一行字符,分别统计其中的英文字母、数字、空格和其他字符的个数。 4、使用二重循环编程,绘制如下图形: *****A ****B ***C **D *E 5. 输入10个整数,输出最大值、最小值和平均分。 6. 编写程序,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。 () 1121231234121233535735793521n n π?????????=++++++?????????+………… 五、实验结果(要求写出运行界面及输出的运行结果)

扫描电镜实验报告

HUNAN UNIVERSITY 姓名:扫描电镜实验报告 姓名:高子琪 学号: 2

一.实验目的 1.了解扫描电镜的基本结构与原理; 2.掌握扫描电镜样品的准备与制备方法; 3.掌握扫描电镜的基本操作并上机操作拍摄二次电子像; 4.了解扫描电镜图片的分析与描述方法。 二.实验设备及样品 1.实验仪器:D5000-X衍射仪 基本组成:1)电子光学系统:电子枪、聚光镜、物镜光阑、样品室等 2)偏转系统:扫描信号发生器、扫描放大控制器、扫描偏转线圈 3)信号探测放大系统 4)图象显示和记录系统 5)真空系统 2.样品:块状铝合金 三.实验原理 1.扫描电镜成像原理 从电子枪阴极发出的电子束,经聚光镜及物镜会聚成极细的电子束(0.00025微米-25微米),在扫描线圈的作用下,电子束在样品表面作扫描,激发出二次电子和背散射电子等信号,被二次电子检测器或背散射电子检测器接收处理后在显象管上形成衬度图象。二次电子像和背反射电子反映样品表面微观形貌特征。而利用特征X射线则可以分析样品微区化学成分。 扫描电镜成像原理与闭路电视非常相似,显像管上图像的形成是靠信息的传送完成的。电子束在样品表面逐点逐行扫描,依次记录每个点的二次电子、背散射电子或X射线等信号强度,经放大后调制显像管上对应位置的光点亮度,扫描发生器所产生的同一信号又被用于驱动显像管电子束实现同步扫描,样品表面与显像管上图像保持逐点逐行一一对应的几何关系。因此,扫描电子图像所包含的信息能很好地反映样品的表面形貌。 2.X射线能谱分析原理 X射线能谱定性分析的理论基础是Moseley定律,即各元素的特征X射线频率ν的平方根与原子序数Z成线性关系。同种元素,不论其所处的物理状态或化学状态如何,所发射的特征X射线均应具有相同的能量。

C语言循环实验报告

实验名:循环结构 实验目的 1、掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。 2、了解条件型循环结构的基本测试方法。 3、掌握如何正确地控制计数型循环结构的次数 4、了解对计数型循环结构进行测试的基本方法 5、了解在嵌套循环结构中,提高程序效率的方法 二、实验内容 (一))题目1 1、题目内容描述 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

湖南大学材料化学电化学实验报告汇总

实验一 线性极化法测定金属Fe 在稀H 2SO 4中的腐蚀速度 一、基本要求 1. 掌握动电位扫描法测定电极极化曲线的原理和实验技术。通过测定Fe 在 0.1M 硫酸溶液中的极化曲线,求算Fe 的自腐蚀电位,自腐蚀电流。 2. 讨论极化曲线在金属腐蚀与防护中的应用。 二、实验原理 当金属浸于腐蚀介质时,如果金属的平衡电极电位低于介质中去极化剂(如H +或氧分子)的平衡电极电位,则金属和介质构成一个腐蚀体系,称为共轭体系。此时,金属发生阳极溶解,去极化剂发生还原。以金属铁在盐酸体系中为例: 阳极反应: Fe-2e=Fe 2+ 阴极反应: H ++2e=H 2 阳极反应的电流密度以 i a 表示, 阴极反应的速度以 i k 表示, 当体系达到稳定时,即金属处于自腐蚀状态时,i a =i k =i corr (i corr 为腐蚀电流),体系不会有净的电流积累,体系处于一稳定电位c ?。根据法拉第定律,体系通过的电流和电极上发生反应的物质的量存在严格的一一对应关系,故可阴阳极反应的电流密度代表阴阳极反应的腐蚀速度。金属自腐蚀状态的腐蚀电流密度即代表了金属的腐蚀速度。因此求得金属腐蚀电流即代表了金属的腐蚀速度。 金属处于自腐蚀状态时,外测电流为零。 极化电位与极化电流或极化电流密度之间的关系曲线称为极化曲线。极化曲线在金属腐蚀研究中有重要的意义。测量腐蚀体系的阴阳极极化曲线可以揭示腐蚀的控制因素及缓蚀剂的作用机理。在腐蚀点位附近积弱极化区的举行集会测量可以可以快速求得腐蚀速度。还可以通过极化曲线的测量获得阴极保护和阳极保护的主要参数。 在活化极化控制下,金属腐蚀速度的一般方程式为: 其中 I 为外测电流密度,i a 为金属阳极溶解的速度,i k 为去极化剂还原的速度,βa 、βk 分别为金属阳极溶解的自然对数塔菲尔斜率和去极化剂还原的自然对数 )]ex p()[ex p( k c a c corr k a i i i I β? ?β??---=-=

栈和队列综合实验报告

栈和队列综合实验报告 一、实验目的 (1)能够利用栈和队列的基本运算进行相关操作。 (2)进一步熟悉文件的应用 (3)加深队列和栈的数据结构理解,逐步培养解决实际问题的编程能力。 二、实验环境 装有Visual C++的计算机。 本次实验共计4学时。 三、实验内容 以下两个实验任选一个。 1、迷宫求解 设计一个迷宫求解程序,要求如下: 以M × N表示长方阵表示迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 能任意设定的迷宫 (选作)如果有通路,列出所有通路 提示: 以一个二维数组来表示迷宫,0和1分别表示迷宫中的通路和障碍,如下图迷宫数据为:11

01 01 01 01 01 01 01 11 入口位置:1 1 出口位置:8 8 四、重要数据结构 typedef struct{ int j[100]; int top;栈顶指针,一直指向栈顶 }stack;//存放路径的栈 int s[4][2]={{0,0},{0,0},{0,0},{0,0}}; //用于存放最近的四步路径坐标的数组,是即使改变的,即走一步,便将之前的坐标向前移一步,将最早的一步坐标覆盖掉,新的一步放入数组末尾其实功能和队列一样。 其作用是用来判断是否产生了由于本程序算法产生的“田”字方格内的死循环而准备的,用于帮助跳出循环。 五、实现思路分析 if(a[m][n+1]==0&&k!=3){ n++; k=1; o=0; }else if(a[m+1][n]==0&&k!=4){ m++;

k=2; o=0; }else if(a[m][n-1]==0&&k!=1){ n--; k=3; o=0; }else if(a[m-1][n]==0&&k!=2){ m--; k=4; o=0; }else{ o++;} if(o>=2){ k=0; }//向所在方格的四个方向探路,探路顺序为→↓←↑(顺时针),其中if判断条件内的&&k!=n和每个语句块中的对k赋值是为防止其走回头路进入死循环,而最后一个else{}内语句是为了防止进入死路时,不能走回头路而造成的死循环。 push(q,m,n);//没进行一次循环都会讲前进的路径入栈。 if (pushf(&s[0][0],m,n)==0){ k=3;}//用来判断是否产生了由于本程序探路算法产生的“田”字方格内的死循环而准备的,用于帮助跳出田字循环。同时会将路径存入用于下次判断 六、程序调试问题分析 最开始写完时是没有死路回头机制的,然后添加了两步内寻路不回头机制。 第二个是“田”字循环问题,解决方法是加入了一个记录最近四步用的数组和一个判断田字循环的函数pushf。

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

循环伏安法测定亚铁氰化钾 实验目的 (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作图,说明峰电流与浓度的关系。

相关文档
最新文档