vbs grundlegende Tutorial (4) Schleife

Einführung

Hallo allerseits, heute lernen wir Kapitel 4: Schleifenstruktur . Meine
Freunde denken vielleicht: Was ist mit den Ostereiern, die in der letzten Klasse erwähnt wurden ? Keine Sorge, wir werden bekannt geben, nachdem wir den Zyklus gelernt haben.

Fügen Sie hier eine Bildbeschreibung ein
Schauen wir uns zunächst eine Frage an: Die Gesamtpunktzahl der Klasse ist zu zählen. Es ist erforderlich, die Gesamtpunktzahl von 60 Schülern in einer Klasse zu addieren (die Punktzahl wird vom Benutzer eingegeben). Wie gestalten Sie dieses Programm?
Hier ist das Originalprogramm:

dim a
a=0

a=a+int(inputbox("请输入一个同学的分数"))
a=a+int(inputbox("请输入一个同学的分数"))
a=a+int(inputbox("请输入一个同学的分数"))
a=a+int(inputbox("请输入一个同学的分数"))
a=a+int(inputbox("请输入一个同学的分数"))
...
a=a+int(inputbox("请输入一个同学的分数"))'第60

Wann wird das fertig sein?
Fügen Sie hier eine Bildbeschreibung ein
Zu diesem Zeitpunkt ist Master Cycle auf der Bühne. Lassen Sie uns zunächst über die erste Schleifenstruktur sprechen: do ... loop-Anweisung.

do… loop

Die Struktur der do ... -Schleife sieht sehr einfach aus: do ... loop, nichts weiter, __Diese Struktur führt kontinuierlich die Anweisung zwischen do und loop {Endlosschleife} (wissenschaftlicher Name: Schleifenkörper) aus und hört nie auf. _ _Zum Beispiel:

do 
msgbox "这个信息会不断重复出现, 要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript.exe进程" 
loop

Ist es vertraut? (In der ersten Lektion haben wir dies zum Spoofing von Programmen verwendet.) Aber wer würde so etwas tun, außer andere zu fälschen? Ganz zu schweigen von den Verfahren.
Es gibt also eine andere Anweisung in der do ... -Schleifenstruktur: exit do , diese Anweisung beendet die Schleife. Führen Sie die folgende Anweisung aus. Lassen Sie mich unten eine Kastanie geben:

 dim a
   const pass="123456" '这是一个字符串 请用""包裹起来. 设定密码为常量, 不可变更
   '自定义常量我们在第二节课讲过
     do 
     a=inputbox("请输入密码") 
     if a=pass then 
       msgbox "密码验证成功" 
      exit do 
      end if 
      loop 

Ähm ... Ich benutze die einfache Sprache, um etwas zu sagen:

Definieren einer Variablen
Definieren einer Zeichenfolge als Konstante
Geben Sie die Schleife ein und
fordern Sie den Benutzer auf, das Kennwort einzugeben und in der Variablen a zu speichern.
Wenn a der zuvor angepassten Zeichenfolgenkonstante entspricht:
Ausgabe: Die Kennwortüberprüfung ist erfolgreich.
Beenden Sie die Schleife.
Beenden Sie die if-Anweisung
, die die Bedingungen der if-Anweisung nicht erfüllt. Weiter Schleife bis zufrieden

Jeder kennt die Funktion dieses Programms! Sie werden so lange nach Ihrem Passwort gefragt, bis Sie das richtige Passwort eingegeben haben. Wir wissen, dass bei Schleifen andere nicht Schleifen verwenden können, um das Passwort zu knacken? Dieses unbegrenzte Authentifizierungsverfahren kann leicht vollständig geknackt werden. Wir müssen die Anzahl der Authentifizierungen begrenzen. Das Änderungsverfahren ist wie folgt

dim a,ctr 
ctr=0 '设置变量统计输入次数
const pass="tycxt478f__y7h" '上面的那个是弱密码, 这次改的强一点 
do 
a=inputbox("请输入密码") 
    if a=pass then 
        msgbox "认证成功" 
        exit do 
  else 
  if ctr=3 then 
  msgbox "已经达到认证上限, 认证程序关闭" 
  exit do 
   else 
  ctr=ctr+1 '注意:这一句是赋值句,要从右往左读,即每出错一次就把ctr加上1,然后再放回ctr里面,使得这个常量加1 
  msgbox "认证出错, 请检查密码" 
  end if 
  end if 
 loop 

Führen Sie dieses Programm aus, um es auszuprobieren. Wenn Sie 3 Fehler machen, werden Sie nicht mehr nach dem Kennwort fragen und das Programm schließen. Es sollte beachtet werden, dass die verschachtelte if-Anweisung, bitte lesen Sie dieses Programm sorgfältig durch, es kann schwieriger zu verstehen sein, bitte versuchen Sie auch, ein ähnliches Programm selbst zu entwerfen.

während

Schauen wir uns eine andere Schleifenstruktur an: while-Anweisung. __while kann nach do oder loop platziert werden, gefolgt von einem Ausdruck. Wenn der Wert des Ausdrucks true ist (der Ausdruck wird festgelegt), wird der Schleifenkörper ausgeführt. __ Schauen wir uns an, wie Sie dasselbe Programm mit while schreiben.

 dim a,ctr 
  ctr=0 
  const pass="yu76tfy7bvr66__" 
  do while ctr<3 
  a=inputbox("请输入密码") 
  if a=pass then 
  msgbox "认证成功" 
  msgbox "(你可以在这里加一段成功后得到的信息)" 
  exit do 
  else 
  ctr=ctr+1 '如果密码出错就增加一次错误认证计数 
  msgbox "认证出错, 请检查密码" 
  end if 
  loop 

oder:

 dim a,ctr 
  ctr=0 
  const pass="yu76tfy7bvr66__" 
  do 
  a=inputbox("请输入密码") 
  if a=pass then 
  msgbox "认证成功" 
  msgbox "(你可以在这里加一段成功后得到的信息)" 
  exit do 
  else 
  ctr=ctr+1 '如果密码出错就增加一次错误认证计数 
  msgbox "认证出错, 请检查密码" 
  end if 
  loop while ctr<3 

Bitte führen Sie diese beiden Programme selbst aus und sehen Sie den Unterschied.

Antwort: Die Funktion ist dieselbe. Warum sollte sie nach der Schleife platziert werden? Sie werden dies durch Ändern des Werts von ctr auf 3 feststellen, während das Programm nach dem Do direkt beendet wird und eine Authentifizierung nach der Schleife und nur nach der Schleife zulässig ist Ende. Das Gegenteil von while ist till, und die Verwendung ist dieselbe wie while, aber der Schleifenkörper wird nur ausgeführt, wenn der Wert des folgenden Ausdrucks falsch ist (der Ausdruck ist ungültig).

Fürs nächste

Es gibt auch eine Art Schleife: für… weiter. Diese Schleifenstruktur basiert auf dem Zählen und ist auch die häufigste Schleifenstruktur in der Programmierung. Hier ist eine Kastanie
Fügen Sie hier eine Bildbeschreibung ein

dim i 
  for i=0 to 5 
  msgbox i 
  next 
  '定义一个i变量
  i从一循环到五
  输出每一次循环的结果
  结束

Das Ergebnis ist: 0 ~ 5
Dieses Programm kann auch geschrieben werden als:

dim i 
  i=0 
  do while i<5 
  msgbox i 
  i=i+1 '因为do不能自动计数, 必须手动加 
  loop 

Zusätzlich zu einer einzelnen Schleife gibt es __verschachtelte Schleifen__.

dim i,j 
  for i=1 to 9 
      for j=1 to 9 
      str=str & i * j & " " '&是和并字符串的符号 
  next '每个next对应一个for 
  next 
  msgbox str 

Es gibt ein großes für, ein kleines für, das kleine für wird neunmal ausgeführt und das große für wird einmal ausgeführt. Insgesamt werden 9 * 9 = 81-mal ausgeführt und 81 Zahlen ausgedruckt.

Punkt

(1) Die Verwendung von do ... loop und exit do
  (2) Während der Schleifenkörper ausgeführt wird, wenn der Ausdruck wahr ist.
  (3) For ... next ist eine Zählschleife, und der Zähler wird bei jeder Ausführung erhöht.
  (4) Die Funktion und das Schreiben verschachtelter Schleifen
  (5) & wird verwendet, um eine Zeichenfolge zu verbinden

Betrieb

In dem Mathematik-Klassiker "Nine Chapters of Arithmetic" unseres Landes gibt es eine solche Frage: Kaufen Sie hundert Hühner für hundert Dollar, einen Hahn für 5 Dollar, eine Henne für 3 Dollar und ein Huhn für 1 Geld für 3). Wie kaufe ich diese Hühner? (Vorschlagen, für ... als nächstes zu verwenden)

Ich denke du magst

Origin blog.csdn.net/CSDN_C2/article/details/105933573
Empfohlen
Rangfolge