谈模糊语言及魔王语言解释_第1页
谈模糊语言及魔王语言解释_第2页
谈模糊语言及魔王语言解释_第3页
谈模糊语言及魔王语言解释_第4页
谈模糊语言及魔王语言解释_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

“挡驾”是秘书的一项非常重要的日常工作,所谓“挡驾”,是指秘书人员为保证领导集中精力想大事、抓大事,对领导日常工作中无关紧要或关系不大的人和事进行鉴别和剔除的一种把关性措施。秘书平时说话都力求把意思表达明白、清楚,这是工作的需要、交际的需要,但在挡驾工作的某些特殊语境下,恰恰需要不直接、不明白的语言和表达方式,以便让人自己去体会、去捉摸,从而收到巧妙的表达效果,这样模糊语言便在挡驾工作中找到了巨大的运用潜力。模糊语言是外延不确定、内涵不定指的弹性语言。为了适应挡驾的需要,有时秘书会有意把话说得模糊一些,使语言表示的大小、范围、程度、态度等留有余地,界限不那么分明,像常常用到的“大约、基本、左右、大概是”这些词语,它们所表示的意义都带有一定的模糊性。一、模糊语言的类型模糊语言主要包括以下两类:(一)词语的模糊。指一个词本身所表达的概念外延不明确,即没有准确的范围和界限。在挡驾工作中常见的有“现在”与“过去”、“大”与“小”、“深”与“浅”、“快”与“慢”,这些词看似明确,实际它们之间没有一个明确的区别标准,因而它们的外延都是模糊的。请看下面的例子:1.一退休老干部,就其儿女安排工作的事,来找领导,秘书挡驾:“这个事,的确有点难,必须上报批准才行。”“难”是个模糊词语,意义范围界限不明确,怎样才算难,难到什么程度都很模糊。2.一员工关于转正的事,想走捷径,要见经理,秘书挡驾:“领导不在办公室,找人去了。”找什么人?是张三还是李四?可见,抽象的“人”离开了年龄、性别、国籍、职业等特征,只剩下了与动物相区别的特征,它的外延就很模糊,例子中的“人”包括了一切活着的人。(二)语义的模糊即有些句子从每个词看,意义是明确的,但从整个句子的意义看却是模糊的。这种语义模糊,在整个句子中通常有副词“大约、也许、恐怕、未必、不见得”或动词“再说、研究研究、考虑考虑”等。例如:3.一工人想见厂长弄清楚岗位工资近期是不是要进行大的调整,秘书说:“这事,领导还要研究一下。”秘书虽然明确说“领导要研究一下”,实际这个回答既没有肯定说会调整,也没有否定说不会调整,其语义是模糊的。二、模糊语言在挡驾工作中的作用康德曾经说过:“人类生活中不能没有模糊语言,不可能处处用精确语言代替模糊语言。”模糊语言在挡驾工作中不仅使用频繁,而且还起着不可替代的特殊作用。(一)能表达含蓄的感情、丰富的内涵。如:4.有一员工找领导闹事,严重影响了单位办公,秘书:“你还敢来找领导闹事,你那个事,领导都已经既往不咎了。”“那个事”,秘书没有点破,故意使用这种模糊语言,表达了自己的立场和原则,既有坚定的原则性又有策略上的灵活性,充分体现了秘书的交际能力。(二)可加大语言的伸缩性,巧妙打破僵局。在挡驾过程中,来访人员总是想得到清楚、准确、具体的回答,但秘书出于某种需要,往往不便按照来访人的意图来回答,这时,巧妙地运用模糊语言,往往能打破僵局,避免出现难堪的局面。如:5.年底本部门的职员都纷纷来问经理年度评优评先的结果,秘书挡驾:“大家别心急,结果总会公布的,请等着看下一期的厂报好了。”评选还在进行中,结果未定,秘书当然不能泄露任何情况,如果不回答,谈话也就陷人了僵局,怕员工有情绪,秘书用“等着看下期的厂报”一句模糊语,既不泄露单位的秘密,又巧妙地回复了下级员工。(三)符合人们交际中的礼貌原则,便于人们更好地沟通。模糊语言在挡驾工作中被当作一种礼貌语言策略来使用,它常会起到一种意想不到的积极作用。太过精确的语言有时会使表达直露让人难以接受,而模糊语言能使表达谦虚、有礼貌,能避免和减少语言的刺激性,使话语如同增加了润滑剂。例如:6.有两位员工找领导,想问上个月他们申请的关于调动岗位的事,什么时候能批下来。秘书:“说不好,过几天,可能会出结果。”这话中一连用了三个模糊词语,这显然没能具体说明哪一天有结果,但来访者能接受,比硬邦邦的明确语言“不知道”要好得多。7.客户打电话来找老总,想尽早商定关于双方合作的条件。秘书:“老总现在不在公司,请您放心,老总会在合适的时候,请你们过来。”这样回答既给自己留有选择的余地,又表示对对方的尊重和礼貌。”总之,模糊语言在挡驾工作中起到了重要作用,它有利于人际关系更加和谐,有利于工作更加协调,人们越来越认识到它的功能并在逐步地寻求更好地驾驭它的途径。三、模糊语言在挡驾工作中的运用在什么情况下,如何使用模糊语言,才能提高交际表达效果,促使挡驾顺利进行呢?(一)秘书人员在挡驾时,对于尚未确定的事项,不妨使用模糊语言。如对待来寻求领导帮助的群众,要对其抱有一种同情心,在挡驾中,以恰当的语言进行安慰、劝说,但切不可对其给予肯定或否定的答复,因为问题还没有经过调查。如:8.“我们一定认真调查核实,早日给你一个答复。”这里用“早日”恰如其分地模糊了一下,对于秘书来说是有很大的回旋余地的,不会受到时间太大的限制,能使来访者心灵得到慰藉,情绪得到稳定,这便是挡驾场合中模糊语言独特的魅力。(二)秘书在挡驾过程中,有些情况不便向对方说明时,最好用模糊语言,这种情况多数是为了保密或自我保护。如:9.公司要评优秀部门,总经理到各部门检查工作回来后,各部门经理都打电话来要找总经理,想询问情况并套近乎,秘书一一挡驾,其中一部门经理:“李秘书,帮我约约总经理,不知道他对我们部门印象如何啊?”秘书:“不要担心,大致可以。”在此,秘书如正答就可在“冷淡”、“关切”、“热情”、“不好”等界定词内选择,而秘书使用了模糊语言“大致可以”,以摆脱矛盾,避免节外生枝。(三)挡驾时,秘书在不能满足对方的要求时,不直接说“不”,而应使用模糊语言,这样一方面减轻了对方的挫折感,一方面也避免了冲突。例如:10.一客户来公司,在秘书处得知老板不在公司后,该客户不相信仍坚持:“我找你们老板有很重要的事,非见面商量不可啊。”这时,秘书没有直接说“不行”,生硬的回复客户,而是用了模糊的语言,她说:“那我去帮您找一找,看老板回来没有。”便借此机会请示领导,如果领导表态不见,秘书就回话:“很抱歉,都已经找遍了,领导还没回来。”此时客户心里也能接受事实而打道回府了。11.一下属单位来请领导出席活动,秘书挡驾:“今天领导有要事,可能去不了。”此处使用了模糊性的词语“可能”,表达婉转之意,听起来比较柔和,不僵硬,易于让人接受,如果秘书直接说:“今天领导有要事,不去了。”就显得呆板、生硬,使人感觉领导在摆架子,看不起人。综上所述,秘书在挡驾过程中,有时必须借助模糊语言以提高语言表达效果,从而达到挡驾的目的。秘书只有在学习、了解、掌握模糊语言的基础上,才能真正的用好模糊语言,使它发挥其特殊的作用,让它能更好地为秘书挡驾工作服务。数据结构课程设计文档2.2魔王语言解释(线性)[问题描述]有一个魔王总是使用自己的一种非常精练而又抽象的语言讲话,没有人能听得懂,但他的语言是可以逐步解释成人能听懂的语言,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的:(1)α->β1β2…βm(2)(θδ1δ2…δn)->θδnθδn-1…θδ1θ在这两种形式中,从左到右均表示解释。试写一个魔王语言的解释系统,把他的话解释成人能听得懂的话。[基本要求]用下述两条具体规则和上述规则形式(2)实现。设大写字母表示魔王语言的词汇;小写字母表示人的语言词汇;希腊字母表示可以用大写字母或小写字母代换的变量。魔王语言可含人的词汇。(1)B->tAdA(2)A->sae[测试数据]B(ehnxgz)B解释成tsaedsaeezegexenehetsaedsae若将小写字母与汉字建立下表所示的对应关系,则魔王说的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。tdsaezgxnh天地上一只鹅追赶下蛋恨一:需求分析(1)以一维数组demon[i]表示魔王语言.(2)魔王语言由用户输入,初始保存在demon[i]中.(3)魔王语言与人类语言对应关系固化在程序中.(4)实现过程:A:初始,魔王语言接收后存放在demon[i]中.B:初次遍历数组,将数组中括号内的元素入栈,同时插入相应首字母;C:再次遍历数组,将数组元素依次入队。(小写字母直接入队;大写字母经翻译成相应字符后入队;遇到括号,将栈中保存的元素依次出栈入队)在翻译过程中,如果依旧包含大写字母,则置flag为1,否则为0。D:将队列中元素赋值给demon[i]。如果此时flag=1,则再次重复C过程。直至所有元素为人类语言。E:输出demon[i]。此时数组中元素为对应的人类语言。注:如果程序中没有相应的对应关系,则翻译成“???”。二:概要设计:1:设定栈的抽象数据类型定义:ADTstack{数据对象:D={ai|ai∈CharSet,i=1,2,…,n,n>=0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:initstack(&s)操作结果:构造一个空栈s.push(&s,e)初始条件:栈s已存在.操作结果:在栈s的栈顶插入新的栈顶元素e.pop(&s,&e)初始条件:栈s已存在.操作结果:删除s的栈顶元素,并以e返回其值.}ADTstack2:设定队列的抽象数据类型:ADTqueue{数据对象:D={ai|ai∈Elemset,i=1,2,…,n,n>=0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=2,…,n}基本操作:initqueue(&q)操作结果:构造一个空队列q.enqueue(&q,e)初始条件:队列q已存在.操作结果:插入元素e为q的新队尾元素.dequeue(&q,&e)初始条件:q为非空队列.操作结果:删除q的队头元素,并用e返回其值.}ADTqueue3:本程序包含四个模块:1)主函数模块.其中主函数为:statusmain(){初始化栈;初始化队列;接收魔王语言输入到数组demon[i];遍历数组将括号中元素进栈;while(数组demon[i]中元素有大写字母){翻译排序处理后入队列;将对列元素保存在数组demon[i];}输出人类语言(数组demon[i]);}2)括号内元素入栈处理模块.tempstack(&temps)将括号内元素入栈,依次插入首字符.举例:(abcd)->adacaba.3)排序入队列模块.sort(&s,&q){遍历数组;{遇到小写字母,直接入队列;遇到大写字母,翻译大写后入队列;遇到括号,将栈中保存的元素依次出栈入队列;}}4)翻译大写处理模块.spenqueue(&*q,key){switch(key){找到各个大写字母对应的字符串.没有相应的则解释为’???’}}各模块之间调用关系:主函数模块{括号内元素入栈处理模块;排序入队模块{翻译大写处理模块;}}三:详细设计1.定义全局变量#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineNULL0#defineOVERFLOW-2#defineMAXSIZE100#definestack_init_size100#definestackincrement10typedefcharselemtype;typedefcharqelemtype;typedefcharelemtype;typedefintstatus;chare;chardemon[MAXSIZE];2.栈类型及其基本操作typedefstruct{selemtype*base;selemtype*top;intstacksize;}sqstack;statusinitstack(sqstack*s){s->base=(selemtype*)malloc(stack_init_size*sizeof(selemtype));if(!s->base)exit(OVERFLOW);s->top=s->base;s->stacksize=stack_init_size;returnOK;}/*创建栈*/statuspush(sqstack*s,selemtypee){if(s->top-s->base>=s->stacksize){s->base=(elemtype*)realloc(s->base,(s->stacksize+stackincrement)*sizeof(elemtype));if(!s->base)exit(OVERFLOW);s->top=s->base+s->stacksize;s->stacksize+=stackincrement;}*(s->top++)=e;returnOK;}/*入栈*/statuspop(sqstack*s,selemtype*e){if(s->top==s->base)returnERROR;*e=*(--(s->top));returnOK;}/*出栈*/3.队列类型及其基本操作typedefstructqnode{qelemtypedata;structqnode*next;}qnode,*queueptr;typedefstruct{queueptrfront;queueptrrear;}linkqueue;statusinitqueue(linkqueue*q){q->front=q->rear=(queueptr)malloc(sizeof(qnode));if(!q->front)exit(OVERFLOW);q->front->next=NULL;returnOK;}/*创建队列*/statusenqueue(linkqueue*q,qelemtypee){queueptrp;p=(queueptr)malloc(sizeof(qnode));if(!p)exit(OVERFLOW);p->data=e;p->next=NULL;q->rear->next=p;q->rear=p;returnOK;}/*入队*/statusdequeue(linkqueue*q,qelemtype*e){queueptrp;if(q->front==q->rear)returnERROR;p=q->front->next;*e=p->data;q->front->next=p->next;if(q->rear==p){q->rear=q->front;}free(p);returnOK;}/*出队*/4.括号内元素入栈处理函数voidtempstack(sqstack*temps){inti=0;chart;charc;c=demon[i];for(i=0;c!='#';i++)/*遍历数组*/{c=demon[i];if(c=='(')/*遇到开括号*/{t=demon[i+1];/*取括号中的首字母*/push(temps,t);/*入栈*/i++;/*指向首字母*/do{i++;c=demon[i];push(temps,c)/*第一次循环将次字母入栈*/;push(temps,t);/*再将首字母进栈*/}while(c!=')');/*直到括号中元素全部进栈*/pop(temps,&t);/*将多余进栈的首字母t出栈*/pop(temps,&t);/*将多余进栈的’)’出栈*/}}}/*临时栈*/5.特殊入队函数voidspenqueue(linkqueue*q,charkey){intj=0;chara[5];switch(key)/*判断大写字母对应的字符串*/{case'A':strcpy(a,"sae");break;case'B':strcpy(a,"tAdA");break;case'C':strcpy(a,"abc");break;case'D':strcpy(a,"def");break;case'E':strcpy(a,"ghi");break;case'F':strcpy(a,"klm");break;case'H':strcpy(a,"mop");break;default:strcpy(a,"???");/*不能翻译的魔王语言以”???”输出*/}while(a[j]!='\0')/*如果数组还有字母*/{enqueue(q,a[j]);/*进队*/j++;}}/*特殊入队*/6.排序入队处理函数statussort(sqstack*s,linkqueue*q){qnodeb;intflag=0;/*大写字母监视哨置零*/inti;for(i=0;demon[i]!='#';i++)/*遍历数组*/{b.data=demon[i];if(('a'<=b.data&&b.data<='z')||b.data=='?')/*如果是小写字母或者’?’则直接入队*/{enqueue(q,b.data);}else{if('A'<=b.data&&b.data<='Z')/*如果是大写字母,则调用特殊入队函数,*/{spenqueue(q,b.data);flag=1;/*发现大写字母监视哨置1*/}else{if(b.data=='(')/*如果是括号*/{do{pop(s,&e);enqueue(q,e);}while(!(s->top==s->base));/*只要栈不为空,则出栈进队*/while(b.data!=')')/*只要还指向括号内元素,就继续往后移,保证原括号内的元素不再进栈*/{i++;b.data=demon[i];}}}}}returnflag;}/*排序*/statusmain(){sqstacks1;linkqueueq1;intk=0;intflag=1;clrscr();printf("\n\n\n\t\t\tWELCOME!\n");printf("\t***************************************\n");printf("\tPleaseInputTheDemon'sWords:\n\t");printf("!:LessThan30Letters:)\n\t");printf("!:PleaseStopBy'#':)\n\t");printf("***************************************\n\t");printf("TheDemon'sWords:\n\t");scanf("%s",demon);printf("\n\t***************************************");initstack(&s1);/*创建栈*/initqueue(&q1);/*创建队*/tempstack(&s1);/*调用函数*/while(flag==1)/*如果有大写字母*/{k=0;flag=sort(&s1,&q1);while(q1.front!=q1.rear)/*重写demon[i]*/{dequeue(&q1,&e);demon[k]=e;k++;}demon[k]='#';}demon[k]='\0';printf("\n\tTheHuman'sWords:\n\t%s",demon);printf("\n\n\t***************************************");printf("\n\t\t\tTHANKYOU!\n\t");printf("Pleasepressanykeytoexit...");if(getch())exit(1);}}/*主函数*/四:调试分析1.函数调用比较多,因而得仔细对待数值和地址的传递.2.由于魔王语言中’B’中仍然包含着大写字母(tAdA).所以考虑设置flag.3.函数数组遍历.进栈出栈.入队出队中都要牵扯指针的移动,所以要仔细考虑一循环的条件以及进栈元素的个数.五:用户手册1.本程序运行环境为DOS/WINDOWS操作系统,执行文件为:魔王语言解释.exe。2.进入程序即显示提示信息:WELCOME!***************************************PleaseInputTheDemon'sWords:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论