跳转到内容

编程基础/实践:循环

来自维基教科书,开放世界中的开放书籍

章节摘要

[编辑 | 编辑源代码]
  • 迭代控制结构 - 直到程序达到特定状态或对集合中的每个元素都应用了操作,才会执行语句或代码块。
  • While 循环 - 一种控制流语句,允许根据给定的布尔条件重复执行代码。
  • Do While 循环 - 一种控制流语句,至少执行一次代码块,然后根据代码块末尾给定的布尔条件重复执行代码块,或者不执行。
  • 标志概念 - 标志是一个变量,用于存储通常用于控制程序的信息。
  • For 循环 - 一种先测试循环,重复执行代码,直到条件变为假。For 循环是确定性循环,通常用作计数循环,其中迭代次数已知。
  • 分支语句 - 计算机程序中的指令,可以使计算机开始执行不同的指令序列,从而偏离其默认行为,即按顺序执行指令。
  • 自增和自减运算符 - 一元运算符,分别将它们的运算数加 1 或减 1。
  • 整数溢出 - 当算术运算试图创建一个超出给定位数所能表示的范围的数值时,就会发生溢出 - 大于最大值或小于最小值。
  • 嵌套循环 - 嵌套循环将一个 for 循环放在另一个 for 循环内。内循环在每次外循环迭代中都会重复执行。

复习问题

[编辑 | 编辑源代码]

判断题

[编辑 | 编辑源代码]
  1. do-while 和 repeat until 结构的行为完全相同。
  2. 学生有时会混淆赋值和相等。
  3. repeat until 循环控制结构在所有编程语言中都可用。
  4. 由于标志经常使用,它们通常是特殊的数据类型。
  5. do-while 是循环前的测试。
  6. 只有 for 循环可以是计数循环。
  7. 整数数据类型具有模运算属性。
  8. \n 的转义代码是格式化输出的一部分。
  9. C++ 编程语言不允许嵌套 for 循环。
  10. 计数循环使用所有四种循环属性。
  11. Do While 循环是一组语句,在检查表达式之前执行一次或多次。
  12. 在 Python 中,While 循环和 Do While 循环都使用 While 语句。
  13. 自减是将一个值加到变量的值上。
  14. break 是一个预定义函数,用于提前停止程序并返回到操作系统。
  15. While 循环会无限期地重复执行一个代码块,或者直到执行退出命令为止。
  16. While 循环是重启程序的最佳循环,因为 While 循环会在检查表达式是否为真之前至少运行一次所有语句。
  17. 前缀自增将一个值加到运算数左侧的运算符上。

答案

  1. 错误 - 不同之处在于检查条件的位置
  2. 正确 - 通常,相等使用两个等号而不是一个。
  3. 错误 - 它在旧语言中比在较新的语言中更常见。
  4. 错误 - 标志用于控制或指示特定操作的中间状态或结果。
  5. 错误 - Do While 循环是迭代后控制结构测试,这意味着它们在循环至少运行一次后进行测试。
  6. 错误 - 任何类型的循环都可以是计数循环。
  7. 正确
  8. 正确
  9. 错误 - 嵌套循环涉及在另一个循环中循环。它们可以在任何语言中使用。
  10. 正确
  11. 正确
  12. 正确 - 两者的区别在于检查条件的位置。
  13. 错误 - 自增是将值加到变量的值上。
  14. 错误 - break 是一个分支语句,它终止现有结构。
  15. 错误 - Do While 循环会重复执行代码块,直到为真,并通过退出命令退出。While 循环会无限循环,或者满足条件。
  16. 错误 - While 循环始终检查表达式以查看它是否为真,然后再运行关联的语句,使其成为重启程序的糟糕循环。重启程序的最佳循环实际上是 Do While 循环,因为它始终在检查表达式是否为真之前运行循环中的语句一次。
  17. 正确

简答

  1. 用你自己的话描述 Do 循环和 Do While 循环之间的区别。
  2. 如果你想创建一个程序,该程序在启动时要求输入姓名,并且在得到姓名之前不会继续,你会使用哪种循环,为什么?

填空:练习真值表

[编辑 | 编辑源代码]
  1. True AND False = _____
  2. False AND NOT False = _____
  3. True OR True = _____
  4. True AND False = _____
  5. False OR NOT True = _____
  6. True AND True = _____
  7. False OR True = _____
  8. False AND False = _____

使用伪代码、流程图工具或您选择的编程语言完成以下活动。为输入、每种类型的处理和输出使用单独的函数。通过传递参数和返回值来避免全局变量。创建测试数据以验证每个程序的准确性。在程序顶部添加注释,并包括对任何使用资源的引用。

While 循环

[编辑 | 编辑源代码]

使用 while 循环结构完成以下操作。

  1. 创建一个程序,使用循环为给定值生成一个乘法表达式列表。要求用户输入值和要显示的表达式数量。例如,对于值 1,三个表达式列表将为
    1 * 1 = 1
    1 * 2 = 2
    1 * 3 = 3
    对于值 3,五个表达式列表将为
    3 * 1 = 3
    3 * 2 = 6
    3 * 3 = 9
    3 * 4 = 12
    3 * 5 = 15
  2. 回顾MathsIsFun:平均值的定义。创建一个程序,要求用户输入成绩。首先询问用户他们想要输入多少个成绩。然后使用循环来请求每个成绩并将其添加到总数中。最后,计算并显示输入成绩的平均值。
  3. 回顾MathsIsFun:圆周率。编写一个程序,使用尼拉坎塔级数根据用户输入的迭代次数来计算圆周率。

Do While / Repeat Until 循环

[编辑 | 编辑源代码]

使用 do while / repeat until 循环结构完成以下操作。

  1. 回顾MathsIsFun:平均值的定义。创建一个程序,要求用户输入成绩。使用循环来请求每个成绩并将其添加到总数中。继续接受成绩,直到用户输入负值或不输入值(您选择)。最后,计算并显示输入成绩的平均值。
  2. 回顾可汗学院:猜数字游戏。编写一个程序,允许用户在 0 到 100 之间(包括 0 和 100)选择一个数字。然后让程序尝试猜出用户的数字。从中间值 (50) 开始,询问用户他们的数字是 (h)igher、(l)ower 还是 (e)qual 于猜测值。如果他们指示较低,则猜测新的中间值 (25)。如果他们指示较高,则猜测新的中间值 (75)。继续有效地猜测较高或较低,直到他们指示相等,然后打印出猜出其数字所需的猜测次数,并结束程序。
  3. 将 do while / repeat until 循环添加到先前章节中的任何活动中。在用户想要继续或用户想要停止之前继续运行程序。
  4. 在之前章节的任何活动中添加一个输入验证循环。验证输入有效后,再返回值。在输入无效时,提示用户重新输入值。

For 循环

[编辑 | 编辑源代码]

使用 for 循环结构完成以下内容。

  1. 创建一个程序,使用循环为给定值生成一个乘法表达式列表。要求用户输入值和要显示的表达式数量。例如,对于值 1,三个表达式列表将为
    1 * 1 = 1
    1 * 2 = 2
    1 * 3 = 3
    对于值 3,五个表达式列表将为
    3 * 1 = 3
    3 * 2 = 6
    3 * 3 = 9
    3 * 4 = 12
    3 * 5 = 15
  2. 回顾MathsIsFun:平均值的定义。创建一个程序,要求用户输入成绩。首先询问用户他们想要输入多少个成绩。然后使用循环来请求每个成绩并将其添加到总数中。最后,计算并显示输入成绩的平均值。
  3. 回顾MathsIsFun:圆周率。编写一个程序,使用尼拉坎塔级数根据用户输入的迭代次数来计算圆周率。

嵌套循环

[编辑 | 编辑源代码]

使用嵌套循环结构完成以下内容。

  1. 回顾 MathsIsFun: 10x 可打印乘法表。创建一个使用嵌套循环生成乘法表的程序。不要简单地创建一个 10x10 的表格,而是要求用户输入起始值和结束值。包含行和列标签。例如,从 1 到 3 的输出可能如下所示
        1   2   3
    1   1   2   3
    2   2   4   6
    3   3   6   9
    从 3 到 5 的输出可能如下所示
        3   4   5
    3   9  12  15
    4  12  16  20
    5  15  20  25
  2. 在本章的任何活动中添加一个 do while / repeat until 循环。在用户想要继续或用户想要停止时继续运行程序。

参考资料

[编辑 | 编辑源代码]
华夏公益教科书