編程基礎

python_1

編程基礎

    程序
        一組能讓計算機識別和執行的指令
    電子計算機
        能夠執行程序的機器
    現代計算機
        艾倫.麥席森.圖靈,英國數學家,邏輯學家.圖靈提出的圖靈機模型爲現代計算機的邏輯工作方式奠定了基礎
        馮.諾依曼猶太人數學家,計算機科學家,物理學家和化學家.提供二進制作爲計算機的數制基礎,計算機應有的五大部件

    馮.諾依曼體系架構
        輸入設備,輸出設備,運算器,控制器,存儲器

        CPU由運算器和控制器組成
        運算器,完成各種算術運算,邏輯運算,數據傳輸等數據加工處理
        控制器,控制程序的執行
        存儲器,用於記憶程序和數據,例如內存
        輸入設備,將數據或程序輸入到計算機中,例如鍵盤,鼠標
        輸出設備,將數據或程序處理結果展示給用戶,例如顯示器,打印機等

            CPU中還有寄存器和多級緩存Cache

    語言

        計算機語言
            人與計算機之間交互的語言
        機器語言
            一定位數組成二進制的0和1的序列,稱爲機器指令.機器指令的集合就是機器語言
        彙編語言
            用一些助記符替代機器指令,稱爲彙編語言.ADD A,B指的是將寄存器A的數與寄存器B的數相加得到的數放到寄存器A中

        語言分類
            低級語言
                面向機器的語言,包括機器語言,彙編語言
                不同的機器不能通用,不同的機器需要不同的機器指令或彙編程序
            高級語言
                接近自然語言和數學語言的計算機語言
                高級語言首先要書寫源程序,通過編譯程序把源程序轉換成機器指令的程序

        高級語言
            編譯語言,把源代碼轉換成目標機器的CPU指令(C,C++等)
            解釋語言,解釋後轉換成字節碼,運行在虛擬機上,解釋執行中間代碼(Java,Python,C#等)

            高級語言的發展
                非結構化語言
                    編號或標籤,GOTO,子程序可以有多個入口和出口
                    有分支,循環
                結構化語言
                    任何基本結構只允許是唯一入口和唯一出口
                    順序、分支、循環,廢棄GOTO
                面對對象語言
                    更加接近人類認知世界的方式,萬事萬物抽象成對象,對象間關係抽象成類和繼承
                    封裝、繼承、多態
                函數式語言
                    古老的編程範式,應用在數學計算、並行處理的場景。引入到了很多現代高級語言中
                    函數是'一等公民',高階函數

        程序
            算法+數據結構=程序
            數據一切程序的核心
            數據結構是數據在計算機中的類型和組織方式
            算法是處理數據的方式,算法有優劣之分

        寫程序難點
            理不清數據
            搞不清處理方法
            無法把數據設計轉換成數據結構,無法把處理方法轉換成算法
            無法用設計範式來進行程序設計
            世間程序皆有bug,但不會debug

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章