發表文章

不知道要看什麼就從我開始吧~

2020/02/09(日)影片測試

測試有無辦法下載 If you cannot see the audio controls, your browser does not support the audio element

2019/09/24(二)【ITSA】[C_AR04-易] 邊緣偵測

    近期因為教學工作有接觸到解題相關的部分,不過我對解題的歷程是這樣的,我本身不是由這條路(解題)培養起來程式能力的,而是走算很 Hardcore 的路線讀學術書,哪科沒修過就修,所以解題需要的技巧,還要時間來培養培養,那就回到幾個解題網站練個手。 題目 問題描述 :       一個二元圖形通常用一個二維陣列表示,其中的值為0或1,即為淺色(以1表)圖形在深色(以0表)的背景中。在分析圖形時往往需要找出其邊緣,稱之為邊緣偵測。所謂”邊緣”即為一個1的pixel其上下左右至少有一個為0。寫一個程式讀入二元圖形,輸出該圖之邊緣。 輸入說明 :       第一行為一個正整數N,代表共有幾組測試資料。之後接下來有N組數據,每組第一行為兩個正整數n及m,表示二元圖形的大小為n×m的矩陣,之後n行每行有m個數字(1 ≤ n,m ≤ 100 ,每個數字後面都有一個空格字元),分別是0或1,即為該組測試資料之二元圖形。 輸出說明 :       將不是邊緣的點以底線‘_’表示,邊緣的點則以0表示,每組測資答案按照該組測資給予的 矩陣大小輸出於n行,每輸出一個點,後面即輸出空格。每組測試資料結果與前一組之間空一行。 範例 : Sample Input: Sample Output: 2 5 7 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 8 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _ _ _ _ _ _ _ _ _ 0 0 0 _ _ _ 0 _ _ _ 0 _ _ _ 0 0 0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 0 0 _ _ _ 0 0 _ _ _ 0 _ _ 0 _ 0 _ _ 0 _

4/9(一)Visual Studio Code - 偵錯配接器處理序已意外終止問題(Debug adapter process has terminated unexpectedly solution on Windows 10)

圖片
        最近在使用 Visual Studio Code (以下簡稱 vscode)時,出現了「偵錯配接器處理序已意外終止」(英文關鍵字:Debug adapter process has terminated unexpectedly),在解決的過程中發現沒有看什麼公開的中文資料,所以整理一下分享給大家,希望可以或多或少有幫助。         故事是這樣的,前天我剛打完 code,興高采烈地準備要偵錯的時候,突然出現了以下的訊息,殺得我一個措手不及:         直接一個嚇到啊,明明昨天使用還好好的,而且對於大部分使用者來說,並無自行設定對應的輸出 log 檔來查看錯誤訊息,這個錯誤訊息也只有關閉的按鈕可以選擇,對使用者不太友善啊(這部分過於 expert friendly)。         後來稍微摸索一下( Github - "Debug adapter process has terminated unexpectedly" issues ),發現大部分的開發人員遇到狀況,主要可分兩種原因(一)vscode 更新至 1.22.1 版本時出現官方 bug;(二)更新後與原先的擴充套件產生衝突而導致。         基於以上兩點,我一開始先是刪除目前的最新版本,隨後立即安裝舊版(可以進入 這個網頁 選擇自己適合的版本),因為是更新後才出問題,所以我便先安裝前一版本,結果還是出現以上的錯誤訊息,不過我建議在日後如果發生了更新才出錯的狀況,這種做法在大部分的情況下還算不錯有效的。 第一個方法失敗後,基本上就開始找第二種狀況的解法,花了一些時間,找到了 這篇 ,裡面有位開發者  Don Jayamanne  (這位 Developer 在 vscode 中,有貢獻過一個算是很受歡迎的擴充套件[1])提供了目前算是可以解決的方法,所以接下來就以我實際的解決流程依步驟來示範一次: STEP 1:         首先,根據上述的回應,我們可以知道要先到存放 extensions,也就是擴充套件的存放位置,這裡有兩種方法(一)開啟 vscode,按下「Ctrl + Shift + P」後,輸入「Extensions: Open Extensions Folder」,即可

3/30(四)買 30本送一件(?!

圖片
  打完 FPGA,就把這僅存的精神力給電路學吧(?!沒有啦~不過事情是這樣的,喔幹,想到就想笑 XDDDD~   首先 事情是這樣的,這是我們獅子座零缺點地表最強工程X學 + 溝X與表X的 阿告老師 !!!!!!!! , 好,其實本來我並沒有查覺到這張照片中即將出現的亮點,直到有位尾田教的信徒點出,不過在公布答案前,大家可以再看看,到底亮點在哪? 那我來說說尾田教信徒的臺詞吧, 「老師今天穿電路學來上課」 「老師今天穿電路學來上課」 「老師今天穿電路學來上課」 欸欸欸欸欸欸欸欸欸欸欸欸!!!! 等等等等等等等等等等等等等!!!!!!!!! 我馬上打開我的 小紅點 , 找到下面這張圖片, 根本是如出一轍的風格啊!!!!!!!!! 我當下幹他馬的笑噴,真的大爆幹笑 XDDDDDDDDDDDD 可是就很討厭的, 機掰個性會害死人就是在講我, 「如果把兩個圖片合在一起,應該無違合吧」 所以我就在另外兩人的慫恿下 (我媽云:我兒子很乖,都是因為交到壞朋友), 做出了以下可能會讓我吃上不少麻煩並且被高分當掉,但是我也笑到不行的舉動~     各 位 觀 眾 Introduction to ELECTRIC CIRCUITS 10th Edition !!!!!!!!!!!!!!! 不過手部有點空,就把那顆球球移上去惹 XDDDDDDDDDDD         看吧!!!!!真的超級無違和!!!!!!可惜圖片不是最佳狀態,不過這也花不長時間,只是在下課前 20 分鐘,只是沒想到效果真的還不錯 XDDDDDDDDDDDDDDDDDD,好啦,老師對不起嗚嗚嗚嗚((ORZ    

3/22(三)Symbol & Variables

        今天就來繼續記錄組語心得,現在終於找到另一個好用的 blog,本來想繼續用痞客幫,不過現在後台管理改超爛,所以現在來試試新東西。         要講今天的主題前,先來複習一下在 C 語言中 #define 的用法,範例如下:         /*                     #define [symbol] [與指定之內容]         ex:       #define     PI        3.14                  */         而在編譯的時候(Compile),這種被 define 的部分,會先經過一個過程為 Symbol replacement / Macro extension,只要經過這個過程,就會將被 define 的部分,存入 Symbol table 中,而最後剩下的就僅有其內容,範例如下:                      /*                        include <stdio.h>                        #define PI 3.14                        int main(void)                        {                              float r = 1.0;//半徑                              printf("%f\n", r*r*PI);                              return 0;                         }                      */                                            ↓   Symbol replacement / Macro extension                                            ↓                                         [Symbol Table]

3/14(二)Little Endian Order

  恩好,拖過一天,到底甚麼是 Little Endian Order 呢?就先來說說電腦儲存的方式,從非常簡單的部分來說,人類使用的語言我們稱作自然語言,基本上是有著眾多分類以及複雜的系統所組成,而以目前的架構所組成的電腦或是我們稱之為計算機的東西,看得懂的只有機器碼,也就是 1 與 0 的訊號,若以進制的說法,就是儲存了二進制(Binary)的機器碼,那怎麼轉換成二進制呢?這裡就來簡單說明一下,一般來說有很基本的兩種方式可以把我們所常用的十進制數字轉換成二進制,我稱為以下: (一)長除法   我們假設要轉換的數字為 13,我們所要做的即是將除數設定為 2,做法如下:     13 / 2 = 6 ... 1     6 / 2 = 3 ... 0     3 / 2 = 1 ... 1     1 / 2 = 0 ... 1    以最下方的 1 為 MSB(最大位元),最上方的 1 為 LSB(最小位元),依照順序列出即為: 1101 b(b 表示二進制),而此串數字即為 13 於二進制系統中的表示方法,若是用八個位元來看,即為 0000 1101 b。 (二)二的乘幕   這種方式比較適合對於二的乘幕較熟悉的人來使用,在此我們也用 13 為所求之十進制數字,如先從 2 的乘幕來看(以八個位元為例):   2^7 = 128| 2^6 = 64| 2^5 = 32| 2^4 = 16| 2^3 = 8 | 2^2 = 4| 2^1 = 2| 2^0 = 1      128 64 32 16 8 4 2 1 若用八個位元的二進制來對照:        0 0 0 0 0 0 0 0    聰明如妳(你)這時候一定看得出來,13 可以被拆解成 8 + 4 + 1,若我們在有的數字部分,改為 1,如果用上表來對照,即可得:        0