コーダのためのコンピュータプログラミング入門


歓迎
レッスンのこのシリーズでは、私は絶対に何も知らない/プログラミング/コーディングの詳細については、コンピュータを教えてあなたのために何かを行うには快適されます.

コンピュータ?
あなたがこれを読んでいるならば、それはあなたがすでにコンピュータ、電話またはPC/ラップトップを持つことを意味します.今、あなたは質問に答えることができます、何がコンピュータですか?
あなたは正しい!それはあなただけのデバイスです.
その装置を詳しく論じましょう.それは電気によって供給され、データ(入力)を取ることができる、データ(ストレージ)、データを処理することができます(アルゴリズム)と最終的に情報(出力)を与えると、これは実際にはコンピュータの定義です.
今日、コンピュータは人間が私達にそれらを比較するだけであるという点に達しました、しかし、彼らはコンピュータが我々よりスマートであると宣言しました.
そう言った人はコンピューターを理解していない.
コンピュータは何十億ものデータ(例えば、標準サイズの150万冊の本)を保存することができても、愚かである、そして、1秒につき10億の計算を実行することができます!(同じ時間の光の2つの操作は、1フィートを移動します).
彼らは私たちのために存在しました、彼らは私たちが彼らをすることを指示しただけです.というのは、誤って教示したとしても、自分の誤りを悟ることができないからです.

コンピュータサイエンスとプログラミング
コンピューターサイエンスは根本的に問題解決だ.そして、この一連のレッスンでは、私たちのためのタスクを行うためにコンピュータに話すことに焦点を当てます.コンピューターと話す?ええ、コンピュータは言語を話します、そして、我々の人間が例えば10進ベースで話しているように、1 sは話します.2021 コンピュータで11111100101 . 私は高校数学を10進数を2進数に変換しました.バイナリの各桁はビットを表します.
コンピュータがバイナリで10進数を表すことができるということを意味します、テキストについてはどうですか?

コンピュータにおけるテキスト表現
私たちの前の人々は、各文字(首都と小文字、句読点)を数字にマップするための基準に基づいて決定しました.例えば、"A" ==> 65 , "B" ==> 66 など.詳しく見る American Standard Code for Information Interchange.

Image Source
テキストを受け取る"HELLO" ==> "72", "69", "76", "76", "79" それぞれ.そして、ビットで01001000, 01000101, 01001100, 01001100, 01001100 . 各文字は、典型的には8ビット、または1バイトのパターンで表される.

  • 8ビット= =バイト

  • 1024バイト=キロバイト

  • 1024キロバイト=メガバイト

  • 1024メガバイト=ギガバイトなど
  • しかし、いくつかはそれだと思う1000 の代わりに1024
    別の標準があります.Unicode これはASCIIへの拡張です.これは、ASCII標準に存在しない古代のシンボル、emojisと多くのようなすべての文字が含まれます.
    次に、どのように画像、ビデオ、オーディオはコンピュータで表されますか?

    イメージ

    私はあなたがそのイメージを数千または数百万の正方形のボックスがピクセルと呼ばれることを観察できるかどうかわからない.
    我々は、以下のようにイメージ2000 + %のイメージをズームすることによってピクセルを達成することができます

    そしてそれらの正方形の箱やピクセルは色以外の何ものでもない.それで、我々の関心はコンピュータが色を表す方法でなければなりませんか?
    色を表現するシステムが多かったが、最も一般的にはRGBである.赤、緑、青のいくつかの量は、色の何百万を生成するために組み合わせることができます.例えば、rgb(23, 116, 223) 以下の色を生成します.

    あなたが見ることができるように、色にマッピングの数字があります.rgb ==> 23, 116, 223 .
    画像の解像度は、水平方向と垂直方向のピクセル数であるので、高解像度の画像はより多くのピクセルを持ち、より多くのバイトを格納する必要があります.

    ビデオとオーディオ
  • 動画:私たちがビデオダウンを破るならば、我々はそれがこのように運動をつくるために1秒につき反転している何千ものイメージを含むのを見ます
  • オーディオは音の周波数の概念を使用して音の周波数をマップします.詳しく見るsound representation in computers

  • プログラミング言語
    以前、私はコンピュータが理解するだけであると言いました0s and 1s しかし、我々は複雑なシステムやTwitterのようなアプリケーションを構築するためにコンピュータと通信する場合は想像して0s and 1s それは、単独で難しいことが不可能であるようです.我々の前の同じ人間は、より人間的に友好的な言語をつくりました.今日、我々は500以上のプログラミング言語を持っています.これらの言語を使ってコンピュータを教えることができます.The Code 私たちはそれらの言語で書く/解釈されるMachine code , コンピュータが理解できるコード.
    500 +プログラミング言語から* * *最高のプログラミング言語は何ですか?
    このような最良のプログラミング言語はありません.それぞれの強みと弱点があり、ドメイン固有の言語、非常に特殊なミニプログラミング言語regular expressions 文字列操作とSQL データベース操作.
    つのプログラミング言語で計算できるものは、他のプログラミング言語で計算できる.

    コンピュータと人間
    あなたが次の名前のリストから成る電話帳を与えられたと言いましょう.[ Omar, Mamudo, Amie, Fabala, Muhammed ]リストの各名前が1ページから始まると仮定します.
    あなたは名前を見つけるために人間を伝えることができます.Fabala そして、あなたは彼/彼女の名前を取得する方法について彼に言うつもりはない.Fabala 電話帳から.
    S/彼はチェックする方法を見つけなければならないFabala 電話帳はありますか.そして、はいがどのページで我々に話すかどうか.この非常に人間は、ページの左/右から検索を開始し、一度に1ページをめくることができます.これは人間が理解しているからですDeclarative Knowledge . Declarative knowledge 電話帳から「Fabala」という名前を見つけるような事実のステートメントです.
    一方、コンピュータImperative Knowledge , レシピまたは知識への方法.同じ問題がある場合は、電話帳からコンピュータに与えられた“Fabala”を見つける場合は、どのように名前を見つけることについては、“Fabala”を伝えることが必要です.

    Instructing Computers to find "Fabala" from the phone Book

    1. Pick up the Phone Book
    2. Start from the first page on left side of the Phone Book
    3. Check if name on the page is "Fabala", tell us the page number and stop searching
    4. Else, Go to the next page and go back to step 3
    5. When no page is left to be search, tell us "Fabala" doesn't exist in the Phone Book

    我々が名前を見つけるために取ったステップ/アプローチは、問題を解決するためのアルゴリズム、ステップバイステップの手順と呼ばれるものです.
    我々が上でしたことは正確な英語で我々のアルゴリズムの表現です、そして、それはASと呼ばれているものですPseudocode , 人間言語におけるアルゴリズムの表現

    実際のコード
    私はあなたが完全に以下のコードを理解するとは思わない.私は、ちょうどあなたにActual code とは異なるPseudocode
    phone_book = [ 'Omar', 'Mamudo', 'Amie', 'Fabala', 'Muhammed'  ]
    
    def find_name (phone_book, name):
        '''
        input: phone book consisting of names, and the name to be search
        output: return the page number of the name if it exist
        else return 'Not existed'
    
        '''
    
        for page in range(len(phone_book)):
            if phone_book[page] == name:
                return 'Page ' + str(page + 1)
    
        return 'Not existed'
    
    print(find_name(phone_book, 'Fabala'))
    
    
    上記のコードはPythonプログラミング言語で書かれています.Pythonプログラミング言語では、このシリーズを通してロジックを表現していますが、コーディング部分よりも問題解決(プログラミング)に集中するつもりです.
    読んで、次のトピックでお会いしていただきありがとうございます.
    それを助けると最終的に接続することができますそれらとのように、共有することを忘れないでください