サイクル。パラメータ付きループ(for)


同じ単語を画面に表示する必要がある状況を想像してみましょう。その単語を言ってみましょう。 「こんにちは」 ;、10回。どうすればいいですか?
コマンドの取得と書き込みは 10 回可能です Console.WriteLine("HELLO");

しかし、10 回ではなく、20 回、30 回、40 回必要な場合はどうでしょうか。そして200回なら?この場合、コピーには非常に時間がかかります。また、画面に情報を表示する回数をユーザーが選択する必要がある場合は? 

このタスクに対処するために、 ループと呼ばれる特別な構造を使用できます。

ループとは、特定の一連のコマンドを複数回繰り返すアルゴリズムの構造です。

C# プログラミング言語には、変数ループ (for) と条件ループ (while および do...while)

最初のタイプのサイクルから始めましょう。

変数または既知のステップ数 (for) を含むループ。

あるアクションの繰り返し回数がわかっている、または serif">計算
既知のデータを使用した繰り返しの数。一部のプログラミング言語には、ロシア語で「繰り返し」(回数)のように聞こえるコマンドがあります。つまり、正確な繰り返し回数を指定できます。

このサイクルがマシン レベルでどのように機能するかを見るのは興味深いことです。
1. メモリ内に特定のメモリセルを割り当て、繰り返し回数を書き込みます
。 2. プログラムがループ本体を 1 回実行すると、このセル (カウンター) の内容が 1 つ減ります。
3. このセルがゼロになるとループは終了します。

C# プログラミング言語にはそのような構造はなく、 for 構造が存在します。  

ループ演算子 for の一般的な形式は次のとおりです。
<プレ> for (/*expression1*/; /*expression2*/; /*expression3 */) { /*1 つのステートメントまたはステートメントのブロック - ループ本体*/; } この構造では次のことが必要です。
1. カウンタとなるメモリセルを明示的に割り当て、初期値を設定
します。 2. ループ本体が実行される条件を記述しました。
3. このセルの値がどのように変化するかを指定します。

実践的な部分では、「Hello という単語を 10 回表示してみます。その後のタスクでは、この構造をより詳細に分析します。

for
ループ
for ループは、繰り返されるアクションを段階的に実行する手段です。そのしくみを詳しく見てみましょう。

通常、for  ループの一部では次の手順が実行されます: 
1.初期値を設定します。
2.ループを継続するために条件テストを実行します。
3.ループ アクションを実行します。
4.テストで使用される値を更新します。 
条件が満たされるまで、手順 2 ~ 4 が繰り返されます。条件が false になるとすぐにループが終了し、for ループ ステートメントに続くステートメントが実行されます。
 
ループの一般的な形式 for (/* 式 1*/; /* 式 2*/; /* 式 3*/ ) {       /* 1 つのステートメントまたはステートメントのブロック - ループ本体 */; }

式 1 ループ変数 (カウンター) の初期値の設定を担当し、セミコロンで終わります。
例えば ​​:
  • i=0; // ループ変数 i 初期値をゼロに設定します -  は前に宣言する必要がありますループ
  • int i=0; // i 変数はループ ヘッダー内ですぐに宣言できますが、この場合、変数はループ ヘッダーの後にメモリから消去されます。ループの実行
  • ;  // サイクル変数の初期化と宣言はまったくありません。この場合、サイクルの前に宣言できます
式 2 - これは for ループを継続するための条件であり、真であるかどうかがテストされます。例えば、

i <= 10  // 変数 i が 10 以下である限り、ループは実行されます。
条件は何でも構いません。

式 3 は、カウンター変数の値を変更します。この値がないと、ループは無限と見なされます。例えば、

i++;  // ループ本体が完了するたびに、i は 1 ずつ増加します。

 

各見出し部分にはカンマで区切って複数の演算子を含めることができます。< /span>
見出しの例:

for ( int i = 0; i < 10; i + + ) { ... } - 標準タイトル

for ( int i = 0, x = 1; i <; 10; i += 2, x *= 2 ){ ... }  
         // この場合、ループ本体の実行後に変更される 2 つの変数を使用します。これらは変数 ix です
         // 変数 i は 2 ずつ変化します - i+=2 - i=i+2 の略
         // 変数 x はステップごとに 0.1 倍増加します x=x*2 - 省略形 х*=2
< /スパン>

N回繰り返す

これまでに作成した for ループを含むすべてのプログラムは、ユニバーサルとは言えません。ループ本体の繰り返し回数を自分で設定するためです。しかし、繰り返し回数が他の値に依存する場合はどうなるでしょうか?例えば、ユーザー自身がサイクルの繰り返し回数を設定したい。
この場合どうすればいいですか?すべてがとてもシンプルです。数値の開始値と終了値の代わりに、ユーザーが計算または設定できる任意の変数を使用できます。

たとえば、変数 N の値がキーボードから入力される 1 から N までの数字の 2 乗を表示する必要があります。ユーザー。
プログラムは次のようになります。
  #include <iostream> 名前空間 std を使用します。 主要() { int i、N; // ダッシュ中;ループ変数、N - 二乗を計算する最大数 シン>> N; for ( i = 1; i <= N; i ++) // loop: for all i from 1 to N. 変数 i は 1 から N までの値を順番に取ります { cout << "平方数"<<i<<"です」 <<i*i<<"\n" // 数値の 2 乗を特定の形式で出力し、新しい行に移動する } } ループに入ると、ステートメント i = 1 が実行され、変数 i が各ステップで 1 ずつインクリメントされます (i ++ )。条件 i <= N が true の間、ループが実行されます。ループの本体では、唯一の出力ステートメントが、指定された形式に従って、数値自体とその四角形を画面に出力します。
二乗またはその他の低指数の場合は、乗算を使用することをお勧めします。

プログラムを実行し、変数 N のさまざまな値でその作業の結果を確認します。