熱門:

2022年11月5日

林邦源 商管啟示

【30天免費閱讀】編寫電腦程式

今天很多人都懂得如何用手機上的應用程式,小孩也好,長者也好,都懂得基本的操作。不少人也學習了Microsoft微軟的Office辦公室軟件Word、Excel、Powerpoint等,只要有心,有方法,要學習編程,也不困難。

我們懂得用計數機,也懂得用Excel,我們也可以由淺入深去學習編程,例如,我們下載了微軟的Excel,啟動軟件,就可以看到表格,輸入數值,之後將多個數值的總和計算出來,看着視頻,跟着照做,就會知道怎樣在電腦上打=sum().

我現在的課程會教學生如何用R語言或Python語言去編寫程式,我的方法也是由淺入深,首先是下載及安裝軟件,之後啟動,第一個簡單的程式就是將兩個數值加起來,就好像用計數機輸入2+3,按=之後得到5,在電腦上一樣是輸入2+3,之後是按鍵盤上的return鍵。

R語言及Python語言都可以免費下載的,網站如下:
www.r-project.org
www.python.org

不同的電腦語言有不同的語法,就好像中文、英文、德文、法文、日文也有不同的語法,電腦語言的語法大同小異,例如要將數值2儲存到variable變量X,R選擇用了4個鍵盤上的鍵X<-2,而Python則選擇用了3個鍵X=2
R
X<-2

Python
X=2

要將兩個數值加減乘除就好像用計數機一樣。
R
X<-1+2-3*4/5

Python
X=1+2-3*4/5

和我們讀數學是一樣,也是先乘除後加減。
3*4/5的結果是2.4
所以X的數值是1+2-2.4,結果是0.6。

要告訴電腦顯示出X的數值,我們只要
print(X)
R和Python一樣都是用print。

我能說和聽廣東話、英語、普通話,也可以用R語言、Python語言、Excel來編寫電腦程式,因為有需要,不同的電腦語言及軟件都可以讓我們用通用的文字檔案形式去提供資料,例如,當我們有3個學生,一個男生,兩個女生,身高分別是180cm、170cm、160cm,體重分別是72kg、70kg、60kg,我們可以用Excel輸入資料,之後選擇File, Save as, File format Comma-Separate Values(.csv),我們就可以創造出以下的文檔給R或Python去讀入,在以下的例子,我選用了檔案名稱Students.csv
檔案的內容如下
StudentID,Gender,Height,Weight
1,F,180,72
2,M,170,70
3,M,160,60

R語言簡單一些,只要用以下的一行編碼,就可以讀入資料了。
s<-read.csv("Students.csv")
如果要電腦將內容輸出,我們可以加一行編碼,
print(s)

Python則要多先安裝pandas,
pip install pandas
之後是用兩行編碼,
Import pandas as pd
s=pd.read_csv("Students.csv")

編程最有趣的地方是想到如何用逐步逐步去解決一個不容易的問題。
例如有5個數字,6,7,8,4,2,我們一看就可以將5個數字順序排列成2,4,6,7,8,人腦是十分聰明的,5個數字難不到我們,一萬個數字呢?

今天大家都知道電腦可以做到,但電腦也是人創造出來的,原來編程的步驟十分簡單,是在5個數目字中找出最細的數值2,將2排在第一位,即將2與6對調,
2,7,8,4,6.

好了,第一個位置是正確的,新嘅問題是如何將4個數字7,8,4,6由小至大排列,要解決這個問題和解決5個數目字的問題邏輯是一樣的,將4個數字中數值最細的數值4與7對調。
2,4,8,7,6.

新的問題是如何將3個數目字8,7,6由小至大排列,將3個數目字中數值最細的6與8對調。
2,4,6,7,8

最後的問題是如何將2個數目字7,8由小至大排列,將2個數目字中數值最細的7與7對調。
2,4,6,7,8

程式到此結束,以上的方法可以解決5個數字,也可以解決一萬個數字,或任何多個數字,這排列方法叫Bubble sort,懂這方法後,就可以用不同的電腦語言去編寫程式。

作者為香港中文大學商學院市場學專業應用副教授、EMBA課程主任 

訂戶登入

回上

信報簡介 | 服務條款 | 私隱條款 | 免責聲明 | 廣告查詢 | 加入信報 | 聯絡信報

股票及指數資料由財經智珠網有限公司提供。期貨指數資料由天滙財經有限公司提供。外滙及黃金報價由路透社提供。

本網站的內容概不構成任何投資意見,本網站內容亦並非就任何個別投資者的特定投資目標、財務狀況及個別需要而編製。投資者不應只按本網站內容進行投資。在作出任何投資決定前,投資者應考慮產品的特點、其本身的投資目標、可承受的風險程度及其他因素,並適當地尋求獨立的財務及專業意見。本網站及其資訊供應商竭力提供準確而可靠的資料,但並不保證資料絕對無誤,資料如有錯漏而令閣下蒙受損失,本公司概不負責。

You are currently at: www.hkej.com
Skip This Ads