资源简介 1.2算法与算法的描述 一、 教材内容、学情分析 (1)教材分析 本节内容为教科版算法与程序设计第一章第二节,通过1.1 节的学习, 学生已经了解了计算机解决问题的基本过程,并知道算法是程序设计的灵魂,只要算法正确,就可以用任何一种语言编写程序,再加之本节的学习,更加加深的学生对算法的了解。为后续章节学习程序设计、算法的程序实现打下一定的基础。 (2)学情分析 此阶段学生为高二第一学期的学生,在高一的基础上已经对计算机的基本操作及信息的获取处理方法有了一定的掌握。数学方面也已经具备了函数、数列等方面的知识,能够解决计算机中遇到的一些问题。但我校学生很大一部分都是农村学生,基础差,知识的掌握程度差,所以要更加注重基础,课堂用例不能太难,注重循序渐进的教学,分层教学。 二、教学目标 知识与技能: 1、进一步理解什么是算法,知道算法的多样性; 2、能够对设计的算法做简单的评价; 3、学会利用自然语言、流程图和伪代码来描述算法。 过程与方法: 培养学生用算法描述问题的能力和正确解决问题的过程。 情感态度价值观: 使学生养成遇到问题,找出算法,分析算法的意识。培养学生的高阶思维能力,如综合、评价、分析、思辨。 三、教学重难点 教学重点: 让学生经历用自然语言、流程图或伪代码等方法描述算法的过程。 教学难点: 用流程图来描述算法。 四、教学方法 边讲边练、探究和学生自主学习相结合的教学方法 五、教学过程 1. 课堂引入 老师:由“农夫过河”游戏引入:算法的概念,算法是程序设计的灵魂,找到合适的算法是程序设计的前提 , 算法的设计分为两个内容:一是寻找一种方法;二是描述实现这个方法的步骤,我们这节课的重点是学习如何描述算法。 算法特征 (1)有输入------一个算法有零个或多个输入; 零个输入的例子: Private sub command1_click() Print 3*4 End sub (2)确定性。算法的每一个步骤必须要确切地定义 例1、这个人好说话。 例2、健美操中一个动作,“手举过头顶”。 (3)有穷性。一个算法在执行有穷步之后必须结束。 反例: S1: sum=0 S2: I=1 S3: sum=sum+I S4: I=I+1 S5: 若sum>=0 ,返回s3;否则,算法结束 4、输出。算法有一个或多个输出。 5、能行性。 设计意图:之前学生很少接触算法,如果单纯的讲算法的特征,学生很难理解。通过举例说明,有利于学生理解算法的特征。 3、算法的描述 (1)、自然语言 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表达出来。 例1用自然语言设计人、狼、羊、菜过河算法: 第一步:人和羊过河,人返回,留下羊; 第二步:人和狼过河,人和羊返回,留下狼; 第三步:人和菜过河,人返回,留下菜; 第四步:人和羊过河; 合作探究 例2 用自然语言描述求解sum=1+2+3+4+5问题的算法 分析:思考:需要几个变量,分别用什么代替 步骤 i的值 Sum值 条件判断(i≤5) Sum加i i 加1 1 1 0 成立 1 2 2 2 1 成立 3 3 3 3 3 成立 6 4 4 4 6 成立 10 5 5 5 10 成立 15 6 6 6 15 不成立 结束 结束 我能行: 例2、用自然语言描述sum=1+2+3+4+5算法如下: 1、设i的值为1; 2、sum的值为0; 3、如果i<=5执行4,否则执行7; 4、计算sum加i,并将结果赋给sum 5、计算i+1,并将结果赋给i; 6、转去执行3 7、输出sum的值并结束算法 自然语言的优缺点: 优点:通俗易懂 缺点:易产生歧义如:“这个人好说话。” 不便翻译成计算机程序 (2)、流程图 用一组图形符号来表示算法 算法的开始或结束 算法的转接 连接点 算法的流向 流程线 条件判断 判断 变量的计算与赋值 处理 变量的输入与输出 输入/输出 开始/结束 功能 名称 图形 我也来试试 例:用流程图描述求解sum=1+2+3+4+5问题的算法 流程图优缺点: 用流程图描述算法直观易懂、逻辑关系清晰,不容易产生歧义。 (3)用伪代码描述 伪代码 (Pseudocode) 是介于自然语言和计算机程序设计语言之间的一种算法描述。它也是专业软件开发人员描述算法的一种常用方法。没有严格的语法限制,书写格式也比较自由,描述的算法简单、易懂,容易修改,且容易转化为程序语言代码。 用伪代码描述求解sum=1+2+3+4+5问题的算法 伪代码优点: 简洁、易懂、易转化成程序 (4)、用程序实现求解 sum=1+2+3+4+5问题的程序 i=1 Sum=0 Do while (i<=5) sum=sum+i i=i+1 Loop print sum 设计意图:由简到难,逐步引导,图文并茂,帮助理解,对比学习,产生共鸣。 4、算法在解决问题中的作用 (1)、算法是程序设计的核心,是灵魂。 (2)、编程实际上是从人工分析问题——设计科学的算法——根据算法编写程序——运行程序得出结果。 算法的择优 著名的数学家“华罗庚”烧水泡茶的两个算法 算法一 第一步:烧水; 第二步:水烧开后,洗茶具; 第三步:泡茶; 算法二 第一步:烧水; 第二步:烧水过程中洗茶具; 第三步:水烧开后,泡茶; 综合练习 设计算法,找出100以内,整除3余2,整除5余3,整除7余2的整数(分别用自然语言、流程图、伪代码表示)。 5、小结: (1)、算法——解决问题的方法与步骤 (2)、算法的特征:确定性、有穷性、有输出、可行性 (3)、算法的描述 用自然语言描述 用流程图描述 用伪代码描述 6、作业: 1、鸡兔同笼问题。一个笼子里有鸡和兔,现在只知道里面一共有35个头,94只脚,问鸡和兔各多少只?设计一个算法,用自然语言和流程图来描述。 2、设计一个算法,判断一个年份是年份是否为闰年。(用流程图表示) 六、教学反思 以游戏的方式引课,调动学生的学习兴趣。整堂课贯穿着大量的实例帮助学生学习巩固,实例都是由易到难,老师适当引导,帮助各类学生理解,充分的考虑到学生的学情。整堂课程脉路比较清晰。但整个课堂气氛不是很活跃,课堂有些地方语言不够精炼。学生活动不是很充分,学生活动的设计不是很到位,课堂上老师与学生的互动较少。学生与学生之间的互动交流也较少,学生完成任务不是很好,并没有全身心的投入到任务中去。 展开更多...... 收起↑ 资源预览