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