首页 > 范文大全 > 正文

算法我只要5分

开篇:润墨网以专业的文秘视角,为您筛选了一篇算法我只要5分范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

算法是计算机理论和技术的核心,也是数学的最基本内容之一.随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用.算法的基本知识、方法、思想日益融入社会生活的许多方面,已经成为现代人应具备的一种基本素质.算法这一章节反映了时代的特点,也是数学课程新增内容之一.

一、基本知识

在江苏高考中均以填空题形式出现,主体考查条件语句和循环语句.条件语句,循环语句有当型循环、直到型循环和“For”语句,他们分别可以用下面的语句形式来描述.

二、三种循环语句的区别

三种循环语句的区别:do....Until语句是先运行循环体,再判断条件是否满足,因此至少会执行循环语句一次,而while语句只要不满足条件则不执行语句.也就是说do....Until先做再判断,而while语句先判断再做.而“For”语句中需要知道开始和结束的相关值,另外“For”语句中可以省略Step“步长”,默认步长为“1”.

例1求1到100之间的所有素数并输出.

分析:在此题中主要考虑如何把素数从1到100中挑出来,根据素数的概念,除了1和本身约数外没有其他约数的是素数.故在给出的算法中用i除以1到i的所有整数,用i÷j是否等于Int(i÷j)来判断是否整除(Int(x),表示不超过x的最大整数).用k来计数,让i除以1到i的所有整数后判断k是否等于2,若等于2则表明该数是素数并输出,否则不是.

在给出的算法中用到了条件语句没有“Else”的情况,即单行条件语句.另外给出的这种算法还可以对其优化,如在“kk+1”后面加上判断“If k>2 Then Exit For”,即k>2后,该数就不可能是素数了,循环就可以结束,开始下一个数的判断.计算机的最大特点就是计算,我们在编写伪代码的时候,可以采用这种按序式的计算.但是一个好的伪代码是要尽可能的减少运算的次数,以达到减少计算机计算步骤和时间的目的.

在问题解决方案中,三种循环语句可以实现互相转化,但是他们也有不能转化的时候.do....while语句由于是先执行再判断,while语句是先判断再计算,故do....while语句至少会执行一次循环体.而For语句需要知道开始和结束,循环的开始一般都是知道的,但是结束不一定是指定变量来判断的,故有时无法互转.因为For语句的简洁给不少人留下深刻的印象,所以在写伪代码的时候有不少人喜欢用For语句.

三、高考范例

例2(2013・新课标Ⅱ理,6)执行程序框图,如果输入的N=10,那么输出的S=(用表达式表示).

答案:1+12!+13!+…+110!.

解析:当输入N=10时,由于初值k=1,S=0,T=1,故程序运行过程依次为:T=11=1,S=0+1=1,k=1+1=2,此时不满足k>10T=12=12!,S=1+12!,k=2+1=3,不满足k>10T=12!3=13!,S=1+12!+13!,k=3+1=4仍不满足k>10,…,直到k=10时,T=19!10=110!,S=1+12!+13!+…+110!,k=11,此时满足k>10,结束循环,输出S=1+12!+13!+…+110!后结束.

评注:对于此类题目尤其要关注的是它何时开始,何时结束,我们在解答此类题时,要对其进行推演.也就是说我们要分析它的每一个运算步骤,把运算过程写出来.

例3(2013・江西师大附中、鹰潭一中联考)张老师给学生出了一道题,“试写一个程序框图,计算S=1+13+15+17+19”.发现同学们有如下几种做法,其中有一个是错误的,这个错误的做法是()

答案:B.

解析:B图中,i=5时,仍满足i≤5的条件,故i=5+1=6,S在原值的基础上加上12×6-1=111,此时i≤5不成立,输出S的值,故B错误.

评注:对于一个问题,有多个方法可以解决,要仔细体会每一种程序框图的共同点和不同点.有时候即使同一个程序框图在写伪代码时,也会出现不一样.

例4(2013・湖北12)阅读如图所示的程序框图,运行相应的程序,输出的结果i=.

答案:5.

解析:当a=10时,a≠4,a为偶数,a=5,i=2;a=5,a≠4,a为奇数,a=16,i=3;a=16,a≠4,a为偶数,a=8,i=4;a=8,a≠4,a为偶数,a=4,i=5;a=4,满足,则输出i=5.评注:此题中,首先要明白i在框图中是用来计数这样一个作用,然后再对框图进行逐步循环,直到满足a=4为止.

算法在高考中从近几年的难度来看,均不难.同学们要做的是能知道几种循环结构以及在程序框图中,填入一些判断语句,以使得程序结束.再次强调算法中需要我们知道何时开始,何时结束.对于例题4类的题目需要我们有耐心认真执行好它的每一步,注意每个变量在框图中的作用.

(作者:陈宏春,海安县曲塘中学)