問題タブ [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 に答える
1180 参照

scala - ネストされたリストをループする機能的な方法

2 本の木を比較する質問がありました。以下のようなもの:

ツリーの各要素を比較するために、次の関数があります。

基本的に、アルゴリズムは n1 の各要素に対して、n2 の一致をチェックしています。これは非常に必須の方法であり、機能的な方法ではないと言われました。この動作を達成するための機能的な方法は何でしょうか。つまり、子のリストを比較するときに while ループを削除するにはどうすればよいでしょうか。

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

scala - Scala で関数型スタイルを命令型スタイルと完全に同一にする方法

Scala プログラミングに関する本の中で、私はこの例に出くわしました。彼らは、この命令型コードの例は

次のような機能的なスタイルに「変換」できます。

しかし、私にとってこれらの 2 つのコードは完全に同一ではなく、2 番目のコードには変数 "i" が完全に欠落しています。したがって、文字列の値と一緒に印刷したい場合、2番目の例ではできませんか? どのように?

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

scala - Scalaでリターンなしで命令型の二重forループを関数型スタイルに変換するには?

私は次の Scala コード、命令型スタイルを持っています。関数型スタイルに同等のものがあるかどうか疑問に思っていましたreturn

を使用せずに、これと同じくらい効率的な代替手段があるかどうか疑問に思っていますreturn

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

imperative-programming - 認知モデリング言語 (CML) vs 命令型プログラミング vs 宣言型プログラミング

コンピュータ ゲームの認知モデリングに関する John Funge の記事を 読んでいます

http://www.msci.memphis.edu/~classweb/public_html/comp7990/Spring2000/Wally/Presentation5/tsld014.htm

CML を理解するのに苦労しています。命令型プログラミングと宣言型プログラミングが混在していることは理解していますが、方法がわかりませんでした。

たとえば、命令型プログラミングの次の疑似コード:

ExpensiveItemsNames という名前の新しいリストを宣言します。
アイテムの Foreach アイテム:
ItemPrice > 100 の場合、
ItemName を ExpensiveItemsNames に追加します。

vs 宣言型バージョン: (SQL を使用)

SELECT ItemName FROM Items
WHERE ItemPrice > 100

それのCMLバージョンは何ですか?
また、CML はプログラマーにどのように役立ちますか? それも分からなかった。

同様に、さらに詳細な (前に述べたように - 私が配置した 2 番目のリンクを意味する) Web サイトでは、スペースの複雑さを軽減するための剪定についても説明しています。
プルーニングとは何なのかは分かっていても、CMLとの関係が理解できませんでした。現時点では、それらは 2 つの無関係なもののように見えます。

0 投票する
4 に答える
161 参照

c - ルートエラーを見つけるためのCプログラム

以下の仕様でCで関数を書いています:

find_root二次方程式の係数 a,b,c と間隔 (p, q) を取ります。指定された間隔でこの方程式の根を返します。

例: find_root(1, -8, 15, 2, 4)3.0 に「近い」ルートを生成する必要があります。

以下のコードを書きましたが、それが機能しない理由がわかりません。

エラーの内容を教えてください。