主題名稱摘要
Lucky貓的 UVA(ACM)園地
UVa Online Judge - 上傳
演算法筆記 -- Online Judge System
uHunt - Uva HuntinguHunt is a tool for UVa online-judge that keeps statistics, provide selections of problems to solve, and exposes a web API for other web developers to build upon it.
1上課簡報:Problem Solving and Programming
閱讀:Instrall Dev C++ - 學習C語言『Dev-C++ 』
自我介紹-問卷填寫
延伸閱讀:Timeline of programming languages
2100-1課程大綱
講在程式設計之前
講在程式設計之前(pdf)
上課簡報:Before programming
上課簡報:數字系統與資料表示法
3C Programming
Basic Input Output
格式化輸入與輸出(printf_scanf)PPThttp://www.fg.tp.edu.tw/~anny/blog/wp-content/uploads/2009/10/CH4_printf_scanf.pdf
4選擇結構_PPT
基本運算式 - Operation (ppt)基本運算式 - Operation (ppt)
選擇性敘述 (ppt)if..else
switch...case
break
continue
運算式與數學函式_PPT
運算式與數學函數-隨堂講義
選擇結構-隨堂講義
5上課簡報:for Loop / do..while Loop
Repetition
About UVa online Judge (ACM)
重複性結構 (Iteration structure)

重複性結構 

重複敘述式可讓程式設計師指定在某種條件持續為 True 時,重複執行同一項動作。

6Problem Solving Strategy / Algorithm
8ACM Online Judge - Upload Notes
10Array (陣列)-web Source

陣列(array)

定義:是一群具有相同名稱以及相同型別的記憶體位置。
若要引用陣列的某個位置或元素,我們必須指定陣列名稱,以及此元素在陣列中的位置編號。
例如:

int A[5];

A[3]=A[1]+A[2];

整數陣列的宣告

  • int student[5];
  • 意義:宣告了5個int大小的連續空間,名稱 為student,沒有預設值,則為系統殘值。
Array_ppt
Array_學習單
12陣列與字串
大數加法學習單
13期中考考古題-(1)
期中考考古題-(2)
15上課簡報- function(函式)發展和維護大型程式的最好方法,便是以較小的單元或模組(module)來建構整個程式。
這種技巧稱為各個擊破(divide and conquer)。
隨堂講義-Modularity Using Functions
Repetition觀念練習卷
Repetition觀念練習卷(解答)Repetition觀念練習卷(解答)
16模組化程式設計學習單

任務名稱:提款機模擬系統

任務說明:設計一個可模擬提款機的程式,包含餘額查詢、提款、存款、離開等五功能,請將存款餘額存入money.txt內,程式要能重複執行,且要能顯示提款時之『餘額不足』錯誤訊息

函式prototype

int check(void); //check密碼,正確傳回13次錯誤傳回0

void menu(void); //選單

int choice(void); //做選擇

void inquiry(void); //1.餘額查詢

void withdraw(void); //2.提款

void savemoney(void); //3.存款

void changepassword(void); //修改密碼

ATM.c(半成品)
ATM.exe (可執行結果)
17期末試題(含解答)
18期末學習歷程檔案內容與寒假作業
程式除錯技其實是一門藝術喔!!什麼是Debugger

很初學者都不知道,原來IDE還有Debugger可以使用,而什麼是Debugger呢?
它是一種可以一步一步執行程式,看程式執行到哪裡,變數的內容是什麼,其間呼叫了些什麼函數的工具,通常Compiler附有都會有這樣的工具,而IDE也都會有Debugger的介面可以使用,讓我們方便地找出程式的錯誤所在,觀察程式的運作,但課堂和課本上通常都不會教你這樣的工具使用方法。

ref : http://ez2learn.com/index.php/c-tutorials/dev-c-/203-dev-cdebugger
Trace 你的程式Compile
Set BreakPoint
(F8) Debug
Add Watch
232/12 前 回覆『分組意願調查表』 Dear ones,

本學期部分重要演算法觀念為全體同學必須修習內容,後續課程分專題組與競賽組進行。

-專題組(Project Team):學生選定專題方向後,需研讀相關書籍、網路資料與相關技術文件,藉由討論、meeting等方式主動學習專題所需之資訊應用技巧。利用課堂時間團隊分工合作完成專題製作,期末進行成果發表。專題方向可survey 校外資訊應用競賽之規則與要求,若能將專題成果參賽,對於資訊應用實力的養成將有很大的幫助。

-競賽組(Competition Team):著重程式設計技巧的提昇與競賽實力的養成。教師授課內容以重要演算法、資料結構、計算機概論、程式解題技巧為主,學生除了聽課、演練試題,更需勤練程式設計的各種題型,以提昇自我戰鬥力。小組間利用討論與分享,增進彼此戰力,於ACM Online Judge中展現團隊的最佳成效。預計參賽時間 5/25 (校內資訊能力競賽初賽)、10/初(校內資訊能力競賽複賽)、11/中旬(北市資訊能力競賽)與12月份台大主辦的全國網際網路程式設計競賽。

請參閱附件檔中的課程進度與安排,再行決定自己的意願哦(2/12前回覆即可) !!!
兩組都很有挑戰性,如果是妳喜歡的,就會因挑戰而感到趣味~~
Take it easy & Good Luck!!!

Anny 2012/02/07
100-2 程式設計入門課程 100-2 程式設計入門課程說明與進度表
25Analysis of Algorithm
簡報:Analysis of Algorithm
遊戲程式設計
資訊應用與程式競賽活動資訊
26排序演算法計算機科學數學中,一個排序演算法(Sorting algorithm)是一種能將一串資料依照特定排序方式的一種演算法。最常用到的排序方式是數值順序以及字典順序。有效的排序演算法在一些演算法(例如搜尋演算法合併演算法)中是重要的,如此這些演算法才能得到正確解答。排序演算法也用在處理文字資料以及產生人類可讀的輸出結果。
The Art of the algorithm
上課簡報 - Sorting Algorithm
排序演算法分析-- 參考(HeapSort)
排序演算法分析-- 參考(Bubble+quick)
測試數據 - 1000 - 1000000 筆測資
28專題意願調查
Structure 學習單
輸入檔說明 10
Anny 10030101 98 96 95
Mary 10030102 87 65 92
Jack 10030103 99 87 100
Jemery 10030104 95 92 99
Sandy 10030105 66 52 82
Sophia 10030106 54 52 88
Anita 10030107 88 92 98
Kiki 10030108 98 92 90
Anthony 10030109 66 76 86
Rose 10030110 88 94 92
測試檔下載:score.in
30Quick Sort # Quicksort–http://en.wikipedia.org/wiki/Quicksort
http://caterpillar.onlyfun.net/Gossip/AlgorithmGossip/QuickSort1.htm

# QuickSort 隨堂講義(PDF)
Bubble, quick Sort比較
FILE
32專題組-專案計畫書說明
指標 - Pointer指標是一種變數,用來存放變數在記憶體中的「位址」
33memory-allocate
34簡報檔:Data Structure & Algorithm (ppt)
PDF:Data Structure & Algorithm
簡報:Stack概念
PDF:Stack
競賽試題 - Stack & Queue
Stack應用 - 迷宮實作
Stack應用 - 迷宮概念說明
35【校內初賽複賽、北市賽】歷屆競賽試題(筆試、程式)-含解答 校內、北市賽歷屆競賽試題(筆試、程式)-含解答
電腦化運動競技大賽 (Rocar) - 競賽規則 電腦化運動競技大賽-
機器人程式設計比賽規則
機器人賽跑比賽規則
自走車撞球比賽規則

Rocar 程式設計 - 教學簡報資料來源:http://www.flag.com.tw/school/edm/rocarmain.html
Rocar 機器人(初級)講義
Rocar PK戰影片
Andorid - MIT App Inventor (for Education)

What Is MIT App Inventor?

Creating an App Inventor app begins in your browser, where you design how the app will look. Then, like fitting together puzzle pieces, you set your app's behavior. All the while, through a live connection between your computer and your phone, your app appears on your phone.

You can build many different types of apps with App Inventor. Often people begin by building games like MoleMash or games that let you draw funny pictures on your friend's faces. You can even make use of the phone's sensors to move a ball through a maze based on tilting the phone.

But app building is not limited to simple games. You can also build apps that inform and educate. You can create a quiz app to help you and your classmates study for a test. With Android's text-to-speech capabilities, you can even have the phone ask the questions aloud.

To use App Inventor, you do not need to be a professional developer. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior.

App Inventor 中文學習網

http://www.appinventor.tw/setup

環境建置

如何安裝Google App Inventor開發環境?

Google App Inventor為全雲端的開發環境,所有的動作皆在瀏覽器上完成 (建議使用Google Chrome)

您需要三件事:

1. Gmail帳號

2. Java, 測試電腦上是否可正確運行Java(測試頁面).

3. 安裝Google App Inventor軟體.
Android SDK 手機應用程式開發教學網路講義
NXT機器人程式設計範例全集

NXT機器人程式設計-董哥的範例全集

張貼者:2012/1/4 上午1:55董世尊 [ 已更新 2012/1/5 上午6:33 ]
本文章內的程式,是董哥教授「LEGO NXT 程式設計」的範例程式;
不過程式僅提供設計概念,同學們使用這些程式時,應自行調整裡
面的數值。

程式編號 程式名稱
=============================
NXT001走一圈
NXT002走三圈
NXT003倒車入庫
NXT004路邊停車
NXT005折返跑
NXT006衝過終點線
NXT007沿線走一圈
NXT008紅燈停、綠燈行
NXT009與「狼」共舞
NXT010妮真厲害
NXT011前進+打擊
NXT012紅牌打擊手

NXT013掌聲響起
NXT014離我遠一點
NXT015最初的所在
NXT016鬼影行動
NXT017搜尋敵?
NXT018搜尋敵?+攻擊

NXT019S藍芽啟動(控制端)
NXT019C藍芽啟動(被控制端)
NXT020S藍芽遙控車(控制端)
NXT020C藍芽遙控車(被控制端)
NXT021S藍芽遙控車(控制端)
NXT021C藍芽遙控車(被控制端)
LEGO NXT機器人程式設計初探https://sites.google.com/a/chsc.tw/tungsfamily/jiao-xue-zi-yuan/lego-nxt
3698-校內複賽筆試
99-初賽筆試
100-初賽程式設計
37Dijkstra's Algorithm - Concept and CodingThe Algorithm

Dijkstra’s algorithm is one of the most common solutions to this problem. Even so, it only works on graphs which have no edges of negative weight, and the actual speed of the algorithm can vary from O(n*lg(lgno)) to O(n2).
(PDF)Solving Shortest Path Problem: Dijkstra’s Algorithm
UVa 523: Minimum Transport Cost There are N cities in Spring country. Between each pair of cities there may be one transportation track or none. Now there is some cargo that should be delivered from one city to another. The transportation fee consists of two parts:

1.
the cost of the transportation on the path between these cities, and
2.
a certain tax which will be charged whenever any cargo passing through one city, except for the source and the destination cities.
You must write a program to find the route which has the minimum cost.
38Algorithm Gossip: 超長整數運算(大數運算)基於記憶體的有效運用,程式語言中規定了各種不同的資料型態,也因此變數所可以表達的最大整數受到限制,例如123456789123456789這樣的 整數就不可能儲存在long變數中(例如C/C++等),我們稱這為long數,這邊翻為超長整數(避免與資料型態的長整數翻譯混淆),或俗稱大數運算。
PPT: Big Number
大數加減乘除請務必學會~~
程式實作-大數運算(前處理-大數運算-後處理)
阿南學姐說-大數加法【反轉】【非反轉】非反轉向右對齊版
Code 線上版 http://src.wtgstudio.com/?ZU3l4nCode下載 http://aikosenoo.googlepages.com/bignum_add.c
反轉版本
Code 線上版 http://src.wtgstudio.com/?ujs7CFCode下載http://aikosenoo.googlepages.com/bignum_addr.c

39資訊能力競賽賽前模擬筆試題 (含解答) 資訊能力競賽賽前模擬試題
資訊學科能力競賽賽前模擬程式設計題(含測資) 請做答第1或第2題,註解上標示班級、座號、姓名
並上傳程式碼
40101校內資訊學科能力競賽初賽-筆試題
101校內資訊學科能力競賽初賽-筆試解答
101校內資訊學科能力競賽初賽-程式設計題
41程式設計選修期末測驗(含解答)
42資訊能力競賽暑期培訓計畫資訊能力競賽暑期培訓計畫
資訊能力競賽暑期培訓營問卷資訊能力競賽暑期培訓營問卷