考题
阅读下列C程序和程序说明,将应填入(n)处的字句写在答题纸的对应栏内。【说明】用克鲁斯卡尔算法求解给定图的最小生成树。include <stdio. h>include <stdlib. h>define MAXN 30typedef struct{ int v1,v2; /*一条边依附的两个顶点*/int weight; /*边上的权值*/}EDGE;typedef struct{ int Vnum; /*图中的顶点数目*/EDGE e[MAXN*(MAXN-1)/2]; /*图中的边*/}Graph;typedef struct node{ /*用链表存储同一个连通分量的顶点*/int v;struct node *next;}Alist;void heapadjust(EDGE data[], int s, int m){ /*将元素序列data[s..m]调整为小顶堆, 堆顶元素(最小元素)为data[s]*/int j;EDGE t;t=data[s]; /*备份元素data[s], 为其找到适当位置后再插入*/for(j=2*s+1; j<=m; j=j*2+1){/*沿值较小的子结点向下筛选*/if(j<m (1)) ++j;if(!(t. weight>data[j]. weight)) break;data[s]=data[j];s=j; /*用s记录待插入元素的位置(下标)*/}/*for*/data[s]=t; /*将备份元素插入由s所指出的插入位置*/}/*heapadjust*/int creat_graph(Graph *p) /*输入图中的顶点及边, 返回图中边的数目*/{ int k=0; /*记录图中边的数目*/int n;int v1,v2;int w;printf("vertex number of the graph:");scanf("%d", n); /*输入图中的顶点数目*/if(n<1) return 0;p->Vnum=n;do{ printf("edge(vertex1,vertex2,weight):");scanf("%d %d %d", V1, v2, w);if(v1>=0 v1<n v2>=0 v2<n){p->e[k]. v1=v1; p->e[k]. v2=v2; p->e[k]. weight=w;k++;}/*if*/}while(!( (2) ));return k; /*返回图中边的数目*/}/*creat_graph*/int kruskal(Graph G, int enumber, int tree[][3]){ /*用kruskal算法求无向连通图G的最小生成树, 图中边所得数目为enumber, *//*数组tree[][3]中存放生成树中边的顶点和边上的权值, 函数返回生成树的代价*/int i, k, m, c=0;int v1, v2;Alist *p, *q, *a[MAXN];for(i=0; i<G.Vnum; ++i){ /*将每个连通分量中的顶点存放在一个单链表中*/a[i]=(Alist*)malloc(sizeof(Alist));if(!a[i]) {printf("\n mernory allocation error!");exit(0);}/*if*/a[i]->v=i; a[i]->next=NULL;}/*for*/for(i=enumber-1; i>=0; --i)/*按照边上的权值建立小顶堆*/heapadjust( (3) );k=G. Vnum; /*k用于计算图中的连通分量数目*/m=enumber-1;i=0;do{v1=G. e[0]. v1; v2=G. e[0]. v2;p=a[v1];while(p p->v!=v2){ /*判断当前选择的边的顶点是否在一个连通分量中*/q=p; p=p->next;}if(!p){ /*当前边的顶点不在一个连通分量中*/p=q;p->next=a[G. e[0]. v2];&nb
考题
N名学生的成绩己在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是85,76,69,91,72,64,87,则平均分应当是78.625。注童:部分源程序给出如下.请勿改动主函数main和其他函数中的任何内容,仅在函数6m的花括号中填入所编写的若干语句。试题程序:include<stdlib.h>include<stdio. h>define N 8struct slist{ double s;struct slist *next;};typedef struct slist STREC;double fun(STREC *h){}STREC *creat(double *s) /*创建链表*/{STREC *h,*p, *q;int i=0;h=p= ( STREC*)malloc (sizeof (STREC));p->s=0;while (i<N){q= ( STREC*)malloc (sizeof (STREC));q->s=s Ii]; i++;p->next=q;p=q;}p->next=0;return h;}outlist (STREC *h){STREC *p;p=h->next;printf ("head ");do{printf ("->%4. if ",p->s);p=p->next; /*输出各成绩*/}while (p !=0)}main (){double s [N] ={ 85,76, 69, 85, 91,72, 64,87},ave;STREC *h;h=creat (s);outlist (h);ave=fun (h);printf ("ave=%6.3f\n ", ave);}
考题
在VFP中,打开数据库和表的命令分别是( )。A.USE、OPENB.SELECT、CREATC.OPEN、USED.CREAT、SELECT
考题
下列的SQL语句中,属于数据控制语句的是______。 1.CREAT 2.SELECT 3.UPDATE 4.GRANT 5.DROP 6.DELETE 7.ALTER 8.INSERT 9.REVOKEA.1,5,6,7B.4,9C.2,3.6,8D.1,5,7
考题
阅读下列说明,回答问题 1 至问题 5 ,将解答填入答题纸的对应栏内。 【说明】 某公司要对其投放的自动售货机建立商品管理系统,其数据库的部分关系模式如下: 售货机: VEM(VEMno, Location) ,各属性分别表示售货机编号、部署地点; 商品: GOODS(Gno, Brand, Price) ,各属性分别表示商品编号、品牌名和价格; 销售单: SALES(Sno, VEMno,Gno,SDate,STime),各属性分别表示销售号、售货机编号、商品编号、日期和时间。 缺货单: OOS(VEMno,Gno,SDate,STime ),各属性分别表示售货机编号、商品编号、 日期和时间。 相关关系模式的属性及说明如下: (1)售货机摆放固定种类的商品,售货机内每种商品最多可以储存10 件。管理员在每天结束的时候将售货机中所有售出商品补全 (2)每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到10 条,则表明该售货机上该商品已售完,需要通知系统立即补货,通过自动向缺货单中添加一条缺货记录来实现。 根据以上描述,回答下列问题,将 SQL 语句的空缺部分补充完整。【问题 1】 (3 分) 请将下面创建销售单表的 SQL 语句补充完整,要求指定关系的主码和外码约束。 CREATE TABLE SALES( Sno CHAR(8) (a) VEMno CHAR(5) (b) Gno CHAR(8) (c) SDate DATE, STime TIME); 【问题 2】 (4分) 创建销售记录详单视图 SALES_Detail ,要求按日期统计每个售货机上各种商品的销售数量,属性有 VEMno、Location 、Gno、Brand 、Price 、amount 和 SDate。为方便实现,首先建立一个视图 SALES_Total ,然后利用SALES_Total 完成视图 SALES_Detail 的定义。 CREATE VIEW SALES _Total(VEMno,Gno,SDate,amount) AS SELECT VENno ,Gno ,SDate ,count(*) FROM SALES GROUP BY (d); CREATE VIWE (e) AS SELECT VEM.VEMno,Location ,GOODS.Gno ,Brand,Price,amount,SDate FROM VEM,GOODS,SALES_Total WHERE (f) AND (g) 【问题 3】 (3分) 每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到 10 条,则自动向缺货单中添加一条缺货记录。需要用触发器来实现缺货单的自动维护。程序中的 GetTime()获取当前时间。 CREAT(h) OOS_TRG AFTER (i) ON SALES REFERENCING new row AS nrow FOR EACH ROW BEGIN INSERT INTO OOS SELECT SALES .VENno, (j) GetTime() FROMSALES WHERE SALES.VEMno = nrow.VEMno AND SALES.Gno = nrow.Gno AND SALES.SDate = nrow.SDate GROUP BY SALES.VEMno,SALES.Gno,SALES.SDate HAVING count(*) 0 AND mod(count(*), 10)=0; END 【问题 4】 (3分) 查询当天销售最多的商品编号、品牌和数量。程序中的 GetDate()获取当天日期。 SELECT GOODS.Gno ,Brand, (k) FROM GOODS,SALES WHERE GOODS.Gno=SALES.GNO AND SDATE =GetDate() GROUP BY (1) HAVING(M) (SELECT count(*) FROM SALELS WHERE SDATE = GetDate() GROUP BY Gno); 【问题5】 (2分) 查询一件都没有售出的所有商品编号和品牌。 SELECT Gno ,Brand FROM GOODS WHERE GNO(N) SELECT DISTINCT GNO FROM(o);
考题
阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。【说明】某公司要对其投放的自动售货机建立商品管理系统,其数据库的部分关系模式如下:售货机: VEM(VEMno, Location) ,各属性分别表示售货机编号、部署地点;商品: GOODS(Gno, Brand, Price) ,各属性分别表示商品编号、品牌名和价格;销售单: SALES(Sno, VEMno,Gno,SDate,STime),各属性分别表示销售号、售货机编号、商品编号、日期和时间。缺货单: OOS(VEMno,Gno,SDate,STime ),各属性分别表示售货机编号、商品编号、 日期和时间。相关关系模式的属性及说明如下: (1)售货机摆放固定种类的商品,售货机内每种商品最多可以储存10 件。管理员在每天结束的时候将售货机中所有售出商品补全(2)每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到10 条,则表明该售货机上该商品已售完,需要通知系统立即补货,通过自动向缺货单中添加一条缺货记录来实现。根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。【问题1】请将下面创建销售单表的 SQL 语句补充完整,要求指定关系的主码和外码约束。CREATE TABLE SALES (Sno CHAR(8) ( a )VEMno CHAR(5) ( b )Gno CHAR(8) ( c ) SDate DATE,STime TIME);【问题2】创建销售记录详单视图 SALES_Detail ,要求按日期统计每个售货机上各种商品的销售数量,属性有 VEMno、Location 、Gno、Brand 、Price 、amount 和 SDate。为方便实现,首先建立一个视图 SALES_Total ,然后利用SALES_Total 完成视图 SALES_Detail 的定义。CREATE VIEW SALES _Total(VEMno,Gno,SDate,amount) ASSELECT VENno ,Gno ,SDate ,count(*)FROM SALESGROUP BY ( d );
CREATE VIWE ( e ) ASSELECT VEM.VEMno,Location ,GOODS.Gno ,Brand,Price,amount,SDateFROM VEM,GOODS,SALES_TotalWHERE ( f ) AND ( g )【问题3】每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到 10 条,则自动向缺货单中添加一条缺货记录。需要用触发器来实现缺货单的自动维护。程序中的 GetTime( )获取当前时间。CREAT ( h ) OOS_TRG AFTER ( i ) ON SALES REFERENCING new row AS nrow FOR EACH ROWBEGININSERT INTO OOSSELECT SALES .VENno, ( j ) GetTime( )FROM SALESWHERE SALES.VEMno = nrow.VEMno AND SALES.Gno = nrow.GnoAND SALES.SDate = nrow.SDateGROUP BY SALES.VEMno,SALES.Gno,SALES.SDateHAVING count(*)> 0 AND mod(count(*),10)=0;END【问题4】查询当天销售最多的商品编号、品牌和数量。程序中的 GetDate( )获取当天日期。SELECT GOODS.Gno ,Brand, ( k )FROM GOODS,SALESWHERE GOODS.Gno=SALES.GNO AND SDATE =GetDate( )GROUP BY ( l )HAVING( m ) (SELECT count(*)FROM SALELSWHERE SDATE = GetDate( )GROUP BY Gno);【问题5】查询一件都没有售出的所有商品编号和品牌。SELECT Gno ,BrandFROM GOODSWHERE GNO( n )SELECT DISTINCT GNOFROM( o );
考题
某机械设计公司为了规范内部设计图纸的存储标准,提高文件的安全性和工作效率,决定新建基于Linux的FTP服务器,回答问题1-问题5.[问题1] (3分)为了统一设置虚拟用户上传FTP的图纸文件的默认权限掩码,则管理员可以打开(1)配置文件,设置(2)配置项。2的备选项:A:anon_umask B:local_umask C:creat_umask D:guest_umask
[问题2] (5分)管理设置TCP Wrappers策略对vsftpd服务进行访问控制。为了限制公司前台的两台计算机192.168.1.2和192.168.1.3登录FTP服务器,在/etc/hosts.deny文件中设置了“vsftpd:192.168.1.2, 192.168.1.3”。但是管理员忘记删除/etc/hosts.allow文件中设置的“vsftpd:192.168.1.2”配置,目前这两台机器登录FTP服务器的情况是(3),有没有达到预期的限制访问的目的(4)?原因是(5)?[问题3](4分) 公司新用户小王有一个名为wang的账户,管理员在配置文件中加入下面两行:userlist_enable=YESuserlist_deny=NO并且把wang用户加入到了/etc/vsftpd.user_list文件中,小王在客户端登录服务器能否登录成功( 6 ),原因是(7)。 [问题4](3分)经过一段时间允许,管理发现用户超过50时,服务器性能严重下降,因此需要设置最大并发用户数50,在/etc/vsftpd.user_list配置文件中设置(8)。如果该服务器希望能与Windows共享文件和打印服务,则应该安装(9)(8)备选答案A:max_clients=50 B:max_per_ip=50 C:local_max_rate=50 D:anon_max_rate=50