第5篇:循环语句——重复执行任务 生中文编程
第5篇循环语句——重复执行任务**作者**中文编程倡导者—— 李金雨联系方式wbtm2718qq.com**目标读者**编程入门零基础核心理念使用华为仓颉原生中文编程体验真正的国产编程语言一、开篇引入1.1 生活中的重复生活中有很多重复的事情每天早上重复刷牙、洗脸、吃早餐体育课重复做10个俯卧撑老师让我们重复抄写课文3遍妈妈让你重复说对不起直到她满意1.2 程序中的重复计算机最擅长做重复的事情我们可以让程序重复计算100个学生的平均分重复打印100行我爱编程重复检查用户输入直到正确1.3 关于循环语法的思考在学习循环之前我们再聊聊仓颉的语法设计。仓颉的循环语句使用了国际通用的关键字// for循环 for (i in 0..10) { // 代码 } // while循环 while (条件) { // 代码 }这些关键字for、while、in都是国际通用的大家都能看懂。1.4 本课目标今天我们要学习for循环——知道次数的循环while循环——不知道次数的循环break和continue——控制循环嵌套循环做一个乘法表生成器二、概念讲解2.1 for循环——知道次数时用基本语法for (变量 in 范围) { // 重复执行的代码 }代码示例打印1到10main() { for (i in 0..10) { println(当前数字${i}) } }执行过程i 0执行代码i 1执行代码…i 10执行代码结束代码示例计算1到100的和main() { var 总和: Int64 0 for (i in 1..101) { 总和 总和 i } println(1到100的和是${总和}) }2.2 while循环——不知道次数时用基本语法while (条件) { // 条件为true时重复执行 }代码示例用户输入验证main() { var 密码正确: Bool false var 尝试次数: Int64 0 while (!密码正确 尝试次数 3) { println(请输入密码) // 这里模拟输入 let 输入的密码: String 123456 if (输入的密码 123456) { 密码正确 true println(密码正确) } else { 尝试次数 尝试次数 1 println(密码错误还剩${3 - 尝试次数}次机会) } } if (!密码正确) { println(尝试次数用尽账户已锁定) } }2.3 break和continue——控制循环break——跳出循环main() { for (i in 1..101) { if (i 50) { println(到50了停止) break // 跳出循环 } println(${i}) } }continue——跳过本次main() { for (i in 1..11) { if (i 5) { continue // 跳过5继续下一次 } println(${i}) } }2.4 嵌套循环——循环里面还有循环代码示例打印乘法表main() { for (i in 1..10) { for (j in 1..(i 1)) { print(${j}×${i}${i * j}\t) } println() } }输出结果1×11 1×22 2×24 1×33 2×36 3×39 ...三、动手实践3.1 基础练习九九乘法表// 九九乘法表 main() { println( 九九乘法表 ) println() for (i in 1..10) { for (j in 1..(i 1)) { print(${j}×${i}${i * j}\t) } println() } }3.2 进阶练习打印图形// 打印各种图形 main() { println( 图形打印 ) println() // 打印直角三角形 println(【直角三角形】) for (i in 1..6) { for (j in 1..(i 1)) { print(* ) } println() } println() // 打印等腰三角形 println(【等腰三角形】) let 高度: Int64 5 for (i in 1..(高度 1)) { // 打印空格 for (k in 1..(高度 - i 1)) { print( ) } // 打印星号 for (j in 1..(2 * i - 1 1)) { print(*) } println() } println() // 打印菱形 println(【菱形】) let 菱形高度: Int64 5 // 上半部分 for (i in 1..(菱形高度 1)) { for (k in 1..(菱形高度 - i 1)) { print( ) } for (j in 1..(2 * i - 1 1)) { print(*) } println() } // 下半部分 for (i in (菱形高度 - 1)..0) { for (k in 1..(菱形高度 - i 1)) { print( ) } for (j in 1..(2 * i - 1 1)) { print(*) } println() } }3.3 挑战练习猜数字游戏// 猜数字游戏 import std.random.* main() { println( 猜数字游戏 ) println(我已经想好了一个1-100之间的数字) println(你来猜我会提示大了或小了) println() // 生成随机数 let 目标数字: Int64 randomInt(1, 101) var 猜测次数: Int64 0 var 猜对了: Bool false while (!猜对了) { println(请输入你的猜测) // 这里模拟输入 let 猜测: Int64 50 // 假设输入50 猜测次数 猜测次数 1 if (猜测 目标数字) { println(恭喜你猜对了) println(你一共猜了${猜测次数}次) 猜对了 true } else if (猜测 目标数字) { println(小了再大一点) } else { println(大了再小一点) } } // 评价 if (猜测次数 3) { println(评价太厉害了) } else if (猜测次数 6) { println(评价还不错) } else { println(评价还需要练习哦) } }四、知识总结4.1 核心概念回顾for循环知道次数时用while循环不知道次数时用break跳出循环continue跳过本次继续下一次嵌套循环循环里面还有循环4.2 关于语法设计的总结仓颉的循环语句使用了国际通用的for和while关键字这是一个比较务实的选择。如果我们设计纯中文编程语言// 设想中的中文语法 重复 (i 从 1 到 10) { 显示(i) } // 或者 当 (条件满足) { 执行代码 }当然使用国际通用关键字也有好处仓颉的选择是合理的。4.3 关键代码速查// for循环 for (i in 0..10) { // 代码 } // while循环 while (条件) { // 代码 } // break break // continue continue4.4 常见错误提醒错误现象原因解决方法死循环条件永远为true确保条件会变为false循环不执行条件一开始就是false检查初始条件循环次数不对范围写错检查范围五、课后作业5.1 巩固练习必做练习1计算阶乘输入一个数字n计算n的阶乘n! 1×2×3×…×n。练习2判断素数输入一个数字判断是否为素数只能被1和自身整除的数。练习3打印金字塔输入层数打印金字塔形状。5.2 创意编程选做创意1数字炸弹多人游戏轮流猜数字猜中炸弹数字的人输。创意2简易计算器实现支持连续运算的计算器。创意3动画效果用循环实现简单的文字动画效果。5.3 下篇预习下一篇我们将学习数据列表——数组学习如何存储和操作多个数据。恭喜你完成了第5篇的学习现在你已经掌握了循环语句可以让程序重复执行任务了下节课我们将学习数组存储和操作多个数据
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2585788.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!