自然语言描述算法
‘壹’ 用自然语言和流程图表示求解下列各问题的算法
用自然语言描述算法:(1)输入N;(2)将1送入I(I←1);(3)重复执行下面的操作,直至I=N;(4)将2送入K(K←2);(5)重复执行下面操作,直到K=I-1;A.将I除以K的商送入J(J←I/K);B.若J是整数,I增加1并转向(3);C.否则将K增加1并转向(5);(6)输出I,I增加1并转向(3);(7)结束。根据以上算法,用QBASIC语言可编写如下程序:10 INPUT N20 FOR I=1 TO N30 FOR K=2 TO I-140 J=I/K50 IF J=INT(J) THEN GOTO 8060 NEXT K70 PRINT I,80 NEXT I90 END程序中使用了GOTO无条件转移语句,破坏了程序的结构。寻找另一思路:判断一个自然数M是不是素数,可用2、3、4……去除M,如果这些数都不能整除M,则M是素数。用结构化流程图N-S图描述该算法。INPUT NFOR M=1 TO N STEP 2 K=INT(SQR(M)) I=2 FLAG=1 DO WHILE (I<=K) AND (FLAG=1) IF M MOD I=0 THEN FLAG=0 I=I+1 LOOP IF FLAG=1 THEN PRINT M,NEXT MEND程序中FLAG是一个“标志变量”,FLAG=1表示M未被任何一个整数整除过。如果在某一次循环中,M能被一个整数I整除,则FLAG就置成0。设置FLAG变量的目的主要是为了避免转移语句的出现。因为如果没有设置FLAG变量,在循环执行中,某一次M能被I整除,则要么继续执行循环,直到内循环全部执行完毕,要么用转移语句直接跳出内循环。显然,前者是毫无效率地浪费时间,而后者又不符合结构化程序设计的要求。
‘贰’ 这算法怎么用自然语言描述。
将十进制数转换为n(n<=16)进制数算法:
输入一个十进制数n_10,输入进制数n , 建立一个栈,将n_10除n的余数进栈,将n_10除n的商作为n_10,再将n_10除n的余数进栈,将n_10除n的商作为n_10,反复如此,直至商数为0.
最后依次出栈,若站内的值小于10,原样输出;若是10,输出A;若是11,输出B;若是12,输出C;若是13,输出D;若是14,输出E;若是15,输出F.
‘叁’ 用自然语言描述:求两个正整数a和b最大公约数的算法
辗转相除法:设两数为a、b(b<a),求它们最大公约数(a、b)的步骤如下:用b除a,得a=bq.r 1(0≤r).若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q.r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止.其最后一个非零余数即为(a,b).
————————————--------------------------------------------
辗转相除法是利用以下性质来确定两个正整数 a 和 b 的最大公因子的:1.若 r 是 a ÷ b 的余数,则 gcd(a,b) = gcd(b,r) 2.a 和其倍数之最大公因子为 a.另一种写法是:1.a ÷ b,令r为所得余数(0≤r<b) 若 r = 0,算法结束;b 即为答案.2.互换:置 a←b,b←r,并返回第一步.
‘肆’ 描述算法的常用方法
1.什么是算法
从字面上来说,算法也就是用于计算的方法。是用来解决某些问题的方法。通过这个方法,可以达到想要的计算结果。它就像我们小时候学些的一些数学公式和解题步骤。
算法,一般有5个特征:
有穷性:
算法的执行步骤、时间、都是有限的。不会无休止的一直执行下去。
确切性:
算法的每一步都必须有明确的定义和描述。
输入:
一个算法应该有相应的输入条件,就像我们小时候做的应用题,已知什么什么。来求某个结果,已知部分便是输入条件。
输出:
算法必须有明确的结果输出。没有结果,那这个算法是没有任何意义的。
可行性:
算法的步骤必须是可行的,无法执行的则没有意义,也解决不了任何问题
2.算法的分类
按照算法的应用来分:算法可以分为基本算法、几何算法、加密/解密算法、查找算法、图标数据分析算法等。
按照算法的思路来分:算法可以分为递推算法、递归算法、穷举算法、分治算法等。
下面,我们就来讲我们的重点之一:也就是算法思想:
3.常用算法思想
穷举算法思想;
递推算法思想;
递归算法思想;
分治算法思想;
概率算法思想;
‘伍’ 算法的描述可以采用什么
如下:
1、用自然语言描述算法
前面关于欧几里的算法以及算法实例的描述,使用的都是自然语言。自然语言是人们日常所用的语言,如汉语、英语、德语等。使用这些语言不用专门训练,所描述的算法也通俗易懂。
2、用流程图描述算法
在数学课程里,我们学习了用程序框图来描述算法。在程序框图中流程图是描述算法的常用工具由一些图形符号来表示算法。
3、用伪代码描述算法
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法的工具。它不用图形符号,因此,书写方便、格式紧凑,易于理解,便于向计算机程序设计语言过度。
算法的特征
输入:一个算法必须有零个或以上输入量。
输出:一个算法应有一个或以上输出量,输出量是算法计算的结果。
明确性:算法的描述必须无歧义,以保证算法的实际执行结果是精确地符合要求或期望,通常要求实际运行结果是确定的。
有限性:依据图灵的定义,一个算法是能够被任何图灵完备系统模拟的一串运算,而图灵机器只有有限个状态、有限个输入符号和有限个转移函数(指令)。而一些定义更规定算法必须在有限个步骤内完成任务。
‘陆’ 算法的描述方式有几种分别是什么
描述算法的方法有多种,常用的有自然语言、结构化流程图、伪代码和PAD图等,其中最普遍的是流程图,分思法。
流程图(Flow Chart)使用图形表示算法的思路是一种极好的方法,因为千言万语不如一张图。流程图在汇编语言和早期的BASIC语言环境中得到应用。相关的还有一种PAD图,对PASCAL或C语言都极适用。
(6)自然语言描述算法扩展阅读:
算法可以宏泛的分为三类:
一、有限的,确定性算法 这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。
二、有限的,非确定算法 这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。
三、无限的算法 是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。
‘柒’ 下面用自然语言描述的算法中包含的基本结构有_________。 ①输入两个正整数m和n ②r除以n的余数 ③mn ④nr
选择答案B,用自然语言描述的算法中包含了顺序、分支和循环结构。
题目分析:
首先给定的两个正整数m和n,求最大公约数一定是从m到n依次进行判断的,所以体现了顺序结构。同时页利用了循环,所以说涉及了循环结构。同时如果r>0,那么转第二和第六条输出最大公约数体现的是分支结构。
程序的结构化程序设计思想确实使程序执行效率提高。程序的出错率和维护费用大大减少结构程序设计就是一种进行程序设计的原则和方法。
按照这种原则和方法可设计出结构清晰、容易理解、容易修改、容易验证的程序结构化程序设计的目标在于使程序具有一个合理结构,以保证和验证程序的正确性,从而开发出正确、合理的程序。
(7)自然语言描述算法扩展阅读:
使用基本结构的优点:
1、整体思路清楚,目标明确。
2、设计工作中阶段性非常强,有利于系统开发的总体管理和控制。
3、在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。
使用基本结构缺点:
1、用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
2、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
3、系统的开发周期长。
自然语言处理发展的特点:
1、基于句法—语义规则的理性主义方法受到质疑,随着语料库建设和语料库语言学的崛起,大规模真实文本的处理成为自然语言处理的主要战略目标。
2、自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。
3、自然语言处理中越来越重视词汇的作用,出现了强烈的“词汇主义”的倾向。
‘捌’ 用自然语言描述算法直观,不会产生歧义,容易理解
用
自然语言
描述算法直观,不会产生歧义,容易理解,这是错误的。
用自然语言描述算法比较容易接受,但叙
述冗长,容易产生“歧义”.用流程图描
述算法比较清晰、直观,不容易产生“歧
义”。
‘玖’ 简述算法的各种表示形式
最低0.27元/天开通网络文库会员,可在文库查看完整内容>
原发布者:lsqlsy123
算法的表示方法算法的常用表示方法有如下三种:1、使用自然语言描述算法2、使用流程图描述算法3、使用伪代码描述算法我们来看怎样使用这3种不同的表示方法去描述解决问题的过程,以求解sum=1+2+3+4+5……+(n-1)+n为例。第1种:使用自然语言描述从1开始的连续n个自然数求和的算法①确定一个n的值;②假设等号右边的算式项中的初始值i为1;③假设sum的初始值为0;④如果i≤n时,执行⑤,否则转出执行⑧;⑤计算sum加上i的值后,重新赋值给sum;⑥计算i加1,然后将值重新赋值给i;⑦转去执行④;⑧输出sum的值,算法结束。从上面的这个描述的求解过程中,我们不难发现,使用自然语言描述算法的方法虽然比较容易掌握,但是存在着很大的缺陷。例如,当算法中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧义(称之为二义性),譬如有这样一句话——“武松打死老虎”,我们既可以理解为“武松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说,可以产生3种截然不同的意思,同学们不妨试试看。为了解决自然语言描述算法中存在着可能的二义性,我们提出了第2种描述算法的方法——流程图。第2种:使用流程图描述从1开始的连续n个自然