《教学案例算法教学案例--进位制》由会员分享,可在线阅读,更多相关《教学案例算法教学案例--进位制(13页珍藏版)》请在金锄头文库上搜索。
1、1教学案例教学案例算法教学案例算法教学案例进位制进位制吴赛群吴赛群依照高中数学课程标准实施的高中数学新课程中,如何贯彻新课程理念,正确把握和实施高中数学教学,已成为每一个高中数学教师应该研究的课题。本教学案例选取“进位制”作为“算法初步”的教学内容,以教学设计的形式探索高中数学新课程的实施过程。一教学设计意图一教学设计意图1关注问题性、启发性,加强联系性本课通过“猜生月生日”这一程序游戏创设教学情景,使学生自然提出问题:“这一程序是怎样设计的?”进而启发学生主动探索程序中的算法算理,从而引进数的进位制及其转化问题。教学过程中,由学生熟悉的十进制出发,引导他们分析得到“除 10 取余法”,再通过
2、类比得到“除 2 取余法”,进而推广得到“除 k 取余法”,从而解决十进制转化为k 进制的问题。在此基础上,再研究 k 进制转化为十进制的问题,最后解决两种不同进位制间的互相转化问题。这样设计的目的,是遵循认知规律,以问题引导学习,体现数学知识的形成与学生认知的过程性,加强数学知识间的联系性,促使学生主动探究,培养学生的创新意识和应用意识。2讲背景,讲数学,讲思想,讲应用,在“猜生月生日”这个真实背景下,学生能真切地体会算法的作用与数学的力量,引入这个背景的意义,在于讲数学中的算法思想,在于应用算法思想解决实际问题。在课的设计与实施过程中,始终围绕“不同进位制间的转化”这一目标,让学生经历由探
3、究算理,到抽象算法步骤,绘制程序框图,再到设计并优化程序的全过程,使学生明确自己是在学数学而不仅仅是在编程序或玩计算机,这一过程的主要目的是使学生得到算法思想的熏陶2与提升。课后作业要求学生利用已学的知识与方法探究“猜生月生日”的算法与算理,意在讲应用,让学生关注数学的“源”与“流”,加强数学与事物间的联系。3注重数学课程与信息技术的整合,尝试改进教与学的方式在教学过程中,师生充分利用 ti 图形计算器一起进行算理探索、程序设计、演示交流,这不仅使学生亲身体验了算法的实现过程,而且为改进教与学的方式提供了强有力的平台。在数学课程与信息技术的整合中坚持贯彻“必要性”、“平衡性”、“广泛性”、“实
4、践性”、“实效性”等原则。二教学任务分析二教学任务分析1. 通过“进位制”这一案例的教学,使学生进一步加深对算法含义的认识:(1)算法通常是指可以用计算机来解决某类问题的程序或步骤(可行性);(2)算法中的程序或步骤必须是明确和有效的(确定性);(3)算法中的程序或步骤必须在有限步之内完成(有穷性)2通过“十进制转 k 进制”与“k 进制转十进制”的算理分析与程序框图,加深对算法的三种基本结构(顺序结构、选择结构、循环结构)的认识,正确理解与使用循环结构中的选择结构3根据“十进制转 k 进制”与“k 进制转十进制”的程序框图,利用 ti 图形计算器的程序语言写出程序,由此体会并正确选用算法语句
5、(输入语句、输出语句、赋值语句、条件语句、循环语句)表达算法的步骤与算法的基本结构4. 通过“进位制”这一案例的教学,使学生熟悉用算法思想解决问题的基本步骤:(1)用自然语言写出“算法步骤”;(2)根据算法步骤写出“程序框图”;3(3)选用一种计算机程序设计语言,根据程序框图写出“程序”;(4)上机验证程序的可行性,完善和优化算法三教学重点和难点三教学重点和难点“十进制转 k 进制”与“k 进制转十进制”的算理分析四教学基本流程四教学基本流程五教学用具五教学用具师生每人一台 ti92plus 图形计算器,一块 ti 液晶显示屏,实物投影仪,投影机,投影屏幕六教学情境设六教学情境设教学情境设计教
6、学情境设计情景步骤师生活动设计意图 1 “猜生月生日游戏”: “请先依次指出表格(见附 注 1)中哪些行有你的生月, 然后再依次指出表格中哪些 行有你的生日,便知道你的 生月生日 ”教师给出生月生日表,并同 时讲清游戏规则,然后请一 位或两位学生根据表格回答, 教师使用编好的 ti 程序(见 附注 2)记录学生的回答, 学生回答完毕则由程序立即 获得学生的生月生日这个游戏中用到的“生月生 日表”的制作原理是二进制 记数法,它需要掌握“十进 制转二进制”的方法;计算 生月生日的程序 1 的算理是 “二进制转十进制”的算理, 这一过程可以引起学生对游 戏的算法的兴趣,从而引入 本节课42让学生用
7、ti 图形计算器 计算:(1) 3103710221011. 00;(2) 410391023106100师生一起用 ti 图形计算器计 算,教师的计算结果投影在 屏幕上,学生计算完毕后思 考一般情况让学生体会十进制记数法的 实质,为探究“除 10 取余” 作准备 3以 3721 为例,探究“除 10 取余”的过程教师启发,学生观察: 3721=372101,372= 37102,37= 3107,3= 0103.得出“除 10 取余”的十进制 记数法则(见附注 3) ,为 学习二进制的“除 2 取余”记 数法则作准备4以十进制数 89 为例,探 究“除 2 取余”的过程让学生模仿得出: 89
8、 = 442 1,44 = 222 0,22 = 112 0,11 = 52 1,5 = 22 1, 2 = 12 0,1 = 02 1.得出“除 2 取余”的二进 制记数法则5在 ti 图形计算器上以 89 实现“除 2 取余”的过程师生一起进行下述操作:89 (取余)(取商) 重复进行上述取余与取商的操作,直至商为 0 探究“十进制化二进制”算法中的主要算法结构:条件结构 与循环结构 6从操作过程中提炼出“十 进制转二进制”算法步骤, 并推广到“十进制转 k 进制” 的算法步骤教师让学生先思考上述操作 中的算法结构,然后写出算 法步骤并进行交流,最后由 教师评析并给出正确的算法 步骤得出“
9、十进制转二进制”的算 法步骤,并推广到“十进制 转 k 进制”的算法步骤(见 附注 4) 7. 由“十进制转 k 进制”的算 法步骤写出程序框图让学生写出程序框图并进行 交流,随后教师评析 并给 出正确的程序框图得出“十进制转 k 进制”的程 序框图(见附注 5) ,进一 步领会算法结构 8根据“十进制转 k 进制” 的程序框图,在 ti92plus 图形计算器上编写程序并运 行让学生在 ti92plus 图形计 算器上编写程序并运行,以 89 分别转二进制、五进制, 检查学生的程序是否正确这是本节课的一个重要环节, 不仅能使学生正确掌握“十 进制转 k 进制”的算法程序 (见附注 6) ,还
10、能使学生 积极主动并有效地学习 9以 1011001(2)为例,探 究“二进制化十进制”的算 理师生一起将“情景步骤 4”中 的“师生活动”所得到的算式 由后往前代入并整理得到: 1011001(2) 126025124123 02202112089通过实例体会“二进制转十 进制”的算理,为得到“k 进 制转十进制”的算法程序作 铺垫510在 ti92plus 图形计算 器上编写并运行“k 进制转 十进制”程序让学生在 ti92plus 图形计 算器上编写程序并运行,以 1011001(2)、324(5)分别转 十进制,检查学生的程序是 否正确使学生掌握“k 进制转十进 制”的算法程序(见附注
11、 7) , 促使学生积极主动并有效地 学习11把二进制数 1011001 化 为五进制数让学生先利用“k 进制转十 进制”的程序得出: 1011001(2)89, 先利用“十进制转 k 进制”的 程序得出: 89324(5), 所以,1011001(2) 324(5)体会任意两种进位制的数之 间的转化方法:先“k 进制 转十进制”,再“十进制转 s 进制”12讨论与小结让学生讨论、交流对算法的 认识及利用算法思想解决问 题的基本步骤,教师进行归 纳小结使学生体会教学任务中所期 望的学习目标13教师给出下列作业: (1)了解日常生活中经常用到的进位制,并举一个运用二进制数的例子,体会 二进制数的
12、重要作用. (2)将十进制转 k 进制、 k 进制转十进制的算法步骤、流程图及 ti 程序整理 成作业. (3)写出“猜生月生日表”的设计原理,完成“猜生月生日”的算法步骤、流程图 及 ti 程序,并上传到数学论坛“高一(1) 、 (2) 、 (3)班”与同学交流.1生月生日表:略!2猜生月生日程序:birthday()prgmclriofor i,1,2if i=1 then6disp “month”elsedisp “day”endifdisp “ 16 17 18 19 20 21 22 23”disp “ 24 25 26 27 28 29 30 31”input “1 or 0?”,
13、adisp “ 8 9 10 11 12 13 14 15”disp “ 24 25 26 27 28 29 30 31”input “1 or 0?”,bclriodisp “ 4 5 6 7 12 13 14 15”disp “ 20 21 22 23 28 29 30 31”input “1 or 0?”,cclriodisp “ 2 3 6 7 10 11 14 15”disp “ 18 19 22 23 26 27 30 31”input “1 or 0?”,d7clriodisp “ 1 3 5 7 9 11 13 15”disp “ 17 19 21 23 25 27 29 31
14、”input “1 or 0?”,eclrioif i=1 thena*24+b*23+c*22+d*2+emelsea*24+b*23+c*22+d*2+enendifendform,nldisp “birthday”,lendprgm3一个十进制数 a 除以 10 所得的商是 b0,余数是,即,则是 a 的个位数;b0除以 10 所得的商是 b1,余数是,即8,则是 a 的十位数.一般地,除以 10 所得的商是,余数是,即,则是 a 的从右往左数第 n+1 位数. 4“十进制转 k 进制”的算法步骤:第 1 步:给定十进制正整数 a,确定转化后的进位 k;第 2 步:求出 a 除以 k 所
15、得的余数、商,并分别赋值给 r、a; 第 3 步:若 a0,则重复第 2 步, 直到 a=0;第 4 步:将依次得到的余数从右往左排列起来,则得到 k 进位数.5“十进制转 k 进制”的程序框图:96“十进制转 k 进制”的 ti 程序:(1)循环结构为当型结构:g1310520()prgmclriolocal a,b,r,k,x“ ”binput “x(10)=?”,xinput “k=?”,kxaif a=0 then10string(a) belsewhile a0mod(a,k) rstring(r)&bbint(a/k) aendwhileendif b&”(”&string(k)&
16、”)” bstring(x)&” (10)= “&b bdisp bendprgm(2)循环结构为直到型结构:g1320520()prgmclriolocal a,b,r,k,x“ ”b11input “x(10)=?”,xinput “k=?”,kxaloopmod(a,k) rstring(r)&bbint(a/k) aif a=0 thenexitendifendloopb&”(”&string(k)&”)” bstring(x)&” (10)= “&b bdisp bendprgm7“k 进制转十进制”的 ti 程序:g1330520()prgm12clriolocal a,b,c,k,n,s,x0s1iinput “k=