程式概念速成--給剛接觸程式設計的初學者

程式概念速成--給剛接觸程式設計的初學者

緣起

小喵之前在公司裡面,應公司邀請在公司內開VBA for Excel的課程,上課的學員們有的有程式撰寫的經驗,有的在學校裡有學過一些程式語言,可是還有不少人,什麼是程式根本沒有概念。這樣的對象對於教學上是一種挑戰,大家的程度經驗不同,因此難易的掌握很不容易。於是小喵製作了一個這篇教材,讓有經驗的複習一下,沒經驗的可以在最短時間內(預計第一堂課,約3小時)可以知道基本的程式設計。經過這樣的內容,把大家的水平儘量拉到一致,讓學員不會發生不知道小喵在幹嘛的窘境。

這裡小喵將相關投影片內容分享給大家。


課程內容

  • 什麼是程式設計
  • 變數
  • A=A+1的迷思
  • 副程式
  • 事件觸發
  • 物件屬性方法
  • 迴圈

什麼是程式

  • 有順序的動作逐一進行
  • 生活中的程式設計:泡麵
    • 打開泡麵
    • 將泡麵放入碗中
    • 打開調味包並將調味料放入碗中
    • 放入開水
    • 浸泡三分鐘
    • 泡麵完成

什麼是程式(程式特性)

  • 循序:由上而下逐一執行
    • 泡麵過程回顧
  • 事件觸發:
    • 當我拍手:請男生起立女生坐下
    • 當我搖手:請女生起立男生坐下
  • 程式流程:不同的條件有不同的結果
    • 中午吃飯的起立
    • 其他請舉手
  • 重複的事:迴圈


變數

  • 用一個符號來儲存某個意義的數值
    • X:代表中午吃飯的人
    • Y:代表中午吃麵的人
  • 變數的運算
    • Z:中午吃飯+吃麵的人總共多少人
    • Z=X+Y
  • 資料型態:
  • 文字、數字、日期

A=A+1的迷思

  • 數學上不成立的式子
  • 程式上的意義
    • 後來的A = 原來的A + 1
  • A=A+B
    • 後來的A = 原來的A + B

副程式

  • 共通、許多地方用到的相同動作,抽出當作一個副程式
  • 蓋章:
    • Sub 蓋章(指定位置)
      • 拿起印章
      • 調整日期
      • 沾印泥
      • 將章蓋到指定位置
    • End Sub
  • 副程式好處:簡潔、修改方便

物件、屬性、方法

  • 物件:指的是一個存在個個體(例如汽車)
  • 屬性:用以描述車資的特性
    • 例如:顏色、廠牌、高度、寬度、長度等
  • 方法:物件的動作
    • 例如:前進、後退、轉彎

Excel中的物件、屬性、方法

  • Excel中是許多物件的組成
  • 物件中包含了物件
    • Excel檔案中有許多工作表
    • 工作表中有許多儲存格
  • 屬性:描述特性、或者內容
    • 儲存格中的文字:Range(“A1”).Text
  • 方法:一個動作
    • 某一列刪除

迴圈的意義

  • 電腦速度快
  • 重複的事情交給電腦
  • 程式中需重覆執行→迴圈
  • 迴圈的種類:
    • 已知次數:
      • For … Next
    • 條件設定
      • While ….Wend
      • Do … Loop while
      • Do … Loop Until

迴圈(For … Next)

  • 已知重複次數
  • 固定次數的重複
  • 實例:拍手5下
    • For x = 1 to 5
      • 拍手
      • 唸出x
    • Next

迴圈(While VS Until)

  • 依條件決定迴圈內外
  • 實例:拍手直到我說停
  • While:
    • 設定迴圈內條件
    • 符合→內
    • 不符合→離開
  • Until:
    • 直到
    • 設定離開迴圈條件
    • 不符合→內
    • 符合→離開


迴圈(While VS Until)

 

  意義 設定條件 符合條件 不符合條件
While 迴圈內 離開
Until 直到 離開迴圈 離開

迴圈(Do … Loop)

  • While/Until在前:先判斷再進入迴圈
    • Do While … Loop
    • Do Until … Loop
  • While/Until在後:先進入再判斷
    • Do … Loop While
    • Do … Loop Until

迴圈(Do … Loop Until)

  • Until:直到→設定離開條件
  • 不符合條件→迴圈內
  • 符合條件→離開回圈
  • 實例:
    • 拍手直到我說停
      • Do
        • 拍手
      • Loop Until (我說停)

迴圈(While … Wend)

  • 等同Do While … Loop
  • 實例:每拍一下手,數一次數,如果數字小於5
    • x=1
    • While (x<=5)
      • 拍手
      • 數數字(x=x+1)
    • WEnd

ps.

  1. 以上是講議的內容,當然真正上課時,還要舉例,也要學員配合動作(起立、坐下、拍手) ,儘量以生活上的例子、活動的方式讓學員了解什麼是程式設計
  2. 由於學員訓練的目的是為了技能競賽的考試,所以有關迴圈的部分,講得多一些,如果是實用班的人員大概只需要While/Until挑一種講即可

以下是簽名:


Microsoft MVP
Visual Studio and Development Technologies
(2005~2019/6) 
topcat
Blog:http://www.dotblogs.com.tw/topcat