コンピューター, プログラミング
初心者のためのパスカル:のサイクル
プログラミングの基礎 - サイクル、例えば、のために。 パスカル。 任意のコンピュータ言語と同じように、それはまた、その構文でそのような設計が含まれています。
巡回事業者の選任
一般的なタスク - 同じアクションを複数回実行するためにコンピュータを取得します。 ここでは、コードの重複を整理することができ、デザインを保存します。 このように、プログラミングのサイクル - それを繰り返し言語リソースの助けを借りて整理、アクションを実行するために使用されます。
パスカルのプログラミング言語は、デザインの数が含まれています。
- 以下のため -パラメータを指定して繰り返し。
- しばらく -前提条件を繰り返しました。
- 繰り返し ... まで -事後条件を繰り返します。
環状構造の見せかけのシンプルさと明快さにもかかわらず、初心者プログラマはそれらの実装における多くの問題に直面しています。 最大の困難は、サイクルの出力設定条件です。 この点で、文のカウントが最も簡単です。
構造
パラメータを指定して繰り返し構造を記録するには、次のコードをダイヤルする必要があります。
{A} FOR:= {B }を{C} DO {D}。
大文字の利便性のための言語の予約語の例では、実際には、あなたは文字列のマークを使用することができます。 使用する変数と演算子は、中括弧で与えられています。 彼らは、意味します:
- {A} -可算の任意の型の変数、しばしばINTEGER。
- {B}、{C} -発現可算型、{A}と同じ。
- {D} -任意のオペレータ/言語演算子には、また、ループ本体と呼ばれます。
設計を実施する、Pascalは{B}、セット{A}の値を計算する:= {C}を 、次いでやり直し開始。
- 状態{B} <= {C}の検証、実行サイクルが機能停止する時。
- 発射オペレータ{D}。
- {A}単位での値を増加させる、すなわち、{A} = {A} + 1。
知られているこのような構成のため、体内の繰り返し回数が決定論的サイクルを参照するため。
例
それはなど、ために行われる方法を理解するには、「ダミー」のパスカルのコード例です。
- S:= 0;
- 以下のために:= 1〜5行います
- 始めます
- S:= sで+;
- エンド;
- writeln(S);
指示書を分析すると、各反復に値を書き込むことができます。
- 第一の繰り返します。a = 1; S = 1。
- 第2回の反復:A = 2。 S = 3。
- 3回目の繰り返します。a = 3; S = 6。
- 4番目の反復:A = 4。 S = 10。
- 第5の反復:A = 5。 S = 15。
1から5までの数値の和 - 結果として、ユーザは、画面上の数字「15」を見ています。
最初のプログラムは、より汎用性にするために、数1および5の変数を置き換えます。
よくある間違い
あなたがforループを使用すると、パスカルは、{A}、{B}、の値には十分注意して下さい{C}。 あなたが書くプログラムの規則に従わない場合、コンパイラはエラーを報告します。 五のこのようなルール。
- カウンタ(周期パラメータ){A}整数で与えられます。
- 値{B}及び{C}はまた、整数型を有していなければなりません。 例えば、0からpまでのラジアンで、角度の値を計算する必要があります。 パイ へ = 0 の操作を行い ます。しかし、次のコードの入力は、 のために無効になります。 ソリューション-丸め関数TRUNC()とラウンド () を使用します。 最も近い整数にラウンドそれは - まず実数、第二の小数部分を破棄します。
- ユーザがミスを犯し、{B} <{C}を持っている場合、{D}オペレータは動作しませんでした。
- ループカウンタを行った後、{A}の任意の値であってもよいです。 それは直感に反するが、実際、{A} <> {C}であるが。 結論: 設計した後、{A}に変わりはありません。
- ループの本体は、(単語が実行後すなわち、)パラメータ値を変更する任意のステートメントを使用することが推奨されていない{A}。 このルールに従うことで、エラーは発生しませんが、プログラムのロジックが破壊されます。
次のルールは一般的であり、プログラミングの「マナー」に対応しています。あなたがループ本体の事業者が最初の列に含まれていない記述する必要があり、コードで動作するように便利でした。 例えば、左側に2-3のスペースを作るか、Tabキーを使用して。
この要件は、パスカル言語に限らず適用されます。 「ダミー」の場合、それはあなたがすぐに見つけて、説明書に誤りを訂正することができます。
一般的なタスク
フォームのF(X)=の集計機能を実行したいと3 * X + 15、すなわち1範囲[XはMの関数値からテーブルを受信します。 X 2】X 1及びX 2 -引数の最小値と最大値。 これと同様の問題を解決するためにのために設計することができます。 パスカルは、次のようにコードを記録することをお勧めします:
- M = 1〜行うための:
- 始めます
- X = X1 +(x2-の X1)*(A- 1)/(M-1)。
- F:= 3 * X + 15。
- writeln(X、 ''、F )。
- 終わり。
X:増分Xが設定されていないので、引数の値は、式を使用して、プログラムの各反復中に計算され= X1 +(x2-の X1)*(A- 1)/(M-1)。
サイクルのサイクル
構造内のための別のサイクルの中に彼女の体を入れて許可事業者のいずれかを使用することが許可されているという事実を考慮します。 パスカルは、他のプログラミング言語に似たタスクのための標準的な記述があります。
- {A} FOR:= {B }、{C}質問します
- = {B1:{A1} FOR } {C1}質問します
正しく動作して設計するには、条件を遵守しなければなりません:各サイクルにおけるカウンタは異なっている必要があります。 そうでない場合は、内側ループは、論理エラーにつながる外側のループの値を変更します。
Similar articles
Trending Now