發表文章

目前顯示的是 6月, 2019的文章

調整 Lubuntu 的一些小技巧(Several tips for Lubuntu)

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 在安裝裝好 Lubuntu 後,底下是筆者覺得可以做調整的事項。 1. 啟用額外的套件(Enable additional package repositories): 可以在Package Manager找到類似下圖的選項(筆者使用Muon Package Manager。)在 Ubuntu Software 分頁將自己要用的選項給打勾: (Check the following options in the lubuntu package manager) 2. 系統更新(System Updating): sudo apt update sudo apt upgrade sudo apt dist-upgrade 3. 安裝常用工具(Installing common utilities): sudo apt-get install numlockx parcellite 4. 防火牆設定(Enable Firewall): sudo ufw enable sudo ufw disable sudo apt install gufw 5. 安裝媒體編碼套件(Install media codec): sudo apt install lubuntu-restricted-extras sudo apt install libavcodec-extra sudo apt install libdvd-pkg 6. 系統清理(System cleanup): sudo apt-get autoclean sudo apt-get clean sudo apt-get autoremove 7. 系統加速(Speed up system): Install preload package sudo apt-get install preload

直線與斜率之 Scratch 3 程式

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 學過直線方程式的人,會知道2維(2D)空間的直線方程式為: 。而且我們可以用線上工具  https://www.desmos.com/calculator  來畫出幾個直線方程式的圖形: 從 Wikipedia對斜率的說明 ,可以得知有三種計算公式: 點斜式 、 兩點式 、 斜截式 。於是筆者設計了 Scratch 程式來讓電腦來畫圖。 Scratch 點斜式: https://scratch.mit.edu/projects/318807817 Scratch 兩點式: https://scratch.mit.edu/projects/318869134 Scratch 斜截式: https://scratch.mit.edu/projects/318957241

偷插電的資訊科學:用數字表示顏色之 Scratch程式

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 配合 偷插電的資訊科學:用數字表示顏色 來使用。Scratch程式連結: https://scratch.mit.edu/projects/181995090 以二進位的方式來顯示圖形。 操作方式: 1. 按下綠旗產生基本圖形。 2. 點選一個正方形,會顯示黑色或白色。 3. 點選 Binary On/Off 按鈕來切換顯示方式。

Python 重複式迴圈語法

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 在不考慮意外事件下,我們一年365天,每天都會吃三餐:早餐、午餐、晚餐。若Python要寫個模擬每天用餐的程式要怎麼寫呢?可能會有下面的寫法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 print ( '第1天吃早餐、中餐、晚餐' ) print ( '第2天吃早餐、中餐、晚餐' ) print ( '第3天吃早餐、中餐、晚餐' ) print ( '第4天吃早餐、中餐、晚餐' ) print ( '第5天吃早餐、中餐、晚餐' ) print ( '第6天吃早餐、中餐、晚餐' ) print ( '第7天吃早餐、中餐、晚餐' ) ... ... ... print ( '第359天吃早餐、中餐、晚餐' ) print ( '第360天吃早餐、中餐、晚餐' ) print ( '第361天吃早餐、中餐、晚餐' ) print ( '第362天吃早餐、中餐、晚餐' ) print ( '第363天吃早餐、中餐、晚餐' ) print ( '第364天吃早餐、中餐、晚餐' ) print ( '第365天吃早餐、中餐、晚餐' ) 哇!哇!哇!我們寫出上百行的程式碼囉!但是好像 複製( C opy)與貼上( P aste)居多, CP值超高 的程式師誕生了 。恭喜,恭喜,恭喜。 一年過去了,在某天的下午,這位 CP值超高 的程式師翻起「蟒蛇Python養成日記」一書,看到書中的一個程式範例: 1 2 for day in range ( 1 , 366 ): print ( '第' + str (day) + '天吃早餐、中餐、晚餐' ) !!!程式師大驚!!! ???心想這是什麼寫法與觀念啊??? 為什麼程式跑出來的結果和我一年前寫的一模一樣啊?! 於是程式師再度踏上學習之路,要好好學習這神奇的魔法:「重複式迴圈」。為了讓自己的學習更有...

Q腳獸試玩

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 筆者手上的這套是由 喬智創意機器人 所提供的。要組好Q腳獸的材料如下: BBC micro:bit 開發板體驗包套件組 MbitBot 多功能板 Q腳獸材料包 聚合物鋰電池-1000mAh 3.7V 筆者依照「 micro:bit X MbitBot 創造Q腳獸(一) 」來組裝,未拆封的零件包如下圖: 組裝過程的一些照片如下: Q腳獸組裝好後如下圖所示: 接著依照「 趣玩MbitBot 單元(一) 用micro:bit 動起來! 」與「 micro:bit X MbitBot 創造Q腳獸(二) 」來實作 前進 的功能,筆者的測試影片如下: 再來就是 後退、左轉、右轉 等功能。 完整程式碼 如下: Demo 影片: 以上都是用積木式的方式來寫程式,但筆者想用Python來控制,此部分留待下次的文章囉。

APCS解題技巧

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 底下分享筆者在解APCS實作題相關題目(如 高中生解題系統 、 LeetCode 、 UVa Online Judge 、 HackerRank 等)以及APCS觀念題所用到的技巧。 一、看懂題目 這一點是最重要的,因為看不懂APCS的題目時,也就等於準備交白卷啦。但請在仔細想想,若看不懂題目時,要怎麼辦呢?這部分要怎麼讓自己增加看懂題目的能力呢? 請嘗試看很多不同的題目並看懂,但先不要解題。 請嘗試看很多不同的題目並看懂,但先不要解題。 請嘗試看很多不同的題目並看懂,但先不要解題。 為什麼要這樣子做呢?因為我們不知道APCS的題目類型會是怎麼樣,讓自己熟悉不同類型的題目時,就可以很快地知道題目的重點在那兒。底下分別以幾個例子說明APCS觀念題與實做題的一些題目類型。 觀念題部份 (圖取自 APCS官方提供的歷屆試題 ): 以上幾題主要是考 遞迴函式 的觀念,也包含 函式 、 迴圈 、 判斷 、 陣列 等觀念。 實做題部份 (圖取自 APCS官方提供的歷屆試題 ): 這部份的每一次考試的試題會有四題, 題目幾乎都是由易入難(第一題最簡單,第四題最困難) ,且每題都會說明評分方式,因此會有 部份給分 的情況,所以 作答時應依自己最容易取得分數的部份開始做起 。 二、分析題目 遇到不熟悉的觀念題題目時,可以先用紙筆將程式的每一行程式碼執行結果記錄下來,這樣子可以了解程式碼的運算結果是什麼,接著再來分析這些結果有什麼規律來找出規則。實作題部份都會說明題目以及範例說明,基本上也是得看懂題目才能想出解法。根據官方所提供的實作題: 2017-10-28_實作題_試題下載 、 2017-03-04_實作題_試題下載 、 2016-10-29_實作題_試題下載 、 2016-03-05_實作題_試題下載 。可以了解到,考題都是偏向要想出演算法來解題,所以除了程式語言的語法觀念外,還需熟悉一些基礎演算法,例如 排序 、 搜尋 、 堆疊 、 佇列 等觀念。主流的程式語言通常會有這些常見演算法的函式可用,這部份在後面說明。 三、善用工具 朋友們有看過本部落格的「 APCS 解題:特殊編碼 」這...

APCS 實作題 10610 第1題邏輯運算子參考解法

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 題目說明請看高中生解題系統上的「 c461: apcs 邏輯運算子 (Logic Operators) 」或是底下圖片。 此題考C語言的「 非零為True之觀念 」,解法很單純, 將非零的數值轉為True ,以及邏輯運算就可以了。筆者用四種版本的語言來實作。 C 語言: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include <stdio.h> #include <stdbool.h> int main () { int a, b, c; while (scanf( "%d %d %d" , & a, & b, & c) == 3 ) { // 非零轉為True if (a > 0 ) a = true ; if (b > 0 ) b = true ; c == 1 ? true : false ; bool hasAns = false ; // 邏輯運算結果 if ( (a & b) == c ) { printf( "AND \n " ); hasAns = true ; } if ( (a | b) == c ) { printf( "OR \n " ); hasAns = true ; } if ( (a ^ b) == c ) { printf( "XOR \n " ); hasAns = true ; } if ( hasAns == false ) printf( "IMPOSSIBLE \n ...

Git repository 入門觀念與使用

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 筆者的部落格有兩篇與git有關的文章,分別為: git 的五四三 程式碼控制軟體Git 介紹 ( Slides for Introduction to git ) 而本篇為筆者要複習以前所學的筆記。我們都已經安裝好 git 了,且示範的作業系統為 Lubunt 18.10 。。 基本設定 在使用git的時候,會需要committer的一些資訊,例如名稱、電子郵件等,這時候我們可以透 過 git config 的指令來設定。而 git config 的詳細說明可以參考 https://git-scm.com/docs/git-config 。底下指令就是用來設定 committer 名稱與電子郵件: git config --global user.name "Holan.Liao" git config --global user.email Holan@your.email.address 也可設定編輯器(Editor),底下為設定使用 vim 做為編輯器: git config --global core.editor vim 若是在Windows系統上時, git config --global core.editor "'C:/Program Files/YourProgramFilePath' -multiInst -nosession" 換行結束符號設定: git config --global core.autocrlf input git config --global core.safecrlf true Color Highlighting: git config --global color.diff auto git config --global color.status auto git config --global color.branch auto or git config --global color.ui auto 顯示目前的設定: git config --list 建立 Repository 在建立 git repo...

TensorFlow Playground 簡易介紹 (Introduction to TensorFlow Playground)

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 TensorFlow Playground 是機器學習的視覺化實驗平台,TensorFlow Playground 是一個用JavaScript開發而成的網頁,可讓您在瀏覽器中模擬神經網路,藉由點選按鈕調整參數來體驗並了解神經網路是如何運作的,網頁的畫面如下圖: 上圖可以看到神經網路的 資料集(Data) 、 輸入層(Features) 、 隱藏層(Hidden Layers) 、 輸出層(Output) 。從調整這幾個參數,朋友們可以慢慢了解神經網路的基本架構觀念。想了解細節的朋友們,可參考此連結的資料  https://www.zhihu.com/question/42995089  。快來試試點選、點選、點選,就可以把玩神經網路的 TensorFlow Playground !!!

Scratch 3 官方線上教程

圖片
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 想了解Scratch 3的朋友們,可以參考底下影片: Scratch 官方有提供線上教材,進入 線上版的Scratch ,點選 教程 後: 可看到如下畫面: 以點選 新手入門 為例,點選後會看到如下畫面: 可看到教程顯示在畫面上(上圖紅色矩形內)。對 動畫 或 遊戲 有興趣的朋友們,可點選教程內的 動畫 或 遊戲 分類: 接著我們就可以依照官方的教材建立 Scratch動畫與遊戲設計 的基礎觀念,有基礎後,就可以發揮自己的想像力創造出屬於自己的獨一無二的動畫或遊戲了。

APCS 實作題 10706 第1題特殊編碼參考解法

圖片
此題為APCS 2018 年 6 月檢測的第一題,題目來源為吳邦一老師所提供的「 APCS 2018 年6 月實作題檢測題目分析與解答 」,題目內容如下: 此題在高中生程式解題系統的題號為: e283: APCS 類似題 - 小崴的特殊編碼 筆者採取比較取巧的方式:「 查表法 」。於是就用字典來實作,Python程式碼如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 讀取正整數 N n = int ( input ()) # 字母編碼的對應表 decodeL = { '0 1 0 1' : 'A' , '0 1 1 1' : 'B' , '0 0 1 0' : 'C' , '1 1 0 1' : 'D' , '1 0 0 0' : 'E' , '1 1 0 0' : 'F' } num = [] # 讀取每一行的字母編碼 for i in range (n): num . append( input ()) # 查表輸出對應的字母 for i in range (n): print (decodeL[num[i]], end = '' ) 註:此Python在高中生解題系統會拿到 83% 的分數,要怎麼修改成 100%呢? Python 程式碼第二版 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import sys # 字母編碼的對應表 decodeL = { '0 1 0 1' : 'A' , '0 1 1 1' : 'B' , '0 0 1 0' : 'C' , '1 1 0 1...