《制作数字电子钟》PPT课件.ppt

上传人:sh****n 文档编号:6785056 上传时间:2020-03-04 格式:PPT 页数:35 大小:851KB
返回 下载 相关 举报
《制作数字电子钟》PPT课件.ppt_第1页
第1页 / 共35页
《制作数字电子钟》PPT课件.ppt_第2页
第2页 / 共35页
《制作数字电子钟》PPT课件.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
语言程序设计 Lizq98 制作数字电子钟 循环嵌套 C语言程序设计教程 第二版 Lizq98 一 任务分析1 目标 制作实际生活中常见的显示 时 分 秒 的 数字电子钟 如 10 11 56 任务 制作一个数字电子钟 2 程序演示 3 所需知识 顺序结构 选择结构 循环结构程序设计 C语言程序设计教程 第二版 Lizq98 二 知识回顾 三种循环语句1 while循环2 dowhile循环3 for循环 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 循环结构有 当型 和 直到型 两种 1 while循环和for循环结构都是 当型 循环 先判断 后循环 也就是说先判断条件满足与否 决定是否继续循环 如果一开始条件就不成立 则循环一次也不被执行 2 dowhile是 直到型 循环 先循环 后判断 不管循环条件满足与否 dowhile循环中的循环体至少被执行一次 二 知识回顾 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 二 知识回顾 在屏幕上显示数字0 59的变化for语句的实现如下 for s 0 s 59 s printf 2d s 程序演示 任务一 制作一个数字电子钟 3 for循环结构是C语言中功能最强大 使用最多的循环语句 使用灵活 形式多样 C语言程序设计教程 第二版 Lizq98 第4章循环结构程序设计 二 知识回顾 C语言程序设计教程 第二版 Lizq98 存在两个问题 1 数字 0 59 以滚动卷屏方式显示 2 显示速度太快 要能以实际一秒时间显示一个数 三 导入新课 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 第一个问题的解决办法 可以使用gotoxy x y 函数定位数字显示位置 其中x为屏幕列号 y为屏幕行号 也可以在每显示一次数字后调用清屏函数clrscr 或system cls clrscr gotoxy 两个函数都包含在conio h中 所以要在程序开头使用文件包含命令将它们包含进来 include conio h 三 导入新课 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 程序如下 include Conio h intmain void ints for s 0 s 59 s gotoxy 35 12 printf n 2d s getch return0 三 导入新课 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 第二个问题 是由于计算机的运行速度很快 每秒的显示时间要比实际生活中的一秒时间要短得多 因此 需要在程序中每显示一秒后都设置一个时间延迟 时间延迟用方法空循环结构实现 它的位置在循环内屏幕每显示一个数值后 for s 0 s 59 s printf 2d s for i 1 i 200000000 i 这就是一个循环嵌套 二层 结构 三 导入新课 延时循环条件需调试终值以符合实际 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 程序如下 include conio h intmain void ints longi for s 0 s 59 s gotoxy 35 12 printf 2d s for i 1 i 200000000 i getch return0 三 导入新课 任务 制作一个数字电子钟 定位显示 延时 空循环2亿次 C语言程序设计教程 第二版 Lizq98 第4章循环结构程序设计 三 导入新课 程序演示 思考 显示0 59后程序还会重复运行吗 C语言程序设计教程 第二版 Lizq98 实训环境 Win TC或TC注意 1 调试程序时要注意观察程序出错情况 2 200000000是一个参考值 数据改为100000000后再次运行程序 观察运行结果 根据计算机运行速度调整循环变量i的终值 尽量与实际运转时间一致 上机实训1 上机编辑源程序 模拟秒的变化 在屏幕固定位置显示数字0 59的变化过程 调试运行程序 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 本节课知识点 循环嵌套 多种循环是本课程重点 也是难点 三 导入新课 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 一个循环体内又包含另一个完整的循环结构称为循环嵌套 而包含多层循环的循环结构称为多重循环 while dowhile和for三种循环都可以进行嵌套 注意 循环嵌套只能是包含关系 不能发生交叉 四 循环嵌套概念 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 五 算法分析1 变量设置设小时变量为h 分钟变量为m 秒变量为s 因为这些变量的数据值均为小于60的整数 所以定义它们为整型 用于延时控制的变量数据值较大 超出整型整形范围 所以变量i定义为长整型 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 五 算法分析2 程序结构 数字电子钟 是一个典型的循环嵌套问题 先考虑只有分 秒的时钟 最里层的循环用于延时 中间层循环控制秒从0 59的变化 外层循环控制分钟从0 59的变化 嵌套结构如下 for m 0 m 59 m for s 0 s 59 s printf 2d 2d m s for i 1 i 200000000 i 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 五 算法分析再考虑小时从0 23的变化情形 最外层再套上一个循环 控制小时从0 23 则四层嵌套结构如下 for h 0 h 23 h for m 0 m 59 m for s 0 s 59 s printf n 2d 2d 2d h m s for i 1 i 200000000 i 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 main inth m s longi for h 0 h 23 h for m 0 m 59 m for s 0 s 59 s gotoxy 35 12 printf n 2d 2d 2d h m s for i 1 i 200000000 i 六 源程序 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 上机实训2 1 调试程序时要注意观察程序运行情况 再次调整空循环变量i的终值 尽量与实际运转时间一致 计算机运行速度越快 则这个数值越大 2 请将变量i类型修改为整形后运行程序 观察运行结果 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 前面的程序每次运行都从0点0分0秒开始 不能从当前实际时间开始运行 解决问题的办法可以在程序第一次循环开始时输入一次当前实际时间 为了只在开始运行时设置一次初始时间 可以引入一个逻辑变量first 其初始值为0 输入初始时间后 将其值置为非0 在后面程序运行中 通过if语句控制不再需要输入初始时间 七 源程序提高与扩展之一 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 for s 0 s 59 s if first 0 printf n输入当前时间 scanf d d d 七 源程序提高与扩展之一 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 完整程序如下 includemain inth m s first 0 longi for h 0 h 23 h for m 0 m 59 m for s 0 s 59 s if first 0 printf nEnterCurrentTime Please scanf d d d 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 现在给同学们提供一个存在几个小问题的本任务源代码 time c 请调试并找出错误后 运行本程序 说明 本程序需运行24小时才能结束 如果要停止程序运行 可以按Ctrl C或连续按两次Ctrl Break强制中断程序运行 八 上机实训3 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 本程序只能运行24小时 请同学们将程序进一步改进 使它能显示年 月 日 星期 时 分 秒等数据的电子钟 九 源程序提高与扩展之二思考和作业 任务 制作一个数字电子钟 C语言程序设计教程 第二版 Lizq98 九九乘法表 是一个典型的循环嵌套问题 外循环变量i控制行的变化 共9行 所以外循环需循环9次 由于每行有9次乘法运算 所以外循环每执行一次 内循环每次都是用i乘以1 9 即内循环每行也都需要执行9次 练习 输出 九九乘法表 任务分析1 任务目标 编程输出 九九乘法表 2 程序演示 C语言程序设计教程 第二版 Lizq98 练习 输出 九九乘法表 C语言程序设计教程 第二版 Lizq98 程序如下 main inti j for i 1 i 9 i for j 1 j 9 j printf 1d 1d 2d j i i j printf n 练习 输出 九九乘法表 C语言程序设计教程 第二版 Lizq98 内层循环执行的次数等于该循环嵌套结构中每一层循环次数的乘积 本例外循环循环9次 内循环也为9次 则内循环执行总次数为9 9 81次 思考 本程序输出结果为矩形 其中近一半的计算和显示是重复 请同学们修改程序 实现以三角形形式输出结果 提高算法效率 输出形式如下 1 1 11 2 22 2 41 3 32 3 63 3 91 4 42 4 83 4 124 4 161 5 52 5 103 5 154 5 205 5 251 6 62 6 123 6 184 6 245 6 306 6 361 7 72 7 143 7 214 7 285 7 356 7 427 7 491 8 82 8 163 8 244 8 325 8 406 8 487 8 568 8 641 9 92 9 183 9 274 9 365 9 456 9 547 9 638 9 729 9 81 练习 输出 九九乘法表 C语言程序设计教程 第二版 Lizq98 编写程序 以三角形形式输出 九九乘法表 并上机调试通过 上机实训4 练习 输出 九九乘法表 C语言程序设计教程 第二版 Lizq98 小结 1 循环嵌套 多种循环 它是本课程重点 也是难点 2 多重循环中 外循环变化慢 内循环变化快 外循环一次 内循环就要循环n次 如秒变化60次 则分钟变化 增加 1次 然后秒重新从0到59变化 分钟变化60次 则小时变化 增加 1次 本程序中 延时控制变量i变化次数最多 C语言程序设计教程 第二版 Lizq98 小结 3 循环嵌套在实际应用中非常广泛 必须掌握 4 屏幕清屏或让数据在固定位置显示 可以使用clrscr gotoxy 两个函数 它们都包含在conio h中 需要使用文件包含命令将它们包含进来 include conio h 5 延时问题 可以通过空循环解决 C语言程序设计教程 第二版 Lizq98 小结 6 循环嵌套中要解决诸如程序第一次循环开始时输入一个初始值 当前实际时间 问题 在实际应用中非常广泛 必须学会并灵活掌握 7 定义变量类型应注意的问题 如本程序实训时提供的代码变量i为整形 程序虽能通过编译并运行 但运行结果会出错 时钟显示将会停顿在某个时间不再继续 C语言程序设计教程 第二版 Lizq98 作业 P105一 选择题6 8 15 16二 填空题7 19三 判断题3 10四 编程5 6 Lizq98 Question ThankYou
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!