制作简单的计算器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
screen.drawline(x + w, y + h, x, y + h, lineWidth, lineColor)
screen.drawline(x, y + h, x, y, lineWidth, lineColor) 5.显示键盘字符: def showKeyboard(self):
for i in range(4): for j in range(4): num = self.keyboard[j][i] x = i * (self.button_width + self.margin) + 28 y = (j + 1) * (self.button_height + self.margin) + 30 text.draw(self.keydict[num], int(x), int(y),
0x000000, 0xffffff) 6.按键事件的处理:
self.keys = [Pin(p, Pin.IN) for p in [35, 36, 39, 34]] self.keymatch = ["Key1", "Key2", "Key3", "Key4"] 按键扫描: while True:
项
目
填充多边形。参数依次为:多边形顶点列表、填充颜色。
化
text.draw(str, x, y, textColor)
任
在屏幕上输出文字,不绘制文字背景。参数依次为:待输出的字符 务
串、横坐标、纵坐标、文字颜色。
式
text.draw(str, x, y, textColor, bgColor)
案
在屏幕上输出文字,绘制文字背景。参数依次为:待输出的字符串、 例
素质目标 职业素质、团队合作、自主学习、认真做事、积极思考,勇跃沟 通。
课程资源 案例化教材、文档、视频及网络资源、多媒体机房
素材资源 相关网站、PPT 课件、教学录相、文档
重点:skids 的程序界面制作 难点:计算器的实现原理
教学 策略
以学生为主体、老师为主导,采用讲授教学法,并配合分组讨论,完成 相关项目工作任务
y2 = self.margin * 2 + self.button_height
self.drawRect(x1, y1, x2, y2, 2, 0x00ffff) # 16 个按键 for i in range(4): y = self.startY + i * (self.button_height +
专业班级
教学内容
制作简单的计算器
时间
地点
授课方式 理论课√、实训课√、实习课□、实验课□、习题课□、其它□(请打√)
教学 目标
教学 资源 教学 分析
知识目标
1. 了解计算器的基本原理 2. 理解多级混合运算的实现原理
能力目标
1. 能够熟练的使用 skids 制作界面 2. 能够正确的使用运算符做混合运算
x = int(x1) y = int(y1) w = int(x2 - x1) h = int(y2 - y1) screen.drawline(x, y, x + w, y, lineWidth, lineColor) screen.drawline(x + w, y, x + w, y + h, lineWidth, lineColor)
式
横坐标、纵坐标、文字颜色、背景颜色。
2.库的导入:
from machine import Pin import time import screen import text
3.画界面:
显示区
按键之间距离:5
按键区
按键区与屏幕边缘距离:10
def drawInterface(self): # 显示框 x1 = self.margin * 2 y1 = self.margin * 2 x2 = self.screen_width - self.margin * 2
教学 方法 实施 方案
老师讲解什么是计算器,skids 相关划线的函数,运用 skids 制作计算 器界面,讲解计算器的实现原理、学生小组讨论并提问,教师引导并做最后 的总结提升。
教学 过程 设计Baidu Nhomakorabea
(包括:教师活动、学生活动。体现教、学、做结合,理论与实践一体化等 教学环节的设计)
一、新课导入
1.Skids 相关显示函数:
self.margin) for j in range(4): x = self.startX + j * (self.button_width +
self.margin) self.drawRect(x, y, x + self.button_width, y +
self.button_height, 2, 0x00ff00) 画矩形函数 drawRect( )利用直线画出矩形,是为画界面函数服务 的。drawRect( )通过调用 drawline( )函数实现矩形的绘制,绘 制前要确定直线起点和终点的坐标。画矩形的函数示例代码如下: def drawRect(self, x1, y1, x2, y2, lineWidth, lineColor):
i=0 j = -1 for k in self.keys: if (k.value() == 0): if i != j: j=i self.keyboardEvent(i) i=i+1 if (i > 3): i=0
7.计算逻辑: 步骤 1:获取当前计算器键盘中的键,并发送给变量 num,由 sendData(num)函数处理计算结果。如果 num 的值是 0-9 的数,进行操 作数的赋值,如果 num 的值是运算符号,把之前右操作数的值赋值给左 操作数,然后等待再一次给右操作数赋值,并完成运算操作。这部分的 代码包括两个方法的调用,分别是 sendData()函数和 calculate()函 数。
screen.clear()清屏
方
法
screen.drawline(x1, y1, x2, y2, pensize, pencolor) 及
画线段。参数依次为:起点横坐标、起点纵坐标、终点横坐标、终 手
段
点纵坐标、画笔宽度、画笔颜色。
screen.drawpoly(point_list, fillcolor)