杨光
大庆外国语学校
设计说明:上节课已经学习了什么是程序,什么是程序设计语言,以及通过解决温标转换问题了解了程序设计的一般过程。本节课是在上节课的基础上,通过解决为航天员供应食品的问题,让学生进一步了解程序设计的一般过程,初步具备利用C++编写程序解决简单问题的能力。
教学目标:
1、知识与技能目标
(1)在设计解决为航天员供应食品的算法过程中,进一步了解和体验程序设计的一般过程。
(2)进一步了解C++语言的使用环境和语法特征。
(3)初步掌握编写程序和调试程序的方法。
2、过程与方法目标
(1)通过为航天员供应食品问题的探究,掌握用程序设计语言来解决实际问题的一般方法。
(2)在编写程序和调试程序的过程中,提高分析问题、处理问题的能力。
3、情感态度与价值观目标
在用程序设计语言解决问题的过程中,有利于培养学生严谨的思维能力、理性精神和实践能力。以为航天员供应食品为例,让学生了解中国的航天史与航天科技的发展,增强学生的民族自豪感、培养学生的家国情怀。通过编程解决实际生活中的问题,学生能够对程序设计语言有更加深刻的认识,会了解到编程不是一件难以做到的事,提高学生学习的兴趣与信心,致力于为国家科技进步与发展贡献力量。
教学重点:
在利用C++语言编程解决为航天员供应食品问题的过程中,学会分析问题,设计算法,掌握C++程序设计语言基本结构的使用方法。包括头文件的声明、主函数、变量的定义,输入输出的格式等。
教学难点:
程序的编译运行与调试。
教学过程:
一、导入本课内容。
播放视频,内容为2021年6月17日神舟十二号发射成功,中国航天员首次进入中国自己的空间站,以及航天员是如何在空间站进行工作和生活的相关介绍。通过介绍中提到的航天食品,引出假设学生是负责为航天员供应食品的工作人员,如何借助程序设计语言来解决按需及时供应食品的问题。
二、从解决问题入手,复习并巩固所学知识。
1、在解决问题前,回顾上节课讲到的程序设计的一般过程。
(1)分析问题
(2)设计算法、编写程序
(3)运行、调试程序
2、回到本节课要解决的问题,为航天员供应食品的问题。
(1)分析问题
航天员一天所需的食品数量为每位航天员每餐所需的数量总和乘以每天进餐的次数,再乘以天数,可以列出每天所需数量的公式。
用程序解决这个问题的过程是:首先接收用户输入的天数,然后使用计算公式,计算出相应天数所需供应的食品的总数,最后输出。
本问题涉及到三类数据:已知数据——每位航天员每餐所需的数量及每天进餐的次数(调查已知)、天数(需用户输入) ,所求的结果数据——需供应的食品总数(需输出)。
(2)设计算法,编写程序
首先需要确定算法,选择C++程序设计语言来编写程序。
具体所需算法公式在分析问题时已经得出,学生需要做的是把用自然语言解决问题的过程转换成计算机中用程序设计语言来解决问题。
上一节课中学生已经学习过C++的基本语法和结构,本堂课在分析问题后,由学生自己来编写相应的代码,老师在这个过程中给予指导。对学生在这个过程中出现的问题,及时给予提醒和纠正。在学生独立完成编写后,演示完成的代码和编译运行调试程序的过程,并重点强调和讲解在学生独立完成过程中发现的问题。
在设置具体变量时,以本次三位航天员的名字作为变量名来设置具体每餐需要的食品数量,让学生加深对中国的航天史的记忆,也进一步理解了变量命名的规则和含义。
(3)运行、调试程序
(教师特意设置程序错误点,以便演示编译调试程序的过程)
编写好的程序首先要保存,在编译运行前,和学生强调保存文件的注意事项,放到指定的文件夹,注意文件的名字,要便于记忆和查找。
保存好后进行编译运行,编译运行时会有三种情况,一是无语法错误和逻辑错误,编译通过,运行正常;二是无语法错误,但有逻辑错误,编译通过,运行结果与预期不符;三是语法错误,编译有错误提示。
其中第二种和第三种情况,学生需要在本堂课掌握基本的解决办法。
逻辑错误,需要学生从程序本身去分析,是否是公式书写错误,或者采取增设输出语句的方法,去看具体的变量与输出值存在哪些偏差。
语法错误,学生要学会看错误提示,具体是第几行,是什么错误,怎么去更正。
这一部分,针对学生各自编写的程序,具体情况具体分析,程序的调试方法,还需要在之后的课堂中通过更多的练习来熟悉和掌握。
三、小结
总结、归纳学生在本堂课中出现的问题,编译运行时遇到的错误类型。鼓励学生利用程序设计语言解决实际生活中遇到的问题,本节课从简单的问题入手,消除学生对程序设计的畏惧感,激励学生学习程序设计的信心及积极性。
授课题目 认识程序和程序设计语言
选用教材 上科教版必修1《数据与计算》
章 节 第三单元项目六
课 时 1课时
上课年级 高一年级