経験問題解決 - 初心者白プログラマーのように考える方法

どのようにプログラミングに興味を持って、あなたはこれらの単語を見たことがあるかもしれません。

「それは考えることを教えているので、この国では誰もが、コンピュータをプログラムすることを学ぶ必要がある。」 - スティーブ・ジョブズ

プログラマは意味最後に考えるようにあなたも、知りたいこと?どのようにすればよいですか?

基本的に、これは問題を解決するためのより効率的な方法です。

この記事では、私の目標は、あなたにこの方法を教えることです。

最後に、あなたは最高の問題を解決する方法を知っています。

なぜこれが重要なのですか?

私たちは、毎日、大小多くの問題に遭遇しました。私たちは時々、これらの問題に対処する方法はランダムです。

あなたは、システム、方法、または「ランダム」を使用して、問題を「解決」であってもよいがなければ(私は物事をやったときに、コードを書くためにプログラミングを学習を開始してみましょう):

  • 1、ソリューションを試してみてください

  • 2、ない場合は、もう一度試してください

  • 3.何の効果がない場合は、繰り返しステップは、あなたが幸運を知っています

このようなアプローチ、運が悪いときで、愚かな。要するに、時に最悪の方法は、この方法の問題点を解決するために!また、非常に時間がかかります。

最良の方法は次のとおりです。

  • 、フレームがあります

  • B、それを実践

ほとんどすべての雇用者は、最初の場所で問題を解決する能力を考えて!

問題解決能力の雇用者が探している、すでにほとんどのプログラマの局面では、テストエンジニア、システム設計者、およびその他の値です。

大きな計算思考や複雑な問題を分割する機能、および貴重なとしての仕事のために必要な基本的な技術的能力 - ハッカーランク(2018デベロッパースキル報)

フレームワーク

正しいフレームワークを見つけるために、私は、「4時間シェフ」の「4時間シェフ」の提案を学習についてのティム・フェリスの本を踏襲しました

それは私が私を感動二人にインタビューを行います

C.ジョーダン・ボール(Coderbyte上の65,000+のユーザーのうち、第1または第2位にランクイン、そしてV.アントンSpraul(著書「プログラマーのように考える:創造的問題解決への入門」の著者。

私は、あなたがどのように推測し、それらに同じ質問を?彼らの答えは非常に類似していることが判明しました!

次に、あなたはすぐに〜それらを認識できるようになります

もちろん、あなたも、この事実は、あなたが異なるだろう、彼らは同じように行われているすべてのものが、一人一人が異なることを意味するものではありませんが、我々はすべて同意する良い原則を開始した場合それは遠く、より速く移動します。

新しいプログラマが作る私が見る最大の過ちは、文法を学ぶのではなく、問題を解決する方法を学習に集中することです。よる- V.アントンSpraul(http://vantonspraul.com/

だから、あなたは新しい問題が発生したとき、あなたはそれを行う必要がありますか?

次のステップ:

1、理解

彼は問題が何であるかを尋ねた非常に正確知っていました。最も困難な問題は、あなたがそれらを理解していないので、ので、これは最初のステップである理由。

あなたは問題を理解したときにどのように知っていますか? - あなたは、単純な言語を使用すると、自分の時間でそれを説明します。

あなたは、あなたがそれを説明するために始めると、すぐに論理的な抜け穴を見て、抜け穴は、それはまた、あなたが以前に見ていないということであってもよいし、問題に立ち往生しているときは、覚えていることがあります。

ほとんどのプログラマはそれの気持ちを知っています!

あなたは、あなたの質問に書き留めマップを描き、または他の人に伝える必要がある理由です。

「あなたは簡単な言葉で何かを説明することができない場合、あなたはそれを理解していない。」あなたは何かを説明するために、単純な言語を使用できない場合、あなたはそれを理解できない - リチャード・ファインマンを

2、計画

状況が存在しない場合に計画していない、問題を解決するためのプロセスに真っ逆さまに急落(と私はあなたが過去に混ぜることを願って)、今すぐあなたのソリューションを計画します!

あなたが正確な手順を書き留めする予定がない場合は、あなたを助けていませんでした。

プログラミングでは、これはすぐにハッキングを開始しないことを意味します。あなたの脳の問題とプロセス情報を分析するためのいくつかの時間を与えます。

良い計画を得るために、この質問に答える:指定された入力Xを、Yは、彼らがこれを達成するのを助けるための素晴らしいツールがあり、内部にどのようなプログラマの世界に入るために必要なステップに戻り、それはコメントです!

3、スプリット

これは最も重要なステップであります

一度大きな問題を解決しようとしないでください、またはあなたが泣くかもしれません。

あなたは、サブ問題に一つ一つを分割するためにこの質問を置いたときに代わりに、これらのサブ問題が解決する方が簡単です。

次に、最も単純なものから、各サブ問題解決のための一つ一つは、開始します。最も簡単な手段は、あなたは答え(または回答に近い)を知っています。

子供の問題を解決するための別の手段に最も簡単な方法は、他の問題を解決するには依存しません。

あなたは、各サブ問題を解決して、ドットを接続すると

あなたが提供元の問題の解決のためにすべての「サブソリューション」を接続!その後おめでとう、あなたはそれをやりました!

それはすべての問題の礎である技術、それを覚えて(私はあなたがこのステップ再びそれを再読み込みをお勧め)

あなたは10個の数字を読み取るプログラムを作成するように依頼して、計算され、新しいプログラマと仮定します。私は初心者にあるすべての問題を解決するスキルを与えることができれば、例えば、「スキルの問題を軽減するために」それだけで基本的なプログラミング構文を必要とするにもかかわらず、これは困難な作業となることができ、新しいプログラマのための三番目た図であり、

あなたが台無しにした場合は、問題を単純化する必要があります。代わりに、第3の高数字に焦点を当てたの。どのように全体的にまだ最高の番号を見つけるには?それともあまりにもハード?これは3つ、それから、最大数のことがわかりましたか?それともあまりにもハード?それは2の大きい場合は、それを見つけるには?

あなたは問題を解決する方法を知っていると度のソリューションを準備するために、問題を単純化します。その後、再び一致するように、小さな問題、解決策を展開し、あなたが始めている知っている場所に戻って進みます。 - V.アントンSpraul

図4は、それを立ち往生?

今、あなたが考えてそこに座ってすることができる、これらのステップはかなり良いものに見えるが、私はこだわっている場合、子供が行うにはどのように問題を解決することはできません設定されていますか?

まず、深呼吸を取ります。これは正常ですので!

心配しないで、友人は、誰もがこれを好きになるでしょう!

違いは、最高のプログラマ/問題解決、より好奇心バグ/エラー、怒っていないということです!

実際には、あなたが不幸に遭遇したとき、あなたは試すことができる3つの事があります。

デバッグ:何が悪かったのかを把握しようとすると、ステップによって、ソリューションのステップを確認してください。それデバッガ。

(アートデバッグは、あなたが何をすべきかということを教え考えるもの、あなたが本当に何をすべきか、あなたのプログラムを教えて何かを見つけることではありません)

再評価:背面図の一他のポイントより一般的に抽象化することができるか疑問から、ステップ?

(時には我々は、彼らが一般的な原則を無視するように、より一般的なレベルでの問題を解決するために、詳細をあまりにも夢中に問題を抱えています!)

古典的な例は、単純な消去法と連続する整数の長い文字列シーク、1 + 2 + 3 + 4 + ... + Nの合計は、迅速にそのような式を識別することができる:N(N + 1)/図2は、このように余分なポイントを行うために持っ避けます。

(もう一つの方法は。すべての内容を削除し、新しい目で再び開始し、再び再評価を開始することです。あなたは、これがどのように有効であることを驚かれることでしょう。)

検索/研究:あなたは間違っていないなら、何人かの人々が解決されている可能性があり、何か質問があるかどうかは、Googleを使用することです。その人/ソリューションを検索します。実際には、あなたが問題を解決するだけでなく、そうしても!(あなたは高校のプログラムから、他の人の多くを解決することができます)

(注:唯一のサブ問題の解決策を見つけるために大きな問題を解決する方法を見てはいけない、あなたが懸命に働く場合を除きので、なぜ、(少しでも)、あなたは何も学ばなかった場合はそうでない場合、あなたは、何かを学ぶことはありませんか。?あなたはあなたの時間を無駄にしています)

5.練習

あなたは良い問題解決になりたい場合は、あなたは多くの問題を解決するために行く必要があり、ちょうど一週間は非常に強力になることができます期待してはいけません!

練習、練習、練習!遅かれ早かれ、あなたは、この問題は非常に簡単な方法で解決することができることを理解するであろう。

それでは、どのようにそれを実践していますか?実際には、多くの選択肢があります!

たとえば、次のように国民のチェスゲーム、数学の問題、数独、ビデオゲーム、cryptokittiles、かくかくしかじか...

実際には、成功の普遍的なモデルは、彼らが練習することを知っている習慣「群衆はこの問題を、解決します」。たとえば、次のようにビデオゲームをプレイするピーター・シール(ピーター・シール)チェス、イーロン・マスク(イーロン・マスク)....

あなたがビジネスのリーダーシップの3〜5年後に知りたい場合はバイロン・リーブス(バイロンBeeves)、右のオンラインゲームを何が起こっているかを確認するために限り、のようになります

今日まで早送りは、イーロン・マスク、リード・ホフマン、のMark Zuckerbergおよび他の多くのゲームは、彼らが会社の礎を言うのである、と述べています。--Mary Meekerの(インターネットトレンドレポート2017)

これは、あなただけのビデオゲームをプレイするべきであることを意味しますか?すべてではないそう。

しかし、最終的には、これはビデオゲームとは何かを持っていますか?はい、それは問題は解決さ!

だから、あなたが行う必要がありますが、小さな問題の多くを解決することができるように、運動のための出口を見つけることです。(理想的には、そんなに良く、何かを好きか)

例えば、私はプログラミングが毎日挑戦したいと、私は、少なくとも一つの挑戦(通常Coderbyte)を解決しようとしていhttps://coderbyte.com/

私が言ったように、すべての問題は、同様のパターンを持っています!

6.おわりに

さて、あなたはそれが何を意味するのか「を考え、プログラマーのように」知っています。

あなたはその問題解決能力をも知っている信じられないほどの元です。

それが十分でない場合は、問題解決のスキルを練習する方法を知っている必要があります。

あなたが見る、これはクールに見えていません!

最後に、私はハハ、あなたに多くの問題を願っています。

あなたは間違っていないなら、少なくともあなたが今、解決する方法を知って、同時に、あなたはそれぞれのソリューションが向上し取得することが可能になりますことを理解するであろう!

あなたが成功した一つの障害物をナビゲートしたと思うとき」だけで、他は出てくる。しかし、それは面白い人生を保つものだ。あなたは、他の障害物が登場しているとき、クロスドメインの成功は障害となっているが、それは生命の変更を作るものだと思うちょうどその時それは面白かったです。

人生は、これらの障害を突破するプロセスである - 私たちは人生のこれらの障壁プロセスを突破しなければならない要塞一連の線は画期的である - 我々は防衛のシリーズを突破しなければなりません。

たびに、あなたは何かを学びます。たびに、あなたはいくつかのことを学びます。

たびに、あなたは強さ、知恵、そして展望を開発します。たびに、あなたはあなたの緊張、知恵、そして洞察力を開発します

残っているすべてはあなたがあるまでは、競争の少しより多くのたびに、離れて落ちる:あなたの最高バージョン「 - ライアン・ホリデーたびにあなたがあなた自身の最高になるまで、より多くの競争が消えます - ...。 - ライアンホリデイ(障害物がパスです)

さて、今、いくつかの問題を解決するために!

推奨読書:

Pythonプログラマを学び、プログラミング機能は何に「退化」していますか?

フロントエンドの開発ラインの学習とは何ですか?インターネットのトレンド、スキル要件

居心地の良いの前に生涯学習を意味し、プログラマを選択しますが、温床人々を混乱させる

プログラマーのスキルツリーは、生涯のキャリアの高さを決定します

おすすめ

転載: blog.csdn.net/momingzhe23/article/details/91357921