《算法的概念与描述》教学设计谷爱清参考论文鲨鱼媒创软文范文网

算法就是解决问题的方法与步骤。程序设计时,首先分析所要解决的问题,然后进行算法设计,再选用一种计算机语言来描述算法,形成计算机程序,因此算法是程序设计的基础。设计了一个算法之后,不能只是心知肚明,还必须准确清楚地将它记录下来,或提供交流,或依靠它来编写程序。描述算法的方法有很多,常用的有自然语言、流程图、伪代码等。解决同一个问题的算法可能有多种,也会有优劣之分。参考论文

本课的学习对象是八年级学生,他们处于皮亚杰认知理论阶段的形式运算阶段,好奇心强,有—定的探索能力和表达欲望,并且能够在原有知识的基础上进行迁移,生活中也接触过各种各样的“算法”。但是,绝大多数学生没有接触过程序设计,即使接触过程序设让也不够熟悉。很少有学生用计算机实现过算法,从生活算法出发,可以帮助学生形成算法的概念,但难以形成全面、透彻的认识。虽然在日常生活中经常遇到各种各样的流程图,但对流程图的认识只是停留在直观感受的层面,也不知道如何规范地使用流程图符号来描述算法。

(1)理解算法的概念,明确算法对于程序设计的重要性。

(2)学会使用自然语言和流程图描述算法。

(3)理解算法的三种基本结构

(4)在用不同方法解决查找问题的过程中,体会算法的效率。

教学重点:使用自然语言和流程图描述算法,明确算法对于程序设计的重要性。

教学难点:使用流程图描述算法。

1.感知生活,走进算法

腹有诗书气自华,最是书香能致远。读书可以让人保持思想活力,让人得到智慧启发,让人滋养浩然之气。

活动1:为了营造良好的阅读环境,小明去新华书店为班级采购图书。思考以下问题:

(1)生活中买书的流程是什么?(①选书;②付款)

(2)购买了某种图书后,如何计算付款额?(①已知购书数量和图书单价;②将数量乘以单价;③得出付款额)

小结:这种为解决一个问题而采取的方法和步骤,就称为算法。买书的流程、计算付款额的步骤,其实就是算法。

设计意图:通过计算图书的付款额这个“现实”中的问题,引导学生对问题进行分析,找到解决问题的方法和步骤,感知生活中的算法,从而揭开算法的神秘面纱,初步建立算法的概念。

2.解决问题,描述算法

为便于交流,设计好算法之后,还必须把它准确清楚地表示出来。描述算法的方法有多种,活动1采用的是自然语言也就是日常生活中使用的汉语、英语等语言。还可以用流程图描述算法,流程图是用一组规定式样的几何图形、简明扼要的文字和带箭头的流线来表示算法。

活动2:用流程图描述“计算图书付款额”的算法(如图1)。

(1)结合生活经验,说一说表1中各流程图符号的作用。

(2)教师演示“画程”软件中的图标工具及使用方法。学生参照自然语言描述的算法,尝试绘制“计算图书付款额”的流程图。(图书数量为x,单价为y,付款额为pay)

(3)观察并执行“计算图书付款金额”流程图,总结该算法的结构特点。

小结:①算法可以用自然语言和流程图来进行描述;②这Uq7KOPkSKrWPcpVWVrhhpQ==个流程图中的各个操作能够按照自上而下的顺序执行,因此称为顺序结构。

活动3:“五一”到了新华书店搞优惠促销活动,全场享受九折优惠,凡购书满200元打八五折。请用流程图来描述优惠购书时计算付款额的算法。

(1)用自然语言描述打折算法。

①输入书的数量x(本)和单价y(元);

②计算pay=xy;

③判断:如果()成立,则打九折,paypay*0.9,否则打八五折,();

④輸出付款金额payo

(2)参照自然语言描述的算法,使用“画程”软件绘制流程图(如图2),执行该流程图,输入不同的购书数量及单价,思考:

①这个流程图中是用哪种图形符号实现条件判断?

②这个问题中的条件是什么?条件成立时执行什么操作?不成立又执行什么操作?

小结:虚线框内利用“判断选择”框对条件进行判断,根据给定的条件是否成立,从两个分支路径中选择执行其中之一,这种控制结构称为分支结构(或选择结构)。

活动4:小明在新华书店看到了多种喜爱的图书,决定全部购买下来,又该如何计算付款额呢?

(1)思考分析:

①假如小明买了两种图书,如何计算付款额?购买多种图书时,又如何计算付款额呢?

②如何实现循环?又该如何结束循环?(以输入的图书数量0作为结束循环的标志)

(2)请用自然语言描述该算法。

①付款额pay清0;

②输入书的数量x(本)和单价y(元);

③如果()成立,则:

计算pay=x*y+pay.();

回到③,重复执行;

否则结束循环;

④输出付款金额pay

(3)使用“画程”软件绘制流程图(如图3),执行流程图,输入各种图书的数量及单价,思考:

①用什么图形符号可以描述重复执行的过程?

②该流程图是如何执行的?

小结:虚线框内利用“判断循环”框对条件进行判断,若条件成立,重复执行某个操作,这种控制结构称为循环结构。

通过计算图书付款额系列问题,我们发现:①自然语言描述算法容易理解;②流程图描述算法直观、简洁、易懂,并且逻辑关系清晰;③算法有三种基本结构,即顺序结构、分支结构和循环结构。在实际编程过程中常将这三种结构进行组合以实现各种算法。

设计意图:从分析计算图书付款额的问题出发,分别利用自然语言及流程图来描述算法,体会自然语言、流程图描述算法的特点。在解决计算“购买一种图书付款额”“优惠购书”“购买多种图书”付款额等系列问题过程中,理解算法的三种基本结构,学生分析问题、解决问题的能力也得到提升。选用“画程”工具来绘制流程图,学生只需用拖拽图标的方式就能轻松地绘制流程图,而且这个流程图是可以执行的,以验证算法是否可行,使得算法学习能够以“学生”和“思维”为中心,在没有接触程序设计语言的情况下’也能够研究和设计算法,大大降低了算法学习的门槛。

3.实例分析,再认算法

前面图书的单价都是由用户输入的,而在实际生活中,往往是通过输入商品编码,从数据库中查找对应商品的单价。

活动5:根据图书ISBN编码,在表2“图书信息表”中查找图书单价(表中的图书信息是按照图书ISBN编码从小到大排序的)。如果查找到该图书信息,则输出单价,如果没有查找到,则输出“未入库!”。请你设计一种实现图书单价查询的算法。

(1)先结合日常经验说一说你的查找方法。

(3)与同学交流,比较各种查找算法的效率。

小结:解决问题的算法可能有多种,不同的算法有优有劣,这当中的差异甚至可以很大。我们在设计算法时要尽可能地对算法进行优化,以提高程序的效率。

设计意图:通过按码索价活动初步体验算法的应用,感受算法的价值。各组学生根据搭建的支架探究解决查找问题的方法,如顺序查找和二分查找。通过这些查找方法的比较,学生感受到同一个问题可能有多种解决方法,而且方法也有优劣之分,优秀算法能提高解决问题的效率,从而更好地理解“算法是程序的灵魂”这句话的含义。

4.思维导图,梳理知识

课件展示,引导学生利用思维导图对算法知识加以梳理(如上页图4)。

结束语:算法是程序的灵魂。在用计算机编程解决问题时,首先要分析问题,确定算法,然后才能用计算机语言编写程序。著名计算机科学家李国杰院士对算法作了精辟论述:“算法设计是人类智慧的结晶,计算机的知识创新,主要就是算法的创新,创建一种新算法其意义不亚于建造一种新机型。”

设计意图:借助思维导图,引导学生将关键知识点整合并以结构化方式呈现,进一步巩固学生的认知结构。最后借用李国杰院士的一段话作结束语,凸显出算法是程序的灵魂,让学生更加清晰地了解算法在程序设计中的地位和作用,为后续学习做好铺垫。

在信息化社会中,生产、生活中许多问题的解决需要运用各种信息化设备,这些设备的运作都是靠人用程序来指挥的,而程序只是用某种计算机语言所描述或表示的算法。所以说,算法是计算机信息处理的核心和基础。掌握算法的基本思想,可以更好地理解这些信息化设备的内在运行机制,从而更有利于掌握各种信息化设备的应用,更陕适应时代的步伐。算法是对特定问题求解步骤的一种精确描述,算法这种确定性的特征,使得算法的学习对提高学生逻辑思维能力具有直接的促进作用。然而,初学者对算法概念及流程图的图形符号既熟悉又陌生,老师的教学往往过于注重算法形式的学习而淡化对算法本质的理解,学生虽然也能明白教科书上的算法案例,却不能正确应用算法来解决问题。本节课克服了上述不足,其教学具有以下几个方面的特色:

处理输出信息,既引出了算法的概念,又较好地体现.了计算机算法的本质。

二是创设真实的问题情境。以往的算法教学,算法的三种基本结构常常以去情境化的方式教给学生,学生未能经历可信可靠的“真正的学习”,难以形成篇决实际问题的能力。本课则创设了“计算图书付款额”的真实问题,设计了系列的四个活动:活动1对“购买图书付款”的—般过程进行分析,通过用自然语言精确描述解决这个问题的步骤,引出算法的概念;活动2则将活动1中用自然语言描述的算法转化为流程图,在实施算法的过程中引导学生发现顺序结构;活动3中学生在对优惠购书方式分析的基础上,尝试用分支结构描述算法,以解决优惠购书问题;活动4是用循环结构解决“计算多种图书付款额”问题。学生在不断尝试的过程中,逐步学会运用算法解决实际问题,理解和掌握算法的三种基本结构。三个子问题的复杂度是不断增加的,学生又较好地体会到了运用迭代思维解决复杂问题的思路和方法。

三是使用画程工具降低算法学习的门槛。算法学习存在两大障碍:一是在用自然语言描述算法之后,怎么把它转化为流程图,无论是用纸笔,还是用wbrd、visio等软件,都比较费时费力;二是画好的流程图,怎么转化为程序?流程图是人与人之间交流算法思想的工具,对于初学者来说,还不会编写程序,因此无法写出代码验证算法,最终使算法学习沦为纸上谈兵。画程软件较好地解决了这两个问题,只用拖拽图标的方式就能轻松地绘制流程图,这个流程图还是可以执行的,学生能够通过算法的实施来检验问题解决的效果,那么在研究和设计算法时,就可以暂时不理会程序设计的细节,只需专注于算法思想,大大降低了算法学习的门槛。

四是通过实验体会算法在程序设计中的地位和作用。对于同一个问题,可能有多种算法,这些算法虽然功能相同,但性能却可能不完全一样,也就是说,算法有优劣之分。最后的“按码索价”活动,通过思想实验的方式进行推演,在没有编程的情况下,对“顺序查找”和“二分查找”这两种算法进行比较,感受优秀的算法可以提高解决问题的效率,从而真正理解“算法是程序的灵魂”这句话的含义。

THE END
1.ChatGPT生成测试用例的最佳实践——用ChatGPT做软件测试(3)这些测试用例覆盖了主要业务用例UC-01中的不同情况,包括有效输入、无相关结果、取消搜索操作、多次搜索以及边界值测试。它们有助于验证百度关键字搜索功能是否按照规格说明书的要求正常运行。 ChatGPT根据业务用例UC-01补充了测试用例,这使得测试用例在操作流程的使用场景方面覆盖得更加全面。 http://www.51testing.com/mobile/view.php?itemid=7803832
2.欧德鑫申请基于图像识别的货物质量监测分析方法及系统专利,提升了专利摘要显示,本申请提供一种基于图像识别的货物质量监测分析方法及系统,包括:获取待识别货物的实时视频流;构建与待监测产品相关的多维度质量标准图谱库;通过自适应对比算法将实时视频流与多维度质量标准图谱库中的图谱进行匹配,以确定实时视频流中是否存在与预设的质量缺陷相匹配的区域,并生成匹配结果;若确定实时视频流https://www.163.com/dy/article/JJOT77EV0519QIKK.html
3.高二数学教案2.过程与方法 学生通过模仿、操作、探索、经历设计流程图表达解决问题的过程,理解流程图的结构。 3情感、态度与价值观 学生通过动手作图,.用自然语言表示算法,用图表示算法。进一步体会算法的基本思想程序化思想,在归纳概括中培养学生的逻辑思维能力。 二、教学重点、难点 https://www.fwsir.com/jiaoan/html/jiaoan_20221204150736_2117816.html
4.电容器与电容教学设计(通用8篇)电感测量方法和电容相同,计算电感的公式为 3.2 软件流程图 根据以上算法分析本文的软件程序图如图5所示[4,5] 4 实验结果及分析 电路设计完成后,本文给出了三组实验测试数据,分别为表1、表2和表3所示,其中表1为电阻网络测试数据,表2为电容网络测试数据,表3为电感网络测试数据。实验数据表明,除了电感测量误差相对https://www.360wenmi.com/f/filefyiq470f.html
5.ANSYSFLUENT16.0超级学习手册本书全面介绍了ANSYS FLUENT 16.0流场分析计算的各种功能和基本操作方法。首先介绍了CFD基础理论和FLUENT基本知识;然后通过典型的实例来讲解FLUENT在传热、传质及流场等实际工程中的应用方法和技巧,包括运动部件的速度场模拟、UDF和UDS的使用、并行计算的设置、计算区域的https://labs.epubit.com/bookDetails?id=N31288
6.一种基于便携式动态心电监护仪的心律失常检测方法与流程3.传统的心律失常检测一般需要在医院中使用动态心电监测机采集患者的心电数据,之后由专业医生进行分析得出结论,这种方法对时间、地点和人力成本要求较高,不适合于日常生活中的心脏健康监测。便携式动态心电监护仪作为一种可穿戴设备,可以由用户长期进行佩戴,从而实现对心电信号的持续采集与记录。通过对采集到的心电信号进http://mip.xjishu.com/zhuanli/05/202110811022.html
7.软件设计师知识点100条软件设计师考点整理软件设计师很多考生在抓紧时间备考软考中级软件设计师考试,希赛小编为大家整理了软件设计师知识点100条,这些知识点对于大家备考相信会有很大帮助。https://www.educity.cn/rk/2213375.html
8.Alibaba最新1000多道Java面试题汇总详解,收藏起来慢慢刷!8、构造方法能不能重写?能不能重载? 9、内部类与静态内部类的区别? 10、Static 关键字有什么作用? 11、final 在 java 中的作用,有哪些用法? 12、String str=”aaa”,与 String str=new String(“aaa”)一样吗? 13、讲下 java 中的 math 类有那些常用方法? https://maimai.cn/article/detail?fid=1728969401&efid=esjJLvGGL4fAr1LArgq_cQ
9.算法流程图绘制方法,简单画算法流程图算法流程图使用用途也较为广泛,例如数学教学时用于逻辑运算,有利于学生整理学习思路;制作活动策划时用于展示创作者策划的逻辑思路,让参与者明白并跟上活动节奏等.下面给大家分享算法流程图的绘制方法,帮助大家了解并简单绘制算法流程图.https://www.liuchengtu.com/tutorial/sflcthzjc.html/
10.2020届计算机科学方向毕业设计(论文)阶段性汇报本次汇报将简单总结前期的工作,包括对层次化图理解与生成方法的整理,以及数据集的准备和基线模型的选择,同时还会介绍目前已经进一步完善的基于图切分的层次化全新分子设计方法,并尝试对其进行理论分析。 周子寒 毕业论文第一阶段汇报 主题回顾 算法整理 算法设计 https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
11.流程图是算法的图形表示形式。A. 研究其发病率采取的正确方法是在人群中随机抽样调查并计算发病率 B. 选用该病进行调查不如选用高度近视(600度以上)进行调查的准确率高 C. 该病为单基因遗传病 D. 该病的产生可能是遗传物质和环境因素共同作用的结果 查看完整题目与答案 有一墙长 50m,用 1 : 100 的比例画在图纸上,图纸上的线段https://www.shuashuati.com/ti/9695ab40f01f4e48a64f3f0c57c96676.html?fm=bdf2ec36b53c60a84d6fb37c270d861973
12.数字图像质量评价算法分析与性能评价.pdf鲎卜塑卜 图l-4基于视知觉尺度的IQA算法的一般流程图 基于结构信息的IQA算法的构想首先由Wang[13】提出。图像质量评价的结构 化观点背后的基本原则假设是,人类视觉系统非常适应于在复杂的视觉场景中提 取结构信息,因此,测量图像的结构相似度(或结构失真度)将得到与视知觉对 图像质量的判断相似的结果[9】。与基于https://max.book118.com/html/2018/1204/5230334334001333.shtm
13.怎么根据算法流程图写python程序怎么根据算法流程图写python程序 大家好,我是壮!这篇文章讲述一下描述算法的工具——流程图。我会以一个简单的程序(判断闰年),来给大家介绍三个方法,分别是传统流程图、结构化流程图和伪代码。 举例程序 #include<stdio.h> int main() { int year;https://blog.51cto.com/u_16099172/11452730
14.高二数学公开课优秀教案(通用10篇)2.过程与方法 学生通过模仿、操作、探索、经历设计流程图表达解决问题的过程,理解流程图的结构。 3情感、态度与价值观 学生通过动手作图,.用自然语言表示算法,用图表示算法。进一步体会算法的基本思想程序化思想,在归纳概括中培养学生的逻辑思维能力。 二、教学重点、难点 https://www.oh100.com/kaoshi/jiaoan/637987.html
15.计算机教学案例设计12篇(全文)例如, 学生在用中点画线算法解决了画线问题后, 可以再对该问题进行扩展, 提出“怎样画任意斜率的直线段”、“采取什么样的方法可以减少计算量, 提高算法的效率”等问题, 引导学生更全面地思考问题, 从而提高学生的应变能力和发散思维能力。扩展问题是对案例中心问题的补充, 应在中心问题解决后再提出, 精彩的扩展https://www.99xueshu.com/w/ikeyf7rr6mrq.html
16.局关于印发《上海市工业企业挥发性有机物排放量通用计算方法注:1) “/”表示该排放源项在本方法中没有此估值途径。 2)POC(可吹出有机碳)用以表征废水集输、储存、处理处置过程逸散和冷却塔、循环水系统释放两个排放源项的“逸散性挥发性有机物”(EVOCs),采用附录H中表H-2中对应的国家标准《HJ 501 水质 总有机碳的测定 燃烧氧化-非分散红外吸收法》测定。 https://sthj.sh.gov.cn/hbzhywpt1133/hbzhywpt1135/20170308/0024-103293.html
17.三种算法求两个正整数的最大公约数和最小公倍数;求三个数的最大2. 利用穷举法计算三个数的最大公约数和最小公倍数的结果 四.学习心得 1.深入学习了利用不同的算法来解决求解两个正整数的最大公约数和最小公倍数,还掌握了利用穷举法计算三个数的最大公约数和最小公倍数,利用穷举法计算的效率比较低,本来自己试着尝试用递归的方法调用divide()方法来求解三个数的问题,尝试了https://cloud.tencent.com/developer/article/2085983
18.MySQL微服务Redis中间件数据结构与算法等。陆续完善中当我们在set中插入的时候怎么判断是否已经存在该元素呢,可以通过equals方法。但是如果元素太多,用这样的方法就会比较满。 于是有人发明了哈希算法来提高集合中查找元素的效率。 这种方式将集合分成若干个存储区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别对应某个存储区域,根据一个对象的哈希码就可以https://github.com/1145879387/JavaInterview
19.4万5000余字详细总结锂离子电池材料计算方法图15 不同浓度下锂离子导电性 第一性原理计算可以精确地计算一些具有代表性原子结构的能量,然后通过集团展开方法拟合出能量与结构参数的一般表达式,从而获得所有可能结构模型的能量;然后通过蒙特卡洛模拟技术模拟锂离子在各种复杂材料中的扩散和输运性质。通过第一性原理计算获得的能量表达式比经验位能模型能量要准确,同时对https://www.360doc.cn/mip/940974081.html
20.C++第二章:算法与控制结构算法与控制结构 一个完成某种特定任务的过程,可分解成一组操作步骤,这组操作步骤即构成一个算法。 一、算法 程序设计过程中,程序员将完成某种程序功能的过程,分解成一组可被计算机执行的操作步骤,这组操作步骤就叫算法。 1.1 算法设计的方法 流程图 伪代码 https://www.jianshu.com/p/e85cece0d44b
21.创客教育促进学生信息技术核心素养发展内容找错、纠错、修正、调整是编写脚本调试的基本方法。学生在运行脚本过程中,当脚本出现问题或者出现了与预设效果不同的结果时,就必须根据最初的算法意图,进行有的放矢地修正与调整。这个调整可以是与编程语言语法相关,也可以是算法结构上的改变。因此,脚本测试不仅仅是算法流程图与运行结果的知行合一,更是对之前算法的https://tpd.xhedu.sh.cn/cms/app/info/doc/index.php/92074
22.基于申威1621数学库中的非精确结果异常处理最后对检测结果总数进行统计, 输出异常和errno的测试数量. 其基本流程如图1所示. 图1 glibc 数学库异常测试机制 本文研究的异常检测机制相比于现有的异常检测机制, 它的创新性在于可以在全自动的程序中快速完成, 并且检测到的异常信息更加全面, 主要异常信息包括异常类型、异常错误码以及异常返回值, 其基本算法如https://c-s-a.org.cn/html/2022/7/8567.html