pande
@pande1104
正在
Sun, Mar 26, 2017 6:55 PM
LEGO EV3主機神秘試驗(?)
pande
@pande1104
說
Sun, Mar 26, 2017 6:56 PM
前續
2017-1-15
[pande] 咕咕鐘亂亂看(程式)
2017-2-3
[pande] LEGO亂亂看(咕咕鐘:齒輪、程式)
pande
@pande1104
說
Sun, Mar 26, 2017 7:00 PM
進度整理
2017-2-21
[pande] (日常) 睡9個小時,終於補眠了
pande
@pande1104
說
Sun, Mar 26, 2017 7:03 PM
兩個問題
pande
@pande1104
說
Sun, Mar 26, 2017 7:04 PM
上次上課借了EV3主機回來
2017-3-24
[pande] (樂高) 太極生陰陽 下午畫LDD「SPM機械手臂...
pande
@pande1104
說
Sun, Mar 26, 2017 7:08 PM
第一個是屬於「迴圈Block」的 "count模式" 的問題
所以我複製咕咕鐘程式mission 4有問題(不懂)的點
開另外一個新檔案,貼上去,給EV3主機去跑
然後觀察它的數據即時顯示的情況
pande
@pande1104
說
Sun, Mar 26, 2017 7:16 PM
Sun, Mar 26, 2017 7:59 PM
首先我當然最先假定我不熟悉運作機制
所以需要更大量的觀察
這件事的不協調感來自於我知道count被用來重複動作
» count=2 會讓動作做兩次
那為什麼咕咕鐘裡面 count=60 卻不是讓動作做 60 次、
而是 59 次 (59秒) 然後在迴圈後面再加一個 wait 1秒?
pande
@pande1104
說
Sun, Mar 26, 2017 7:23 PM
還有,先前截圖有提到
咕咕鐘 count =60 的情況 count 值從 1 跑到 59 (跑59次)
那一般實作 count=2 如果從 1 跑,那只會跑1次、
而不是我知道的、事實上會動作的"2次"
這其中一定有古怪
所以我需要更多的觀察
pande
@pande1104
說
Sun, Mar 26, 2017 7:40 PM
這是結果
加了個儀錶板顯示做參照,不過看即時顯示就可以
重複咕咕鐘: count 值從 1 到 59
執行中"變更程式",count 值從 1 到 59
程式不改動,停止執行,再重新執行
count 值從 0 到 59
↑ 啥???
pande
@pande1104
說
Sun, Mar 26, 2017 7:48 PM
Sun, Mar 26, 2017 7:48 PM
不試還好
一試竟然發現…
嗯…
EV3的這個視覺化程式介面,這個
語言
根本只是做個樣子-仿真而已,它的運作並不是程式邏輯orz
實際上,有大不相同的機制在背後運作orz
pande
@pande1104
說
Sun, Mar 26, 2017 7:54 PM
這個「拖時間程式」
直接把外面迴圈的 conut 的起始值從 0 改成 1 了 XDD (是怎樣~
pande
@pande1104
說
Sun, Mar 26, 2017 7:56 PM
用 wait 等 1 秒
外面迴圈的 count 值就正常從 0 開始
pande
@pande1104
覺得
Sun, Mar 26, 2017 7:57 PM
Sun, Mar 26, 2017 7:57 PM
這也太假了吧
欺騙我的感情
(我要悪堕ち了
pande
@pande1104
覺得
Sun, Mar 26, 2017 8:04 PM
不對,我從來沒有不懷疑善過 (我在說什麼
pande
@pande1104
說
Sun, Mar 26, 2017 8:06 PM
廢話烙完 先來去睡
第二個問題明天再看看
pande
@pande1104
說
Tue, Mar 28, 2017 4:26 AM
==== (分隔線) ====
pande
@pande1104
說
Tue, Mar 28, 2017 4:27 AM
↑↑↑ 上面這就有點像是…
我只是想要釣條魚來吃,結果發現整潭湖水都是釣蝦場
pande
@pande1104
說
Tue, Mar 28, 2017 4:30 AM
Tue, Mar 28, 2017 4:37 AM
第二個問題先放一邊
第一個問題的後續是:
那麼是什麼(哪個block)影響外面迴圈的count?
它的運作機制?? 我想要稍微更具體瞭解一些
pande
@pande1104
說
Tue, Mar 28, 2017 4:40 AM
首先只留迴圈
從 0 開始
放回計時器
也是從 0 開始
那麼問題就出在運算囉?
疑? 運算??
pande
@pande1104
說
Tue, Mar 28, 2017 4:45 AM
Tue, Mar 28, 2017 5:09 AM
難道是… 其實「拖時間程式」也跑了60次,而不是59次?
因為運算把 count = 0 這次,直接跑過去了 (CPU很快)
時間太短所以沒有顯示??
跑60次,但是等59秒 (count=0 的第1次瞬間跳過)
pande
@pande1104
覺得
Tue, Mar 28, 2017 4:48 AM
Tue, Mar 28, 2017 5:09 AM
看起來就是這樣沒錯XDD ← 唉唷好害羞
pande
@pande1104
說
Tue, Mar 28, 2017 4:52 AM
所以上面整個試驗報告
問題出在「類比」
我把「拖時間程式」跟「wait=1」都以功能「等1秒」做歸類了XD
但其實兩者並不是
功能團塊
而是
運作機構
XDrzz
pande
@pande1104
說
Tue, Mar 28, 2017 5:00 AM
觀察方法本身影響試驗結果了
(薛丁格的貓ww
pande
@pande1104
說
Tue, Mar 28, 2017 5:03 AM
所以這個結論是錯誤的
程式邏輯還是程式邏輯,EV3平台還是程式邏輯
pande
@pande1104
說
Tue, Mar 28, 2017 5:06 AM
然後依據結論的這個延伸討論
就顯得很可笑了//(艸)//w
pande
@pande1104
說
Tue, Mar 28, 2017 5:19 AM
那麼這個錯誤的由來為何??
- 首先,不熟悉loop count的運作機制 (通過這次試驗熟悉了)
- 我對CPU做運算
動作
的概化認識
↑ 第二點要解釋一下
pande
@pande1104
說
Tue, Mar 28, 2017 5:25 AM
CPU的世界(也就是運算這個動作)其實是非常非常微觀的
在學習程式的時候,我們都從老師那邊學到
- CPU運算很快,非常非常快
相較於RAM一個動作,CPU已經做了幾千、幾十萬次的動作
這樣的一個概念
「拖時間程式」就是這樣一個東西
讓CPU拿timer的每個瞬間的資料去算
算到符合第幾次 count 再去到下一個 count
pande
@pande1104
說
Tue, Mar 28, 2017 5:42 AM
Tue, Mar 28, 2017 5:43 AM
這裡面包裹(保留)了一個未解的問題
- CPU到底有多快? 單一個機械式運算動作,花費多少時間?
從這個例子可以學到的是
CPU的單一運算時間是0
或者這樣認識:執行續開始的時候,執行環境是已經
佈陣
好的
也就是 program 的概念
(過去沒學好的總還是要繼續學
pande
@pande1104
說
Tue, Mar 28, 2017 5:52 AM
Tue, Mar 28, 2017 2:59 PM
結論(Result)和討論(Discussion)都已經先說了
來做個
形式上的
資料,補齊驗證w
把每次 count 分開顯示在儀錶板 Y 軸上
0 出現了
pande
@pande1104
說
Tue, Mar 28, 2017 5:53 AM
好啦~
第一個問題完全攻略
成功~
pande
@pande1104
想
Tue, Mar 28, 2017 5:59 AM
↑ 我覺得…這個對我人生有很重要的啟發ww (又來了
pande
@pande1104
想
Tue, Mar 28, 2017 6:01 AM
Tue, Mar 28, 2017 2:56 PM
人跟人互動都是「類比」
- 腦袋們互做「比喻」來交流訊息[
1
][
2
]
所有的溝通,比喻必然存在
那麼,所有不包含
動作
的
認識
,其中必然包含偏誤
pande
@pande1104
想
Tue, Mar 28, 2017 6:06 AM
所謂魔鬼藏在細節中
魔鬼藏在
比喻
中啊 ˘⌣˘
載入新的回覆
2017-1-15 [pande] 咕咕鐘亂亂看(程式)
2017-2-3 [pande] LEGO亂亂看(咕咕鐘:齒輪、程式)
2017-2-21 [pande] (日常) 睡9個小時,終於補眠了
2017-3-24 [pande] (樂高) 太極生陰陽 下午畫LDD「SPM機械手臂...
所以我複製咕咕鐘程式mission 4有問題(不懂)的點
開另外一個新檔案,貼上去,給EV3主機去跑
然後觀察它的數據即時顯示的情況
所以需要更大量的觀察
這件事的不協調感來自於我知道count被用來重複動作
» count=2 會讓動作做兩次
那為什麼咕咕鐘裡面 count=60 卻不是讓動作做 60 次、
而是 59 次 (59秒) 然後在迴圈後面再加一個 wait 1秒?
咕咕鐘 count =60 的情況 count 值從 1 跑到 59 (跑59次)
那一般實作 count=2 如果從 1 跑,那只會跑1次、
而不是我知道的、事實上會動作的"2次"
這其中一定有古怪
所以我需要更多的觀察
加了個儀錶板顯示做參照,不過看即時顯示就可以
重複咕咕鐘: count 值從 1 到 59
執行中"變更程式",count 值從 1 到 59
程式不改動,停止執行,再重新執行
count 值從 0 到 59
↑ 啥???
一試竟然發現…
嗯…
EV3的這個視覺化程式介面,這個語言
根本只是做個樣子-仿真而已,它的運作並不是程式邏輯orz
實際上,有大不相同的機制在背後運作orz
直接把外面迴圈的 conut 的起始值從 0 改成 1 了 XDD (是怎樣~
外面迴圈的 count 值就正常從 0 開始
(我要悪堕ち了不對,我從來沒有不懷疑善過 (我在說什麼我只是想要釣條魚來吃,結果發現整潭湖水都是釣蝦場
第一個問題的後續是:
那麼是什麼(哪個block)影響外面迴圈的count?
它的運作機制?? 我想要稍微更具體瞭解一些
從 0 開始
放回計時器
也是從 0 開始
那麼問題就出在運算囉?
疑? 運算??
因為運算把 count = 0 這次,直接跑過去了 (CPU很快)
時間太短所以沒有顯示??
跑60次,但是等59秒 (count=0 的第1次瞬間跳過)
問題出在「類比」
我把「拖時間程式」跟「wait=1」都以功能「等1秒」做歸類了XD
但其實兩者並不是功能團塊而是運作機構 XDrzz
(薛丁格的貓ww程式邏輯還是程式邏輯,EV3平台還是程式邏輯
就顯得很可笑了//(艸)//w
- 首先,不熟悉loop count的運作機制 (通過這次試驗熟悉了)
- 我對CPU做運算動作的概化認識
↑ 第二點要解釋一下
在學習程式的時候,我們都從老師那邊學到
- CPU運算很快,非常非常快
相較於RAM一個動作,CPU已經做了幾千、幾十萬次的動作
這樣的一個概念
「拖時間程式」就是這樣一個東西
讓CPU拿timer的每個瞬間的資料去算
算到符合第幾次 count 再去到下一個 count
- CPU到底有多快? 單一個機械式運算動作,花費多少時間?
從這個例子可以學到的是
CPU的單一運算時間是0
或者這樣認識:執行續開始的時候,執行環境是已經佈陣好的
也就是 program 的概念
(過去沒學好的總還是要繼續學來做個
形式上的資料,補齊驗證w把每次 count 分開顯示在儀錶板 Y 軸上
0 出現了
第一個問題完全攻略
成功~
- 腦袋們互做「比喻」來交流訊息[1][2]
所有的溝通,比喻必然存在
那麼,所有不包含動作的認識,其中必然包含偏誤
魔鬼藏在比喻中啊 ˘⌣˘