2018年9月29日 星期六

叫貓咪數數、算數


□Unit 3-1: 從1數到N
子主題: 叫貓咪數數

討論: 數數規則? 電腦如何數數? (分組討論、發表或教師提問)
     電腦如何知道要數到哪裡?
參考檔案: 叫貓咪數數.sb2
   
演算法: 從1數到n
解法一:
※從1數到4: 從多個積木,到運用迴圈簡化
討論:
   變數作用? 變數是主記憶體一塊空間,可以用來存放資料,可取出、歸0、改變(放入新的、變動的內容)
   迴圈作用?要電腦重複執行相同步驟/指令/積木,但數值要改變
            
     固定無彈性                           許多重複積木且無彈性   運用重複執行(迴圈)減少、積木數

※N由操作者決定(輸入積木),從1數到N
N值由玩家輸入,且存放在
      輸入數值為5,從1數到5,如下

      
 
主要積木說明:
輸入積木: 
輸入數值存放在 
建立變數,設定變數i初值: 
改變數i數值:   (i加1,如i原本為5,改變1,會變成6)
改變數i數值:    (i減1)
利用字串組合將數數過程連接起來,放入變數msg: 
輸出數數過程: 
討論: 如何數n~m (例如4到11或 11到3 )?如何只數偶數(例如2,4,6,8,….)或奇數?
評量: 實作數偶數 或 數n~m
挑戰: 由大往下數m~n


□Unit 3-2: 1+2+....+n
子主題: 叫貓咪算數:1+2+....+n
討論特性: 電腦如何累加? (分組討論、發表或教師提問)
參考檔案: 叫貓咪數數.sb2
   
演算法:
解法:
變數i的初值為0
~~~total~~~
輸入數值,且放入變數n
重複n次
{
 i <- br="" i="">=i + 1
<- br="" i="">total = total + i
<- br="" i=""><-total br="" i="">}
輸出total
實作1:

討論:如何追蹤圈內變數內容的變化?
 內容為設5,迴圈中i及total變數內容變化
回合    i    total   
進入迴圈前    0    0   
第1回合    1    1    Total<-0 br=""> 
<- br="" i=""><-total br="" i=""><-0 br="">第2回合    2    3    Total<-1 br=""> 
<- br="" i=""><-total br="" i=""><-0 br=""><-1 br="">第3回合    3    6    Total<-3 br=""> 
<- br="" i=""><-total br="" i=""><-0 br=""><-1 br=""><-3 br="">第4回合    4    10    Total<-6 br=""> 
<- br="" i=""><-total br="" i=""><-0 br=""><-1 br=""><-3 br=""><-6 br="">第5回合    5    15    Total<-10 br="">   

<- br="" i=""><-total br="" i=""><-0 br=""><-1 br=""><-3 br=""><-6 br=""><-10 br="">實作2:改變輸出訊息(最後符號為+或=)
     
討論:上述1+2+…+n,有無更快做法?(但本程式在於訓練迴圈方法)
(1+n)*n/2

     
 

沒有留言:

張貼留言