当型循环和直到型循环(精讲)

news2024/9/25 9:40:09

目录

  • 背景
  • 概念
    • 当型循环
    • 直到型循环
  • 二维表对比
  • 图示与代码
    • 当型循环
      • 流程图
      • N-S图(盒图)
    • 直到型循环
      • 流程图
      • N-S图(盒图)
  • 例子
    • 当型
      • 图示
      • 代码
    • 直到型
      • 图示
      • 代码
  • Do–Loop 和For –Next
    • 相同点:
    • 不同点:
    • 代码
  • 总结

背景

两年前写过一篇 当型循环和直到型循环的博客,访问量较高,但当时刚开始接触博客,文章看上去着实水平不高,并且存在一些问题,随即又重新学习了一下,写下了这篇文章。

概念

    直到型循环和当型循环是编程中常用的两种循环结构。

当型循环

    是在循环体执行之后判断循环条件,如果条件为真,则继续执行循环体;如果条件为假,则跳出循环。这种循环结构可能导致循环体一次都不执行。

直到型循环

    是在循环体执行之前判断循环条件,如果条件为真,则跳出循环;如果条件为假:,则执行循环体,并在循环体执行完毕后再次判断循环条件。这种循环结构保证了循环体至少会被执行一次。

二维表对比

区别:

  1. 判断条件的时机不同:直到型循环在循环体执行之前判断条件,当型循环在循环体执行之后判断条件。
  2. 执行次数不同:直到型循环至少会执行一次循环体,当型循环可能一次都不执行循环体。

联系:
1 两者都是循环结构,用于重复执行一段代码。
2. 两者都需要一个循环条件,用于判断是否继续执行循环。
以下是用二维表表示直到型循环和当型循环的区别和联系:

直到型循环当型循环
执行顺序先执行,再判断先判断,再执行
执行次数至少执行一次循环体可能一次都不执行循环体
判断条件成立执行条件不成立执行
脱离循环条件不成立条件成立

图示与代码

当型循环

流程图

在这里插入图片描述

N-S图(盒图)

先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止
在这里插入图片描述

直到型循环

流程图

在这里插入图片描述

N-S图(盒图)

先判断后执行,当P1条件成立的情况下,反复执行A语句,直到P1条件不成立为止
在这里插入图片描述

例子

计算1+2+3+…100的和

当型

图示

在这里插入图片描述
在这里插入图片描述

代码

这里使用简单的vb代码

Private Sub Form_Click()
Dim s As Integer, n As Integer
s = 0: n = 1
Do While n <= 100
s = s + n
n = n + 1
Loop
Print "1+2+3+...100="; s
End Sub

直到型

图示

在这里插入图片描述
在这里插入图片描述

代码

Private Sub Form_Click()
Dim s As Integer, n As Integer
s = 0: n = 1
Do Until n > 100
s = s + n
n = n + 1
Loop
Print "1+2+3+...100="; s
End Sub

Do–Loop 和For –Next

相同点:

  1. 都是用于重复执行一段代码,实现循环的目的。
  2. 都需要一个循环变量来控制循环的次数或条件。

不同点:

  1. 语法结构不同:Do-Loop使用的是Do关键字,后跟循环条件,而For-Next使用的是For关键字,后跟循环变量和循环范围。
  2. 控制方式不同:Do-Loop可以根据循环条件的真假来决定是否继续循环,可以是无限循环或有条件循环;而For-Next是根据循环变量的递增或递减来控制循环次数,循环次数是有限的(循环次数确定)。
  3. 循环变量的使用不同:Do-Loop可以使用任意变量作为循环条件,可以在循环体内自行修改循环条件;而For-Next需要在循环开始前定义循环变量,并在循环体内不可修改循环变量。
  4. For –Next中Next i 可以自行给控制变量i 加上步长;而Do–Loop必须自己写控制变量的变化
  5. Do–Loop语句中控制变量的初值往往要放在循环外面设置

代码

Do-Loop的示例代码:

Dim i As Integer
i = 1
Do While i <= 5
    Console.WriteLine(i)
    i = i + 1
Loop

解释:上述代码使用Do-Loop结构,先定义一个整数变量i,并将其初始化为1。然后使用Do关键字开始循环,循环条件为i小于等于5。在循环体内,打印出i的值,并将i加1。循环执行完毕后,再次判断循环条件,如果满足条件则继续执行循环体,否则跳出循环。

For-Next的示例代码:

For i = 1 To 5
    Console.WriteLine(i)
Next

解释:上述代码使用For-Next结构,直接使用For关键字定义循环变量i,并指定循环范围为1到5。在循环体内,打印出i的值。循环执行完毕后,循环变量i会自动递增,然后再次判断循环条件,如果满足条件则继续执行循环体,否则跳出循环。

总结

1、当型循环适合于不确定循环体是否需要执行的情况,循环条件可能在循环体执行后才能确定。
2、直到型循环适合于至少需要执行一次循环体的情况,循环条件可能在循环体执行前就能确定。
3、在选择循环结构时,需要根据具体的需求和逻辑来确定使用哪种循环结构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/731711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day02 重新学python——判断语句和循坏语句

文章目录 一、python中的判断语句1.布尔类型和比较运算符2.if语句的基本格式3.if else 语句4.if elif else 语句5.判断语句的嵌套6.实战案例 二、循环语句1.while循环的基础语法2.while循环的基础案例3.while循环的嵌套应用4.while循环的嵌套案例5.for循环的基础语法6.for循环的…

【计算机网络】第三章 数据链路层(点对点协议 媒体介入控制)

文章目录 3.5 点对点协议PPP3.6 媒体接入控制3.6.1 媒体接入控制的基本概念3.6.2 媒体接入控制——静态划分信道3.6.3 随机接入——CSMA/CD协议3.6.4 随机接入——CSMA/CA协议 3.5 点对点协议PPP 点对点协议是目前使用最广泛的点对点数据链路层协议。PPP协议为在点对点链路传输…

JAVA Email

Email就是电子邮件。电子邮件的应用已经有几十年的历史了&#xff0c;我们熟悉的邮箱地址比如aaaa22222163.com&#xff0c;邮件软件比如Outlook、网易闪电邮、Foxmail都是用来收发邮件的。当然&#xff0c;使用Java程序也可以收发电子邮件。 传统的邮件就是通过邮局投递&#…

目标检测+车道线识别+追踪+测距(代码+部署运行)

目标检测车道线识别追踪测距 本文主要讲述项目集成&#xff1a;从车道线识别、测距、到追踪&#xff0c;集各种流行模型于一体&#xff01; 不讲原理&#xff0c;直接上干货&#xff01; 把下文环境配置学会&#xff0c;受益终生&#xff01; 各大项目皆适用&#xff01; …

具有音调控制功能的25W混合式Hi—Fi放大器

现代电子技术应用中电子管的使用虽然已经较少&#xff0c;但由于电子管有晶体管不可替代的一些优越特性&#xff0c;所以在部分领域特别是音响电路中还受到人们的亲睐。这是一款由“靓”音电子管和音响集成电路联合组成的混合放大器。该放大器由电子管作前级&#xff0c;音响专…

7.8(wmi命令+ServiceName+CobaltStrike Loader)

优先级&#xff0c;进程ID&#xff0c;线程计数 优先级&#xff08;Priority&#xff09;是操作系统对进程或线程分配处理器资源的重要性排序。较高的优先级意味着进程或线程更有可能在竞争处理器资源时被调度执行。 进程ID&#xff08;Process ID&#xff09;是唯一标识系统中…

Python读取Excel文件并复制指定的数据行

本文介绍基于Python语言&#xff0c;读取Excel表格文件数据&#xff0c;并基于其中某一列数据的值&#xff0c;将这一数据处于指定范围的那一行加以复制&#xff0c;并将所得结果保存为新的Excel表格文件的方法。 首先&#xff0c;我们来明确一下本文的具体需求。现有一个Excel…

【Java】Netty中closeFuture添加监听事件示例

1. 需求 客户端向服务端发送信息&#xff0c;服务端将信息打印客户端接收键盘输入到信息循环向服务端发送信息客户端接收键盘输入‘q’时关闭 2.服务端代码 import io.netty.bootstrap.ServerBootstrap;在这里插入代码片 import io.netty.buffer.ByteBuf; import io.netty.c…

新开普智慧校园系统RCE漏洞复现(0day)

0x01 产品简介 新开普智慧校园体系基于业务、数据双中台理念&#xff0c;建立共享开放能力平台&#xff0c;实现能力开放和服务与数据的全生命周期治理&#xff1b;基于一云多端&#xff0c;混合云服务模式&#xff0c;覆盖管理、生活、教学、科研和社会化服务全场景&#xff0…

【网络】HTTPS协议原理

目录 “加密”相关概念 为什么要加密 常见加密方式 对称加密 非对称加密 HTTPS工作过程探究 方案1-只使用对称加密 方案2-只使用非对称加密 方案3-客户端和服务端双方都使用非对称加密 方案4-非对称加密 对称加密 上述方案问题分析 方案5-证书认证 非对称加密对…

代码随想录二刷day46 | 动态规划之139.单词拆分

day46 139.单词拆分1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp[i] 139.单词拆分 题目链接 解题思路&#xff1a;单词就是物品&#xff0c;字符串s就是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把背包装满…

原来Linux里也能打《ACM》?

本文&#xff0c;我们来介绍一下Linux中的ACM时间&#xff0c;不过呢此ACM非彼acm&#xff0c;让我们一起来看看吧 前言 我们在写Makefile的时候&#xff0c;经常会遇到make: xxx is up to date.的问题&#xff0c;很多同学都不知道是什么原因&#xff0c;本文我们就从这一点说…

如何查看某个学者近些年发表的论文

Search more papy by the author 在谷歌学术上搜索&#xff0c;输入学者的名字&#xff0c;就会出来所有的期刊&#xff0c;文章题目、发表时间、相关作者等信息。 例如&#xff0c; 在下面的网址中&#xff0c;展示了学者发表的论文详情 https://scholar.google.com/citat…

C++常用库函数 6.进程控制函数

函数名&#xff1a;exit 函数原型&#xff1a;void exit(int status)&#xff1b; 参数&#xff1a;status 退出状态。 所需头文件&#xff1a;<cstdlib> 功能&#xff1a;终止进程。函数名&#xff1a;system 函数原型&#xff1a;int system(const char*command) …

103、基于STM32单片机智能两轮双轮自平衡小车 蓝牙手机APP控制系统设计(程序+原理图+PCB源文件+硬件芯片资料等)

单片机主芯片选择方案 方案一&#xff1a;AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元&a…

【网络安全带你练爬虫-100练】第10练:re的正则匹配、文件夹创建、图片下载

目录 一、目标1&#xff1a;正则匹配图片的URL 二、目标2&#xff1a;创建文件夹 三、目标3&#xff1a;保存图片到test文件夹中 四、网络安全小圈子 一、目标1&#xff1a;正则匹配图片的URL URL位置 我们可以找到img都在这个标签里面 请求方法GET 提取URL位置 需要掌握…

【算法 -- LeetCode】(12)整数转罗马数字

1、题目 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

【源码】vue2+element+laravel8开发不良事件上报系统源码

系统概述&#xff1a; 医院不良事件报告系统为医院内质量控制、患者安全关注、医疗安全不良事件方面的精细化的管理提供了平台&#xff0c;是等级医院评审的必备内容&#xff0c;评审要求医院直报系统要与卫生部“医疗安全(不良)事件报告系统”建立网络对接。 不良事件报告系统…

微信小程序WebView嵌入别人网页的解决办法

写在前面&#xff0c;小程序必须是热认证的企业小程序&#xff0c;个人小程序不支持WebView组建。 方法一&#xff1a; 在做微信小程序开始时&#xff0c;大家都能遇到&#xff0c;WebView组件使用的URL必须要在小程序的后台设置业务域名&#xff0c;并且在对应域名服务器根目…

hexo #01 安装

本篇主要步骤 1、前置环境2、安装 hexo3、初始化 hexo4、运行 hexo 1、前置环境 参考官网教程&#xff1a;hexo 博客系统安装前提 2、安装 hexo 这里采用官网推荐的第二种方式局部安装 hexo 包。 $ npm install hexo3、初始化 hexo 创建一个空文件夹&#xff0c;用来作为项…