公告版位

一、目的:近來使用電腦在金融企業進行爭議的交易程序即是利用極小的價格波動來進行獲利已經被

             許多華爾街公司所禁止。計算機程式倫理是一個新興的領域並且包含許多棘手的問題。

             (連結UVa online原文題庫)

 

二、問題說明:

     套匯是指將一個國家的貨幣透過與其他國貨幣之間極小的差異進行交易並使其獲得利益。

     因此如何寫一個程式根據給定的交易表並依照上述的規則,計算出可獲得利益的套匯交易流程。

     例如:  1美金等於0.7英鎊 1英鎊等於9.5法朗 1法朗等於0.16美元

              1 x 0.7 x 0.95 x 0.16 = 1.064  - 1 = .064 (profit)

 

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、目的: 在數學及計算機科學中某些觀念在一維或二維是很簡單,但是當擴展至任意維度時將會

              變的很複雜。例如解決數個維度中的不同方程式和分析n維度立方體的拓撲等問題;但是

              由於後者在不同的維度之間存在著一個明顯的關係,因此前者在高維度時比後者還要複雜。

              (連結UVa online原文題庫)

 

二、問題說明:

        多維度箱子的收納問題是如何讓一系列同維度但不同大小的箱子進行最大巢狀收納的方法。

        而在進行巢狀收納時有下列條件及規則:

                1、維度內的數值可以任意的對調。 EX: (2,6) => (6,2)

                2、排序後外部箱子中同位置的維度數值必須比內部箱子中同位置的維度數值還要大。

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、目的:在固定的限制中進行裝箱或是依照重量放置物體到不同的箱子是歷史上有趣的問題,某些

            裝箱問題是NP-complete,但是可以使用動態規劃法 (Dynamic Programming)或是

            啟法式演算法(Heuristic)來解決這類型的問題。     (連結UVa online原文題庫)

 

二、問題說明:

     回收玻璃的問題主要是將回收的玻璃分成棕色(Brown)、綠色(Green)、透明(Clear)三種不同顏色

     的種類後將不同堆但是同顏色的玻璃瓶移至同一堆,但是處理過程中必須儘量減少玻璃瓶的移動數量。

     該問題在兩個條件下成立:

         (1) 可在同一堆中放置無限數量的玻璃瓶            (2)所有的玻璃瓶的數量小於2^31

 

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、目的:許多的計算機科學領域是使用簡單,抽象的觀念來進行分析和實驗的研究。因此這個問題的

            目的是如何在特定的規則和條件下透過有限的命令來讓目標達成某種特定的狀態,而不是直

            接讓目標去達成某種特定的狀態。(連結UVa online原文題庫)

 

二、問題說明:

     解析一系列的命令來指示機器手臂如何去操作位於桌子上的區塊,初始時桌子上有n個區塊

      (編號為0~n-1)並且依編號由小而大依序排列,如下圖所示:

      101.jpg

     程式必須提供下列五種不同的命令來操作上述的區塊:

     1、move a onto b 一

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、目的:計算機科學中常見的問題是將問題依照其特性進行分類,因此這個問題主要的目的是如何依照

            特定的演算法將所有未知的輸入資料進行分類。(連結UVa online原文題庫)

 

二、問題說明:

     考慮下列的演算法:

     100.jpg

    當輸入整數值22時則會依序輸出如右的數值序例:22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

    由於該演算法是假設對於輸入任何的整數會結束(n=1), 因此必須依照上述的演算法對於所有輸入的整數

    (0~1,000,000)進行驗證。驗證的方式為給一整數n 則可以決定輸出數值的數量,即是cycle-length of n.

    因此當輸入兩個數值時,程式必須輸出兩個數值區間的最大cycle-length值。(EX:n=22,cycle-length=16)

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、Python與C/C++之間的溝通方法,除了Extending Python的方式外;在Python 2.5之後提供

      ctype module可以直接在Python中使用CDLL方法(Method)來載入C/C++的動態連結資料庫(DLL)。

 

二、在不同的作業平台中利用ctype module來使用基本的C/C++的函式則必須載入想對應的C/C++ DLL:

2-1、Windows Platform: msvcrt.dll

        2-2、 Linux Platform: libc.so.6

 

三、如何在Python中自訂與C/C++相同的資料結構(Data Structure)並進行資料的傳遞,其方法下列兩種:

3-1、直接定義:在class中直接定義完所需的欄位(Fields)

EX:class ClassName(Structure):

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、本文接續Extending Python with C/ C++ (一) 的內容進階的說明下列三項內容:

1-1、如何在Python中使用自訂的方法(Method)當成Callback function的方法來呼叫C函式。

1-2、如何提供自訂的Python物件及建立該物件內的方法(Method)

        1-3、如何以繼承的方式自訂新的Python物件及建立該物件內的方法(Method)


二、建立一個提供給Python使用的C語言函式並包含Callback function的參數:

2-1、首先是使用PyArg_ParseTuple來接收由Python所傳遞的方法(Method)物件及參數。

EX. PyArg_ParseTuple(args,"Oi",&Pycallback,&waittime ); 

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、使用VFW(vido for windows) architecture來處理和顯示影音資訊有兩項缺點:

      (1) 音訊/視訊的同步化問題(audio/video synchronization) 。    

      (2) 不支援可變動長度的視框(no support variable-length frames)。

           因此目前多數已經用DirectShow來處理相關的視訊資料;但是相對於使用DirectShow而言使用

           VFW比較適合用於開發簡單和單純功能的視訊相關軟體。

 

二、在C#中使用VFW library(Avicap32.dll)必須先使用Dlllmport來Include Library,但是由於AVICap 

      Windows Class是以message-based為介面,因此多數的函式其實是巨集指令透過特定的命令來控

      制和操作AVICap Window,本文使用的相關的函式只下列兩項其他的皆為巨集指令:

2-1、capCreateCaptureWindow (

yunjuihuang 發表在 痞客邦 留言(11) 人氣()

一、Embedded Python With C/C++主要的目的是讓C/C++所撰寫的程式可以透過特定的方式(Method)

      來運用Python相關的Module,使得Python與C/C++在整合開發上更加的便利。

 

二、Python是由C/C++為基礎所撰寫因此相關的資料結構可以使用Python.h的檔案和相關的函式可以使用

      Python31.lib (Python Ver 3.1.2)

 

三、在C/C++程式中使用Python相關的Module有下列五個步驟:

  3-1 初始化Python的直譯器: Py_Initialize()

   3-2 載入所需的Python Module: 

MODULE_OBJECT = PyImport_importModule("Module Name");

yunjuihuang 發表在 痞客邦 留言(0) 人氣()

一、Extending Python With C/C++ 主要是藉由C語言撰寫的外包函式庫(Wrapper Function Library)

      來提供Python Code 和 C library之間的溝通;而所謂的外包函式即是將原本C語言的資料結構轉換成

      Python的資料結構。

 

二、Python是由C語言為基礎所撰寫因此相關的資料結構可直接使用Python.h的檔案和相關的函式可以使用

      Python31.lib (Python Ver 3.1.2)。

 

三、撰寫外包函式庫(Wrapper Function of Python Library)有下列三個步驟:

      3-1 Initial PyModule 一 xxxx表示Module Name

      PYTHON27 : 

yunjuihuang 發表在 痞客邦 留言(0) 人氣()