Speaker: Liu Yu-Jiun Date: 2009/04/08

Slides:



Advertisements
Similar presentations
Introduction to Java Programming Lecture 10 Method Benefits, Declaring, and Calling Methods.
Advertisements

FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
Introduction to Java Programming Lecture 13 Classes I OO Programming.
建立使用案例敘述 --Use Case Narrative
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
“Rule” By OX. By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資
Instructor: Ching-Chi Lin 林清池 助理教授
3Com Switch 4500 切VLAN教學.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
What is static?. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1; this.instanceX =
Lecture 8 Median and Order Statistics. Median and Order Statistics2 Order Statistics 問題敘述 在 n 個元素中,找出其中第 i 小的元素。 i = 1 ,即為找最小值。 i = n ,即為找最大值。 i = 或 ,即為找中位數。
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
JAVA 程式設計與資料結構 第二章 JAVA 程式基本概念及操作. 第一個程式 /* * 這是第一個程式 (FirstP.java) */ class FirstP{ public static void main(String args[]){ System.out.println("Whatever.
第 13 章 常數、靜態成員與朋友關 係 13-1 常數物件與成員 13-1 常數物件與成員 13-2 物件成員與巢狀類別 13-2 物件成員與巢狀類別 13-3 靜態成員資料與函數 13-3 靜態成員資料與函數 13-4 朋友關係 13-4 朋友關係.
1 Introduction to Java Programming Lecture 7 Flow Control : Boolean expressions and the if statement.
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
Hint of Homework 4 jinnjy. Outline Hint of exercise 3.18.
1 單元三 查詢結果的引用分析 Web of Science 利用指引 查看出版及被引用情況 在查詢結果的清單中,可以瀏覽近 20 年來查詢主題出版和被引用的情況。
Introduction to Java Programming Lecture 5: Using Java Classes : String & Math Spring 2009.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
Matlab Assignment Due Assignment 兩個 matlab 程式 : Eigenface : Eigenvector 和 eigenvalue 的應用. Fractal : Affine transform( rotation, translation,
Hung-Hsiang WuWindows Processing Design1 Chapter 3 基本觀念 變數宣告與型態 特殊運算子符號 字串與數值的轉換 類別與物件的觀念 建立新的專案 WinMain 程式進入點 Include Header File.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
Fugacity Coefficient and Fugacity
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
資料結構實習-一 參數傳遞.
1/46 物件導向的字串處理 內建的完整類別 string 具有豐富的 成員函數,能以物件導向的語法處 理字串,讓程式設計者免除空間安 排及安插結尾符號等瑣碎的工作。 內建的完整類別 string 具有豐富的 成員函數,能以物件導向的語法處 理字串,讓程式設計者免除空間安 排及安插結尾符號等瑣碎的工作。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
: Beautiful Numbers ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11472: Beautiful Numbers 解題者:邱經達 解題日期: 2011 年 5 月 5 日 題意: 若一個 N 進位的數用到該.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/25 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH 2.4~CH 2.6 &
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
資料結構實習-二.
Windows Processing Design1 Chapter 1 C/C++ 概論 畫面輸出與鍵盤輸入 程式流程 程式流程的迴圈 函數的基礎 指標與陣列 字串 類別 利用 BCB 開發程式.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Chapter 10 m-way 搜尋樹與B-Tree
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
1 第二十章 大型程式的發展 使用名稱空間 熟悉大型程式的開發方式 條件式編譯指令的撰寫. 2 名稱空間 名稱空間就像是一個管理介面,可以將定義的識別 字放在名稱空間之下,而不會有相互衝突的發生 名稱空間的語法如下 把變數 var 放在名稱空間 name1 內 要存取使用名稱空 間 name1 的變數.
中序轉後序 藉由由左向右掃瞄中序運算式產生後序運算式,遇到 運算元就直接輸出,遇到運算符號則先存入堆疊,將 優先權較高者輸出。 範例: a + b * c TokenStack [0] [1] [2] topoutput aa ++0a b+0ab *+ *1ab c+ *1abc eosabc*+
Introduction to Java Programming Lecture 12 Method Benefits, Declaring, and Calling Methods.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
資料結構實習-六.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
C 語言練習題 2010/12/2. C 程式的格式 一、 C 程式的格式 (1). /* …. */ 是 C 程式的 ______ main() 的內容是由敘述構成的 (2). 敘述要以 __ 為結束符號 (3). 變數、函數都要做 ____ 的宣告 (4). ‘=’ 是 ____ 用的算符 (5).
What is static? CS340100, NTHU Yoshi. Static? 靜態 ? class Test { static int staticX; int instanceX; public Test(int var1, int var2) { this.staticX = var1;
:Count the Trees ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10007:Count the Trees 解題者:楊家豪 解題日期: 2006 年 3 月 題意: 給 n 個點, 每一個點有自己的 Label,
Introduction to Java Programming Lecture 16 Super and Sub Classes.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
:Problem E.Stone Game ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10165: Problem E.Stone Game 解題者:李濟宇 解題日期: 2006 年 3 月 26 日 題意: Jack 與 Jim.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
:Rings and Glue ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10301: Rings and Glue 解題者:施博修 解題日期: 2011 年 5 月 18 日 題意:小約翰有了個大麻煩,他不小心將 rings.
幼兒行為觀察與記錄 第八章 事件取樣法.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2009.
VHDL語法(3).
1 類別與物件 II (Classes and Objects II) 鄭士康國立台灣大學 電機工程學系 / 電信工程研究所 / 資訊網路與多媒體研究所.
Speaker: Liu Yu-Jiun Date: 2009/4/15
Presentation transcript:

Speaker: Liu Yu-Jiun Date: 2009/04/08 Recitation Course 0408 Speaker: Liu Yu-Jiun Date: 2009/04/08

Outline Ch 6 重點整理 HW2 pseudo code HW2 評分新制

Functions Called methods or procedures in other languages Allow programmers to modularize a program by separating its tasks into self-contained units Statements in function bodies are written only once Reused from perhaps several locations in a program Hidden from other functions Avoid repeating code Enable the divide-and-conquer approach Reusable in other programs User-defined or programmer-defined functions

Function (Cont.) A function is invoked by a function call Called function either returns a result or simply returns to the caller Function calls form hierarchical relationships

<cmath> Global functions,不屬於任何的類別,只要把標頭檔include進來就可以在程式任何地方使用這些函式

Return control Three ways to return control to the calling statement: If the function does not return a result: Program flow reaches the function-ending right brace (}) or Program executes the statement return; If the function does return a result: Program executes the statement return expression; expression is evaluated and its value is returned to the caller

Function Prototypes and Argument Coercion 7 Function Prototypes and Argument Coercion Function prototype Also called a function declaration Indicates to the compiler: Name of the function Type of data returned by the function Parameters the function expects to receive Number of parameters Types of those parameters Order of those parameters 7

Outline (1 of 4) #include and using for function time 8 Outline fig06_11.cpp (1 of 4) #include and using for function time Enumeration to keep track of the game status Declaring a variable of the user-defined enumeration type Seeding the random number generator with the current time 8

Outline (2 of 4) Assigning an enumeration constant to gameStatus 9 Outline fig06_11.cpp (2 of 4) Assigning an enumeration constant to gameStatus Comparing a variable of an enumeration type to an enumeration constant 9

Function that performs the task of rolling the dice 10 Outline fig06_11.cpp (3 of 4) Function that performs the task of rolling the dice 10

11 Outline fig06_11.cpp (4 of 4) 11

HW2 pseudo code

#include <iostream> using namespace std; class RationalNumber{ // rational.h #include <iostream> using namespace std; class RationalNumber{ friend ostream& operator<< (ostream &, const RationaNumber&); friend istream& operator>> (istream &, RationalNumber&); public: RationalNumber(); RationalNumber(int = 0, int = 1); RationalNumber operator+(const RationalNumber&); RationalNumber operator-(const RationalNumber&); RationalNumber operator*(const RationalNumber&); RationalNumber operator%(const RationalNumber&); private: int numerator; int denominator; bool sign; void reduction(void); int gcd(int, int); }; 可以存取類別中的成員與成員函式 1.是哪個類別的朋友,就宣告在哪個類別中 2.不是成員函式,所以寫函式內容時,不用加”類別名稱::” 3.呼叫friend函式時,不用”object.” const : constant 修飾後面的東西,確保後面的東西不會被更改。

課本習題6.45 // rational.cpp // 運算部分 RationalNumber RationalNumber::operator+(const RationalNumber& in){ n1 = (sign)?(this->numerator):(0 - this->numerator); n2 = (in.sign)?(in.numerator):(0 - in.numerator); tmp_d = this->denominator * in.denominator; tmp_n = n1 * in.denominator + n2 * this->denominator; RationalNumber rev(tmp_n, tmp_d); rev.reduction(); //把結果約個分 return rev; } RationalNumber RationalNumber::operator-(const RationalNumber& in){ .... RationalNumber RationalNumber::operator*(const RationalNumber& in){ RationalNumber RationalNumber::operator%(const RationalNumber& in){ // 約分部份,把最後算出來的結果約個分 void reduction(){ ..... int gcd(int x, int y){ return ((y != 0) ? gcd(y, x%y) : x); ?: (c++內唯一的三元運算子) (condition) ? (value if true) : (value if false) 誰呼叫它,誰就是”this”。 “this”是一個指標,指向物件。 課本習題6.45

這兩個運算子多載函式是friend,所以前面不用加上”Rational::” // rational.cpp // 輸入、輸出部分 istream& operator>>(istream& in, RationalNumber& val){ int n, d; char ch; if (!(in >> n)) return in; ch = in.get(); if (ch != '/'){ do something.... } else{ in >> d; val.numerator = abs(n); val.denominator = abs(d); ostream& operator<<(ostream& out, const RationaNumber& val){ if (sign == 0){ out << "-"; if (val.denominator == 1){ out << val.numerator; else { out << val.numerator << "/" << val.denominator; return out; 這兩個運算子多載函式是friend,所以前面不用加上”Rational::” >>的部份比較需要處理,應該還需要記錄sign值

#include <iostream> #include "rational.h" using namespace std; int main(){ RationalNumber r1, r2, ans; char opr; while(cin >> r1){ cin >> opr; cin >> r2; // 可以在這邊就檢查是否有除以零的情況... if (opr == '+'){ ans = r1 + r2; } else if (opr == '-'){ ans = r1 - r2; ........ cout << ans; 一堆的if...else if...else if...else...,可以換成switch。 switch(opr){ case ‘+’: ans = r1 + r2; break; case ‘-’: ans = r1 – r2; default: // 這裡就是非四則運算符號的情況處理 }

HW2 評分新制 Upload to system Demo Final score = max (upload, demo) Deadline: 4/15 11:59 p.m. Demo Time: 4/15 7:30~10:00 p.m. Explain your code to get 2 points. Answer 1 question to get 1 point, total 3 questions. Pass 1 example to get 1 point, total 3 examples. The highest score of demo is 8 points. Final score = max (upload, demo)