1. 程式人生 > >JS程序設計基礎

JS程序設計基礎

過程 功能 例如 不足 出現 是什麽 解決問題 轉換 常見

一、什麽是軟件?什麽是程序?什麽是計算機語言?

軟件:是完成某些特定功能,一到多個程序文件的組合。

程序:完成指定功能的指令。

計算機語言:人與人之間溝通使用的是自然語言。人與計算機進行溝通就使用的是計算機語言。換句話說,計算機語言就是用來和計算機進行交流的。

沃斯:程序 = 數據結構 + 算法

程序和軟件之間的關系,就類似於生活中博客和書的關系。

二、計算機語言的發展史

計算機語言是從二十世紀40年代開始,大致分為3個階段:

第一代計算機語言:機器語言:機器語言全部都是有0和1組成。可以被計算機直接執行。但是,這樣的語言不便於理解和記憶。

第二代計算機語言:匯編語言:匯編語言並不比機器語言高級多少。因為匯編語言其實就是機器語言的一種助記符。雖說匯編語言只是一種助記符,但是確實相比機器語言,它的易讀性更高

第三代計算機語言:高級語言:高級語言的話更加接近我們平時所使用的自然語言。

高級語言以1980年代為一個分界點:80年代之前的語言都是結構化語言,80年代之後都是面向對象語言。

三、解釋器和編譯器

使用高級語言寫出來的代碼,計算機是不能直接執行的,中間需要一個翻譯的過程。

翻譯器有兩種:

編譯器:一次性將我們寫出來的程序轉換為二進制。類似於生活中將整本外語書翻譯成中文。

常見的編譯性語言:C# Java

解釋器:逐行進行解釋。類似於同聲傳譯。

常見的解釋性語言:PHP JavaScript Ruby

相比解釋性語言,編譯性語言的速度更快。但是解釋性語言比編譯性語言更加靈活。

四、程序設計的步驟

編寫程序類似於我們的蓋樓房,需要先有一定的步驟

(1)分析問題

我們在進行程序開發之前,首先需要進行的就是分析問題。我們必須明確問題是什麽?用戶需求是什麽?

(2)確定數據結構和算法

數據結構:怎樣將數據存入到計算機裏面。

算法:解決問題的方法和步驟

(3) 編制程序

開始敲代碼實現具體的功能

(4)調試問題

我們寫出來的代碼,99%都是會出現錯誤的。接下來我們就需要對這些錯誤進行調試,直至達到預期結果。

一定程度來講,我們的代碼不是寫出來的,而是調試出來的。

五、常見的錯誤類型

(1)語法錯誤

這種錯誤類型是無法通過編譯的。這種錯誤是最容易發現和修改的。

(2)邏輯錯誤

這種錯誤是都符合語法規範,代碼能夠通過編譯,但是邏輯思維有問題,導致不能得到預期的結果。這種錯誤往往比較難發現

(3)開發錯誤

往往是指開發的時候偏離了用戶需求

(4)運行錯誤

語法,邏輯,開發方向都是正確的,這種錯誤往往出現於整個程序的算法有問題。這種算法導致內存泄露,存儲空間不足等。所以這個時候需要換一個算法

六、算法:所謂算法,就是指解決問題的方法和步驟。

算法可以分為兩大類:數值型運算算法和非數字型運算算法

數值型運算算法:求解數值,得到一個數值的答案

非數值型運算算法:往往應用事務的管理領域,比如搜索引擎,增刪改查

算法的特性:

一般來講,算法有5個特點:

(1)有窮性

一個算法應該包含有限的操作步驟而不能是無限的。

(2)確定性

算法中的每一個步驟都應該是有意義的,而不應該是含糊的,模棱兩可。

(3) 有零個或者多個輸入

根據算法的不同,有些算法在實現的過程匯總,需要輸入一些原始的數據

(4)有一個或者多個輸出

設計算法的最終目的就是為了解決問題,所以每個算法至少應該有一個或者多個輸出。

(5)有效性

每一個步驟都是能夠有效執行的。

七、算法的表示

算法的表示方法非常的多,例如:自然語言表示法,偽代碼表示法,流程圖表示法,N-S表示法。

(1) 自然語言表示法

就是利用我們平時所使用的語言,例如中文,英文來表示算法。

例如:交換墨水瓶

第一步:需要一個空瓶

第二步:將黑墨水瓶裏面的黑墨水倒入空瓶

第三步:將藍墨水瓶裏面的藍墨水倒入空的黑墨水瓶

第四步:空瓶中的黑墨水倒入空的藍墨水瓶

第五步:交換完成

(2) 偽代碼表示法

介於自然語言和計算機語言之間的一種方式。使用一些文字和符號來對算法進行表示。

例如:交換墨水瓶

第1步:A:黑墨水瓶 B:藍墨水瓶 C:空瓶

第2步:A → C (黑墨水倒入空瓶)

第3步:B → A (藍墨水倒入黑墨水瓶)

第4步:C → B (空瓶中的黑墨水倒入藍墨水瓶)

第5步:交換結束

(3) 流程圖表示法

流程圖又稱之為框圖,它用規定的一系列的圖形和流程線來表示算法。

JS程序設計基礎