登录 | 注册 | 忘记密码 | 设为首页 | 加入收藏凤凰教育网
关闭用户登录
  •  
  • 新课标算法初步详解
  • 作者: 来源: 时间:2009-9-2 11:38:53 阅读次 【
  •  

    一、新课标要求

    算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。

    内容与要求 :算法初步(约12课时)

    (1)算法的含义、程序框图

    ①通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义。

    ②通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。

    (2)基本算法语句 :经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想。

    (3)通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。

    内容结构:

    二、重点与难点:
      重点:算法的概念和算法的三种基本逻辑结构及对应的基本算法语句。
      难点:循环结构的程序框图。

    三、注意问题

    1)采用“模仿、操作、探索”的方式进行教与学,结合具体数学实例。

    2)虽然算法有多样性和提倡算法的优化,但教学中应从熟知的问题出发,体会算法的程序化思想,而不是简单呈现一些算法。不必刻意追求最优化的算法,把握算法的基本结构和程序化思想才是我们的重点。

    (3)不要把算法单纯地变成程序语言的学习和程序设计的学习。重要的是让学生体会算法的思想,理解算法的重要性与有效性,加强逻辑思维。

    (4)会写算法,不要忽略算法语句。写出算法语句就能避免画程序框图时的很多错误。

    (5)加强学生的自我探究、自我提高和自我总结。培养学生的思维能力。学习算法语句时,有条件的学校尽量上机学习。

     

    四、教学内容

    ?SPAN>1.1.1  算法的概念

    教学目标

    1、知识目标:(1)使学生理解算法的概念;

    (2)掌握简单问题的算法的表述;

    (3)初步了解高斯消去法的思想;

    (4)了解使用Scilab求二元一次方程组解的方法.

    2、能力目标:(1)逻辑思维能力.通过分析高斯消去法的过程,体会算法的思想,发展有条理的清晰的思维的能力,提高学生的算法素养。

    (2)创新能力.算法的多样性.

    3、情感目标:

        让学生感受算法思想的重要性,感受现代信息技术的能力,提高学生的学习兴趣.

    重点与难点

    重点:算法的概念和算法的合理表述.

    难点:算法的合理表述、高斯消去法.

    教学方式与手段

    采用“问题探究式”教学法,多媒体辅助教教学

    教学过程

    (学生对算法比较陌生,如何引入?什么是算法?)

    一、引入:

    问题1:把大象放入冰箱分几步?

    第一步:把冰箱门打开;

    第二步:把大象放进冰箱;

    第三步:把冰箱门关上.

    问题2:指出在家中烧开水的过程分几步?(略)

    问题3:如何求一元二次方程的解?

     

    第一步:计算

    第二步:如果

    如果,方程无解

    第三步:下结论.输出方程的根或无解的信息.

     

    注意:在以上三个问题的求解过程中,老师要紧扣算法定义,带领学生总结,反复强调,使学生体会以下几点:

    有穷性:步骤是有限的,它应在有限步操作之后停止,而不能是无限地执行下去。

    确定性:每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的。

    逻辑性:从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题。

    不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法。

    普遍性:很多具体的问题,都可以设计合理的算法去解决。

    注:其他还有输入性、输出性等特征,结论不固定.

     

    提问:算法是如何定义?

    二、概念形成及深化

    1、算法的定义

    算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。

       

    2、算法的五个特征、现实生活中的算法(菜谱、歌谱等)

    3、算法的表述形式:

    ⑴用日常语言和数学语言或借助于形式语言(算法语言)各处精确的说明。

    ⑵程序框图(简称框图)。

    ⑶程序语言。

    三、典型例题

    例1、一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少只小兔多少只鸡?(第一课,提高学生兴趣)

    算法1:S1  首先计算没有小兔时,小鸡的数为:17只,腿的总数为34条。

    S2  再确定每多一只小兔、减少一只小鸡增加的腿数2条。

    S3  再根据缺的腿的条数确定小兔的数量: (48-34)/2=7只

    S4  最后确定小鸡的数量:17-7=10只.

    算法2:S1  首先设只小鸡,只小兔。

    S2  再列方程组为: 

    S3  解方程组得:

    S4  指出小鸡10只,小兔7只。

    算法3:S1  首先设只小鸡,则有只小兔

    S2  列方程 

    S3  解方程得,则

    S4  指出小鸡10只,小兔7只.

    算法4:S1 “请一名驯兽师”所有小鸡抬一条腿,所有小兔抬两条腿

    S2  有小兔

    S3  有小鸡

    S4  指出小鸡10只,小兔7只.

    算法5:S1  有小兔

    S2  有小鸡

     

    例2、写出解二元一次方程组的一个算法: (高斯消去法)

    算法1 :S1 假定,①②,得到:

    原方程组化为:

    S2 如果,输出方程组无解或有无数组解

    如果,解④得

    S3 将⑤代入③,整理得:

    S4 输出结果或无法求解信息.

    算法2 :S1计算

    S2 输出方程组无解或有无数组解,否则

    S3输出结果x1,x2或无法求解信息.

     

    例3、写出一个求有限整数序列中的最大值的算法。

    算法1:S1  先假定序列中的第一个数为"最大值"。

    S2  将序列的第二个整数值与"最大值"比较,如果第二个整数大于"最大值",这时就假定这个数为"最大值"

    S3  将序列的第三个整数值与"最大值"比较,如果第三个整数大于"最大值",这时就假定这个数为"最大值"

    S4  将序列的第四个整数值与"最大值"比较,如果第四个整数大于"最大值",这时就假定这个数为"最大值

    依此类推

    Sn  将序列的第n个整数值与"最大值"比较,如果第n个整数大于"最大值",这时就假定这这个数为"最大值"

    Sn 1 直到序列中没有可比的数为止,"最大值"就是序列的最大值。

    算法2:S1 先假定序列中的第一个数为"最大值"。

    S2 将序列中的下一个整数值与"最大值"比较,如果大于"最大值",这时就假定这个数为"最大值"。

    S3 如果序列中还有其它整数,重复S2。

    S4 直到序列中没有可比的数为止,这时假定的"最大值"就是序列的最大值。

    注意:两种算法区别,先有循环的思想.

    四、小结、作业

    1、算法的定义

    2、算法的五大特征

    3、算法的表述形式

     

    第二课时可选例题:

    例1、任意给定一个大于1的整数,试设计一个程序或步骤对是否为质数作出判定.

    例2、用二分法设计一个求方程的近似根的算法.

    例3、写出一个求整数最大值的算法.

    例4、应用Scilab计算指令解方程组:.(演示、了解即可)

    ?SPAN>1.1.2 程序框图

    教学目标

    1.理解程序框图的概念;

    2.掌握画程序框图的基本规则,能正确画出程序框图;

    重点、难点

    教学重点:构成程序框的图形符号及其作用;

    教学难点:正确运用构成程序框的图形符号.

    教学过程

    一、复习引入:

    1、算法的定义

    2、算法的五个特征、现实生活中的算法

    3、算法的表述形式:

    (1)用日常语言和数学语言或借助于形式语言(算法语言)各处精确的说明。

    (2)程序框图(简称框图)。(3)程序语言。

    二、程序框图基本概念:

    (1)程序构图的概念:通常用一些通用图形符号构成一张图来表示算法.这种图称作程序框图(简称框图).一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明(现在不需要)

    (2)构成程序框的图形符号及其作用

    下面是一些常用的表示算法步骤的图形符号:

    注意:后三种不常用.

    三、典型例题

    例1.分析下列两个框图表示的算法的功能

             图(1)                                            图(2)

    注意:判断框内(1) “?”打不打都可;(2)“是”、“否”可写为Y、N.

    例2. 画出输入3个实数按从大到小的次序排序的程序框图.

    四、画程序框图的规则

    1、使用标准的图形符号.

    2、框图一般按从上到下、从左到右的方向画.

    3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号.

    4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.

    5、在图形符号内描述的语言要非常简练清楚.

    五、小结、作业.

    ?SPAN>1.1.3 算法的三种基本逻辑结构

    顺序结构、条件分支结构

    教学目标:了解流程图的顺序结构、条件分支结构

    教学重点:条件分支结构的理解及应用.

    教学难点:条件分支结构的条件选择.

    教学过程

    一、复习引入:1.  复习框图的符号和意义.

    2.  复习画流程图的规则

    3.  引入流程图的逻辑结构。

    二、顺序结构

     

    1.顺序结构的概念:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

    2.顺序结构一般形式

    顺序结构是任何一个算法都离不开的最简单、最基本的结构,用图框A、B、C表示顺序结构的示意图,其中A、B、C各框是依次进行的,即在执行完A框所指定的操作后,必然接着执行B框所指定的操作,然后再进行C框所指定的操作。

     

     

     

    例1.已知点和直线Ax By C=0,写出求点到直线的距离的流程图.

     

    例2. 交换两个变量AB的值,并输出交换后的值.

    分析:引进中间量P.

     

    解:算法如下:                   

    S1  输入AB的值.

    S2  A的值赋给x.

    S3  B的值赋给A.

    S4  x的值赋给B.

    S5  输出AB的值..

     

    注意:赋值语句提前讲授,学生能理解,

    否则不好画框图.

     

     

     

     

     

                                                        例2图            例1图

    三、条件分支结构

        1.条件分支结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.

    2.一般形式如图所示:

    图(1)                     图(2)(图(1)处理2为空的情况)

    注意:

    (1)判断框根据给定的条件是否成立而选择执行某个处理。无论条件是否成立,只能执行处理之一,不可能同时执行,也不可能都不执行。一个判断结构可以有多个判断框。

        (2)两种结构的共性:一个入口,一个出口。特别注意:一个判断框可以有两个出口,但一个条件分支结构只有一个出口;结构中每个部分都有可能被执行,即对每一个框都有从入口进、出口出的路径。

    以上两点是用来检查流程图是否合理的基本方法(当然,学习循环结构后,循环结构也有此特点)

     

    例3.用数学语言和程序框图描述求一元二次方程的根的过程.

    解:(1)用数学语言来描述算法

        S1  输入

        S2  计算

    S3  如果,则原方程无实数解;

        否则(),

       

        S4  输出或无实数解信息.

     

     

    (2)用框图来描述算法

     

     

     

    例4.设火车托运重量为行李时,每千米的费用(单位:元)标准为:

    画出行李托运费用的程序框图.

    5.函数,编写一个算法,输入的值,输出. (多分支)

    6. 超市购物:购物不足250元的,无折扣;购物满250元(含,下同),不足500元的,打九五折;购物满500元,不足1000元的,打九二折;购物满1000元,不足2000元的,打九折;购物满2000元及以上的的,打八五折.试画出此算法的流程图.

    结构为:

     

     

     

     

     

     

     

    (选作)练习:1.设计一个求任意数的绝对值的算法,并画出程序框图.

    2.画出求过两点的直线斜率的程序框图.

                  3.画出求方程的根的程序框图.

    四、小结,作业.

     

    循环结构

     

    教学目标:掌握运用程序框图表达循环结构的算法;

    教学重点:运用程序框图表达循环结构的算法;

    教学难点:循环体的确定,计数变量与累加变量的理解.

    教学过程:

    一、复习引入

    回顾例题:写出一个求有限整数序列中的最大值的算法.

    1:设计一个计算1 2 100的值的算法.

    解:算法1   按照逐一相加的程序进行

    S1 计算1 2,得到3

    S2 将第一步中的运算结果33相加,得到6

           S3 将第二步中的运算结果64相加,得到10

              ……

    S99  S98中的运算结果4950100相加,得到5050.

        算法2

    第一步:s=0i=1

            第二步:依次i1100,反复做s=s i

            第三步:输出s.

    根据算法画出程序框图,引入循环结构.

    二、循环结构

    1、循环结构:根据指令条件决定是否重复执行一条或多条指令的控制结构称为循环结构.

    循环体:反复执行的处理步骤称为循环体.

    计数变量:在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.

    累加变量:用于输出结果,它和计数变量一般是同步执行的,累加一次则计数一次.

    2、循环结构的一般形式:

     

     

     

     

     

     

    当型循环结构                         直到型循环结构

    当型循环在每次执行循环体前对循环条件进行判断:当条件满足时,反复执行循环体,条件不满足则停止——“当条件满足时,反复执行循环体”.

    直到型循环在每次执行了循环体之后对循环条件进行判断:当条件不满足是执行循环体,满足则停止——“反复循环直到条件满足”.

    注意:两种形式(1)先判断再处理;(2)先处理再判断.

     

     

    练习1:画出引入中例1的程序框图.(两种形式)

     

    1                                     2

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    注意:判断框流程线的落点.

    3、当型循环与直到循环的区别:

    当型循环可以不执行循环体,直到循环至少执行一次循环体.

    当型循环先判断后执行,直到型循环先执行后判断.

    对同一算法来说,当型循环和直到循环的条件互为反条件.

    4、条件结构与循环结构的区别与联系

        区别:条件结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.

    联系:循环结构是通过条件结构来实现.

     

    5、三种基本结构的共同特点:

    1)每种分支只有一个入口,一个出口.一个判断框可以有两个出口,但一个条件分支.只有一个出口;

    2)每一部分都有可能被执行,不存在死循环.

    2.已知个正整数排成一行如下:,…,.其中下角码表示个数的排列位置.这一行数满足条件:..画出计算第项的程序框图.

    注意:画框图时多写几步,特别是前两三步和后两三步,必须检验.

    三、课堂小结、作业

    1. 理解循环结构的概念;

    2. 理解当型循环与直到循环的逻辑以及区别:

    3. 画循环结构程序框图前:确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.

    4. 条件结构与循环结构的区别与联系:

       区别:条件结构通过判断分支,只是执行一次;循环结构通过条件判断可以反复执行.

       联系:循环结构是通过条件结构来实现.

     

    ?SPAN>1.2.1输入、输出语句和赋值语句

    教学目标

    1.初步了解基本的算法语句中的赋值,输入和输出语句特点.

    2.结合Scilab的程序语言,初步掌握赋值,输入和输出语句的结构以及如何编写对应的Scilab程序及在计算机上实现算法.

    注意:学生掌握即可,Scilab为人教B版特有,自由免费软件,各教材所用软件不同.

    教学重点和难点

    重点:赋值,输入和输出语句的基本结构特点.

    难点:三种语句的用法.

    教学方法  引导与合作交流相结合,运用计算机教学.

    教学过程

    一、引入:提出前面的鸡兔同笼问题的一个算法:

    S1: 输入鸡和兔的总数量M

    S2: 输入鸡兔腿的总数N

    S3: 鸡的数量

    S4: 兔的数量B=M-A

    如何才能把这些文字语言写成计算机识别的程序语言并能够运行呢?

    二、概念形成及深化

    程序设计语言有很多种.为了实现算法中的三种基本逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:

    赋值语句    输入语句  输出语句  条件语句  循环语句

    1.赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量的一个具体的确定值的语句叫做赋值语句.

    一般格式:变量名=表达式

    “=”的意义和作用:赋值语句中的“=”号,称作赋值号,与等式中等号不同.

    赋值语句的作用:先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值. 例如:.

    注意:①赋值号左边只能是变量名,而不是表达式.例如都是错误的.

    ②赋值号左右不能对换.

    ③不能利用赋值语句进行代数式(或符号)的演算.  在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”. 是错误的.

    ④赋值号和数学中的等号的意义不同.

    2.输入语句

       输入语句的一般格式:变量=input(“提示内容”)

    例1:要计算任一个学生的语文,数学和外语三门考试的平均成绩,就要输入这个学生三门课的成绩,在Scilab文本编辑器中写出如下程序:

    a=input(“chinese”);(带分号,否则不但赋值,还有输出)

    b=input(“math”);

    c=input(“english”);

    aver=(a b c)/3 (不带分号,直接输出)

    前三行带分号:                  前三行不带分号:

     

     

     

     

     

     

     

     

    几点说明:

    ①输入语句中a=input(“Chinese”)中,真正起作用的是a=input( ),它将键盘输入的数值赋给a,括号中的chinese仅仅是提示作用,提醒用户输入的是语文成绩.

    ②输入语句要求输入的值只能是具体的常数,不能是函数,变量或者表达式;另外输入语句可以输入单个或者多个字符,例如:x=input(“I am a student”)等.

    ③在Scilab中,还有“read”等其他输入语句,在其他各种语言程序中,一般都有自己的输入控制语言,它们的作用是相同的,只是每种语言的控制代码和表现形式不同.

    例2.写出鸡图同笼问题的一个算法,,并用Scilab写出程序语言.

    (见课本)

    3.输出语句

        输出语言一般格式: print(%io(2),表达式)

    几点说明:

    ①print(%io(2),表达式)中的表达式指程序要输出的数据,输出语句可以输出常量,变量或表达式的值,例如print(%io(2),B), print(%io(2),4*3)等;

    ②若输出多项,格式为print(%io(2),a,b,c),在屏幕上输出的顺序是c,b,a;(反序)

      print(%io(2),a,b,c)即: c

    b

    a

    ③print(%io(2),a,b,c)中的io表示input-output(输入-输出);

    ④乘法运算使用 * ;所有括号一律用小括号;若不输出则语句后写上“;”.

    A=10

    A=A 15

    A

    例2.给一个变量重复赋值:

    三、总结:赋值语句,输入语句,输出语句的一般格式

    1.2.2条件语句

    教学目标:

    1、  知识与技能目标:通过实例掌握条件语句的格式及程序框图的画法、程序的编写.

    2、  过程与方法目标:在教学过程中体现的主要数学能力及数学思想方法。

    (1)逻辑思维能力:通过实例使学生体会算法的思想加强学生逻辑思维能力和推理论证能力的培养。

          (2)转化的思想方法:通过实例使学生能将自然语言整理成程序框图进而翻译成计算机语言,体现转化的思想方法。

    3、  情感、态度、与价值观目标:在教学过程中培养学生创新意识和数学应用意识,提高学生学习数学的兴趣并注意在小组合作学习中培养学生的合作精神.

    教学重点与难点:

    重点:程序框图的画法、程序的编写.

    难点:条件语句的编写

    教学方法:诱思探究.

    教学过程

    复习引入:条件分支结构的一般形式:

        

     

    概念形成:他们的程序语句是什么?

     

    条件语句的一般格式有两种:

    (1)语句如图1,对应的程序框图如图2。

     

     

     

    文本框: if  表达式
语句序列1;
else
语句序列2;
end

     

     

     

     

     

     

     

     

     

     

     

     

    图1                                          图2

    该语句的功能:如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2

    (2)语句如图3,对应的程序框图为图4。

     

     

     

     

     

     

     

     

     

     

    典型例题:

    例1. 任给一个实数,求它的绝对值.写出程序语句.          

     解:a=input(“a=”)

     if a 0

    x=a

         else

         x=-a

         end

     print(%io(2),x)

    注意:进行订正.(避免或拆分)

    例2.写出程序语言:(1)任意给三个数,求它们中的最大数.

    (2)输入三个整数后按从大到小顺序输出.

     

    a=input(“a=”);

    b=input(“b=”);

    c=input(“c=”);

    if b>a

       t=a,a=b,b=t;

    end

    if c>a

       t=a,a=c,c=t;

    end

    if c>b

       t=b,b=c,c=t;

    end

    print(%io(2);c,b,a)

    注意:中间量t

    例3.已知函数,写出求函数值的程序语言.

     

    x=input(“x=”);

    if x<1

    y=x-1;

    else if x>-1

    y=x 3;

    else  y=3*x*x-1

    end

    end

     

    例4.写出求一元二次方程ax2+bx+c=0的根的程序语句。

    归纳小结

    1.2.3 循环语句

    一、教学目标:

    1.知识与技能:(1)通过具体的实例理解,了解循环语句的结构特征,掌握循环语句的具体应用;

                  (2)利用循环语句表达结局具体问题的过程,体会算法的基本思想;

    2.过程与方法:借助框图中的循环结构,借助Scilab语言中的循环语句来设计程序,进一步体会算法的重要性和有效性

    3.情感、态度与价值观:在学习过程及解决实际问题的过程中,体会算法思想的作用及应用,增进对算法的了解,形成良好的数学学习情感、积极的学习态度。

    二、教学的重点、难点:

    1.重点:理解for 语句与while语句的结构与含义,并会应用

    2.难点:应用两种循环语句将具体问题程序化,搞清for循环和while循环的区别和联系

    三、教学方法与手段:

    自主探究、合作交流的教学方法.

    四、教学过程:

    问题1:如何求1 2 3 … 1000的值?

    1for循环语句

    分析:算法思想:可以采用重复计算,而且数字1、2、3、…、1000是有规律的一列数,逐渐循环递增,每次增幅为1

    :用for循环语句来实现计算

      

    S=0

    for i=1:1:1000

    S=S i;

    end

     

     

     


    步骤:这个程序一共四步:

    第一步:选择一个变量S表示和,并赋给初值0。

    第二步:开始进入for循环语句,首先设i为循环变量,分别设定其初值、步长、终值。这里初值为1,步长为1(步长是指循环变量i 每次增加的值。步长为1,可以省略不写,例如for i=1: 1000. 若为其他值,则不可省略),终值为1000。

    第三步:循环表达式(循环体)。

    第四步:用“end”控制结束一次循环,开始一次新的循环。

    For循环的格式为:

     

    问题2:求平方值小于1000的最大整数

    分析:算法思想、正数范围、逐个比较,若小于1000,循环继续;若大于等于1000,结束循环,输出结果。

    2while循环语句

    While循环的格式为:

    当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳出。因此,当型循环有时也称为“前测试型”循环。

    3、两种语句的联系与区别:

    ⑴两种不同结构的循环语句的区别在于:WHILE语句先对条件进行判断根据判断结果决定是否执行循环体,因此又称为“前测试型”循环;for语句先执行一次循环体,再对条件进行判断,然后根据判断结果决定是否继续执行循环体,因此又称“后测试型”循环.二者本质是相同的,有时可以相互转化.(FOR一般可改写为WHILE,有时WHILE不能改写为FOR)实际上,WHILE语句也可以是“后测试型”循环,for语句也可以是“前测试型”循环.

    ⑵当算法中遇到某一条件需要反复处理时,往往用循环语句编写程序.

    其他:

    一、编写程序基本方法

    (1)编写一个程序的三个步骤:

    第一步:算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法;

    第二步:画出程序框图:依据算法分析,画出对应的程序框图;

    第三步:写出程序:耕具程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来.

    (2)何时应用条件结构?

       当问题设计到一些判断,进行分类或分情况,或者比较大小时,应用条件结构;分成三种类型以上(包括三种)时,由边界开始逐一分类,应用多重条件结构.注意条件的边界值.

    (3)何时应用循环结构?

       当反复执行某一步骤或过程时,应用循环结构.当型循环是先判断条件,条件满足再执行循环体,不满足退出循环;直到型循环是先执行循环体,再判断条件,不满足条件时执行循环体,满足时退出循环.

    应用循环结构前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的终止条件.

    二、题型归类

    考点题型1.条件结构中嵌套着条件结构(题目隐藏着需要判断、分类或比较大小的过程等)

    (1)编写一个程序,对于函数,输入的值,输出相应的函数值.

    (2)基本工资大于或等于600元,增加工资10%;若小于600元大于等于400元,则增加工资15%;若小于400元,则增加工资20%. 请编一个程序,根据用户输入的基本工资,计算出增加后的工资.

    (3)编写程序,使得任意输入的3个整数按从大到小的顺序输出.

    考点题型2. 循环结构中嵌套着条件结构

    (1)全班一共40个学生,设计算法流程图,统计班上数学成绩优秀(100分数85)的学生人数,计算出全班同学的平均分.

    考点题型3. 条件结构中嵌套着循环结构

    (1)任意给定一个大于1的整数,试设计一个程序或步骤对是否为质数做出判定.

    考点题型4. 循环结构中嵌套着循环结构

    (1)       编写一个程序,求T= 1! 2! 3! … 20!的值.(n!=1?SPAN>2?SPAN>3砖┳(n-1)?SPAN>n)

     

    高考可能题型:P12

  • 返回顶部】 【关闭】 【打印
关于我们 | 帮助中心 | 友情链接 | 人才招聘 | 联系我们
Copyright © 2009 fhedu.cn Corporation,All Rights Reserved
江苏凤凰数字传媒有限公司 版权所有
网站地址:南京市湖南路1号B座808室 经营许可证编号:苏B2-20100219
Mail:admin@fhedu.cn 最佳分辨率1024X768 苏ICP备10051783号-1
电话:025-83657840