技術的には、これら2つの単語に違いはありますか、それとも同じ意味で使用できますか?どちらも、多かれ少なかれ、問題を解決するために続く論理的な一連の手順を説明しています。じゃない?それで、なぜ同じことを話すのであれば、なぜそのような単語を2つ実際に使用するのでしょうか?
または、同義語でない場合、それらを区別するのは何ですか?どのようなコンテキストで、擬似コード対ワードアルゴリズムを使用することになっていますか?
技術的には、これら2つの単語に違いはありますか、それとも同じ意味で使用できますか?どちらも、多かれ少なかれ、問題を解決するために続く論理的な一連の手順を説明しています。じゃない?それで、なぜ同じことを話すのであれば、なぜそのような単語を2つ実際に使用するのでしょうか?
または、同義語でない場合、それらを区別するのは何ですか?どのようなコンテキストで、擬似コード対ワードアルゴリズムを使用することになっていますか?
回答:
「擬似コード」は「アルゴリズム」であり、「英語」は「ノックノックジョーク」です。
アルゴリズムは、擬似コードまたは実際のコードで表現される可能性のあるものの正式な構造です。
ノックノックジョークは、英語または他の言語で表現される可能性のあるものの正式な構造です。(他の文化はノックノックのジョークをしますか?私も知りません。)
クイックソートアルゴリズムは1つだけです。これは、プラトンの純粋なアイデアの世界に存在するようなものです。さまざまな擬似コード記述があります。擬似コードは、おおよそコンピューターコードのように見えるテキストとして定義し、経験豊富なプログラマーが創造的な飛躍をすることなく実際のコンピューターコードに翻訳できると定義すると思います。
いいえ、用語を同じ意味で使用することはありません。
アルゴリズムは、コンピューターの問題を解決するために使用される体系的な論理的アプローチであり、擬似コードは、後でプログラミング言語(プログラム)に翻訳される可能性のある平易な英語のステートメントです。
私が理解している擬似コードは、アルゴリズムと実装されたプログラムの間の仲介者です。アルゴリズムに基づいて擬似コードを作成できます。これには、実行可能な転送可能な手順が含まれています。
一方、アルゴリズムは全体的なロジックを意味します。問題を解決するために連続した手順で。図で表現されている場合、フローチャートと呼ばれます。
これを、クライアント側のビジネスオブジェクト開発者が要件に基づいて擬似コードを記述するビジネスソフトウェア開発の一般的な用語である擬似コードと呼ぶ場合があります。これはプログラマー/開発者に与えられて実装されます。
システムプログラミング、検索、ソートなど、基本的に複雑なロジックを実装する必要がある場合など、プログラミング用語でよく使用されるアルゴリズム。
擬似コードはアルゴリズムよりもコードに近いように見えますが、実際には、擬似コードは形式的ではなく、より高度な記述です。たとえば、チェスをしているコンピューターを次のような擬似コードとして記述することができます。
はい、これは擬似コードです。良い出発点として役立ちますが、多くの詳細を詳しく説明しています。実装の難しさやバリエーションは考慮されていませんが、最大の利点は、すべての詳細を解決することなく状況全体を概念化できることです。
次のようにレベルを追加して修正できます。
次のように、「黒人の合法的な動きのリストを作成する」などの主要なステップごとに擬似コードを作成できます。
擬似コードの威力は、状況全体を一度に表示し、詳細を1つずつ解決できることにあります。弱点は、どのステップも明確な単純なステップではないことです。
通常、アルゴリズムはこれらのステップの1つを選択し、シンボリック言語のさまざまなデータ構造を詳細化して、ステップの目標を効率的に達成できるようにします。
たとえばget_legal_moves(board, color)
、アルゴリズム設計に値する:
get_legal_moves(board, color):
for i,j in board_dimensions
if piece_at i,j is of color
if piece type is KNIGHT
add the following to the next moves list:
location i+1 j+2, i-1 j+2... etc
if piece type is rook
add locations:....
アルゴリズムを使用するには、非常に正確でなければならないことがわかります。
これにより、いくつかのことが保証されます。何よりもまず目標がエラーなしで満たされることです。手順は非常に詳細で機械化された方法で実行可能であり、手順を並べ替えてタスクを完了する効率(速度)を向上させることができるほど小さい手順です。
私の経験から、プロセス、モジュール、またはサブシステムに適用されるビジネスルールを表現する方法として、機能コード(プロセスを所有する人)によって常に擬似コードが記述されています。
アルゴリズムは、可能な限り特定のタスクを解決するための論理ステートメントの決定的なセットです。