鱼C论坛

 找回密码
 立即注册
查看: 6761|回复: 12

[技术交流] 07 - 流程图 VS 盒图?【三大结构|总结(下)】

[复制链接]
发表于 2021-4-16 08:38:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 鱼C-小师妹 于 2021-5-3 15:26 编辑

在线讲解:



上一讲我们搞定了顺序结构选择结构

这一讲来看三兄弟中的大哥:循环结构:

2021-04-16_08-34-30.jpg

在程序设计中,算法的某些操作步骤在一定条件下会被重复执行,这就要用到“循环结构“。

通常就是由以下三个元素组成:
循环控制语句+循环条件+循环体
反复执行的操作步骤称为循环体。

由若干个操作步骤构成,可以按顺序结构、选择结构或循环结构来组成。

就拿第二讲借玩具中的循环来说:

2021-04-18_19-18-09.jpg

循环控制语句就是 while 循环。

循环条件:a < 5。

循环体:b = 1。

在 Python 中使用 while 语句编写循环结构。

会使用一个布尔表达式作为循环的控制条件。

但条件成立时,执行循环体中的代码;否则,结束循环,执行循环结构后续的代码:

未命名表单.jpg

根据循环次数是否确定,可以将循环结构分为:

  • 计数型循环
  • 条件型循环

我们一个一个来说。


计数型循环

这是一种循环次数确定的循环,通常就是采用一个用来计数的变量控制循环的次数。

需要咱们自己设置该变量的初始值,终止值,增量。

循环的结束条件就是计数变量超出给定的范围。

实现就用 whie 循环~

例如,现在求 1 到 100 间的自然数之和。

让我们算当然用首位相加的高斯求和公式。

但是,让计算机来算,那肯定是“傻算”。

管你是从 1 到 100 还是 10000,都是一个一个求和就好。

采用计数型循循环写程序:

  • 计数变量 i 的范围为 1 到 100
  • i 从 1 开始,每次加 1
  • 大于 100 结束
  • 每次求和的值放在变量 s 中

根据这些就能轻松写出代码。

游客,如果您要查看本帖隐藏内容请回复


此处请自己动手!


条件型循环

如果理解了上面的技术型循环,那条件型就很好理解了。

上面是确定的循环,那条件型就是不确定的循环结构。

通常采用标记值控制循环,当标记值条件不成立时,循环才会结束。

在循环体内一定要有改变循环条件的语句,让循环可以结束。

否则无休止的运行,就是我们说的“死循环”

这个就需要画个基本框架图:

未命名表单.jpg

使用标记变量 state 控制循环,初始值为 True,激活循环,重复执行循环中的语句。

在循环体中,判断如果给定的布尔条件表达式成立时,就修改 state 的值为 False,下一次再进入循环就会结束。

严谨来说,计数型循环是可以用条件型循环来实现,因为计数本身也是条件嘛。

最后,快速介绍两种干预循环的语句:continue 和 break 。

在循环体中,当某个条件满足时,使用 continue 语句可以立即结束本轮循环

而 continue 语句之后的代码就会被忽略,跳转到循环结构开始处,开始新一轮循环。

举个例子,例如打印 100 以内的奇数,就可以这么写:
i = 0
while i < 100:
    i += 1
    if i % 2 == 0:
        continue
    print(i)
i 是偶数时,就会提前结束本轮循环,开始下一轮循环。

在循环中 countinue 语句后面的语句会被忽略,因此整个过程只会输出 100 以内的所有奇数。

break 语句和 continue 的区别在于:

当满足某个条件,执行到 break 语句,直接跳出循环。执行循环结构后面的代码。

很像我们在:


中的单步调试单步跳过,不展开说啦,有兴趣的自己看视频哈。

使用 break 语句是强制性退出循环,不用考虑代码是否执行完哦,也不用管是否还符合条件。

例如将上面的 continue 换为 break,结果就只会看到 1,因为当 i 为 2 的时候,直接 break。

记住:

如果循环中出现 continue 或 break,那么只能画流程图。如果循环即没有 continue 也没有 break,则盒图或流程图都可以,视情况而定。

好啦,就到这里,下课!

评分

参与人数 2荣誉 +10 贡献 +6 收起 理由
bool想学C + 5 + 3 鱼C有你更精彩^_^
睦ちゃん她爹 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-16 11:59:40 From FishC Mobile | 显示全部楼层
什么都没有——未完待续
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-16 16:22:48 From FishC Mobile | 显示全部楼层
哈哈,小师妹和小甲鱼是什么关系
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-19 08:07:16 | 显示全部楼层
快更新!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-8 15:55:52 | 显示全部楼层
11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-13 11:34:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-1 21:55:23 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-17 13:58:37 | 显示全部楼层
我爱大湿妹
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-23 20:10:35 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-10 09:35:37 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-16 15:02:43 | 显示全部楼层
check
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-5-31 22:48:43 | 显示全部楼层
沙发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-11-2 08:52:22 | 显示全部楼层
学习一下下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 01:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表