1、第97 0课时程序设计基础教学内容分析本课是走进程序世界的第1课,是程序设计知识的基础。主题1主要介绍了程序设计语言与算法的基本概念。教材在讲述基本概念的同时,还介 绍了描述算法的具体方法。表达了教材内容由理论到实践,由抽象概念到具体应用的递进关 系。本课所涉及的知识,为后续课程进行c语言程序设计的学习奠定了理论基础,构建了全 局的概念性的知识框架结构。主题2以Dev-C+为例介绍了 C语言的集成编译环境,描述了 C语言的基本逻辑结构和 基础语法,并展示了一个完整的输入、编辑、保存、编译、运行的程序设计过程。对于开展 C语言程序设计来说,了解一个基本的集成编译环境,不但有用,而且必要。教材完整
2、地展 现了 C语言从输入源代码到编译到产生运行结果的全过程,这一操作技能是学习后续程序设 计课程所必备的。通过本课的学习,学生不但认识到程序和算法是推动计算机自动化工作的基石,同时还 会了解到多种不同的程序设计语言,这使得学生在学习具体的c语言程序设计之前,能够对 整个计算机软件工作的原理有一个全局性的认识,使之不仅见树,而且见林。教材所介绍的 流程图技术通俗易懂,能够让零基础的学生很快地掌握这种描述算法的方法,这对于接下去 深入学习了解编程语言的工作流程有大帮助,同时还有利于帮助学生建立起计算思维。 教学对象分析在七年级的数学学习中就有涉及流程图的概念,这对于学生学习本课内容是一个助力。 除
3、了本课流程图的专项教学以外,学生在生活中会看到流程图的身影,比方图书馆图书借阅 归还的流程图,医院体检的流程图等等。尽管了这些源自实际生活的体验,但是学生在根据 具体问题绘制流程图描述解决方案时候,可能还是会出现词不达意的情况,特别是针对复杂 问题,如何利用流程图表达包含选择和循环逻辑的问题解决策略,将会是学生容易犯错的难 点。在小学阶段,学生曾经学习过Scratch编程,所以对于集成编译环境的概念应该不会特 别陌生,但是C语言的交互方式与之前的Scratch有本质的差异,教师在教学中要注意这点。 由于是第一次接触需要大量使用英文字符的编程,所以学生在输入C语言代码的时,可能会 遇到一些困难,
4、比方没有正确区分字母的大小写,或者用中文标点代替英文标点,这些都是 教师要注意进行辅导和提醒的。在第一次运行源代码的时候,学生可能会遇到一些困难,比方出现各种类型的编译错误, 由于提示信息是英文的,局部学生阅读会比拟吃力。教师要有耐心引导学生注意仔细观察辨 识提示信息,找到错误的根源。这一过程虽然困难,但也是引导学生不畏困难,培养科学探 究精神的时机。教学目标. 了解程序和常见的程序设计语言,以及程序的执行过程。1 .掌握流程图的基本符号及其含义。2 .能够利用流程图描述简单的算法。3 .掌握Dev-C+的启动和基本环境设置。4 .能够识别C语言的基本语法元素。5 .掌握编译运行C语言的方法。
5、教学重点和难点.教学重点。(1)程序及程序的执行过程。(2)C语言的基本语法结构Dev-C+编译运行C语言源代码的方法。1 .教学难点。(1)使用流程图描述较为具体的算法。在Dev-C+中输入合乎缩进格式要求的正确代码。编译和调试程序。教学方法.讲授法:教师讲解C语言程序的基本构成元素和基本语法规那么。1 .素材辅助:在有限的课堂时间内,利用微视频等教学素材,帮助学生了解程序设计语言与 计算机程序之间的关系。2 .任务驱动:引导学生通过动手实践体会Dev-C+集成编译环境的工作界面,体验从新建源 代码到成功运行C语言源代码的整个过程。3 .试错法:放手让学生尝试,通过不断地调试,逐步掌握C语言
6、的各种语法特性。4 .点评示范:及时点评学生的典型错误,帮助学生排错。通过给出范例让学生实践,帮助学 生提高观察能力。教学准备.教学环境。多媒体网络教室。1 .教学资源。多种程序设计语言的例子,C语言代码样例。教学过程第9课时一、引入新课(5分钟).展示各种常见软件(浏览器、聊天工具、绘图软件等)的图片。1 .提问:计算机能够完成各种有趣或者有用的任务,靠的是什么呢?2 .提问:计算机能够完成各种任务,是因为它安装了各种不同的软件,但是这些软件是如何 生产出来的呢?教师补充学生的问答。3 .讲解.:通过程序设计语言,人们将自己的意图设计成软件,通过软件的运行指挥计算机完 成特定的任务。电脑的程
7、序设计语言多种多样,常见的有C、C+、JAVA、PYTHON等,虽然它们各有特 点,但基本功能却大同小异,比方,一个基本的功能就是能让电脑在屏幕上显示文字。比方我们可以让电脑计算a=b+1。(把相应的C语言代码显示在屏幕上,运行一下,展示 结果。但是本节课不要求教师解释代码功能。).布置任务一。上网查找一下,上述这些程序设计语言是如何计算好b+1的。谈一谈:这些语言计算b+1的方式相似吗?二、介绍新知(10分钟).展示学生的汇报成果,并进行补充。1 .讲解:其实除了我们之前提出的这几种程序设计语言,在早期的时候,计算机使用的是汇 编语言甚至是机器语言。2 .提问:结合课本表4T,谈一谈汇编语言
8、和机器语言计算a二b+1的方式与之前的高级语言相 似吗?你觉得哪种语言看起来更浅显易懂?3 .展示C语言和汇编语言、机器语言的比照图,分析:显然C语言看起来更直观易懂,所以 我们现在很少使用难以记忆的机器语言或汇编语言,而采用C语言这样更加易于理解和使用 的高级语言。所有的高级语言程序通过编译或解释,最终将转化为机器语言的形式在计算机上运并得到相 应的结果。4 .展示绘图软件的EXE文件,并讲解:这些可供计算机直接运行的软件,被我们称之为可执 行文件,它就是机器语言的一种表现形式,同时它也是我们利用程序设计语言所生产出的最 终产品。5 .讲解算法:程序设计语言是创造软件的工具,解决问题的算法指
9、引着程序设计语言完成具 体的任务。描述算法的形式有很多种,既可以用自然语言,也可以使用流程图。6 .提问:阅读教材图4-4和图4-5,请你识别一下流程图中有哪些既定的元素类型,其中的 圆角矩形、平行四边形、菱形、带箭头的直线分别表示什么?7 .通过讨论,小结算法的特点:有穷性,确定性,可能会有输入数据,肯定会有输出结果 三、练习与巩固(15分钟).布置任务二。请用流程图的形式表达算法:输入整数L代表铁丝的长度,计算可围成的最大正方形的面积。1 .和同学交流提供自己设计的流程图。2 .总结学生的设计,对典型作品进行点钾特别要注意:(1)此题的流程图至少要包含一个输入和一个输出。根据周长计算正方形
10、面积的表达式。3 .布置任务三。利用自己小学学过的scratch,把上题的流程图转变成可以运行的程序。4 .让学生互相交流自己编写的程序的运行结果。5 .讨论:之前的流程图设计对于后期scratch程序的编写起到怎样的作用?四、拓展提升(10分钟).布置任务四。阅读教材第54页的“实践创新”,将图4-5的流程图转换成Scratch程序,并运行。教师应提醒学生思考:(1)流程图中的菱形有什么含义?如果不允许使用判断,此题是否另有解法?2.讲评图4-5,提醒学生注意:流程图中的每一个判断框都应该包括真和假两种不同的流程线 输出。展示并点评学生的Scratch代码。五、课堂小结(5分钟)小结:本节课
11、重点讨论两局部内容,一是程序设计语言是生产软件的工具,二是算法描述了 程序解决问题的方法,指引着程序设计。最后我们介绍了一种通用的、描述算法的工具,也 就是流程图。除流程图外算法还可用自然语言、伪代码进行描述。Scratch是一种图形化的程序设计语言,随着工程规模的增大,我们更多地会使用C语 言等来编写代码。第10课时一、引入新课(5分钟)引言:想要把我们设计的算法变成电脑上能够真正运行的软件,终究不能够靠流程图纸上谈 兵,必须要通过某种程序设计语言将它付诸实践。对于C语言来说,Dev-C+是一种常见的集成开发环境。跟随老师一起翻开Dev-C+,在它的帮助下编写我们的第1个语言程序。二、讲授新
12、知(25分钟).布置任务一:新建源代码文件,参考教材图4-7,输入完整的C语言程序,并保存。(本任务仅要求完成源代码的输入即可,不要求学生立刻编译运行。)学生第一次输入C语言源代码,可能会遇到许多困难,教师应鼓励学生之间互帮互助,共同 克服困难。1 .请学生阅读教材第55页。2 .布置任务二:参考教材:拿出不同颜色的彩色铅笔在图4-7中标记出C语言程序的各个元 素。3 .提问(1)如何在键盘上输入这些符号:/*;”?为了编写C语言程序应当采用什么输入法?(教师提醒学生灰色显示的局部是注释,可以 不用在意)(3)TAB键有什么作用?它在键盘上的哪个位置?(4)C语言的源程序保存之后以什么为扩展名
13、?4 .教师点评并小结学生的回答,给出相应的正确答案。5 .布置任务三:重新审视自己刚才输入的源代码,检查可能存在的输入错误,并且进行修正 调整。同桌之间互查代码。6 .演示编译运行C语言源代码的过程。7 .布置任务四:编译运行自己的源代码。提醒学生注意:如果运行失败,请注意看Dev-C+下方给出的提示信息,并认真比对课本图4-7的范例, 推测并查找错误的原因。如果运行成功,请仔细检查自己的源文件目录下是否有多出新的文件,它是做什么用的?8 .点评学生典型的错误代码,引导学生观察Dev-C+所给出的错误提示信息。三、练习与提高(10分钟).回顾C语言源代码的新建、编辑、保存和编译、运行的全过程。1 .布置任务五:参考课本图4-7的范例,订正实践创新局部的代码。在Dev-C+中新建一个 源文件,将订正后的代码输入并尝试着编译运行,得到正确的输出结果。四、课堂小结(5分钟).讲评实践创新局部的代码。1 .总结:在本节课中,我们完整地体验了简单C语言程序的编辑和运行过程,对于编程中遇 到的一些错误,我们也了解了该如何防止和纠正。这些实践经验都是我们将来深入学习程序 设计的珍贵财富。教学反思