問題タブ [imperative-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
361 参照

haskell - 命令型プログラミングを使用した階乗

次のコードがあります。

命令型プログラミングを使用して階乗関数を実装する必要があります。私がしなければならないことは、 を使用して変数を作成および初期化し、およびnewIORefを使用して while ループを使用してそれらの値を変更し、アクションが入力と最終結果からなるペアを返すようにすることです。readIORefwriteIORefIOn

これは私がこれまでに行ったことです:

これは、階乗関数を記述しようとする私の試みです。これは明らかに機能しません。どんな助けでも大歓迎です。

0 投票する
1 に答える
972 参照

declarative - 命令型プログラミング言語と宣言型プログラミング言語の違いは?

私はそれらが何であるかを知っています:

命令型プログラミング言語では、実行したいことを段階的にコンパイラーに伝えますが、宣言型言語では、結果を記述するコードを記述しますが、必ずしも目的の結果を達成する方法は必要ありません。

ただし、どちらのタイプのプログラミング言語を使用した場合の最適化についても知りたくありません。これに加えて、合併症はありますか? たとえば、いずれかの言語で開発されたプログラムを実行する際のスペース/時間の必要性。

0 投票する
0 に答える
946 参照

state - 命令型プログラミングでプログラムの状態を変更するとはどういう意味ですか?

次の命令型プログラミングの定義はどういう意味ですか?

命令型プログラミングは、プログラムの状態を変更するステートメントを使用するプログラミング パラダイムです。

プログラムの状態とは何ですか? また、どのように変更しますか?

0 投票する
2 に答える
871 参照

assembly - z80 アセンブリのネストされたループ

z80 ハードウェアの Assembly で 3 つのネストされたループを記述する必要があります。最初のループ (最も内部的なループ) は 70 回、残りの 2 つのループは 100 回反復する必要があります。

これは私が思いついたコードですが、正しく動作していないようです。割り込みが生成されるまで繰り返します(スタックオーバーフローエラーだと思います)。

C++ での同様のコードは次のようになります。

0 投票する
2 に答える
104 参照

algorithm - ロジックを複製せずにアイテムをグループ化する

命令的にプログラミングするとき、次のようなグループ アイテムにコードを書いていることがよくあります。

残念ながら、このコードにはいくつかの欠陥があります。

  • if curGroup is good: add curGroup to groupsコードが重複しています。条件内の条件は関数に分割できますが、その関数を呼び出してグループに curGroups を追加するロジックは 2 回表示され、2 回目の出現を忘れがちです。

  • 新しいグループを作成するロジックが 2 回表示されます。このロジックは自明かもしれません。そうでない場合は、別の関数に分割できますが、最初の箇条書きと同様に、フローが正しくないことを示しています。

  • 最初のアイテムが所属チェックに失敗する可能性があります。その場合、新しいグループを作成した直後に新しいグループを作成します。この問題は些細なことのように思えるかもしれませんが、最初の空のグループが に追加されるのを明示的に防止する必要がある場合がありgroupsます。とにかく、それは望ましいロジックの誤った表現を示唆しています。

このロジックを表現するためのよりクリーンな方法があるかどうか疑問に思っています。この質問の抽象的な性質をお詫びしますが、この問題は複数のコンテキストで発生します。特定のプログラミング言語のコンテキストでこの問題に対処する必要がある場合は、Java.