虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

mssdataad<b>MI</b>n

  • 上下文无关文法(Context-Free Grammar, CFG)是一个4元组G=(V, T, S, P)

    上下文无关文法(Context-Free Grammar, CFG)是一个4元组G=(V, T, S, P),其中,V和T是不相交的有限集,S∈V,P是一组有限的产生式规则集,形如A→α,其中A∈V,且α∈(V∪T)*。V的元素称为非终结符,T的元素称为终结符,S是一个特殊的非终结符,称为文法开始符。 设G=(V, T, S, P)是一个CFG,则G产生的语言是所有可由G产生的字符串组成的集合,即L(G)={x∈T* | Sx}。一个语言L是上下文无关语言(Context-Free Language, CFL),当且仅当存在一个CFG G,使得L=L(G)。 *⇒ 例如,设文法G:S→AB A→aA|a B→bB|b 则L(G)={a^nb^m | n,m>=1} 其中非终结符都是大写字母,开始符都是S,终结符都是小写字母。

    标签: Context-Free Grammar CFG

    上传时间: 2013-12-10

    上传用户:gaojiao1999

  • 一:需求分析 1. 问题描述 魔王总是使用自己的一种非常精练而抽象的语言讲话,没人能听懂,但他的语言是可逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: -

    一:需求分析 1. 问题描述 魔王总是使用自己的一种非常精练而抽象的语言讲话,没人能听懂,但他的语言是可逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: ----------------------------------------------------------- (1) a---> (B1)(B2)....(Bm) (2)[(op1)(p2)...(pn)]---->[o(pn)][o(p(n-1))].....[o(p1)o] ----------------------------------------------------------- 在这两种形式中,从左到右均表示解释.试写一个魔王语言的解释系统,把 他的话解释成人能听得懂的话. 2. 基本要求: 用下述两条具体规则和上述规则形式(2)实现.设大写字母表示魔王语言的词汇 小写字母表示人的语言的词汇 希腊字母表示可以用大写字母或小写字母代换的变量.魔王语言可含人的词汇. (1) B --> tAdA (2) A --> sae 3. 测试数据: B(ehnxgz)B 解释成 tsaedsaeezegexenehetsaedsae若将小写字母与汉字建立下表所示的对应关系,则魔王说的话是:"天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅". | t | d | s | a | e | z | g | x | n | h | | 天 | 地 | 上 | 一只| 鹅 | 追 | 赶 | 下 | 蛋 | 恨 |

    标签: 语言 抽象

    上传时间: 2014-12-02

    上传用户:jkhjkh1982

  • 编写具有如下函数原型的递归与非递归两种函数equ

    编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。 bool equ(int a[], int b[], int n) 提示:递归函数中可按如下方式来分解并处理问题,先判断最后一个元素是否相同,不同则返false;相同则看n是否等于1,是则返回true,否则进行递归调用(传去实参a、b与 n-1,去判断前n-1个元素的相等性),并返回递归调用的结果(与前n-1个元素的是否相等性相同)。

    标签: equ 函数 递归 编写

    上传时间: 2013-12-03

    上传用户:梧桐

  • 编写具有如下函数原型的递归与非递归两种函数equ

    编写具有如下函数原型的递归与非递归两种函数equ,负责判断数组a与b的前n个元素值是否按下标对应完全相同,是则返回true,否则返回false。并编制主函数对它们进行调用,以验证其正确性。 bool equ(int a[], int b[], int n) 提示:递归函数中可按如下方式来分解并处理问题,先判断最后一个元素是否相同,不同则返false;相同则看n是否等于1,是则返回true,否则进行递归调用(传去实参a、b与 n-1,去判断前n-1个元素的相等性),并返回递归调用的结果(与前n-1个元素的是否相等性相同)。

    标签: equ 函数 递归 编写

    上传时间: 2014-01-18

    上传用户:love1314

  • 汉诺塔!!! Simulate the movement of the Towers of Hanoi puzzle Bonus is possible for using animation

    汉诺塔!!! Simulate the movement of the Towers of Hanoi puzzle Bonus is possible for using animation eg. if n = 2 A→B A→C B→C if n = 3 A→C A→B C→B A→C B→A B→C A→C

    标签: the animation Simulate movement

    上传时间: 2017-02-11

    上传用户:waizhang

  • fft analysis

          Use the fast Fourier transform function fft to analyse following signal. Plot the original signal, and the magnitude of its spectrum linearly and logarithmically. Apply Hamming window to reduce the leakage.   .   The hamming window can be coded in Matlab as   for n=1:N hamming(n)=0.54+0.46*cos((2*n-N+1)*pi/N); end;   where N is the data length in the FFT.

    标签: matlab fft

    上传时间: 2015-11-23

    上传用户:石灰岩123

  • 离散实验 一个包的传递 用warshall

     实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); } 

    标签: warshall 离散 实验

    上传时间: 2016-06-27

    上传用户:梁雪文以

  • 大学 c语言程序设计课程设计

    C语言课程设计上机实习内容 一、从下面题目中任选一题: A.简单的学生成绩管理程序设计 B.考卷成绩分析软件程序设计 C.简单医疗费用报销管理软件程序设计 除此之外,学生也可自行选择课题进行设计,如自动柜员机界面程序、学生信息管理(包括生日祝贺)、计件工资管理等(但课题必须经指导教师审题合格后方可使用)。   二、课程设计说明书的编写规范 1、程序分析和设计 2、流程图 3、源程序清单 4、调试过程:测试数据及结果,出现了哪些问题,如何修改的 5、程序有待改进的地方 6、本次实习的收获和建议   三、提交的资料 1、软件 软件需提供源程序,并能正常运行。 注:对于程序中未能实现的部分需要加以说明。 对于程序中所参考的部分代码需要加以声明,并说明出处。 2、文档 课程设计文档要求打印稿,同时提交电子文档。文档中必须包含课程设计小结,即收获和体会。 文档要注意格式,标题一律用小四号宋体加黑,正文用五号宋体,行间距固定值18,首行缩进2字符;如果有图表,每个图表必须顺序编号并有标题,如“图1  计算平均分的N-S图”、“表1  地信081班成绩一览表”,一般图名在图的正下方、表名在表的正上方。   四、成绩评定 通过学生的动手能力、独立分析解决问题的能力、创新能力、课程设计报告、答辩水平以及学习态度综合考核。 考核标准包括: 1、完成设计题目所要求的内容,程序书写规范、有一定的实用性,占45%; 2、平时表现(考勤+上机抽查)占10%; 3、课程设计报告占30%; 4、答辩及演示占15%。 五、实习计划   以选题一为例   实习计划 时间 内容 第1天 一、布置实习内容和要求 1、 实习内容介绍、实习安排、实习纪律、注意事项 2、 学生选题 第2天 二、上机实习 1、根据所选题的要求,进行总体设计,确定程序总体框架 2、选择和准备原始数据,制作.txt文本文件 第3天 3、文件的读写函数的使用,实现文本文件的读取和写入功能。 使用函数fread(); fwrite();  fprint(); fscan();完成对原始数据的文本输入和输出。 第4、5天   4、主要算法的选择和功能实现(以学生成绩管理系统为例):    ① 计算每个学生三门功课的平均分,并按平均分排列名次,若平均分相同则名次并列;结果写入文件。 ② 统计全班每门课程的平均分,并计算各分数段(60以下,60~69,70~79,80~89,90以上)的学生人数;结果写入文件。     第6、7天 5、结果格式输出及程序整合(以学生成绩管理系统为例) ① 按格式在屏幕上打印每名学生成绩条; ② 在屏幕上打印出所有不及格学生的下列信息:学号,不及格的课程名,该不及格课程成绩; (选做)在屏幕打印优等生名单(学号,三门课程成绩,平均成绩,名次),优等生必须满足下列条件:1)平均成绩大于90分;或平均分大于85分且至少有一门功课为100分;或者平均分大于85分且至少两门课程成绩为95分以上;2) 名次在前三名; 3) 每门功课及格以上; 第8天 三、测试完整程序 要求功能完整,结果符合设计要求,并进行程序验收。 第9、10天 四、编写报告 完成实习报告的编写,并打印上交报告。  

    标签: 大学 c语言 程序设计

    上传时间: 2016-06-27

    上传用户:lh643631046

  • 数字图像处理技术 Matlab的运行环境

    1. 在MATLAB中,分别对灰度图、真彩色图、索引彩色图,实现图像的读入、显示等功能。 2. 将真彩色图、索引彩色图转为灰度图,并保存到硬盘自己的文件夹下。 3. 如果按下面的操作读入索引彩色图像,请说明X、MAP两个矩阵中是如何保留图像中RGB彩色信息的。            [X,MAP]=imread(‘文件名’,‘格式’); 答:代码中X为读出的图像数据,MAP为颜色表数据(或称调色板,亦即颜色索引矩阵,对灰度图像和RGB彩色图像,该MAP为空矩阵)。一幅像素为m*n的RGB彩色图像(m,n为正整数,分别表示图像的高度和宽度),可以用m*n*3的矩阵来形容,3层矩阵中的每一个元素对应红、绿、蓝的数值,红绿蓝是三原色,可以组合出所有的颜色。 4,(提高题)实现真彩色图像的读入,请分R、G、B三个通道分别显示该图像的红、绿、蓝色图像。

    标签: Matlab 数字图像 处理技术 运行环境

    上传时间: 2017-05-10

    上传用户:mouroutao

  • 道理特分解法

    #include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; } 

    标签: 道理特分解法

    上传时间: 2018-05-20

    上传用户:Aa123456789