コンピューター, プログラミング
現実の抽象的基盤:それは「それは」帰ってきた、スタック上にある「何がこれです」
おそらく、いくつかの将来のコンピューティング事業にとゼロを忘れ、及びプロセッサは、バイトや言葉で動作し、これまでのところ、すべてが表現されたバイナリの世界と彼のルールで生きていけないだろう。 どのようなスタックであり、それは適用される場合 - 絶対に明確である可能性が高いです。 早くも彼の出現の始まりとして、第1のプロセッサのレジスタであり、彼の作品のロジックは、メモリを必要としていました。 シンプルなアイデアの結果、「それは」事実上のスタックとなっている「必要に応じて。」
機能プロセッサ、バイナリロジック
プロセッサは、メモリを制御し、巡回コードが実行されるロジックを実装します。 プログラム - 1または一連の操作を表す関数の集合:これを行うに何かを選択するには、何かを置くことです。 オペレーティングシステム - 同じコード、より責任:他のプログラムを実行し、制御することが義務付けられています。
実際関数(アルゴリズム独立要素) - バイナリの動作だけ配列。 プログラムは、それ自体を実現し、コードの他の部分を調整する機能と異なります。
分離した別個の要素のシーケンスとして設計アルゴリズムを受け入れました。 それぞれが独自の(通常は1)の機能を運ぶ - それは、デバッグのための便利な視覚的、実用的です。 このプログラミングは、アルゴリズムのライブラリを作成し、他のプロジェクトでそれらを使用するために、開発プロセスを簡素化することができます。
送信と管理を返します。
プログラムは、結果を計算し、それをデータを渡し、関数を呼び出します。 復帰制御を操作するための次の呼び出しで行われるべきであるので、他のコード部分の実行のため、外部から開始されます。 このメカニズムは、コードが実行され、全体としてプログラム成果の達成の順序によって提供されます。
コードがメモリにロードされ、順次実行されます。 関数(コードの別の部分)を呼び出すために、スタックが使用されます。 それは何ですか? 連続する各要素は、前の1つの上に配置されるという点で通常とは異なるメモリ(と、それへのポインタ)。 以下で誰を取得するので、あなたは仕事に取る必要があり、その上にあるものすべて。 ポインタは、常にスタック内の現在の位置を指します。
呼び出し操作次のアドレス - 最初に、スタックは、リターンアドレスを取得します。 そして、呼び出された関数のために必要なすべてのデータを配置します。 呼び出された関数は、データを選択し、それらを処理し、リターンスタックの最後の要素に制御結果を生成します。 チーム:「それをスタックは、」与えられた、前にポインタを移動し、「それは」処理に進み、選択しました。
レジスタAX、BX、CX、DX、EXは、情報化時代の時代の始まりの象徴となったが、SPおよびSSは - その主なマスコットです。 どのようなプログラミングのスタックを使用するには? 過去の例としては、初期の時代の建築のモニュメントではありません。 スタックは、一緒に言葉「機能」と「再帰」で、バイナリの世界に入ってきたとプログラミングの練習の一般的なロジックに姿を消しました。
何をすべきかを決定するためにデータを提供
機構を積層する再帰を含む、コードの異なる部分に複数の呼び出しを可能にする:関数は、自分自身を呼び出します。 自然な制限があります。スタックとコードのメモリサイズが十分でなければなりません。 正確な - プログラムが正しい場合は、その性能が安定し、転送/リターン管理となります。
プレートは、テーブルを配置するために送信されるパイル、にあるようにスタックが満杯です。 あるプレートの運命、そのコンテンツは、それが送信される場所で解決されます。 相互作用のロジック、チームによると、「スタック、それは」と呼ばれる人たち、そして彼が呼ばれる人たちの間で事前に配置され、これを提供します。 プロセスが完了すると、テーブルの上にスタックを送った1次のアドレスに制御を返すことが重要です。
非常にシンプルで効果的なロジック。 決定がなされるよう、何が、テーブルの上にある - そのケア、主なものは、常に動作のための次の課題に制御を戻すことである - それはデータのスタックを送信するかを表にその懸念 - それはそれは調査結果に行くとしても機能します。 関数は再帰を認めている場合にのみ、自分自身を呼び出すことができますが、データがスタックに陥る場合再帰のみ可能です。
基本的な抽象化
場合は、通常、実用的な観点に基づいなったが、事実上、我々は合理的に後者の目的、および長寿命であることを期待することができます。 プレートのスタックは、スタックに出産した、スタック全体としての作業プロセッサ、オペレーティングシステム、プログラム、機能、およびハイテクセクターを提供しました。
クラシックケースは、言語の生存のための戦いで手配や優先順位をプログラミングする、シンプルに基づき、それは構文の空の論争せずに推定できるまれな場合、意味論でした。
一部のようなメモリセルがあって、それがこの日に残ったが、それはそれのアイデアが変更されています。 自信を持って強い型付けの厚い通過し、彼らは今、何かが何かをすること、それはすでにかなり重要であるため、何の実メモリに保持できると主張しています。
代入演算子、条件、ループ、ブロックは...だけでなく、長い時間のための構文は重要ではありません、その意味の面ではるかに小さい形質転換しました。 プログラミング言語の理想のために戦うには、それらのいずれかを獲得するチャンスを与えられていません。 著者のプログラマの世話をし、いない言語 - ツールは、(コンパイラ/インタプリタ/シェル)だけで動作し、/使用を書くことは、安定したフル機能の、そしてどのように、どのようなことを義務付けられています。
スタックは、アイデアと技術開発のグローバルプロセスに新しい意味を獲得しました。 それらは、好都合に重ねてきた形の変数、およびアルゴリズムおよびオペレータは、互いに中に含まれています。 1が別の仕事を提供するときには、多くの場合、プロトコルスタックについて聞くことができます。
スタック、機能性と再帰は - 代名詞ませんが、彼らはあなたが情報の提出及び処理のユニークなバージョンを作成することができ、完全にお互いを補完します。
Similar articles
Trending Now