搜档网
当前位置:搜档网 › 自然语言理解课程实验报告

自然语言理解课程实验报告

自然语言理解课程实验报告
自然语言理解课程实验报告

实验一、中文分词

一、实验内容

用正向最大匹配法对文档进行中文分词,其中:

(1)wordlist.txt 词表文件

(2)pku_test.txt 未经过分词的文档文件

(3)pku_test_gold.txt 经过分词的文档文件

二、实验所采用的开发平台及语言工具

Visual C++ 6.0

三、实验的核心思想和算法描述

本实验的核心思想为正向最大匹配法,其算法描述如下

假设句子: , 某一词 ,m 为词典

中最长词的字数。

(1) 令 i=0,当前指针 pi 指向输入字串的初始位置,执行下面的操作:

(2) 计算当前指针 pi 到字串末端的字数(即未被切分字串的长度)n ,如果n=1,

转(4),结束算法。否则,令 m=词典中最长单词的字数,如果n

(3) 从当前 pi 起取m 个汉字作为词 wi ,判断:

(a) 如果 wi 确实是词典中的词,则在wi 后添加一个切分标志,转(c);

(b) 如果 wi 不是词典中的词且 wi 的长度大于1,将wi 从右端去掉一个字,转(a)步;否则(wi 的长度等于1),则在wi 后添加一个切分标志,将wi 作为单字词添加到词典中,执行 (c)步;

(c) 根据 wi 的长度修改指针 pi 的位置,如果 pi 指向字串末端,转(4),

否则, i=i+1,返回 (2);

(4) 输出切分结果,结束分词程序。

四、系统主要模块流程、源代码

(1) 正向最大匹配算法

12n S c c c = 12i m w c c c =

(2)原代码如下

// Dictionary.h

#include

#include

#include

using namespace std;

class CDictionary

{

public:

CDictionary(); //将词典文件读入并构造为一个哈希词典 ~CDictionary();

int FindWord(string w); //在哈希词典中查找词

private:

string strtmp; //读取词典的每一行

string word; //保存每个词

string strword[55400];

};

//将词典文件读入并

CDictionary::CDictionary()

{

ifstream infile("wordlist.txt"); // 打开词典

if (!infile.is_open()) // 打开词典失败则退出程序

{

cerr << "Unable to open input file: " << "wordlist.txt"

<< " -- bailing out!" << endl;

exit(-1);

}

int i=0;

while (getline(infile, strtmp)) // 读入词典的每一行并将其添加入哈希中

{

strword[i++]=strtmp;

}

infile.close();

}

CDictionary::~CDictionary(){}

//在哈希词典中查找词,若找到,则返回,否则返回

int CDictionary::FindWord(string w)

{

int i=0;

while ((strword[i]!=w) && (i<55400))

i++;

if(i<55400)

return 1;

else

return 0;

}

// 主程序main.cpp

#include "Dictionary.h"

#define MaxWordLength 14 // 最大词长为个字节(即个汉字)

# define Separator " " // 词界标记

CDictionary WordDic; //初始化一个词典

//对字符串用最大匹配法(正向)处理

string SegmentSentence(string s1)

{

string s2 = ""; //用s2存放分词结果

string s3 = s1;

int l = (int) s1.length(); // 取输入串长度

int m=0;

while(!s3.empty())

{

int len =(int) s3.length(); // 取输入串长度

if (len > MaxWordLength) // 如果输入串长度大于最大词长 {

len = MaxWordLength; // 只在最大词长范围内进行处理 }

string w = s3.substr(0, len); //(正向用)将输入串左边等于最大词长长度串取出作为候选词

int n = WordDic.FindWord(w); // 在词典中查找相应的词

while(len > 1 && n == 0) // 如果不是词

{

int j=len-1;

while(j>=0 && (unsigned char)w[j]<128)

{

j--;

}

if(j<1)

{

break;

}

len -= 1; // 从候选词右边减掉一个英文字符,将剩下的部分作为候选词 w = w.substr(0, len); //正向用

n = WordDic.FindWord(w);

}

s2 += w + Separator; // (正向用)将匹配得到的词连同词界标记加到输出串末尾

s3 = s1.substr(m=m+w.length(), s1.length()); //(正向用)从s1-w处开始

}

return s2;

}

int main(int argc, char *argv[])

{

string strtmp; //用于保存从语料库中读入的每一行

string line; //用于输出每一行的结果

ifstream infile("pku_test.txt"); // 打开输入文件

if (!infile.is_open()) // 打开输入文件失败则退出程序

{

cerr << "Unable to open input file: " << "pku_test.txt"

<< " -- bailing out!" << endl;

exit(-1);

}

ofstream outfile1("SegmentResult.txt"); //确定输出文件

if (!outfile1.is_open())

{

cerr << "Unable to open file:SegmentResult.txt"

<< "--bailing out!" << endl;

exit(-1);

}

while (getline(infile, strtmp)) //读入语料库中的每一行并用最大匹配法处理

{

line = strtmp;

line = SegmentSentence(line); // 调用分词函数进行分词处理

outfile1 << line << endl; // 将分词结果写入目标文件

cout<

}

infile.close();

outfile1.close();

return 0;

}

五、实验结果及分析

(1)、实验运行结果

(2)实验结果分析

在基于字符串匹配的分词算法中,词典的设计往往对分词算法的效率有很大的影响。正向最大匹配分词算法是最基本的字符串匹配算

法之一,它能够保证将词典中存在的最长复合词切分出来。

实验二:ICTCLAS 汉语分词系统说明

一、实验内容

调用ICTCLAS程序对其中的文档进行分词,并标注词性

(实验数据包含1个文件:pku_test.txt 未经过分词的文档文件)

二、实验所采用的开发平台及语言工具

Visual C++ 6.0

ICTCLAS 汉语分词系统https://www.sodocs.net/doc/4b8633372.html,/

中科院计算所ICTCLAS 5.0接口文档

三、实验的核心思想和算法描述

分词系统的主要是思想是先通过CHMM(层叠形马尔可夫模型)进行分词,通过分层,既增加了分词的准确性,又保证了分词的效率.共分五层,如下图一所示:

基本思路:先进行原子切分,然后在此基础上进行N-最短路径粗切分,找出前N个最符合的切分结果,生成二元分词表,然后生成分词结果,接着进行词性标注

ICTCLAS程序软件使用:

(1). 在函数里加入对ICTCLAS50.lib的引用

#ifndef OS_LINUX

#include

#pragma comment(lib, "ICTCLAS50.lib") //ICTCLAS50.lib库加入到工程中#endif

(2).ICTCLAS_API bool ICTCLAS_FileProcess函数的调用

ICTCLAS_API bool ICTCLAS_FileProcess(

const char* pszSrcFileName, //文本文件的读取

const char* pszDstFileName, //目标文件的存放

eCodeType srcCodeType=CODE_TYPE_UNKNOWN, //类型

bool bEnablePOS=false //true表示可以标注词性);

(3). ICTCLAS5.0接口文档中的示例

四、系统源代码

/************(1). 在函数里加入对ICTCLAS50.lib的引用********/

#ifndef OS_LINUX

#include

#pragma comment(lib, "ICTCLAS50.lib") //ICTCLAS50.lib库加入到工程中#endif

#include

#include

#include

#include

#include

#include "ICTCLAS50.h"

using namespace std;

int main(int argc, char* argv[])

{

if(!ICTCLAS_Init())

{

printf("Init fails\n");

return -1;

}

ICTCLAS_FileProcess("pku_test.txt",

"Test_result.txt",CODE_TYPE_GB,true);

//分别表示读取所需分次的文件、存放分词结果的文件、类型、标注词性printf("Init ok\n"); //分词结束后输出提示

ICTCLAS_Exit();

return 0;

}

五、实验结果及分析

(1)分词前

分词后:

(2)实验结果分析

ICTCLAS是中科院计算所研发的中文分词软件,这个软件在第一届国际中文处理研究机构SigHan组织的评测中都获得了多项第一名,是公认的当今最好的中文分词软件。

综合性能:ICTCLAS 2011分词速500KB/s左右,分词精度98.45%。

ICTCLAS分词系统是个NB的系统,效率奇高,比自己搞字典,分词算法效率高了很多倍,用起来也是非常简单的,但有一点不完美的是,该源代码没有配套的文档,阅读起来可能有一定的障碍,尤其是对C/C++不熟的人来说.

实验三:基于语言模型的音字转换说明

一.实验内容:

1、实验数据包含1个文件:

pku_test_gold.txt经过分词的文档文件

2、设计一个基于语言模型的音字转换

给定拼音串:jinjitizhigaige

可能的汉字串:紧济体质改革

经济体质改革

经济体制改革

使用 2-gram计算:

p(CString1) =p(紧)×p(济|紧)×p(体质|济)×p(改革|体质)

p(CString2) =p(经济)×p(体质|经济)×p(改革|体质)

p(CString3) =p(经济)×p(体制|经济)×p(改革|体制)

比较p(CString1),p(CString2),p(CString3)

二.实验所用的开发平台及语言工具

Visual C++ 6.0

三.实验的核心思想和算法描述

1.先分别统计出“紧”、“经”、“济”、“体”、“制”、“质”、“改”、“革”这几个字出现的个数

2.再计算出各个字出现的概率

3.然后计算出在“紧”字出现概率下“济”字出现的条件概率乘上在“济”字出现是“体质”出现的条件概率以及“体质”出现时“改革”出现的条件概率的乘积,即为该句话出现的概率

四.系统主要模块流程、源代码

#include

#include

#include

using namespace std;

string wstr[210000];

void main()

{

int j=0,num=0;

string str; //存放读入的词

ifstream infile("pku_test_gold.txt"); // 打开输入文件

if (!infile.is_open()) // 打开输入文件失败则退出程序

{

cerr << "Unable to open input file: " << "pku_test_gold.txt"

<< " -- bailing out!" << endl;

exit(-1);

}

while (getline(infile, str,' ')) // 读入每一个词放入字符串数组中{

int i=0;

while(str.length()!=0)

{

if((unsigned char)str[i]>=128)

{

wstr[j++]=str.substr(i,2);

i+=2;

cout<

str=str.substr(i,str.length()-2);

i=0;

}

else

{

wstr[j++]=str.substr(i,1);

i++;

cout<

str=str.substr(i,str.length()-1);

i=0;

}

}

}

num=j;

cout<<"总的词数"<

int

jin=0,ji=0,tizhi1=0,tizhi2=0,jingji=0,jinji=0,jtzh1=0,tzh1gg=0,tzh2gg=0,jjtzh1= 0,jjtzh2=0;

int i=0;

while(wstr[i].length()!=0)

{

if(wstr[i]=="紧")

{

jin++; //紧出现的次数加1

if(wstr[i+1]=="济")

jinji++; //紧济出现的次数加1 }

else

{

if(wstr[i]=="济")

{

ji++; //济出现的次数加1

if(wstr[i+1]=="体")

if(wstr[i+2]=="质")

jtzh1++; //济体质出现的次数加1 }

else

{

if(wstr[i]=="体")

{

if(wstr[i+1]=="质")

{

tizhi1++; //体质出现的次数加1

if(wstr[i+2]=="改")

if(wstr[i+3]=="革")

tzh1gg++; //体质改革出现次数加1

}

else

{

if(wstr[i+1]=="制")

{

tizhi2++; //体制出现的次数加1

if(wstr[i+2]=="改")

if(wstr[i+3]=="革")

tzh2gg++; //体制改革出现的次数加1

}

}

}

else

{

if(wstr[i]=="经")

{

if(wstr[i+1]=="济")

{

jingji++; //经济出现的次数加1

if(wstr[i+2]=="体")

{

if(wstr[i+3]=="质")

jjtzh1++; //经济体质出现的次数加1

else

{

if(wstr[i+3]=="制")

jjtzh2++; //经济体质出现的次数加1

}

}

}

}

}

}

}

i++;

}

cout<<"'紧'的出现次数="<

cout<<"'紧济'的出现次数"<

cout<<"'济'的出现次数"<

cout<<"'济体质'的出现数"<

cout<<"'体质'的出现次数"<

cout<<"'体质改革'的出现次数"<

cout<<"'经济'的出现次数"<

cout<<"'经济体质'的出现次数"<

cout<<"'经济体制'的出现次数"<

cout<<"'体制'的出现次数"<

cout<<"'体制改革'的出现次数"<

if((jin!=0)&&(jinji!=0)&&(jtzh1!=0)&&(tzh1gg!=0))

cout<<"p(CString1) =p(紧)×p(济|紧)×p(体质|济)×p(改革|体

质)="<

"*"<

"<<(float)jin/num*jinji/jin*jtzh1/ji*tzh1gg/tizhi1<

else

cout<<"p(CString1) =p(紧)×p(济|紧)×p(体质|济)×p(改革|体质)= 0"<

if((jingji!=0)&&(jjtzh1!=0)&&(tzh1gg!=0))

cout<<"p(CString2) =p(经济)×p(体质|经济)×p(改革|体

质)="<

"*"<

"<<(float)jingji/num*jjtzh1/jingji*tzh1gg/tizhi1<

else

cout<<"p(CString2) =p(经济)×p(体质|经济)×p(改革|体质)= 0"<

if((jingji!=0)&&(jjtzh2!=0)&&(tzh2gg!=0))

cout<<"p(CString3) =p(经济)×p(体制|经济)×p(改革|体

制)="<

"*"<

"<<(float)jingji/num*jjtzh2/jingji*tzh2gg/tizhi2<

else

cout<<"p(CString3) =p(经济)×p(体制|经济)×p(改革|体制)= 0"<

//*/

}

五.实验结果及分析

(1)实验结果

(2)实验结果分析

将模型的单位延伸至语言分析的结果,统称为语言元素,元素间概率计算利用已有词模型的参数近似估计,避免概率模型的大幅度增加,提高语言单位获取的灵活性;能够处理长距离语言关系和递归问题

操作系统-Linux课程实验报告

实验、 Linux Ubuntu的安装、创建新的虚拟机VMWare 实验 Shell编程 1.实验目的与内容 通过本实验,了解Linux系统的shell机制,掌握简单的shell编程技巧。 编制简单的Shell程序,该程序在用户登录时自动执行,显示某些提示信息,如“Welcome to Linux”, 并在命令提示符中包含当前时间、当前目录和当前用户名等基本信息。 2.程序源代码清单 #include<> #include int main(){ printf("Hello Linux\n"); int pid; int state; int pfd[2]; pipe(pfd); if (fork()==0){ printf("In the grep progress\n"); dup2(pfd[0],0); close(pfd[0]); close(pfd[1]); execlp("grep","grep","sh",0); perror("exelp grep error"); } esle if(fork()==0){ printf("In the ps progress\n"); dup2(pfd[1],1); close(pfd[0]); close(pfd[1]); execlp("ps","ps","-ef",0); perror("execlp ps -ef"); }

close(pfd[1]); close(pfd[0]); wait(&state); wait(&state); } 实验内核模块 实验步骤: (1).编写内核模块 文件中主要包含init_clock(),exit_clock(),read_clock()三个函数。其中init_clock(),exit_clock()负责将模块从系统中加载或卸载,以及增加或删除模块在/proc中的入口。read_clock()负责产生/proc/clock被读时的动作。 (2).编译内核模块Makefile文件 # Makefile under ifneq ($(KERNELRELEASE),) #kbuild syntax. dependency relationshsip of files and target modules are listed here. obj-m := else PWD := $(shell pwd) KVER ?= $(shell uname -r) KDIR := /lib/modules/$(KVER)/build all: $(MAKE) -C $(KDIR) M=$(PWD) modules clean: rm -rf .*.cmd *.o *. *.ko .tmp_versions *.symvers *.order endif 编译完成之后生成模块文件。 (3).内核模块源代码 #include #include #include #include #include #include #define MODULE #define MODULE_VERSION "" #define MODULE_NAME "clock" struct proc_dir_entry* my_clock; int read_clock(char* page, char** start, off_t off, int count, int* eof, void* data) { int len; struct timeval xtime;

智能信息处理课程教学大纲

《智能信息处理》课程教学大纲 一、课程基本信息 1、课程代码:IE426 2、课程名称:智能信息处理/Intelligent Signal Processing 3、学时/学分:36学时/2学分 4、先修课程:信号与系统,高等数学,计算机程序语言 5、面向对象:电子信息类各专业本科生 6、开课院(系)、教研室:电子信息与电气工程学院(电子工程系)、电路与系统教研室 7、教材、教学参考书: 《人工智能原理及其应用》,王万森,电子工业出版社,2000 《人工神经网络与模拟进化计算》,阎平凡,张长水,清华大学出版社,2000 《遗传算法原理及应用》,周明,孙树栋,国防工业出版社,1999 《人工免疫系统原理与应用》,莫宏伟,哈尔滨工业大学出版社,2002 二、本课程的性质和任务 智能信息处理是当前科学技术发展中的前沿学科,同时也是新思想、新观念、新理论、新技术不断出现并迅速发展的新兴学科,具有非常广泛的应用领域。该课程的主要任务是通过各个教学环节,运用各种教学手段和方法,使学生掌握智能信息处理的基本概念、基本原理、基本计算方法;培养学生分析、解决问题的能力和实验技能,为日后从事工程技术工作、科学研究以及开拓新技术领域,打下坚实的基础。 三、教学内容和要求 第一章人工智能导论(8) 要求:理解并掌握人工智能的基本概念和范畴、基本原理和研究方法;了解人工智能的发展历史、目前的实际状况、未来的发展前景和实际的应用领域;掌握人工智能中的知识和知识表示方法:演绎系统、产生式系统、框架结构、语义网络、过程性知识;掌握人工智能中采用的搜索策略:无变量盲目搜索算法、带变量盲目搜索算法、启发式搜索算法、博弈树搜索;理解非经典逻辑和非经典推理;理解自然语言理解:语法学、语义学、语用学。 第二章人工智能的应用(2) 要求:理解专家系统的基本概念;理解机器学习的基本概念和方法;理解模式识别的基本概念;理解智能决策支持系统的基本概念。 第三章人工神经网络(10) 要求:了解人工神经网络的发展历史;理解人工神经网络所借鉴的生物学上的人脑神经元的信息处理模式;掌握人工神经元和感知器的基本模型;掌握人工神经网络的结构、特点、学习方式和工作方式;掌握前向神经网络中的多层感知器模型和反向传播(BP)算法,理解径向基函数(RBF)网络模型;掌握反向神经网络中离散型和连续型的Hopfield网络模型,了解模拟退火算法和玻尔兹曼机;理解自组织神经网络的Hebb学习规则和ART模型;理解模糊神经网络。 第四章模糊数学基础(4) 要求:掌握模糊集合的概念;掌握模糊规则与推理;理解模糊推理系统。 第五章进化算法(4)

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

计算机操作系统实验课实验报告

实验报告 实验课程: 计算机操作系统学生姓名:XXX 学号:XXXX 专业班级:软件 2014年12月25日

目录 实验一熟悉Windows XP中的进程和线程.. 3实验二进程调度 (7) 实验三死锁避免—银行家算法的实现 (18) 实验四存储管理 (24)

实验一熟悉Windows XP中的进程和线程 一、实验名称 熟悉Windows XP中的进程和线程 二、实验目的 1、熟悉Windows中任务管理器的使用。 2、通过任务管理器识别操作系统中的进程和线程的相关信息。 3、掌握利用spy++.exe来察看Windows中各个任务的更详细信息。 三、实验结果分析 1、启动操作系统自带的任务管理器: 方法:直接按组合键Ctrl+Alt+Del,或者是在点击任务条上的“开始”“运行”,并输入“taskmgr.exe”。

2、调整任务管理器的“查看”中的相关设置,显示关于进程的以下各项信息,并 完成下表: 表一:统计进程的各项主要信息 3、启动办公软件“Word”,在任务管理器中找到该软件的登记,并将其结束掉。再

从任务管理器中分别找到下列程序:winlogon.exe、lsass.exe、csrss.exe、smss.exe,试着结束它们,观察到的反应是任务管理器无法结束进程, 原因是该系统是系统进程。 4、在任务管理器中找到进程“explorer.exe”,将之结束掉,并将桌面上你打开的所 有窗口最小化,看看你的计算机系统起来什么样的变化桌面上图标菜单都消失了、得到的结论explorer.exe是管理桌面图标的文件(说出explorer.exe进程的作用)。 5、运行“spy++.exe”应用软件,点击按钮“”,切换到进程显示栏上,查看进 程“explorer.exe”的各项信息,并填写下表: 进程:explorer.exe 中的各个线程

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

《C语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 2.1.4调试过程及实验结果

自然语言理解课程实验报告

实验一、中文分词 一、实验内容 用正向最大匹配法对文档进行中文分词,其中: (1)wordlist.txt 词表文件 (2)pku_test.txt 未经过分词的文档文件 (3)pku_test_gold.txt 经过分词的文档文件 二、实验所采用的开发平台及语言工具 Visual C++ 6.0 三、实验的核心思想和算法描述 本实验的核心思想为正向最大匹配法,其算法描述如下 假设句子: , 某一词 ,m 为词典 中最长词的字数。 (1) 令 i=0,当前指针 pi 指向输入字串的初始位置,执行下面的操作: (2) 计算当前指针 pi 到字串末端的字数(即未被切分字串的长度)n ,如果n=1, 转(4),结束算法。否则,令 m=词典中最长单词的字数,如果n

(2)原代码如下 // Dictionary.h #include #include #include using namespace std; class CDictionary { public: CDictionary(); //将词典文件读入并构造为一个哈希词典 ~CDictionary(); int FindWord(string w); //在哈希词典中查找词

操作系统实验报告心得体会

操作系统实验报告心得体会 每一次课程设计度让我学到了在平时课堂不可能学到的东西。所以我对每一次课程设计的机会都非常珍惜。不一定我的课程设计能够完成得有多么完美,但是我总是很投入的去研究去学习。所以在这两周的课设中,熬了2个通宵,生物钟也严重错乱了。但是每完成一个任务我都兴奋不已。一开始任务是任务,到后面任务就成了自己的作品了。总体而言我的课设算是达到了老师的基本要求。总结一下有以下体会。 1、网络真的很强大,用在学习上将是一个非常高效的助手。几乎所有的资料都能够在网上找到。从linux虚拟机的安装,到linux的各种基本命令操作,再到gtk的图形函数,最后到文件系统的详细解析。这些都能在网上找到。也因为这样,整个课程设计下来,我浏览的相关网页已经超过了100个(不完全统计)。当然网上的东西很乱很杂,自己要能够学会筛选。 不能决定对或错的,有个很简单的方法就是去尝试。就拿第二个实验来说,编译内核有很多项小操作,这些小操作错了一项就可能会导致编译的失败,而这又是非常要花时间的,我用的虚拟机,编译一次接近3小时。所以要非常的谨慎,尽量少出差错,节省时间。多找个几个参照资料,相互比较,

慢慢研究,最后才能事半功倍。 2、同学间的讨论,这是很重要的。老师毕竟比较忙。对于课程设计最大的讨论伴侣应该是同学了。能和学长学姐讨论当然再好不过了,没有这个机会的话,和自己班上同学讨论也是能够受益匪浅的。大家都在研究同样的问题,讨论起来,更能够把思路理清楚,相互帮助,可以大大提高效率。 3、敢于攻坚,越是难的问题,越是要有挑战的心理。这样就能够达到废寝忘食的境界。当然这也是不提倡熬夜的,毕竟有了精力才能够打持久战。但是做课设一定要有状态,能够在吃饭,睡觉,上厕所都想着要解决的问题,这样你不成功都难。 4、最好在做课设的过程中能够有记录的习惯,这样在写实验报告时能够比较完整的回忆起中间遇到的各种问题。比如当时我遇到我以前从未遇到的段错误的问题,让我都不知道从何下手。在经过大量的资料查阅之后,我对段错误有了一定的了解,并且能够用相应的办法来解决。 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往系统保护的内存地址写数据,最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

计算机程序设计(C语言)课程设计报告

计算机程序设计(C语言) 课程设计报告 题目:电子动画时钟 学院:机电工程学院 专业: 班级:090109班 学号: : 指导教师: 设计日期:

一、概述 选题背景:随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。设计思路:(一)功能模块设计,1.电子时钟执行主流程2.电子时钟界面显示3.电子时钟按键控制模块4.时钟动画处理模块(二)数据结构设计 1.time结构体 2.全局变量(三)函数功能描述1.keyhandle()2.timeupchange()3.timedownchange()4.digitclock()5.drawcursor()6. clearcursor()7.void clockhandle()8.main()(四)程序实现(五)运行结果。 二、概要设计 2.1、数据结构 此程序中,使用了C语言的time结构体和几个全局变量,1.time结构体struct time { unsigned char ti_min; /*分钟*/ unsigned char ti_hour; /*小时*/ unsigned char ti_hund; /*百分之一秒*/ unsigned char ti_sec; /*秒*/ }; time结构体定义在dos.h文件中,可用来保存系统的当前时间,其中各字段的值的含义如下。 1.unsigned char ti_min:保存分钟值。

2.unsigned char ti_hour:保存小时。 3.unsigned char ti_hund:保存百分之一秒,例如,ti_hund=500,表示1/500秒。 4.unsigned char ti_sec:保存秒数。 2.2、全局变量 下面对程序用到的全局变量及数组进行说明. 1. double h,m,s: 此3个全局变量分别用来保存小时,分钟,秒数。 2. double x,x1,x2,y,y1,y2:保存数字时钟中小时,分,秒在屏幕中显示的坐标值。 3.struct time t[1]:定义一个time结构类型的数组,此数组只有t[0]一个元素。 2.3 模块列表 1.时钟动画处理模块 时钟动画处理模块主要由clockhandle()函数来实现,程序中旧时钟指针的擦除是借助setwritemode(mode)函数设置画线的方式来实现。如果mode=1,则表示画线时用现在特性的线所画之处原有的线性异或(XOR)操作,实际上画出的线是原有线与现在规定的线进行异或后的结果。因此,当线的特性不变时,进行两次画线操作相当于没有画线,即在当前位置处清除了原来的画线。 2.时钟按键控制模块 在电子时钟中,按键控制模块最主要的工作就是必须能读取用户按键,对按键值进行判断,并调用相应函数来执行相关操作。 3.

操作系统课程设计实验报告

河北大学工商学院 课程设计 题目:操作系统课程设计 学部信息学部 学科门类电气信息 专业计算机 学号2011482370 姓名耿雪涛 指导教师朱亮 2013 年6月19日

主要内容 一、设计目的 通过模拟操作系统的实现,加深对操作系统工作原理理解,进一步了解操作系统的实现方法,并可练习合作完成系统的团队精神和提高程序设计能力。 二、设计思想 实现一个模拟操作系统,使用VB、VC、CB等windows环境下的程序设计语言,以借助这些语言环境来模拟硬件的一些并行工作。模拟采用多道程序设计方法的单用户操作系统,该操作系统包括进程管理、存储管理、设备管理、文件管理和用户接口四部分。 设计模板如下图: 注:本人主要涉及设备管理模块

三、设计要求 设备管理主要包括设备的分配和回收。 ⑴模拟系统中有A、B、C三种独占型设备,A设备1个,B设备2个,C设备2个。 ⑵采用死锁的预防方法来处理申请独占设备可能造成的死锁。 ⑶屏幕显示 注:屏幕显示要求包括:每个设备是否被使用,哪个进程在使用该设备,哪些进程在等待使用该设备。 设备管理模块详细设计 一、设备管理的任务 I/O设备是按照用户的请求,控制设备的各种操作,用于完成I/O 设备与内存之间的数据交换(包括设备的分配与回收,设备的驱动管理等),最终完成用户的I/O请求,并且I/O设备为用户提供了使用外部设备的接口,可以满足用户的需求。 二、设备管理函数的详细描述 1、检查设备是否可用(主要代码) public bool JudgeDevice(DeviceType type) { bool str = false; switch (type) { case DeviceType.a: {

实验报告-中文分词

实验报告1 双向匹配中文分词 ?小组信息 目录 摘要--------------------------------------------------------------------------------------- 1 理论描述--------------------------------------------------------------------------------- 1 算法描述--------------------------------------------------------------------------------- 2 详例描述--------------------------------------------------------------------------------- 3 软件演示--------------------------------------------------------------------------------- 4 总结--------------------------------------------------------------------------------------- 6 ?摘要 这次实验的内容是中文分词,现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。 而我们用到的分词算法是基于字符串的分词方法(又称机械分词方法)中的正向最大匹配算法和逆向匹配算法。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。 ?理论描述 中文分词指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。它是信息提取、信息检索、机器翻译、文本分类、自动文摘、语音识别、文本语音转换、自然语言理解等中文信息处理领域的基础。 双向最大匹配算法是两个算法的集合,主要包括:正向最大匹配算法和逆向最大匹配算法.如果两个算法得到相同的分词结果,那就认为是切分成功,否则,就出现了歧义现象或者是未登录词问题。 正向最大匹配算法:从左到右将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。 逆向最大匹配算法:从右到左将待分词文本中的几个连续字符与词表匹配,如果匹配上,则切分出一个词。 ?算法描述 本文实现双向匹配算法,具体算法描述如下: 正向最大匹配算法MM: //对纯中文句子s1的正向减字最大匹配分词

操作系统实验报告

操作系统实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

许昌学院 《操作系统》实验报告书学号: 姓名:闫金科 班级:14物联网工程 成绩: 2016年02月

实验一Linux的安装与配置 一、实验目的 1.熟悉Linux系统的基本概念,比如Linux发行版、宏内核、微内核等。 2.掌握Linux系统的安装和配置过程,初步掌握Linux系统的启动和退出方 法。 3.熟悉Linux系统的文件系统结构,了解Linux常用文件夹的作用。 二、实验内容 1.从网络上下载VMware软件和两个不同Linux发行版镜像文件。 2.安装VMware虚拟机软件。 3.在VMware中利用第一个镜像文件完成第一个Linux的安装,期间完成网络 信息、用户信息、文件系统和硬盘分区等配置。 4.在VMware中利用第二个镜像文件完成第二个Linux的安装,并通过LILO或 者GRUB解决两个操作系统选择启动的问题。 5.启动Linux系统,打开文件浏览器查看Linux系统的文件结构,并列举出 Linux常用目录的作用。 三、实验过程及结果 1、启动VMware,点击新建Linux虚拟机,如图所示: 2、点击下一步,选择经典型,点击下一步在选择客户机页面选择 Linux,版本选择RedHatEnterpriseLinux5,如图所示: 3、点击下一步创建虚拟机名称以及所要安装的位置,如图所示: 4、点击下一步,磁盘容量填一个合适大小,此处选择默认值大小 10GB,如图所示: 5、点击完成,点击编辑虚拟机设置,选择硬件选项中的CD-ROM (IDE...)选项,在右侧连接中选择“使用ISO镜像(I)”选项,点 击“浏览”,找到Linux的镜像文件,如图所示:

VB程序设计课程设计报告完整版

V B程序设计课程设计 报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

《VB程序设计》 课程设计报告(2016 — 2017 学年第 1 学期) 题目:排序演示 学院:经济与管理学院 班级:物流管理1502 学号: 姓名: 指导教师:阮冰 时间:起 2017年1月3日止 1月6日

一、课程设计基本信息 课程代码:05190124 课程名称:计算机基础课程设计 课程英文名称: Computer-based Course Design 课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群 课程面向专业:生物科学类、制药工程、制药工程(生物制药)、药物制 剂、物流管理 课程类型:必修课 先修课程:大学计算机基础通识选修课程、Visual Basic程序设计课程学分:1 总学时:16 二、课程设计目标 掌握所学语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能: 1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3.系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。 4.根据个人的设计调试过程,撰写设计报告。 三、课程设计内容 利用已掌握的VB程序设计语言基础,以及面向对象的程序设计方法、事件驱动的编程方式,进行应用程序和系统的开发设计。在强化巩固已有编程知识基础之上,训练新的设计与编程思路,通过综合应用所学知识设计、编制、调试实用的Visual Basic程序。 四、课程设计要求 1.要求每个同学都要认真对待,积极参与。 2.课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同 时填写并完成《课程设计报告册》。 3.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计 中完全未参与的将作不及格处理。 五、考核方式

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

合肥工业大学自然语言理解实验报告

计算机与信息学院 自然语言理解实验报告 专业班级 信息安全13-1 学生姓名及学号 马骏2013211869 课程教学班号 任课教师 谷雨 实验指导教师 谷雨 实验地点 逸夫楼 2015 ~2016 学年第一学期

实验1 统计词频 一、实验目的 掌握中文词语的标记方法 二、实验要求 统计材料中词语的出现次数及频率 三、实验内容 将形如如下格式的文章统计词频 19980101-01-001-001/m 迈向/vt 充满/vt 希望/n 的/ud 新/a 世纪/n ——/wp 一九九八年/t 新年/t 讲话/n (/wkz 附/vt 图片/n 1/m 张/qe )/wky 19980101-01-001-002/m 中共中央/nt 总书记/n 、/wu 国家/n 主席/n 江/nrf 泽民/nrg 19980101-01-001-003/m (/wkz 一九九七年/t 十二月/t 三十一日/t )/wky 19980101-01-001-004/m 12月/t 31日/t ,/wd 中共中央/nt 总书记/n 、/wu 国家/n 主席/n 江/nrf 泽民/nrg 发表/vt 1998年/t 新年/t 讲话/n 《/wkz 迈向/vt 充满/vt 希望/n 的/ud 新/a 世纪/n 》/wky 。/wj (/wkz 新华社/nt 记者/n 兰/nrf 红光/nrg 摄/Vg )/wky 19980101-01-001-005/m 同胞/n 们/k 、/wu 朋友/n 们/k 、/wu 女士/n 们/k 、/wu 先生/n 们/k :/wm 四、实验步骤 五、实验总结 通过实验我了解了中文词语的标记方法

相关主题