アルゴリズムとプログラミングロジックの読み取り/理解が難しくない場合

algorithm javascript programming-languages
アルゴリズムとプログラミングロジックの読み取り/理解が難しくない場合

私は1週間半にわたってJSチュートリアルを行ってきました(Lynda.comとHeadFirstシリーズ)。 一般的には理にかなっていますが、JSはHTML / CSSほど簡単ではありません。 本当にシンプルな初心者向けのコード(たとえば、 Lynda.comのチュートリアルでビンゴカードを作成します)、論理引数の表現の観点からコードを実際に読むのに苦労しています。 私の推測では、私がこのすぐに取り組むことがなければ、私が学ぼうとする他の言語は不可能です。もちろん、私はJSを上手に学べないことは言うまでもありません。

だから誰もアルゴリズムに関する良い基本的な指導を提供する本/ウェブサイトを提案できますか? または、私はただ焦りすぎており、数週間後には物事が落ち着くはずであり、コードはより理にかなっているでしょう。

以下は、まだプリプレクスされている愚かな基本コードの例です。

function newCard() {
    if (document.getElementById) {
        for (var i=0; i<24; i++) {
            setSquare(i);
        }

  4  3


ベストアンサー

HTML / CSSはドキュメント記述言語であり、視覚的な構造と情報を表現する方法であり、プログラミング言語ではありません。

JavaScriptは必ずしもそれ自体が単純な言語であるとは限らないので、簡単に理解してください。初歩的なプログラミング入門書でそれを行うことができます。

読んでいるものを1行ずつ順番に英語に変換してください。 構文、記号、およびその記述方法は、慣れていないため、おそらく混乱の主な原因です。 代数に慣れていない人は、それを見たときにパニックに陥ります。 -やがてあなたは慣れるでしょう。

次の簡単なコードをご覧ください。

1 for (var i=0; i<24; i++) {
2    setSquare(i);
3 }

1行目:「forループ」

ループは、あるポイントまで繰り返されるコードブロック(中括弧 `{}`で示されます)です。 「for」ループの場合、ループを制御する3つの設定(引数)があります。

1つは初期化、開始条件、この場合は新しい変数「i」を「0」、「i = 0」に設定するためのものです。

2番目は_condition_で、ループに継続するかどうかを指示し、ループが開始されるたびにチェックされます。 ここでは、条件は「i <24」であり、変数「i」が(「<」)24より小さい間、続けます。

最後の部分は増分であり、最後の部分で発生することはリストごとに1回発生します。 この場合、リストの最後、次のループの前。 「i ++」は「i」を1つインクリメントすることを意味し、「i = i + 1」の省略形です。

したがって、ループは複数回実行され、「i」は0から始まり、毎回1ずつ上がります。 24に達すると終了します。 したがって、コードのブロックは24回実行され、「i = 0〜23」になります。

2行目:ループの内部には、 setSquare`と呼ばれる関数への単一のステートメント、関数呼び出しがあり、値 i`が毎回渡されます。

3行目:forループの閉じブレース。

したがって、このコードはすべて、「setSquare()」関数を24回呼び出し、値は「0〜23」です。

`setSquare()`が行うことは、そのコードを見ることのない謎です。

6


質問に答える

私には、関数、ループ、変数宣言などの基本的なプログラミング構造にいくつかの問題があると思われます-それらを理解しないと、コードをまったく理解しないことになります。 したがって、私の提案は、プログラミング(できればJavascriptについて)に関する本を入手することです。 私はすでにプログラミングの背景を持っているので本からJSを学んだことはなく、主な概念はすでにそこにありましたが、私の友人はhttp://oreilly.com/catalog/9780596527747/[O’Reilly Head First Javascript]が好きでした。 次に、言語の主要な概念を学習したら、http://jquery.com [jQuery]ライブラリをご覧ください。

また、2つの簡単なメモ:

  1. HTMLとCSSはプログラミング言語ではありません

  2. 少なくとも今のところ、アルゴリズムに気を使う必要はありません-
    アルゴリズムは、特定の問題を解決するために設計された一連の複雑な手順であり、配列の反復に使用される単純な「for」ループではありません
    🙂

2


JavaScriptは、CSSとHTMLがマークアップ/スタイリングであるプログラミング言語であるため、他の2つよりも難しく学習します。

JavaScriptも簡単に習得できる第一言語ではありません。 自分が混乱していても心配することはないでしょう。プログラミングは難しく、誰にとっても自然に来るものではありません。 最終的には、あなたの考え方が変わり、最初は不可能と思われたことが非常に直感的になります。

そうは言っても、JavaScriptを学習するための優れた開始リソースはほとんどありません。 あなたの最善の策は、http://headfirstlabs.com/books/hfjs/ [Head First JavaScript]のような本を見ることです。 プログラムの作成方法(問題を解決するためのアルゴリズムの記述の考え方)を非常にゆっくりと進め、JavaScriptのすべての機能を紹介します。

頭を上げてください:)。

2


プログラミングの基本であるforループに問題がないことを願っています。

` `

1 for (var i=0; i<24; i++) {
2   setSquare(i);
3 }

@Orblingの詳細な回答をフォローアップするために、2行目でプログラムの要点を明らかにします。 `setSquare(i)`が言うことを意味すると仮定すると、forループは明らかにforループ内の正方形の状態をiの現在の値に変更するという副作用があります。 私の推測では、正方形の幅はiとともに変化します。

私が言及した重要なチームは「副作用」です。つまり、プログラムはそれ自体の外側の別のエンティティの状態に影響を与えます。 次のforループにも副作用があります。

` `

1 for (var i=0; i<24; i++) {
2   print(i);
3 }

ここで、 `print(i)`はJSポップアップで `i`の値をレンダリングすることを規定します。

0


タイトルとURLをコピーしました