文本文件单词的检索与计数课程设计实验报告

文本文件单词的检索与计数课程设计实验报告
文本文件单词的检索与计数课程设计实验报告

文件检索

1需求分析

1.1 建立文本文件

建立文本文件的实现思路

(1)定义一个串变量

(2)定义文本文件

(3)输入文件名,打开该文件

(4)循环读入文本行,写入文本文件,其过程如下:

While(不是文件输入结束){

读入一文本行至串变量;

串变量写入文件;

输入是否结束输入标志;

}

(5)关闭文件

1.2给定单词的计数

该功能需要用到前一节中设计的模式匹配算法,逐行扫描文本文件。匹配一个,计数器加1,直到整个文件扫描结束;然后输出单词的次数。

1.3 检索单词出现在文本文件中的行号、次数及其位置

1.4 主控菜单程序的结构

(1)头文件包含

(2)菜单选择包括:

1、建立文件

2、单词计数

3、单词定位

4、退出程序

(3)选择1~4执行相应的操作,其他字符为非法

2.概要设计

2.流程图

2.1建立文本文件

定义一个串变量,定义文本文件,输入文件名,打开该文件,循环读入文本行,写入文本文件,关闭文件。

定义一个串变量

定义文本文件

输入文件名,打开该文件

循环读入文本行,写入文本文件

关闭文件

While 是文本文件

读入一文本行至串变量

串变量写入文

文件输入结束

Y

N

建立文本文件的思路过程

2.2给定单词的计数

逐行扫描文本文件。匹配一个,计数器加1,直到整个文件扫描结束;然后输出单词的次数。

给定一个单词定义N=1,S=0一共给了M 个单词

扫描第N 个单词

If N<=M

S=S+1If 第N 个单词与所给

单词相同

结束

输出S

及为单词的计数

N=N+1

N

Y

Y

N

给定单词计数的过程

2.3检索单词出现在文本文件中的行号、次数及其位置

逐行扫描文本文件。扫描一个单词,单词数加1,匹配一个,计数器加1,输出该单词

数,行数到底

以此,行数加1,单词数清零,直到整个文件扫描结束;然后输出单词的次数,行号,第几个单词。

输入文本文件

输入要检索的

单词定义L=1,I=0,N=1

扫描第L 行第N 个单词

If 第N 个单词与所给单词相同N=N+1

假设一共X 行每行Y 个单词

输出N

N=1

If N<=X

I=I+1

L=L+1

If L<=Y

输出I

I=0

输出L

结束

L 为行数I 为次数N 为第几个单词

Y N

Y

N Y

N

检索单词的出现在文本文件中的行号,次数以及位置

3详细设计

主代码

#include

#include

#define MaxStrSize 256 //根据用户需要自己定义大小

typedef struct

{

char ch[MaxStrSize]; //ch是一个可容纳256个字符的字符数组

int length;

}SString; //定义顺序串类型

int PartPosition(SString s1, SString s2, int k)

{

int i, j;

i=k-1; //扫描s1的下标,因为c中数组下标是从0开始,串中序号相差1 j=0; //扫描s2的开始下标

while (i

{

if(s1.ch[i]==s2.ch[j])

{

i++;

j++; //继续使下标移向下一个字符位置

}

else

{

i=i-j+1;

j=0;

}

}

if(j>=s2.length)

return i-s2.length;

else

return -1; //表示s1中不存在s2,返回-1

//表示s1中不存在s2,返回其起始位置

} //函数结束

void CreatTextFile()

{

SString S;

char fname[10], yn;

FILE *fp;

printf("输入要建立的文件名:");

scanf("%s", fname);

fp=fopen(fname,"w");

yn='n'; //输入结束标志初值

while(yn=='n'||yn=='N')

{

printf("请输入一行文本:");

gets(S.ch);gets(S.ch);

S.length=strlen(S.ch);

fwrite(&S, S.length, 1, fp);

fprintf(fp,"%c", 10); //是输入换行

printf("结束输入吗?y or n: ");

yn=getchar();

}

fclose(fp); //关闭文件

printf("建立文件结束!");

}

void SubStrCount()

{

FILE *fp;

SString S,T; //定义两个串变量

char fname[10];

int i=0,j,k;

printf("输入文本文件名:");

scanf("%s", fname);

fp=fopen(fname ,"r");

printf("输入要统计技术的单词:");

scanf("%s", T.ch);

T.length=strlen(T.ch);

while(!feof(fp))

{ //扫描整个文件文本

//fread(&S.ch,1,sizeof(S),fp); //读入一行文本

memset(S.ch,'\0', 256);

fgets(S.ch,100,fp);

S.length=strlen(S.ch);

k=0; //初始化开始检索位置

while(k

{

j=PartPosition(S,T,k);

if(j<0)

break;

else

{

i++; //单词计数器加1

k=j+T.length; //继续下一字串的检索

}

}

}printf("\n单词%s在文本文件%s中共出现%d次\n", T.ch, fname,i);

} //统计单词出现个数

void SubStrInd()

{

FILE *fp;

SString S,T; //定义两个串变量

char fname[10];

int i,j,k,l,m;

int wz[20];

printf("输入文本文件名:");

scanf("%s", fname);

fp=fopen(fname,"r");

printf("输入要检索的单词:");

scanf("%s", T.ch);

T.length=strlen(T.ch);

l=0;

while(!feof(fp))

{

//fread(&S, sizeof(S), 1, fp);//读入一行文本

memset(S.ch,'\0', 256);

fgets(S.ch,256,fp);

S.length=strlen(S.ch);

l++;

k=0;

i=0;

while(k

{

j=PartPosition(S,T,k);

if(j<0)

break;

else

{

i++;

wz[i]=j;

k=j+T.length;

}

}

if(i>0)

{

printf("行号:%d , 次数:%d, 位置分别为:",l, i);

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

printf("%4d", wz[m]+1);

printf("\n");

}

}

}

int main()

{

void CreatTextFlie(), SubStrInd();

int xz;

do

{

printf("****************************************\n");

printf("*文本文件的检索、字符串的统计及定位*****\n");

printf("****************************************\n");

printf("* 1.建立文本文件*\n");

printf("* 2.单词字符串的计数*\n");

printf("* 3.单词字符串的定位*\n");

printf("* 4.退出程序*\n");

printf("****************************************\n");

printf(" 请选择(1——4)\n");

scanf("%d", &xz);

switch(xz)

{

case 1:CreatTextFile(); break;

case 2:SubStrCount(); break;

case 3:SubStrInd(); break;

case 4:return 0;

default: printf("选择错误,重新选\n");

}

}while(1);

}

4调试分析

4.1未输入文件前的页面

4.2输入文本文件,计数单词出现的次数

4.3检索某单词的行号,出现次数,以及位置

5课程总结

经过一周的奋斗,这次数据结构的课程设计终于做完了。通过这次设计我们也着实又感受了一次编程的乐趣,从中也学到了不少知识。

感受最深的一点是:以前用编程,只是注重如何编写函数能够完成所需要的功能,似乎没有明确的战术,只是凭单纯的意识和简单的语句来堆砌出一段程序。现在编程感觉完全不同了。在编写一个程序之前,先对这个课程设计进行了一下分析,将每个要求都花了一下算法流程图,使得自己的思路更加的清晰了。然后进行编程,不断的在电脑上调试程序,终于完成了此次的课程设计。

另外,我还体会到深刻理解数据结构的重要性。只有真正理解这样定义数据类型的好处,才能用好这样一种数据结构。了解典型数据结构的性质是非常有用的,它往往是编写程序的关键。

通过这次课程设计逐渐提高了自己的程序设计和调试能力,我以前对算法一直很害怕,总是看不明白究竟这程序中间的过程是怎么进行的。在这次实验中我终于克服了这一障碍,一遍遍在心中自己默默的走,终于弄明白了,真的是功夫不负有心人啊!

这次试验也让我看到了自己的不足,还是不太用模板类。还有许多关于C语言的一些比较具体的东西还不太懂,需要进一步了解。这次试验还让我意识到只

有不断的在电脑上调试程序,自己的水平才能得到提高。

我会继续我们的兴趣编写程序的,相信在越来越多的尝试之后,自己会不断进步和提高。

在此我要感谢尹四清老师和薛海丽老师在数据结构及课程设计中对我们的指引和帮助。

课程设计实验报告

竭诚为您提供优质文档/双击可除 课程设计实验报告 篇一:课程设计(综合实验)报告格式 课程设计报告 (20XX--20XX年度第一学期) 名称:题目:院系:班级:学号:学生姓名:指导教师:设计周数: 成绩:日期:《软件设计与实践》课程设计计算机系软件设计与实践教学组 20XX年1月14 日 《软件设计与实践》课程设计 任务书 一、目的与要求 1.了解网络爬虫的架构和工作原理,实现网络爬虫的基本框架;2.开发平台采用JDK1.60eclipse集成开发环境。 二、主要内容 1.了解网络爬虫的构架,熟悉网页抓取的整个流程。

2.学习宽度优先和深度优先算法,实现宽度crawler应用程序的编写、调试和运行。 3.学习主题爬行及内容分析技术。 4.实现网络爬虫的基本框架。 三、进度计划 四、设计成果要求 1.要求按时按量完成所规定的实验内容; 2.界面设计要求友好、灵活、易操作、通用性强、具有实用性; 3.基本掌握所采用的开发平台。五、考核方式 平时成绩+验收+实验报告。 学生姓名:于兴隆指导教师:王蓝婧20XX年1月2日 一、课程设计的目的与要求1.目的: 1.1掌握crawler的工作原理及实现方法;1.2了解爬虫架构; 1.3熟悉网页抓取的整个流程及操作步骤; 1.4掌握宽度优先,深度优先算法,并实现宽度crawler 应用程序的编写、调试和运行;1.5掌握主题爬行及内容分析技术;1.6实现一个最基础的主题爬虫的过程;1.7理解pageRank算法,并编程验证;二、设计正文 网络爬虫研究与应用 [摘要]:本文通过对网络爬虫研究的逐步展开,讨论了爬虫的相关概念与技术,并通过实验设计了简单的基于宽度

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

数字电子钟课程设计实验报告

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计任务书2016/2017 学年第一学期 学生姓名:张涛学号: 李子鹏学号: 课程设计题目:数字电子钟的设计 起迄日期:2017年1月4日~2017年7月10日 课程设计地点:科学楼 指导教师:姚爱琴 2017年月日 课程设计任务书

中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计开题报告2016/2017 学年第一学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号:

指导教师:姚爱琴 2017 年 1 月 6 日 中北大学 信息与通信工程学院 通信工程专业 《电子线路及系统》课程设计说明书2016/2017 学年第二学期 题目:数字电子钟的设计 学生姓名:张涛学号: 李子鹏学号: 指导教师:姚爱琴 2017 年月日

目录 1 引言 (6) 2 数字电子钟设计方案 (6) 2.1 数字计时器的设计思想 (6) 2.2数字电路设计及元器件参数选择 (6) 2.2.2 时、分、秒计数器 (7) 2.2.3 计数显示电路 (8) 2.2.5 整点报时电路 (10) 2.2.6 总体电路 (10) 2.3 安装与调试 (11) 2.3.1 数字电子钟PCB图 (11) 3 设计单元原理说明 (11) 3.1 555定时器原理 (12) 3.2 计数器原理 (12) 3.3 译码和数码显示电路原理 (12) 3.4 校时电路原理 (12) 4 心得与体会 (12) 1 引言 数字钟是一种用数字电子技术实现时,分,秒计时的装置,具有较高的准确性和直观性等各方面的优势,而得到广泛的应用。此次设计数字电子钟是为了了解数字钟的原理,在设计数字电子钟的过程中,用数字电子技术的理论和制作实践相结合,进一步加深数字电子技术课程知识的理解和应用,同时学会使用Multisim电子设计软件。 2数字电子钟设计方案 2.1 数字计时器的设计思想 要想构成数字钟,首先应选择一个脉冲源——能自动地产生稳定的标准时间脉冲信号。而脉冲源产生的脉冲信号地频率较高,因此,需要进行分频,使得高频脉冲信号变成适合于计时的低频脉冲信号,即“秒脉冲信号”(频率为1Hz)。经过分频器输出的秒脉冲信号到计数器中进行计数。由于计时的规律是:60秒=1分,60分=1小时,24小时=1天,就需要分别设计60进制,24进制计数器,并发出驱动信号。各计数器输出信号经译码器、驱动器到数字显示器,是“时”、“分”、“秒”得以数字显示出来。 值得注意的是:任何记时装置都有误差,因此应考虑校准时间电路。校时电路一般

模电课程设计报告

模电课程设计实验报告课题:函数信号发生器 指导老师:________________ 学院:___________________ 班级:___________________ 姓名:___________________ 学号:___________________

日期:__________________ 一.设计目的与要求 1.1设计目的 1.设计电路产生RC桥式正弦波产生电路,占空比可调的矩形波电路,占空比可调的三角波电路,多用信号源产生电路,分别产生正弦波、方波、三角波 2.通过设计,可以将所学的电子技术应用到实际当中,加深对信号产生电路的理解,锻炼自己的动手能力与查阅资料的能力。使自己的对模电的理解更为透彻。 1.2设计内容及要求 1)RC桥式正弦波产生电路,频率分别为300Hz、1KHz、10KHz、500KHz,输出幅值300mV~5V可调、负载1KΩ。 (2)占空比可调的矩形波电路,频率3KHz,占空比可调范围10%~90%,输出幅值3V、负载1KΩ。

(3)占空比可调的三角波电路,频率1KHz,占空比可调范围10%~90%,输出幅值3V、负载1KΩ。 (4)多用信号源产生电路,分别产生正弦波、方波、三角波,频率范围100Hz~3KHz、输出幅值≥5V、负载电阻1KΩ。 软件仿真部分元器件不限,只要元器件库中有即可,但需要注意合理选取。 二.单信号发生电路 2、1 RC桥式正弦波产生电路 参数计算:

器件选择: 2、2占空比可调的矩形波产生电路 参数计算: 器件选择:

2、3占空比可调的三角波产生电路 参数计算: 器件选择:

vf课程设计实验报告模板

vf 课程设计实验报告模板 经济管理学院 学生信息管理系统的设计与实现 09年12 月28 日 、课程设计的目的和意义 当今,人类正在步入一个以智力资源的占有和配置,知识生产、分配和使用为最重要因素的知识经济时代,为了适应知识经济时代发展的需要,大力推动信息产业的发展,我们通过对学生信息管理系统的设计,来提高学生的操作能力,及对理论知识的实践能力,从而提高学生的基本素质,使其能更好的满足社会需求。 学生信息管理系统是一个简单实用的系统,它是学校进行学生管理的好帮手。 此软件功能齐全,设计合理,使用方便,适合各种学校对繁杂的学生信息进行统筹管理,具有严格的系统使用权限管理,具有完善的管理功能,强大的查询功能。它可以融入学校的信息管理系统中,不仅方便了学生信息各方面的管理,同时也为教师的管理带来了极大地便利。 我们进行本次课程设计的主要目的是通过上机实践操作,熟练掌握数据库的设 计、表单的设计、表单与数据库的连接、SQL语言的使用和了解它的功能:数据定 义、数据操纵、数据控制,以及简单VF程序的编写。基本实现学生信息的管理, 包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除,并对Visual FoxPro6.0 的各种功能有进一步的了解,为我们更进一步深入的学习奠定基础,并在实践中提高我们的实际应用能力,为我们以后的学习和工作提供方便,使我们更容易融入当今社会,顺应知识经济发展的趋势。 - 1 -

、系统功能设计 通过该系统可以基本实现学生信息的管理,包括系统的登录、学生信息的录 入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。系统 功能模块如下图所示。 学生信息管理系统主界面 登录 管理 学学学学学 生生生生生 信信信信信 息息息息息 录查浏修删 入询览改除 三、系统设计内容及步骤 3.1创建项目管理文件 1.启动foxpro 系统,建一个项目管理器,命名为“学生管理”。 哑 目f ■ 也 电 岂同左 矣 氏H. 0 存 JI 蛋誤曾

数电课程设计-温度计实验报告(提交版)

一、设计项目名称 温度采集显示系统硬件与软件设计 二、设计内容及要求 1,根据设计要求,完成对单路温度进行测量,并用数码管显示当前温度值系统硬件设计,并用电子CAD软件绘制出原理图,编辑、绘制出PCB印制版。 要求: (1)原理图中元件电气图形符号符合国家标准; (2)整体布局合理,注标规范、明确、美观,不产生歧义。 (3)列出完整的元件清单(标号、型号及大小、封装形式、数量) (4) 图纸幅面为A4。 (4)布局、布线规范合理,满足电磁兼容性要求。 (5)在元件面的丝印层上,给出标号、型号或大小。所有注释信息(包括标号、型号及说明性文字)要规范、明确,不产生歧义。 2.编写并调试驱动程序。 功能要求: (1)温度范围0-100℃。 (2)温度分辨率±1℃。 (3)选择合适的温度传感器。 3.撰写设计报告。 提示:可借助“单片机实验电路板”实现或验证软件、硬件系统的可靠性。 温度传感器 摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器 实现对温度的测试与控制得到更快的开发,随着时代的进步和发展,单 片机技术已经普及到我们生活,工作,科研,各个领域。一种数字式温 度计以数字温度传感器DS18B20作感温元件,它以单总线的连接方式, 使电路大大的简化。传统的温度检测大多以热敏电阻为传感器,这类传 感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了 传统的温度测量方法,利用单片机STC89C52对传感器进行控制。这样

易于智能化控制。 关键词:数字测温;温度传感器DS18B20;单片机STC89C52; 一.概述 传感器从功能上可分为雷达传感器、电阻式传感器、电阻应变式传感器、压阻式传感器、热电阻传感器、温度传感器、光敏传感器、湿度传感器、生物传感器、位移传感器、压力传感器、超声波测距离传感器等,本文所研究的是温度传感器。 温度传感器是最早开发,应用最广泛的一类传感器。温度传感器是利用物质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律性变化的物理性质主要有半导体。温度传感器是温度测量仪表的核心部分,品种繁多。 随着科学技术的发展,测温系统已经被广泛应用于社会生产、生活的各个领域,在工业、环境监测、医疗、家庭多方面均有应用。从而使得现代温度传感器的发展。微型化、集成化、数字化正成为发展的一个重要方向。 二.硬件设计 1.DS18B20 DS1820 单线数字温度计特性 ? 独特的单线接口仅需一个端口引脚进行通讯 ? 简单的多点分布应用 ? 无需外部器件 ? 可通过数据线供电 ? 零待机功耗 ? 测温范围-55~+125℃,以 0.5℃递增 ? 温度以 9 位数字量读出 ? 温度数字量转换时间 200ms (典型值) ? 用户可定义的非易失性温度报警设置 ? 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 ? 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统 DS1820温度传感器外观图(a )和引脚图(b ) ①引脚1接地 ②引脚2数字信号输入/输出 ③引脚3接高电平5V 高电平

模电实验报告

模拟电子电路课程设计报告书 题目名称:直流稳压电源 姓名:刘海东潘天德 班级:15电科2 学号:23 26 日期:2017.6.11

目录 绪论 (2) 一设计目的 (3) 二设计要求与指标 (3) 三理论分析 (4) 四器件选择及计算 (9) 五具体制作步骤 (12) 六测试方法 (13) 七问题及总结 (15) 八心得体会 (17) 绪论 直流稳压电源一般由电源变压器,整流滤波电路及稳压电路所组成。变压器把市电交流电压变为所需要的低压交流电。整流器把交流电变为直流电。经滤波后,稳压器再把不稳定的直流电压变为稳定的直流电压输出。本设计主要采用直流稳压构成集成稳压电路,通过变压,整流,滤波,稳压过程将220V交流电,变为稳定的+/- 5v直流电,并实现电压可在8-15V连续可调。电源在生活中是非常常见的一种电器,任何电子电路都离不开电源,就像我们下学期即将学到的单片机一样,需要5V的直流电源,没有电源就不能进行正常的工作,如果用干电池进行供电,则有供电功率低,持续供电能力差,成本高等缺点。而交流电在产生、电能输送等方面具有独特的优点,发电站、各市电网中的电能传输都是以交流电的形式进行输送,如果我们对市电提供的电压进行降压整流等,把交流电转换成直流电,以获得我们所

需要的电压。 一设计目的 1.学习基本理论在实践中综合运用的初步经验,掌握模拟电路设计的基本方法、设计步骤,培养综合设计与调试能力。 2.学会直流稳压电源的设计方法和性能指标测试方法。 3.培养实践技能,提高分析和解决实际问题的能力。 二设计要求与指标 2.1设计要求 (1)分析电路组成及工作原理; (2)单元电路设计计算; (3)采用分立元件电路; (4)画出完整电路图; (5)调试方法; (6)小结与讨论。 2.2设计指标 (1)输出电压:8~15V可调 (2)输出电流:I O=1A (3)输入电压:交流 220V+/-10%

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

【实验报告】大学物理实验课程设计实验报告

大学物理实验课程设计实验报告北方民族大学 大学物理实验(设计性实验) 实验报告 指导老师:王建明 姓名:张国生 学号:XX0233 学院:信息与计算科学学院 班级:05信计2班 重力加速度的测定 一、实验任务 精确测定银川地区的重力加速度 二、实验要求 测量结果的相对不确定度不超过5% 三、物理模型的建立及比较 初步确定有以下六种模型方案: 方法一、用打点计时器测量

所用仪器为:打点计时器、直尺、带钱夹的铁架台、纸带、夹子、重物、学生电源等. 利用自由落体原理使重物做自由落体运动.选择理想纸带,找出起始点0,数出时间为t的p点,用米尺测出op的距离为h,其中t=0.02秒×两点间隔数.由公式h=gt2/2得g=2h/t2,将所测代入即可求得g. 方法二、用滴水法测重力加速度 调节水龙头阀门,使水滴按相等时间滴下,用秒表测出n个(n取 50―100)水滴所用时间t,则每两水滴相隔时间为t′=t/n,用米尺测出水滴下落距离h,由公式h=gt′2/2可得g=2hn2/t2. 方法三、取半径为r的玻璃杯,内装适当的液体,固定在旋转台上.旋转台绕其对称轴以角速度ω匀速旋转,这时液体相对于玻璃杯的形状为旋转抛物面重力加速度的计算公式推导如下: 取液面上任一液元a,它距转轴为x,质量为m,受重力mg、弹力n.由动力学知: ncosα-mg=0(1) nsinα=mω2x(2) 两式相比得tgα=ω2x/g,又tgα=dy/dx,∴dy=ω2xdx/g, ∴y/x=ω2x/2g.∴g=ω2x2/2y. .将某点对于对称轴和垂直于对称轴最低点的直角坐标系的坐标x、y测出,将转台转速ω代入即可求得g.

模电课程设计实验报告分析

模电课程设计实验报告 实验内容:一、设计并制作一个能输出+5V 电压的直流稳压电源,输入电压为直流9V。二、利用课程设计(一)制作的电源、电压比较器、电压跟随器设计,驱动三 极管,通过可调电阻,控制LED灯的点亮和熄灭。 实验要求:(1)设计出+5V 直流稳压电源的电路原理图; (2)在万用板上焊接组装给定的元器件并进行调试,输入电压没有极性之分, 输出电压+5V,并点亮电源指示灯(红色); (3)设计一款电压比较器A,参考电压2.5V; (4)设计一款电压跟随器B,跟随电压比较器A 的电压; (5)驱动三极管,通过可调电阻,实现对LED(绿色)灯的控制; (6)完成课程设计报告的撰写。 实验原理: 一、制作稳定电压源 采用二极管、集成运放、电阻、稳压管、电容、二极管、LED发光二极管等元件器件。 输入电压为9V 的直流电源经桥式整流电路和滤波电路形成稳定的直流电源,稳压部分采用 串联型稳压电路。比例运算电路的输入电压为稳定电压;同时,为了扩大输出大电流,集 成运放输出端加晶体管,并保持射极输出形式,就构成了具有放大环节的串联型稳压电路。整体功能结构如图 直流9V 1、单相桥式整流电路 直流5V 为了将电压转换为单一方向的电压,通过整流电路实现。查阅资料可知单相整流电路有单相桥式整流电路(全波整流电路)。桥式整流电路巧妙地利用了二极管的单向导电性,将四个二极管分为两组,根据变压器次级电压的极性分别导通,将变压器次级电压的正极性端与负载电阻的上端相连,负极性端与负载电阻的下端相连,使负载上始终可以得到一个单方向的脉动电压。单相桥式整流电路,具有输出电压高,变压器利用率高、脉动系数小等优点。所以在电路中采用单相桥式整流电路。 2、滤波电路 整流电路滤波电路稳压电路

个人信息管理系统毕业课程设计实验报告

(此文档为word格式,下载后您可任意编辑修改!) 山东交通学院 目录 1.系统分析 (2) 1.1系统需求分析 (2) 1.2项目规划 (2) 1.3系统功能结构分析 (3) 1.4设计目的分析 (3) 2.数据库系统设计 (4) 2.1数据表概要设计 (4) 2.2数据库逻辑结构设计 (4) 3.应用程序设计 (5) 3.1界面设置 (5) 3.2关键技术 (15) 4.系统安装 (20) 建立数据源 (20) 5.设计体会 (21) 参考文献 (22)

摘要 随着经济社会的发展,计算机已被应用到社会生活的各个领域。与此同时,互联网作为信息技术的通信桥梁连接着全球的计算机,而网站作为网络信息主要的表现形式而且还是互联网信息的主要承载者,在网络上表现出其及其重要的地位,并发挥着极其重要的作用。无论是在国内还是国外都得以迅速的发展和壮大,并被人们重视和关注。互联网已经彻底的改变了世界,互联网的世界里蕴藏着无限的可能,在这种情况下,各行各业及其个人、单位、工厂、企事业等等在网上构筑属于自己的网络信息平台,保护自己的网络资源并在互联网上开辟自己的市场和消费群体,以及构造自己的数字化世界和加强全球范围内不同地域的人们联系交流等等活动也就显的日益重要。于是各种各样的网站便如雨后春笋般地出现鱼龙混杂且良莠不齐。因此,个人信息的管理就显得尤为重要了。不仅可以更好的保护个人信息,对日常的使用也会提供很大的方便。关键词:个人信息管理系统;数据集;数据库;Visual C++6.0。 1.系统分析 1.1系统需求分析 在做本系统前,我对系统的需求做了如下分析: 1)登录权限:在登录权限的分析上我们规定必须凭借用户名和密码才可登陆,进行管理。 2)使用者功能:首先说明一下,我们的系统用户对象是个人。关于其本系统的功能,大致可分为日记管理,通讯录管理,备忘录管理,以及个人财务管理;日记管理,其中包括用户对日记编号,时间,地点,事件、人物的查询、

南邮课程设计实验报告

课程设计I报告 题目:课程设计 班级:44 姓名:范海霞 指导教师:黄双颖 职称: 成绩: 通达学院 2015 年 1 月 4 日

一:SPSS的安装和使用 在PC机上安装SPSS软件,打开软件: 基本统计分析功能包括描述统计和行列计算,还包括在基本分析中最受欢迎的常见统计功能,如汇总、计数、交叉分析、分类比较、描述性统计、因子分析、回归分析及聚类分析等等。具体如下: 1.数据访问、数据准备、数据管理与输出管理; 2.描述统计和探索分析:频数、描述、集中趋势和离散趋势分析、分布分析与查看、正态性检验与正态转换、均值的置信区间估计; 3.交叉表:计数;行、列和总计百分比;独立性检验;定类变量和定序变量的相关性测度; 4.二元统计:均值比较、T检验、单因素方差分析; 5.相关分析:双变量相关分析、偏相关分析、距离分析; 6.线性回归分析:自动线性建模、线性回归、Ordinal回归—PLUM、曲线估计; 7.非参数检验:单一样本检验、双重相关样本检验、K重相关样本检验、双重独立样本检验、K重独立样本检验; 8.多重响应分析:交叉表、频数表; 9.预测数值结果和区分群体:K-means聚类分析、分级聚类分析、两步聚类分析、快速聚类分析、因子分析、主成分分析、最近邻元素分析; 10. 判别分析; 11.尺度分析; 12. 报告:各种报告、记录摘要、图表功能(分类图表、条型图、线型图、面积图、高低图、箱线图、散点图、质量控制图、诊断和探测图等); 13.数据管理、数据转换与文件管理; 二.数据文件的处理 SPSS数据文件是一种结构性数据文件,由数据的结构和数据的内容两部分构成,也可以说由变量和观测两部分构成。定义一个变量至少要定义它的两个属性,即变量名和变量类型其他属性可以暂时采用系统默认值,待以后分析过程中如果有需要再对其进行设置。在spss数据编辑窗口中单击“变量视窗”标签,进入变量视窗界面,即可对变量的各个属性进行设置。 1.创建一个数据文件数据 (1)选择菜单【文件】→【新建】→【数据】新建一个数据文件,进入数据编辑窗口。窗口顶部标题为“PASW Statistics数据编辑器”。 (2)单击左下角【变量视窗】标签进入变量视图界面,根据试验的设计定义每个变量类型。

数电课程设计

一、数字电子钟 1.设计目得 (1)培养数字电路得设计能力。 (2)掌握数字电子钟得设计、组装与调试方法。 2.设计内容及要求 (1)设计一个数字电子钟电路。要求: ①按24小时制直接显示“时”、“分”、“秒”。 ②当电路发生走时误差时具有校时功能。 ③具有整点报时功能,报时音响为4低1高,即在59分51秒、53秒、55秒、57秒输出500Hz信号,在59分59秒时输出1000 Hz信号,音响持续时间为1秒,最后一响结束时刻正好为整点。 (2)用中小规模集成电路组成电子钟,并在实验仪上进行组装、调试。 (3)画出各单元电路图、整机逻辑框图与逻辑电路图,写出设计、实验总结报告。 (4)选作部分:①闹钟系统。②日历系统。 3.数字电子钟基本原理及设计方法 数字电子钟得逻辑框图如图1411所示。它由振荡器、分频器、计数器、译码器、显示器、校时电路与整点报时电路组成。振荡器产生得脉冲信号经过分频器作为秒脉冲,秒脉冲送入计数器计数,计数结果通过“时”、“分”、“秒”译码器显示时间。有得数字电子钟还加有定时响铃、日历显示等其它功能,需增加相应得辅助电路。 图1411 数字电子钟得基本逻辑框图 (1)振荡分频电路 振荡器就是数字电子钟内部用来产生时间标准“秒”信号得电路。构成振荡器得电路很多,图1412(a)就是RC环形多谐振荡器,其振荡周期T≈2、2RC。作为时钟,最主要得就是走时准确,这就要求振荡器得频率稳定。要得到频率稳定得信号,需要采用石英晶体振荡器。石英晶体振荡器电路如图1412(b)所示,这种电路得振荡频率只取决于石英晶体本身得固有频率。 图1412 振荡器

(a)RC环形多谐振荡器 (b)石英晶体多谐振荡器 由于石英晶体振荡器产生得频率很高,要得到秒信号,需采用分频电路。例如,振荡器输出4 MHz信号,先经过4分频变成1 MHz,再经过6次10分频计数器,便可得到1Hz得方波信号作为秒脉冲。 (2)计数器 把秒脉冲信号送入秒计数器个位得CP输入端,经过6级计数器,分别得到“秒”个位、十位,“分”个位、十位,以及“时”个位、十位得计时。“秒”、“分”计数器为60进制,“时”计数器为24进制。 24进制计数器如图1413所示。当“时”个位计数器输入端CP来到第10个触发脉冲时,该计数器归零,进位端Q D5向“时”十位计数器输出进位信号。当第24个“时”脉冲(来自“分”计数器输出得进位信号)到来时,十位计数器得状态为0010,个位计数器得状态位0100,此时“时”十位计数器得Q B6与“时”个位计数器得Q C5输出为1。两者相与后送到两计数器得清零端R0A与R0B,通过74LS90内部得R0A与R0B与非后清零,完成24进制计数。同理可构成60进制计数器。 CP 来自分计数器 的进位信号 图1413 24进制计数器 (3)译码显示电路 译码驱动器采用8421 BCD码七段译码驱动器74LS48,显示器采用共阴极数七段数码显示器,有关74LS48与七段显示器得使用方法前面已经作了介绍,这里不再赘述。 (4)校时电路 当数字电子钟出现走时误差时,需要对时间进行校准。实现校时电路得方法很多,如图1414所示电路即可作为时计数器或分计数器得校时电路。 图1414 校时电路 现设用该电路作为分计数器得校时电路,图中采用RS触发器作为无抖动开关。通过开关K得接入位置,可以选择就是将“1 Hz信号”还就是将“来自秒计数器得进位信号”送至分计数器得CP端。当开关K置于B端时,RS触发器得输出、,“来自秒计数器得进位信号”被送至分计数器得CP端,分计数器正常工作;需要校正分计数器时,将开关K置于A端,这时RS触发器得输出、,“1 Hz信号”被送至分计数器得CP端,分计数器在“1Hz信号”得作用下快速计数,直至正确得时间,再将开关K置于B端,达到了校准时间得目得。 (5)整点报时电路 电路得设计要求在差10 s为整点时开始每隔1 s鸣叫一次,每次持续时间为1 s,共鸣叫5次,前4次为低音500 Hz,最后一次为高音1 kHz。因为分计数器与秒计数器从59分51秒计数到59分59秒得过程中,只有秒个位计数器计数,分十位、分个位、秒十位计数器得状态不变,分别为Q D4Q C4Q B4Q A4=0101,Q D3Q C3Q B3Q A3=1001,Q D2Q C2Q B2Q A2=0101,所以Q C4=Q A4=Q D3=Q A3=Q C2=Q A2=1不变。设Y1=Q C4Q A4Q D3Q A3Q C2Q A2,又因为在51、53、55、57秒时Q A1=1,Q D1=0,输出500Hz信号f2;59秒时Q A1=1,Q D1=1,输出1kHz信号f1,由此可写出整点报时电路得逻辑表达式为:

模电课设实验报告

河北科技大学 课程设计报告 学生姓名:xxx学号:120701103 专业班级:xxx 课程名称:模拟电子技术基础 学年学期:2 013 —2 014 学年第一学期指导教师:王彦朋蔡明伟 2 0 1 3 年12 月

课程设计成绩评定表

目录 一任务.................................................................................................................. - 1 - 二电路原理图...................................................................................................... - 1 - 三单元电路设计.................................................................................................. - 1 - 1.稳压电源单元电路设计............................................................................... - 1 - 2.正弦波单元电路设计................................................................................... - 2 - 3.方波单元电路设计....................................................................................... - 3 - (1)过零比较器及限幅电路.................................................................. - 3 - (2)反相比例运算放大电路.................................................................. - 4 - 4.三角波单元电路设计................................................................................... - 5 - 四元件明细表...................................................................................................... - 6 - 五安装与调试...................................................................................................... - 7 - 六收获体会.......................................................................................................... - 7 - 七附录.................................................................................................................. - 8 - 八参考文献.......................................................................................................... - 8 -

计算机网络课程设计实验报告

中南大学课程设计报告 课程:计算机网络课程设计 题目:基于Winpcap的网络流量统计分析 指导教师:张伟 目录 第一章总体设计 一、实体类设计 --------P3 二、功能类设计 --------P3 三、界面设计 --------P3

第二章详细设计 一、实体类实现 --------P4 二、功能类实现 --------P4 三、界面实现 --------P5 第三章源代码清单及说明 一、CaptureUtil.java --------P7 二、MyPcapPacketHandler.java --------P9 三、PacketMatch.java --------P9 四、Windows.java --------P13 第四章运行结果 --------P19 第五章心得体会 --------P21 第一章总体设计 一、实体类设计 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计 二、功能类设计 (1)网卡获取 (2)包的抓捕

(3)包的处理 三、界面设计 (1)布局 (2)按钮功能连接 第二章第二章详细设计 一、实体类实现 TCP、UPD、ICMP、ARP、广播数据包五个包的数据结构设计。 本程序采用Java编写,基于win10pcap。Win10pcap是winpcap在win10系统上的适用版本。Java对于winpcap使用jnetpcap进行支持。对于TCP、UPD、ICMP、ARP、广播数据包五种类型的包,在jnetpcap的jar包中大部分已经封装好了相关的实体类型。对应如下:ARP 实体类:https://www.360docs.net/doc/fd7723160.html,work.Arp; UPD 实体类:https://www.360docs.net/doc/fd7723160.html,work.Icmp;

c课程设计实验报告

c课程设计实验报 告

中南大学 本科生课程设计(实践)任务书、设计报告 (C++程序设计) 题目时钟控件 学生姓名 指导教师 学院交通运输工程学院 专业班级 学生学号 计算机基础教学实验中心 9月7日 《C++程序设计基础》课程设计任务书

对象:粉冶、信息、能源、交通工程实验2101学生时间: .6 2周(18~19周) 指导教师:王小玲 1.课程设计的任务、性质与目的 本课程设计是在学完《C++程序设计基础》课程后,进行的一项综合程序设计。在设计当中学生综合“面向对象程序设计与结构化程序设计”的思想方法和知识点,编制一个小型的应用程序系统。经过此设计进一步提高学生的动手能力。并能使学生清楚的知道开发一个管理应用程序的思想、方法和流程。 2.课程设计的配套教材及参考书 ●《C++程序设计》,铁道出版社,主编杨长兴刘卫国。 ●《C++程序设计实践教程》,铁道出版社,主编刘卫国杨长兴。 ●《Visual C++ 课程设计案例精编》,中国水力电力出版社,严华峰等编著。 3.课程设计的内容及要求 (1)自己任选一个题目进行开发(如画笔、游戏程序、练习打字软件等),要求利用MFC 工具操作实现。 (2)也可选一个应用程序管理系统课题(如:通讯录管理系统;产品入库查询系统;学生成绩管理;图书管理 等);

设计所需数据库及数据库中的数据表,建立表之间的关系。 设计所选课题的系统主封面(系统开发题目、作者、指导教师、日期)。 设计进入系统的各级口令(如系统管理员口令,用户级口令)。 设计系统的主菜单。要求具备下列基本功能: ●数据的浏览和查询 ●数据的统计 ●数据的各种报表 ●打印输出 ●帮助系统 多种形式的窗体设计(至少有查询窗体、输入窗体) 注意:开发的应用程序工作量应保证在2周时间完成,工作量不能太少或太多。能够2人合作,但必须将各自的分工明确。 4.写出设计论文 论文基本内容及撰写顺序要求: ●内容摘要 ●系统开发设计思想 ●系统功能及系统设计介绍 ●系统开发的体会

数字电压表课程设计实验报告

自动化与电气工程学院 电子技术课程设计报告 题目数字电压表的制作 专业 班级 学号 学生姓名 指导教师 二○一三年七月

一、课程设计的目的与意义 1.课程设计的主要目的,是通过电子技术综合设计,熟悉一般电子电路综合设计过程、设计要求、完成的工作内容和具体的设计方法。 2.同时了解双积分式A/D转换器ICL7107的性能及其引脚功能,熟悉集成电路ICL7107构成直流数字电压表的使用方法,并掌握其在电路中的工作原理。 3.通过设计也有助于复习和巩固以往的模电、数电内容,达到灵活应用的目的。在完成设计后还要将设计的电路进行安、调试以加强学生的动手能力。在此过过程中培养从事设计工作的整体观念。 4.利用双积分式A/D转换器ICL7107设计一数字电压表,量程为-1.99—+1.99,通过七段数码管显示。 二、电路原理图 数字电压表原理图

三、课程设计的元器件 1.课程设计所使用的元器件清单: 2.主要元器件介绍 (1)芯片ICL7107: ICL7107的工作原理 双积分型A/D转换器ICL7107是一种间接A/D转换器。它通过对输入模拟电压和参考电压分别进行两次积分,将输入电压平均值变换成与之成正比的时间间隔,然后利用脉冲时间间隔,进而得出相应的数字性输出。 它的原理性框图如图所示,它包括积分器、比较器、计数器,控制逻辑和时钟信号源。积分器是A/D转换器的心脏,在一个测量周期内,积分器先后对输入信号电压和基

准电压进行两次积分。比较器将积分器的输出信号与零电平进行比较,比较的结果作为数字电路的控制信一号。时钟信号源的标准周期Tc 作为测量时间间隔的标准时间。它是由内部的两个反向器以及外部的RC组成的。其振荡周期Tc=2RCIn1.5=2.2RC 。 ICL7106A/D转换器原理图 计数器对反向积分过程的时钟脉冲进行计数。控制逻辑包括分频器、译码器、相位驱动器、控制器和锁存器。 分频器用来对时钟脉冲逐渐分频,得到所需的计数脉冲fc和共阳极LED数码管公共电极所需的方波信号fc。 译码器为BCD-7段译码器,将计数器的BCD码译成LED数码管七段笔画组成数字的相应编码。 驱动器是将译码器输出对应于共阳极数码管七段笔画的逻辑电平变成驱动相应笔画的方波。 控制器的作用有三个:第一,识别积分器的工作状态,适时发出控制信号,使各模拟开关接通或断开,A/D转换器能循环进行。第二,识别输入电压极性,控制LED 数码管的负号显示。第二,当输入电压超量限时发出溢出信号,使千位显示“1" ,其余码全部熄灭。 钓锁存器用来存放A/D转换的结果,锁存器的输出经译码器后驱动LED 。它的每个测量周期自动调零(AZ)、信号积分(INT)和反向积分(DE)三个阶段。

模电实验报告

模拟电子技术基础实验报告 姓名:蒋钊哲 学号:2014300446 日期:2015、12、21 实验1:单极共射放大器 实验目的: 对于单极共射放大电路,进行静态工作点与输入电阻输出电阻的测量。 实验原理: 静态工作点的测量就是指在接通电源电压后放大器输入端不加信号(通过隔直电容 将输入端接地)时,测量晶体管集电极电流I CQ 与管压降V CEQ 。其中集电极电流有两种测量 方法。 直接法:将万用表传到集电极回路中。 间接法:用万用表先测出R C 两端的电压,再求出R C 两端的压降,根据已知的R E 的阻值,计 算I CQ 。 输出波底失真为饱与失真,输出波顶失真为截止失真。 电压放大倍数即输出电压与输入电压之比。 输入电阻就是从输入端瞧进去的等效电阻,输入电阻一般用间接法进行测量。 输出电阻就是从输出端瞧进去的等效电阻,输出电阻也用间接法进行测量。实验电路:

实验仪器: (1)双路直流稳压电源一台。 (2)函数信号发生器一台。 (3)示波器一台。 (4)毫伏表一台。 (5)万用表一台。 (6)三极管一个。 (7)电阻各种组织若干。 (8)电解电容10uF两个,100uF一个。 (9)模拟电路试验箱一个。 实验结果: 经软件模拟与实验测试,在误差允许范围内,结果基本一致。 实验2:共射放大器的幅频相频 实验目的: 测量放大电路的频率特性。 实验原理: 放大器的实际信号就是由许多频率不同的谐波组成的,只有当放大器对不同频率的放大能力相同时,放大的信号才不失真。但实际上,放大器的交流放大电路含有耦合电容、旁路电容、分布电容与晶体管极间电容等电抗原件,即使得放大倍数与信号的频率有关,此关系为频率特性。 放大器的幅频特性就是指放大器的电压放大倍数与输入信号的频率之间的关系。在一端频率范围内,曲线平坦,放大倍数基本不变,叫作中频区。在中频段以外的频率放大倍数都会变化,放大倍数左右下降到0、707倍时,对应的低频与高频频率分别对应下限频率与上限频率。 通频带为: f BW=f H-f L 实验电路:

相关文档
最新文档