标签: Loops
invariantsformal-methodsloop-invariant
当使用形式方面来创建一些代码时,是否有一种确定循环不变量的通用方法,或者根据问题的不同,它是否会完全不同?我认为这不容易实现自动化。从维基:
由于循环与递归程序的基本相似性,用不变量证明循环的部分正确性与用归纳法证明递归程序的正确性非常相似。事实上,循环不变量通常是递归程序的归纳性质,它等价于给定的循环
生成循环不变量实际上很简单true就是一个很好的例子。它满足您想要的所有三个属性:
它在循环进入之前保持不变
它在每次迭代后保持不变
它在循环终止后保持不变
但你所追求的可能是最强的循环不变量。
示例:当使用windows API获取windows消息时,它通常在循环中实现
我知道有可能使函数无限期地进入递归。我预计这将导致堆栈溢出
无限循环是函数式编程的错误思维吗
是操作系统的接口还是硬件的问题
在我看来,一个功能性程序/o.s.似乎无法自行运行
我有一点编写函数式程序的经验,但这一直困扰着我。
请分享您对这些问题的想法/见解如果您的编译器认识到这一点,您可以拥有无限。某些语言,例如scheme,要求编译器识别尾部递归,并且不为其分配堆栈空间
编辑我并不想不同意其他答案,但“无限”
运行批处理文件时,我收到以下错误
文件名、目录名或卷标语法不正确
我的批处理文件运行正常,但此错误会弹出25次,然后继续。我不知道我在这里错过了什么。下面是我的代码:
::This batch file is used to set a static IP and launch Windows Recovery Environment
@setlocal enableextensions enabledelayedexpansion
@echo off
::Setting Static IP
使用loop函数,我喜欢将不同列中的变量置于数据中另一个变量的条件中。我在编写右循环语句时遇到困难,因为重定位变量一直转到下一行。有人能指出我没有得到什么吗?
我希望我的变量如下:
英尺,10米,30米,31米,32米,34氧,35氧,36氧
数据ftryone
输入ft m1 o2 m3 m4 o5
数据线
123456
278911
313452
4677892
)
运行
数据为空
设置fttryone
文件“C:\fttry18.txt”
放置在10英尺处
@30 M1
@
我正在查看用fortran编写的空气质量模型的代码,对fortran从do循环中传递变量的方式有一些疑问
这个非常简单的例子说明了我的意思:
PROGRAM carla
IMPLICIT NONE
!
INTEGER, PARAMETER :: LM = 24, DEZASSEIS = 16
INTEGER :: L, VARIAVEL, SOMA
!
DO L=1,LM
WRITE(*,*) 'L = ', L
END
我有一行代码:
LOOP CMP Y, #0
BEQ DONE - When it is equal go to DONE.
ADD X, #1 - add decimal constant 1 to x.
SUB Y, #1 - subtract decimal constant 1 from y
B LOOP - branch loop (start the loop again)
DONE ...
我刚刚读到CMP意味着从Rn(Y减去0)中减去操作数
CMN意味着将操作数添加到Rn(例如
标签: Loops
Big O
complexity-theorynested-loopsasymptotic-complexity
我试图用大O表示法来计算for循环的复杂性。我以前在我的其他课程中也做过,但是这个课程比其他课程更严格,因为它是基于实际的算法。代码如下:
for(i=n ; i>1 ; i/=2) //for any size n
{
for(j = 1; j < i; j++)
{
x+=a
}
}
for(i=n;i>1;i/=2)//对于任意大小的n
{
对于(j=1;j
我正在处理excel宏,有一次遇到了问题。需要帮助,请解决它
我必须在工作表中查找2行,在1行中查找每个值,在2行中查找单元格值。如果第2行中的值范围等于某个条件值,则退出第2行检查并将标志设置为true。为了实现这一点,我对每个循环使用了两个:
Sub Sendmail ()
For Each cell in Rows("5").Cells.SpecialCells(xlCellTypeConstant)
If cells.Value Like "*@*" Then
我想知道我如何才能使“ping 1.1.1.1-n1-w 20000>nul”在后台运行,当它完成时,goto失败了,而用户仍然能够使用不同的命令集
(示例)
我想让用户这样做
:start
set /p input=-
if %input%==ping goto ping
goto start
当这种情况发生时
ping 1.1.1.1 -n 1 -w 20000 > nul
goto exit
并使上述脚本在后台运行。您可以使用start命令启动单独的cmd进程。该进程将在后台运行
我目前正在编写一些Javascript代码,尽管这个问题不是特定于Javascript的,我意识到我的循环到处都在夸大。我尝试为循环创建局部变量,以使它们更具可读性,尝试远离数组[I][j]类的符号,但我想知道是否应该将它们重构为描述命名的方法
这些问题纯粹是供我讨论学习的,并不是针对我目前的情况。我想多少可读性就足够了 一切都要看情况而定
可读性是驱动目标,因此,如果您有一大块代码和大量循环,那么可能应该对其进行重构
我不知道提取循环是否总是最好的地方。我可能会考虑出一段代码,它执行一些单独的
我正在研究RRT路径查找系统。基本上,它生成随机点以找到路径。我成功地完成了它,但面临着一个严重的问题。在生成这些点时,我使用While语句,它需要大约10000-15000次循环迭代。正如你可能猜到的,它会将游戏冻结1-2秒。我想在我的while语句中使用yield,但如果我是对的,当我使用它时,我的while循环每帧工作一次。然后,如果我有60 fps,它将需要250秒来完成这个while循环。这是不容忽视的。所以我的问题是:如何在没有任何游戏冻结的情况下完成这个while循环?这里有一些选
我想替换一些变量的值并重命名它们。基本上,我有很多变量称为f2、f3、f4等等,直到f1065。逻辑如下:我需要用变量f2 f3 f4 f4 f12的值替换变量f14 f18等的值4到f54。f13、f55、f56和f57保持原样。然后我需要用f58 f59到f68的值替换f70 f74等4到f110的值。所以f69是不变的。因此,我需要说以下几点:
let k=2
do i=4 to 57 by 4;
f&i=f&k;
end;
k=&k+1;
并多次这样做,以便下次
这应该不会太难,但我对java还是新手,所以我想在这个函数方面得到一些帮助。我正在使用编程书中的代码。我复制并粘贴了代码,在第一条消息上不断得到一个无限循环。我想不出是什么原因导致了这种情况
import java.util.Scanner;
public class BradySkuza44
{
public static void main( String[] args )
{
Scanner keyboard = new Scanner(System.in
我正在尝试循环图像和颜色作为一组div的背景。我可以用较少的颜色循环出不同的图像。我尝试了许多方法,但都没有成功。这是我的工作代码,任何人都可以看到我可以做什么来添加颜色
@num-icons: 13;
@icon_color_1: #7FB3D4;
@icon_color_2: #767676;
@icon_color_3: #8CC079;
@icon_color_4: #b35d5d;
@icon_color_5: #b5473e;
@icon_color_6: #666;
@icon_c
我正在Access上创建一个订单,我想在其中显示每个产品的组合框,其中最大数量基于可用数量
我有一张桌子:
存货(项目ID(主键),数量可用)
我试图做的是一个for循环,在这个循环中,数量将不断增加1,直到达到可用数量为止。下面是我使用的代码:
Private子表单_Load()
Dim QTY可作为整数使用
作为整数的Dim i
将数量调整为整数
设置qtyAvailable=DLookup(“qtyAvailable”、“Inventory”、“ItemID='FSK606'”)
对于i=
标签: Loops
breakdijkstrainfinite
我已经实现了dijkstra算法,用于处理二维数组。一切运行正常,但效率不高,因为当我的**贴图定义为map[10000][20000]时,假设我从[0][0]的起始位置运行dijkstra,我想知道到坐标为[15][7]的顶点的最短路径,计算数千个不必要的顶点是毫无意义的,如果我只需要那一个
在这种情况下,我使用POINT类型的参数调用Dijkstra函数(保存我的坐标),但在计算到目标的最短路径时,我无法中断循环
这是我的Dijkstra算法:
BLOCK *dijkstra(char **
我想知道是否可以停止WSO2 ESB中的迭代器中介或foreach中介,即是否有中断(Java语句)在WSO2 ESB中等效
我可以使用中介来实现同样的功能吗
提前谢谢 目前,这是不受支持的。它已经并将在ESB的未来版本中修复。谢谢您的回答!!
我的一个小挑战是,我正在尝试对一个数据帧进行循环,该数据帧被拆分,以允许每个组的相关性
我需要为每个spp实现什么的示例
rbt<-subset(Trjan,Trjan$Spp=="Redbilled Teal")
cotest<-cor.test(rbt$year,rbt$abundance)
vals<-c(cotest$estimate,cotest$p.value)
rbt我终于从一个朋友那里得到了帮助,我意识到我需要创建一个新的空数据框来存储我所有的物种相关测试结果
我是一个真正的编程初学者,所以请耐心听我解释,就像我是个白痴一样
如果我在stdin中输入两个数字,我的输出正好是我想要的,但是如果我输入了错误的数字,输出只是每个错误的表达式的无限循环
我怎样才能阻止这个循环
#include <stdio.h>
int main(void)
{
int number;
printf("Enter the best number in the world!\n");
scanf("%d", &number);
我是个新手。我正在尝试使用循环返回列表列表。代码可以工作,但它只打印其中一个元素3次,而不计算其他条件,从而导致重复。如何循环遍历每个条件并为每个条件打印一个元素而不重复
(define position_
(lambda
(list
我猜我的逻辑对我在循环中使用的值不起作用。不太清楚如何进行。多谢各位
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ash = ss.getSheetByname("Master List C");
var laRow = ash.getLastRow();
var laCol = ash.getLastColumn();
var toMove = [];
var dsh = ss.getSheetByname("Non-Member
标签: Loops
matchconditional-statementslagseq
这是我的数据集。
我想检查具有“潜在原始”的性别是否与具有“潜在重复”的性别匹配。没有指定的组,但1个重复+1个或多个原始作为一个组
这是我想要的输出(对于duplicate,它是NA,因为它正在与自身进行比较)。
感谢您的帮助。谢谢。感谢Rahul对此进行研究。这是我尝试过的,我认为它是有效的。逻辑是首先为每个复制和原始块创建seq#,然后使用相应的距离提取滞后值
library(data.table)
setDT(df)[, counter := seq_len(.N), by =
打开友好URL后,我的产品图像不会显示在类别中。如果我关掉它,它们会再次出现
我试过:
在后台重新生成图片
关闭缓存
当我在打开frienly URL的情况下检查代码时,图像链接以一种奇怪的格式显示:
Prestashop 1.6
编辑:
问题似乎来自我在自定义类别TPL中查询产品的方式。我手动查询子类别中的产品(我不是一次显示该类别的所有产品),如下所示:
{foreach from=$subcategories item=subcategory}
{if $subcategory
在GNU Smalltalk中,什么是一种简单而简洁的方法来打破不需要返回的whileTrue循环
这是我的密码。如果char\u stack为空,我想在末尾第31行中断循环
任何帮助都将不胜感激 一般来说,Smalltalk没有从循环中断的方法,除了从封闭方法返回
尝试将您的循环提取到另一个方法中,从中可以返回以从循环中中断
在某种程度上,Smalltalk语言甚至没有循环。。。但有些方法会多次评估块。因此,它没有终止“循环”的特殊方法。回归才是出路
如果尚未这样做,请熟悉收集的不同迭代方法
标签: Loops
brainfuckesoteric-languages
如何使用Brainfuck中的循环打印从1到10的数字?甚至可能吗?
我正在寻找解决这个问题的办法
+++++++++++++++++++++++++++++++++++++++++++++++++ Cell 0 to '1'
>++++++++++ cell 1 to '\n'
>+++++++++ cell 2 to 9 as counter
[ Print numbers 1 to 9
<< Data pointer to cell 0
.+ Print
我正在尝试用一款Arduino Mega制作一款“打鼹鼠”游戏,它有10个LED(鼹鼠)和10个按钮(打)。电子设备已完成测试,一切正常。它还附带了一个BLE收音机,提示棋盘开始我计划做的三场比赛中的一场
我遇到的问题是:
在我的主循环中,我通过BLE监听来自应用程序的命令。当应用程序发送“1”(串行传递)时,我调用该函数
playGameOne()
主要的是,主循环中的所有循环都很好,但是当我跳转到游戏函数时,它运行一次,然后再次返回主循环。在游戏结束之前,我如何保持用户在游戏功能中循环?哦,
尽管内部循环的长度仅达到外部循环当前索引的长度,但我是否仍可以声称它在^2上?计数到n的循环表示一条线,计数到n的嵌套循环表示一个正方形
当内循环上升到外循环的索引时,将覆盖三角形形状中的一半正方形:
for i in range(n):
for j in range(i):
print j
因此,通过计算三角形的面积,可以更准确地预测运行时间。但是Big-O表示法并不是要得到一个精确的运行时,而是要比较当您添加更多数据时,运行时将如何扩展。您想知道您的程序最接近哪个。三角形
因此,我正在生成一个表,其中包含一个复选框和一个来自项目数组的文本字段,就像一个问卷,其中的问题来自数据库
现在,如何以良好的vue方式检索复选框是否已选中以及是否有任何文本可能输入到文本字段
我注意到,通过在文本字段/复选框上添加ref,它们变成了一个vue组件数组,可以在javascript中迭代。但我还没有弄清楚如何正确地检索这些值
我的意思是,在javascript中总是有很好的get元素by id,但感觉应该有一种更奇特的方式..更多的vue-ish
<table ref="qu
我正在运行以下脚本来生成和发送电子邮件。电子邮件正文是在while循环中生成的(内容不同)-工作正常。但现在我已经尝试包含一个脚本来生成PDF附件(通过FPDF库),在每个迭代中,附件都是不同的
问题是:对于第一种情况,循环只运行一次,然后停止。提前感谢您的来信
我的代码:
<?
$mail = new PHPMailer();
$mail->SMTPDebug = 1;
$mail->isSMTP();
$
我想这很愚蠢,因为这很容易。我试图在谷歌上找到答案,但找不到解决办法
我正在做一些基本的循环:
function Testing_Loops() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr = ss.getLastRow();
for (var i = 3;i<=lr;i++){
var Clients = ss.getRange(i,2).getValue
试图优化为计算1200万滚动收入而编写的T-SQL查询。主要问题是我需要跨6个维度进行计算,得出45000多个组合,每个组合都需要自己的滚动收入。每种组合大约需要5分钟来计算。由于业务的性质,合并将随着时间的推移而增长
所有操作都需要作为子查询完成
DECLARE @NUMBER INT
DECLARE @ROWCOUNT INT = 0
DECLARE @REFERENCE VARCHAR(50)
SET @NUMBER =
(SELECT MAX(r.Row)
FR
我有一个运行良好的脚本-它从列表(员工ID)中获取一个值并将其插入“记分卡”选项卡-然后脚本将所有员工记分卡输出为.pdf。我遇到的唯一问题是脚本将两个选项卡都导出到.pdf,而不是只导出记分卡。。。有什么想法吗
function loop() {
var targetFolderId = "11rc9rFM25lnLArxm0yk588UEH5MD-NpR";
var targetFolder = DriveApp.getFolderById(targetFolderId);
这是我所拥有的
For /F %%A In ('Type "C:\List.Of.PCs.txt"') Do @(
Set PC=%%A
For /F %%B In ('Dir "C:\Users" /B') Do @(
Set USR=%%B
If "!USR!" Neq "AAA" (
If "!USR!" Neq "ABC" (
你好,Stack社区
我正在尝试为一个项目创建ansible模板。可能有更好的方法,但我希望有一个基本模板(可以在所有情况下重用),因此有一些基于最佳实践的尽可能简单的方法(但也有可能微调最大值),这些都是针对F5配置的
最后,我的问题更一般。下面是一个我目前拥有的示例,我想将其转换为一个循环
pool:
- poolname: "{{ iapps[0].name }}.app/Pool_{{ application_name }}_{{ environment_name }}-TC
因此,我有一个表格列出了所有类型的url(例如:Facebook、Instagram、Twitter等)
我想取得与此类似的结果:
select
url
,(case
when url like '%facebook%' then 'Facebook'
when url like '%instagram%' then 'Instagram'
....
end) as type
然而,问题是这个列表中有大约30-40个项目,我不想手动列出它们。
有没有办法做到
我有一个用Prolog编写的小程序。目前,我可以打印第一个结果
test(X, 1, 4, 5).
write(X).
但是,如果X有多个结果,如何打印下一个结果
谢谢。你是说自动?您可以使用发出回溯命令;它回溯并获得下一个值。但是如果您想在程序中打印多个结果,那么您可以使用递归。请提供您正在尝试做的更多细节
更新:您不能发布;。您必须编写一个过程来“循环”结果,因此您可能希望将结果列在一个列表中
printList([]) :- write("").
printList([H|T
我的FSM代码中有以下警告:
WARNING:Xst:2170 - Unit P22_MustangSecuentialTailLight_Structural : the following signal(s) form a combinatorial loop: Lights<5>, U1/next_state_cmp_eq0000, next_state_int<0>, pres_state_int<0>.
WARNING:Xst:2170 - Uni
我在Mac上使用Allegro CL Express,我不确定程序是否有问题,或者我的代码格式不好。我尝试获取4个用户输入整数,然后在输入最后一个值后将它们相加
预期结果:
(stuff)
Enter a number: 4
Enter a number: 3
Enter a number: 2
Enter a number: 1
10
以下是我目前拥有的:
(defun stuff ()
(loop repeat 4
sum (format t "Enter a
我试图找到一个更聪明的方法来解决这个问题
这是一段与游戏相关的代码摘录,它在每个背包的每个插槽中循环,直到找到一把铲子和一根绳子
local continue
local foundShovel, foundRope
for i = 0, Container.GetLast():Index() do -- looping trough backpacks
local cont = Container(i)
for j = 0, cont:I
我一整天都在试图通过自动化流程来简化我的工作。以下是我目前得到的信息:
@echo off
setlocal EnableDelayedExpansion
for /l %%x in (1,1,10) do (
set /a counter=%%x+1
set output=%%x
start /wait ffmpeg.exe -i "blabla/playlist.m3u8" -c copy C:\teste\%%x.ts
)
pause &g
伪代码如下所示:
read c //a double digit number
for(i=1,n,i++)
{ if (n%i==0)
print i;}
在汇编中,我将其写成:
mov bx,ax ; ax was the number ex.0020, storing a copy in bx.
mov cx,1 ; the start of the for loop
.forloop:
mov ax,bx ; resetting ax to
标签: Loops
iterationnaming-conventions
对于接收整数n并执行操作n次的函数,是否有既定的命名约定
例如:
function foo(n) {
for (var i = 0; i > n; i++)
console.log(n);
}
您将如何命名foo,从它的名称可以明显看出它循环了一定的次数?我已经看到了很多用于此目的的“many”,即printMany(5),但我不知道这是否被广泛接受;在实际的程序中,这并不是一个经常使用的东西
一个比printMany更具描述性的名称可能是printNTimes,但读起来有点
我需要做两件事;将带有额外颜色的产品添加到集合循环中(我在下面通过其他地方的一个片段完成了这项工作),但是,当变体没有自己的图像时,我需要跳过它,我还没有弄清楚
我尝试的中断在预览代码中:
{% for option in product.options %}
{% if option == 'Colour' %}
{% assign index = forloop.index0 %}
{% assign colourlist = '' %}
{% assign col
我有一个脚本,它检查某个USB,然后在上面打开一个文件。但是,现在我只需要检查插入的USB驱动器号。然而,我真的不知道如何做到这一点,网上搜索结果对我毫无帮助。
这是我现在的脚本:
@echo off
:loop
if exist D:\ (goto Load) else (goto loop)
:Load
D:
start Loader1.exe
goto Finish
:Finish
exit
以下是如何从任何驱动器获取USB驱动器号:
@echo off
for /F "useba
标签: Loops
try-catchphp-7continuetry-catch-finally
好的,只是一个关于上述代码的技术问题:
foreach($x作为$y){//甚至是一个简单的for()
试一试{
a();
}捕获(\异常$e){
//只需跳过当前迭代即可
持续
}最后{
c();
}
}
由于c()位于finally块中,因此应该始终执行它,但是continue语句呢?
根据图,它似乎正在使块最终被跳过
那么,在a()引发异常的情况下是否执行c()?只需使用控制台就可以轻松发现。类型
php -r 'foreach([1, 2] as $n){try {echo "\n",
我正在努力完成以下工作。我有大约40个不同物种的目录,每个目录都有100个包含同源序列的序列文件。序列文件的名称与每个物种目录相似。我想将40个物种目录中同名的文件连接到一个名为类似的序列文件中
我的数据如下所示,例如:
directories: Species1 Species2 Species3
Within directory (similar for all): sequenceA.fasta sequenceB.fasta sequenceC.fasta
I want to g
我在Arduino创建了一个类,并引入了该类。在以下情况下,代码可以正常编译和运行:
#include <myclass.h>
void setup(){
// Do some setup if needed
}
void loop(){
myclass newInstance;
newInstance.setSomething();
newInstance.getSomething();
}
#包括
无效设置(){
//如果需要,进行一些设置
}
void循环(){
mycl
我想使用映射的键从API请求一些东西,然后根据API的响应更新相应的值
我猜是下面的代码
或者在迭代之前收集数组中的映射键
然后使用数组项发出请求并修改映射
wg:=&sync.WaitGroup{}
工作组添加(len(someMap))
sem:=信号量.NewWeighted(maxWorkers)
ctx:=context.TODO()
互斥体:=&sync.RWMutex{}
mutex.RLock()
对于k,v:=范围someMap{
mutex.RUnlock()
围棋(k,v)
标签: Loops
eiffeldesign-by-contract
我试着建立一个结构,他自己讨论了变量和埃菲尔循环中的不变量,但不理解变量部分
来自
l_阵列:=
l_索引:=l_数组.lower
不变的
有效\u本地\u索引:l\u数组。有效\u索引(l\u索引)或l\u索引=l\u数组。上限+1
直到
l_索引>l_数组.upper
环
l_项:=l_数组.item(l_索引)
l_指数:=l_指数+1
变体
--l_index我认为在你的例子中,你想表达为变体的一部分是这样的
l_array.upper - l_index + 1
thx,你能详细介绍
必须编写一个程序,要求用户输入,直到他们输入0为止。然后必须输出输入的数字的最小值。我是lisp新手,我在控制台中不断得到未定义的函数A,但A在代码中是一个变量
(defun find_min ( x y )
(if(< x y)
(+ x 0)
(+ y 0)))
(defun minOfNums()
(loop
(princ "Enter number: ")
(setq a (read))
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 120 页