浙教版信息技术选修1 5.2 解析算法的程序实现——进制与位运算 教案

文档属性

名称 浙教版信息技术选修1 5.2 解析算法的程序实现——进制与位运算 教案
格式 docx
文件大小 549.1KB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2021-01-12 14:34:04

图片预览

文档简介

算法与程序设计:进制与位运算
——解析算法的实例实现
(1)了解解析法的基本概念及用解析法设计算法的基本过程。(2)能够用解析法分析简单问题,设计算法,编写程序求解问题。
【学习目标】
了解进制的概念,掌握进制转换的数学方法;
根据数学思想,完成在算法中进制转换的实例实现;
通过反码、补码等二进制位运算的算法实例实现,能够进一步掌握该类问题的解析算法思想;
尝试运用解析算法思想,探索该类问题的算法解决。
【教学过程】
第一部分:知识回顾
教师导语:在数学中,我们最早学习的问题之一就是进制问题,从1数到9要进位成10,也就是10进制。进制是人为定义的一种计数方法,计算机中采用的就不是10进制而是二进制,我们在学习编码的时候就曾各种进制的转换做过详细的讲解,我们一起来回顾一下。
依次展示:十、二、十六进制按权相加展开的式子
集体提问:这些式子中10的n次方,2的n次方和16的n次方表示的是什么?答:“权”。权值前面的数则是——基数。
继续展示:十进制到二进制和十六进制的转换图
问题1:以转二进制为例,这个方法我们总结为:除二取余。问题2:取出来的余数呢?倒着连起来。
教师小结:十进制转十六进制就是除16取余,但是注意十六进制的10-15是用A-F来表示的。
第二部分:经典例题实现
使用数学方法解决该类问题我们已经了解了,那么今天这节课我们要探究的是用我们信息学科的方法——算法来实现了。
进制运算特别是二进制位运算有取反、补码、异或等,我们先从经典例题着手。
展示第一个例题:这是一个10转2进制的算法
23495-4127500
快速问答:n、s、r变量的作用?
展示第2个例题:
234953619500
个别提问:16进制中的r+1如何理解?考察mid函数的理解。联系密码表问题中的c+1。
继续展示第三个例题(10进制转16进制)
Private Sub Command1_Click()
Dim n As Integer, t As Integer, r As Integer, c As Integer, s As String
n = Val(Text1.Text)

s = ""
Do While t > 0
r = (t + 1) Mod 2
s = CStr(r) + s
t = t \ 2
c = c + 1

For i = 1 To 8 - c
s = "1" + s
Next i
Label1.Caption = "十进制数" + Str(n) + "的二进制反码为" + s
End Sub
个别提问:这个算法思想10-16和之前的有什么不同?
利用了ASCII值10-15转A-F(ASC(”A”)-55)- ASC(”F”)-55)
学生操作:VB中实现这个三个例题。
教师小结:简单评价。
第三部分:拓展运算
例题4(二进制反码)分析:
317512192000
教师提问:t为什么不用n?(t+1)mod 2 表示什么?
学生个别回答。

学生操作并提交作业,教师小结。
317524257000例题5分析:

题目解读 n>=0 原码;n<0 反码+1
95257810500















分段阅读,原码和反码,补码留给学生操作。
作业提交,教师小结。

总结:今天我们运用算法思想解决了一些数学上的进制问题,大家都做的很不错,其实在位运算中还有很多变化,很多题目我们都没有做到。但是我们只要掌握好了基本的算法思想,可以以不变应万变,应对各种类型的题目。今天的课就到这里。
课后作业:学案剩余的练习题,完成后明天上交,下课。