コンピューター, ソフトウェア
ターボパスカル。 しばらく... DO - 前提条件とループ
ターボパスカルは、しかし、プログラミングのための世界のお気に入りのアプリケーションではありませんが、作成者は、ソフトウェアの書面での最初のステップを作り、この中で自分の知人を開始します。 これは、波及効果、演算子、関数、および手順だけでなく、他の多くのもののアイデアを提供します。 例えば、ターボパスカルにおける研究プログラマーの顔サイクルで:については、しながら繰り返します。
サイクルの概念とその変種
サイクルが繰り返しアクションです。 この環境では、使用します。
- (のために...と... DO)パラメータを持ちます。
- 前提条件(やる...ながら)と、
- 事後条件(リピート...まで)。
それは問題を解決するにはどのように多くのステップを知られているとき、最初のタイプが使用されています。 しかし、繰り返される回数に関する情報やそのアクションが存在しないタスクの数が、あります。 この場合には、パスカルサイクルは、原則的に、このように、必須となり、繰り返している間。
サイクルの構造
以下のために、一方でパスカルでの仕事の本質と繰り返しサイクルとは何ですか? このような構造では、ヘッダとボディを割り当てます。 「仕事」は本体が実行された有効期間に条件で指定されます指定された変数の第一の成分。 すなわち、条件の場合に使用する所定の式の第二部では。代わりに偽ザ・E.の真ザ・、。
反復は、コードの最後の行で実行されるとき、それは条件がテストされるヘッダに戻ります。 真実の操作は、サイクルからプログラム「終了」のいずれかの違反があった場合に繰り返し、さらに操作を実行している場合。
Whileループルックスに従います。 パスカルABC と、このようなプログラムは、このようなコードを書く必要です。
- 条件ながら行います。
- 開始;
- ループ本体;
- 終わり。
ループは1つのオペレータ(1アクション)を実行されるイベントは、「かっこ»BEGIN ... ENDを省略することが可能に。
フローチャートサイクル
次のような機能ながらターボパスカル:
- 構造体の内部の状態を使用することが困難な場合があります。
- 単語の後にカンマすべきではないん(それはターボパスカルとPascal ABCのバグと考えられています)。
- 変数、定数、またはときの応答False出力にそれらを提供しています表現サブルーチンは必ずしもすなわち、論理型でなければなりません。すなわちブール。
様々なサイクルのブロック図を以下のようになります。 これは、実装のアクションのシーケンスを示しています。
サイクルのアルゴリズム
..パスカルABCにおける最も単純なプログラミング環境では、mおよびh、ループは、以下の原理に基づいて動作中:
- ...の繰り返し、すなわち考えると、繰り返し、条件がtrueである限り何回も(true)を行われます。
- すぐに条件が満たされないと、(またはそれ以外の場合は「偽」)ループのうちオペレータをFalseに答えを与えるよう。
- それが起こったとすぐに、プログラムがサイクル後に現れるデザインに「行ってきました」。
これは、繰り返し、T。E.事後から事前サイクル一方から有意な差です。
所与の可変ヘッダしばらくループ有限の変化に含めることが重要です。 いずれにせよ、これまでFalseに与え状況を来る必要があります。 それ以外の場合はループがあるでしょうし、その後コンパイラを終了するための追加措置を取らなければなりません。 このようなエラーは失礼と許せないと考えられています。
サイクリングしながら、どのようにプログラムを終了するには?
オペレータが書かれたプログラムコードにしながらパスカルループを与えるとき、多くの場合、状況が発生します。 これは何を意味するのでしょうか? 条件が常に真であるため、反復は、無限回繰り返されます。 例えば、このコードフラグメント:
- 2> 1ながら行います。
- (1)ライト。
この場合、単にCTRL + F2キーを押し、タスクの実行を中断します。
このようなプログラムの動作を制御するための2通りの方法があります。 書き込みが環状構造の先頭に制御を渡すコードを続行すると、例えば、(本明細書でループ終了条件は、現在の反復のEの実行が中断され、すなわち、監視されます)。 次いで、制御は、以前の試験でWhileループに転送されます。
ブレークオペレータは、全サイクルの実行を中断し、次の反復に制御を移すことができます。 ここでは、工事の出力が制御されることはありません。 画像は、これらの演算子の使用例を示しています。
課題会議
動作サイクルにおけるながら考えてみましょう。 パスカルは様々な問題を解決することを提案しています。 操作を理解するために、単純なを考えてみましょう。 パスカルABCプログラムで解決タスク。 しかし、提示され、比較のために、古典的なターボパスカル環境のイメージされます。
タスク1:関数Y = 5-X ^ 2/2与えられます。 インクリメントSHの値のテーブルを作成= 0.5 [5、-5]間隔にわたる。
アルゴリズムは次のとおりです。
- 5に等しい初期値を変数Xに設定(すなわちギャップの開始を..)。
- 変数xは、前記間隔の終わりに達していないが、Yの値を計算します。
- 機能横軸(X)の値を表示します。
- 所定のステップにより、Xの増加。
ここではパスカルABCプログラムのコードがあります。
どのようにターボパスカルプログラムのコードがありません。 下の画像は、これを示しています。
タスク2:全体の正と負の数からなる配列を与え。 それは10個の項目が含まれています。 アレイAの正の要素が偶数インデックスを有する表示されたマトリックスを形成する必要があります。 新しい行列の数に乗の和を表示します。
アルゴリズムは次のとおりです。
- あなただけの、配列Aの要素を持つ「仕事」がさえ率を有するだろうルーチンを記述する必要があります。 ループインデックスのパリティに対応する変数値は2だけ増分されます。
- 数は、Aは、x> 0の状態に対応する行列から偶数インデックスである場合、カウンタ・アレイが1だけインクリメントされるカウンタ変数の現在の値は、アレイBにコピー数の指標となり
- 最初は、変数大全は、正の整数の二乗和を見つけるための責任があり、そして、0に設定され、操作が行われる:前の合計に四角形の新しい値を追加します。
- すべてではない正の数は、別の配列から移動した場合、怖がってはいけません。 あなたは注意する必要があります。 パニックにコードを書き換えるために多くの初心者のプログラマ。 慎重に条件を検討する必要がある:2の倍数である指数でも、「ローカル」にある正の数、すなわち、...
マニュアルトレースは、忠誠心の計算することを確実にするために必要です。 時には、この方法を使用して書かれたコードの通常の検査の下で目をキャッチしないエラーを識別することができます。
私たちが手計算を実行する場合は、プログラムが正常に動作することを保証することが可能です。 これは、今度は、コード生成アルゴリズムは、正しい動作のシーケンスは論理的なエンドにつながると述べました。
Similar articles
Trending Now