<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blog.nlhs.tyc.edu.tw/styles/rss.css" type="text/css"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns="http://purl.org/rss/1.0/"
>
 <channel rdf:about="http://blog.nlhs.tyc.edu.tw/rss/rss10/2">
  <title>lss實驗室</title>
  <link>http://blog.nlhs.tyc.edu.tw/blog/2</link>
  <description>&lt;p&gt;我的心得記事，包括 pLog 、 PHP 、 Moodle 、網路管理、電腦科教學、 Wiki ......&lt;/p&gt;
</description>
    <dc:creator>lss</dc:creator>
  <dc:date>2008-11-21T10:37:45Z</dc:date>
  <admin:generatorAgent rdf:resource="http://www.lifetype.net" />
  <items>
   <rdf:Seq>
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/262" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/261" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/259" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/218" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/198" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/177" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/176" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/172" />
      </rdf:Seq>
  </items> 
 </channel>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/262">
  <title>[演算法]迷宮產生器參考連結</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/262</link>
  <dc:description>&lt;p&gt;前一陣子教集訓同學走迷宮問題。那自然需要範例的迷宮檔案，以前都偷懶用亂數產生迷宮裡的牆，再手動修一下來使用。&lt;/p&gt;&lt;p&gt;今年花了點時間研究迷宮產生器的寫法，在 google 上搜尋後，找到以下兩個很有用的連結：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://bbs.mychat.to/sindex.php?t455879.html&quot; title=&quot;挖迷宮通道法&quot;&gt;MyChat 數位男女 &amp;gt; 程式設計 的這篇討論&lt;/a&gt;裡，有唐老鴨寫的現成程式，稍微修改就可以跑了。基本上，是使用「挖通道」的方式，寫遞迴函數來挖迷宮。判斷原則是：「如果牆的另一邊沒有通道，則把牆挖穿，並挖出通道；否則就退回換個方向再試。」&lt;/p&gt;&lt;p&gt;另外，「&lt;a href=&quot;http://hctu.blogspot.com/&quot; title=&quot;也是回顧&quot;&gt;也是回顧&lt;/a&gt;」的 tu 寫了很多&lt;a href=&quot;http://hctu.blogspot.com/search?q=%E8%BF%B7%E5%AE%AE&quot; title=&quot;也是回顧：迷宮 的搜尋結果&quot;&gt;關於迷宮的文章&lt;/a&gt;，讓我獲益良多。雖然沒有現成的程式可以參考，但是在「&lt;a href=&quot;http://hctu.blogspot.com/2007/04/blog-post_14.html&quot; title=&quot;產生迷宮的另一種方法&quot;&gt;產生迷宮的另一種方法&lt;/a&gt;」裡所提出的用 set Union 方法產生迷宮，讓我搞清楚了 ( 單一解 ) 迷宮的本質：&lt;strong&gt;所有的通道都是相通的，都屬於同一個集合&lt;/strong&gt;。這樣，我也搞清楚了為什麼唐老鴨的程式挖通道時，碰到通道就不挖了的原因。&lt;/p&gt;&lt;p&gt;再深入研究後，發現要產生單一解的迷宮其實非常的簡單。這篇文章只是先記下以上兩個連結，免得以後忘了。我的迷宮產生器寫法待整理好了再拿出來獻醜吧。 &lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2007-09-26T23:03:20Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/261">
  <title>[C++]PI</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/261</link>
  <dc:description>&lt;p&gt;記得古早、古早以前寫 C 的時候，依稀記得圓周率 PI 在 math.h 標頭檔裡面有定義一個 macro ，可以直接使用。但最近在 C++ 裡嚐試要用時，卻告訴我「未宣告的識別項」錯誤。&lt;/p&gt;&lt;p&gt;調出 math.h 來看，找到答案了！裡面有一段註解：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;/* Define _USE_MATH_DEFINES before including math.h to expose these macro&lt;br /&gt;&amp;nbsp;* definitions for common math constants.&amp;nbsp; These are placed under an #ifdef&lt;br /&gt;&amp;nbsp;* since these commonly-defined names are not part of the C/C++ standards.&lt;br /&gt;&amp;nbsp;*/&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;原來這些常數巨集不屬於 C/C++ 的標準，若要使用的話，要在引用 math.h 標頭檔時，先 #define _USE_MATH_DEFINES 才行，也就是要像下面這樣寫：&lt;/p&gt;&lt;pre class=&quot;cpp&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;使用數學常數巨集&lt;/div&gt;&lt;span class=&quot;co2&quot;&gt;#define _USE_MATH_DEFINES&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;cmath&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;另，引用 math.h 裡的內容，這些可用的常數巨集及其值如下 ( 記得前面加上 M_ )：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;/* Definitions of useful mathematical constants&lt;br /&gt;&amp;nbsp;* M_E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - e&lt;br /&gt;&amp;nbsp;* M_LOG2E&amp;nbsp;&amp;nbsp;&amp;nbsp; - log2(e)&lt;br /&gt;&amp;nbsp;* M_LOG10E&amp;nbsp;&amp;nbsp; - log10(e)&lt;br /&gt;&amp;nbsp;* M_LN2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - ln(2)&lt;br /&gt;&amp;nbsp;* M_LN10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - ln(10)&lt;br /&gt;&amp;nbsp;* M_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - pi&lt;br /&gt;&amp;nbsp;* M_PI_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - pi/2&lt;br /&gt;&amp;nbsp;* M_PI_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - pi/4&lt;br /&gt;&amp;nbsp;* M_1_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 1/pi&lt;br /&gt;&amp;nbsp;* M_2_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - 2/pi&lt;br /&gt;&amp;nbsp;* M_2_SQRTPI - 2/sqrt(pi)&lt;br /&gt;&amp;nbsp;* M_SQRT2&amp;nbsp;&amp;nbsp;&amp;nbsp; - sqrt(2)&lt;br /&gt;&amp;nbsp;* M_SQRT1_2&amp;nbsp; - 1/sqrt(2)&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;&lt;br /&gt;#define M_E&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.71828182845904523536&lt;br /&gt;#define M_LOG2E&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.44269504088896340736&lt;br /&gt;#define M_LOG10E&amp;nbsp;&amp;nbsp; 0.434294481903251827651&lt;br /&gt;#define M_LN2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.693147180559945309417&lt;br /&gt;#define M_LN10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.30258509299404568402&lt;br /&gt;#define M_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.14159265358979323846&lt;br /&gt;#define M_PI_2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.57079632679489661923&lt;br /&gt;#define M_PI_4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.785398163397448309616&lt;br /&gt;#define M_1_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.318309886183790671538&lt;br /&gt;#define M_2_PI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0.636619772367581343076&lt;br /&gt;#define M_2_SQRTPI 1.12837916709551257390&lt;br /&gt;#define M_SQRT2&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.41421356237309504880&lt;br /&gt;#define M_SQRT1_2&amp;nbsp; 0.707106781186547524401 &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2007-09-26T22:21:52Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/259">
  <title>[C++]isNumeric</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/259</link>
  <dc:description>C / C++ 的標準函式庫裡，找不到一個類似 VB 裡的 isNumeric() 可以判斷字串是否為數值型式的標準函式可用。&lt;p&gt;沒錯， Visual C++ 的 System 命名空間裡，有 Char::isNumeric 可以用，但是非 VC++ 的 compiler 不能用。&lt;/p&gt;&lt;p&gt;另外，有找到一份 &lt;a href=&quot;http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO.html&quot; title=&quot;C++ Programming How-To&quot;&gt;C++ Programming How-To&lt;/a&gt; ，裡面有一份強化過的 &lt;a href=&quot;http://www.linuxselfhelp.com/HOWTO/C++Programming-HOWTO-4.html&quot; title=&quot;download A! Dev&#039;s String class&quot;&gt;A! Dev&amp;#39;s String class&lt;/a&gt; ，看起來遠比標準 C++ 的 String class 好多了，有空應該研究看看。只是學生比賽時，這樣的程式庫不知道可不可以用？&lt;/p&gt;&lt;p&gt;回到 isNumeric() 函式，看來只有自己手工打造一個來用了。&lt;/p&gt;&lt;p&gt;google 了很多資料後，在 &lt;a href=&quot;http://forums.devarticles.com/c-c-help-52/&quot; title=&quot;C++ Help&quot;&gt;C / C++ Help&lt;/a&gt; 的&lt;a href=&quot;http://forums.devarticles.com/c-c-help-52/checking-if-string-is-a-number-or-not-57342.html&quot; title=&quot;Checking if string is a number or not&quot;&gt;這裡&lt;/a&gt;，看到 jaro 提供的方法：使用 strtod() 函式來判斷，似乎是個最好的解法了。於是參考 jaro 的方法，修改了一下，寫出了下面的 isNumeric() 函式：&lt;/p&gt;&lt;pre class=&quot;cpp&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;my isNumeric function&lt;/div&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; string &amp;amp;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *test&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 接受傳統 C 字串引數，判所是否為數值字串&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 若是，則傳回 true ；若否，則傳回 false&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *testEnd;  &lt;span class=&quot;co1&quot;&gt;// 指向 strtod() 後剩於部份的開頭&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; d;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  d=&lt;span class=&quot;kw3&quot;&gt;strtod&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test, &amp;amp;testEnd&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span class=&quot;co1&quot;&gt;// 如果轉換後 testEnd 指向 test 字串開頭，&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;co1&quot;&gt;// 則表示沒有轉換出任何數值，也就是說 test 是字串，不是數值&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; test!=testEnd;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; string &amp;amp;test&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 接受 C++ 字串物件引數，判所是否為數值字串&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 若是，則傳回 true ；若否，則傳回 false&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 因為在 C++ 的程式裡， string 類別比 char 陣列好用&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 所以寫了個 string 類別物件引數的版本&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *testEnd;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; d;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  d=&lt;span class=&quot;kw3&quot;&gt;strtod&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test.&lt;span class=&quot;me1&quot;&gt;c_str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;, &amp;amp;testEnd&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; test.&lt;span class=&quot;me1&quot;&gt;c_str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;!=testEnd;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;以下是測試程式：&lt;/p&gt;&lt;pre class=&quot;cpp&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;測試 isNumeric() 函式&lt;/div&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;string&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;sstream&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co2&quot;&gt;#include &amp;lt;cctype&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw2&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;namespace&lt;/span&gt; std;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; string &amp;amp;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;void&lt;/span&gt; main&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  istringstream iss&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;this is a book 3607252 3.14159632587425 -45265&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  &lt;span class=&quot;co1&quot;&gt;//char test[80]=&amp;quot;&amp;quot;;&lt;/span&gt;&lt;br /&gt;  string test;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  &lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; iss &amp;gt;&amp;gt; test &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;kw3&quot;&gt;cout&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;得到數字：&amp;quot;&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;kw3&quot;&gt;atof&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test.&lt;span class=&quot;me1&quot;&gt;c_str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt; &amp;lt;&amp;lt; endl;&lt;br /&gt;    &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt;&lt;br /&gt;      &lt;span class=&quot;kw3&quot;&gt;cout&lt;/span&gt; &amp;lt;&amp;lt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;得到字串：&amp;quot;&lt;/span&gt; &amp;lt;&amp;lt; test &amp;lt;&amp;lt; endl;&lt;br /&gt;  &lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw3&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;pause&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *test&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *testEnd;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; d;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  d=&lt;span class=&quot;kw3&quot;&gt;strtod&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test, &amp;amp;testEnd&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; test!=testEnd;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;span class=&quot;kw4&quot;&gt;bool&lt;/span&gt; isNumeric&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kw4&quot;&gt;const&lt;/span&gt; string &amp;amp;test&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;{&lt;/span&gt;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;char&lt;/span&gt; *testEnd;&lt;br /&gt;  &lt;span class=&quot;kw4&quot;&gt;double&lt;/span&gt; d;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;  d=&lt;span class=&quot;kw3&quot;&gt;strtod&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;test.&lt;span class=&quot;me1&quot;&gt;c_str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;, &amp;amp;testEnd&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;;&lt;br /&gt;  &lt;span class=&quot;kw1&quot;&gt;return&lt;/span&gt; test.&lt;span class=&quot;me1&quot;&gt;c_str&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;)&lt;/span&gt;!=testEnd;&lt;br /&gt;&lt;span class=&quot;br0&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;然後是輸出結果如下，看來蠻管用的。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;得到字串：this&lt;br /&gt;得到字串：is&lt;br /&gt;得到字串：a&lt;br /&gt;得到字串：book&lt;br /&gt;得到數字：3.60725e+006&lt;br /&gt;得到數字：3.1416&lt;br /&gt;得到數字：-45265 &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2007-09-24T00:06:43Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/218">
  <title>程式語言錯亂篇</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/218</link>
  <dc:description>&lt;p&gt;同時使用多種程式語言還蠻痛苦的。集訓學生 ( 只剩一個了 ) 教他 C++ ，而最近電腦課的程式語言課程則是上 VB.Net 。相似的語法的細微差異，一時不察，讓我多花了許多時間除錯。&lt;/p&gt;&lt;p&gt;紀錄一下：&lt;/p&gt;&lt;p&gt;整數除法：&lt;/p&gt;&lt;p&gt;C++ 裡，整數與整數相除便是整數除法，商並不會自動四捨五入。&lt;/p&gt;&lt;p&gt;VB 裡，即使是整數與整數相除，得到的商也是整數，但是會四捨五入，必需改用整數除法運算子( \ ) ，才會得到真正的整數商。&lt;/p&gt;&lt;p&gt;模數 ( 求餘數 )：&lt;/p&gt;&lt;p&gt;C++ 裡面，模數運算子是百分比符號 ( % ) ， VB 裡面則是 MOD 運算子。&lt;/p&gt;&lt;p&gt;其他遇到隨時補充吧！ &lt;/p&gt;</dc:description>
      
    <dc:subject>教學實驗室</dc:subject>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2007-04-25T13:40:48Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/198">
  <title>Visual Studio 2005 Express 繁體中文版 ISO 下載網址</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/198</link>
  <dc:description>&lt;p&gt;用 google 搜尋到的，順便記下來，下載網址如下：&lt;/p&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;
&lt;p&gt;Visual BASIC 2005 Express&amp;nbsp;ISO:&lt;a href=&quot;http://download.microsoft.com/download/6/e/1/6e1e8e73-6e42-4790-a23e-4f3f3a8b776b/VB.ISO&quot; title=&quot;http://download.microsoft.com/download/6/e/1/6e1e8e73-6e42-4790-a23e-4f3f3a8b776b/VB.ISO&quot;&gt;[按我下載]&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;
&lt;p&gt;Visual C# 2005 Express ISO:&lt;a href=&quot;http://download.microsoft.com/download/d/6/5/d655c429-1d43-43d1-84c2-18acee6c0925/VCS.ISO&quot; title=&quot;http://download.microsoft.com/download/d/6/5/d655c429-1d43-43d1-84c2-18acee6c0925/VCS.ISO&quot;&gt;[按我下載]&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;
&lt;p&gt;Visual WebDeveloper 2005 Expess ISO:&lt;a href=&quot;http://download.microsoft.com/download/4/1/b/41bb5e6a-b72b-4994-aac5-9a15aa115929/VWD.ISO&quot; title=&quot;http://download.microsoft.com/download/4/1/b/41bb5e6a-b72b-4994-aac5-9a15aa115929/VWD.ISO&quot;&gt;[按我下載]&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;p&gt;Visual C++ 2005 Express ISO:&lt;a href=&quot;http://download.microsoft.com/download/d/a/3/da39d165-bfc5-4323-8230-0caf8ed7d7c3/VC.ISO&quot; title=&quot;http://download.microsoft.com/download/d/a/3/da39d165-bfc5-4323-8230-0caf8ed7d7c3/VC.ISO&quot;&gt;[按我下載]&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;資料來源：台灣MSDN論壇的&lt;a href=&quot;http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=260003&amp;amp;SiteID=14&quot; title=&quot;visual studio 2005 express 繁體中文版 iso 下載連結&quot;&gt;這篇討論&lt;/a&gt;第6個回覆。&amp;nbsp;&lt;/p&gt;&lt;p&gt;另，據該討論版主回覆， Visual J# 2005 Express 沒有中文版， &lt;span&gt;&lt;span&gt;SQL Server 2005 Express 沒有 ISO，但是有完整安裝檔：&lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=220549b5-0b07-4448-8848-dcc397514b41&quot; title=&quot;http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&amp;amp;FamilyID=220549b5-0b07-4448-8848-dcc397514b41&quot;&gt;[前往下載頁]&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;為維護版面，不顯示下載的原始網址，請自行看連結內容囉！ &lt;br /&gt;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2007-01-24T09:41:19Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/177">
  <title>第一次程式集訓記事</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/177</link>
  <dc:description>&lt;p&gt;第一次集訓沒做什麼事，先跟同學確立集訓方式跟原則。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;報名的 24 人只來了 17 人，有一名是因勞服無法參加，另外臨時報名增加三人，還有一個 email 說記錯時間，真是 #!$%^&amp;amp;&lt;/p&gt;&lt;p&gt;下週一確定名單後，請設備組處理學生集訓公假。&lt;/p&gt;&lt;p&gt;第一次集合主要是說明集訓進行方式，大概重點如下：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;老師指定進度及作業。&lt;/li&gt;&lt;li&gt;同學回家自己 K 進度及寫程式。&lt;/li&gt;&lt;li&gt;透過 email 及數位學習網站的討論區進行離線或線上討論。&lt;/li&gt;&lt;li&gt;集合時主要為重點講解及作業程式的討論。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;而第一階段的目標，希望到學期末時，同學們能具備以下基本能力：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&amp;nbsp;C++ 的基本語法。&lt;/li&gt;&lt;li&gt;基本的資料結構。&lt;/li&gt;&lt;li&gt;熟練寫程式的環境，以 Code::Blocks 為主。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;另外，提到了一個觀念：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;集訓的重點，在程式設計能力的紮根。如果想快速的學會寫應用程式或遊戲，請退出集訓，以免浪費彼此的時間。&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;最後，訂了一個「開除條款」：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;缺席兩次者開除。&lt;/li&gt;&lt;li&gt;連續兩次跟不上進度者開除。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;這麼訂的目的很簡單，想學程式設計不一定要在高中這個時期。如果無法兼顧課業，或是時間難以配合的話，還是先把升學課業顧好，以免不兩都浪費掉了。&lt;/p&gt;&lt;p&gt;下週集訓前要完成的事：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;找到一本適合自己的入門書並帶來。&lt;/li&gt;&lt;li&gt;在家裡的電腦安裝 Code::Blocks 。&lt;/li&gt;&lt;li&gt;完成第一個 Hellow World 程式。 &lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;就這樣。&lt;/p&gt;&lt;p&gt;另外，恭喜伙伴 huihui 指導的 213 王皇元同學日前參加今年度&lt;strong&gt;第四區&lt;/strong&gt;資訊能力競賽獲得佳作。也許，等他準備好，可以跟今年的集訓同學講講話，分享一些程式集訓的心得。 &lt;br /&gt;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2006-11-03T10:46:28Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/176">
  <title>程式設計集訓報名截止</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/176</link>
  <dc:description>&lt;p&gt;&lt;a href=&quot;http://blog.nlhs.tyc.edu.tw/post/2/172&quot; title=&quot;95程式設計集訓&quot;&gt;95程式設計集訓&lt;/a&gt;報名截止了。今年高一新生共計有 24 人報名，名單如下：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;班級&amp;nbsp;&amp;nbsp; &amp;nbsp;座號&amp;nbsp;&amp;nbsp; &amp;nbsp;姓名&lt;br /&gt;103&amp;nbsp;&amp;nbsp; &amp;nbsp;19&amp;nbsp;&amp;nbsp; &amp;nbsp;董承翰&lt;br /&gt;103&amp;nbsp;&amp;nbsp; &amp;nbsp;20&amp;nbsp;&amp;nbsp; &amp;nbsp;廖敦佑&lt;br /&gt;104&amp;nbsp;&amp;nbsp; &amp;nbsp;10&amp;nbsp;&amp;nbsp; &amp;nbsp;陳榮傑&lt;br /&gt;105&amp;nbsp;&amp;nbsp; &amp;nbsp;4&amp;nbsp;&amp;nbsp; &amp;nbsp;林文奎&lt;br /&gt;105&amp;nbsp;&amp;nbsp; &amp;nbsp;13&amp;nbsp;&amp;nbsp; &amp;nbsp;彭康庭&lt;br /&gt;105&amp;nbsp;&amp;nbsp; &amp;nbsp;17&amp;nbsp;&amp;nbsp; &amp;nbsp;蔡一華&lt;br /&gt;106&amp;nbsp;&amp;nbsp; &amp;nbsp;12&amp;nbsp;&amp;nbsp; &amp;nbsp;陳紹罡&lt;br /&gt;107&amp;nbsp;&amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp; &amp;nbsp;張日謙&lt;br /&gt;107&amp;nbsp;&amp;nbsp; &amp;nbsp;17&amp;nbsp;&amp;nbsp; &amp;nbsp;黃文泰&lt;br /&gt;107&amp;nbsp;&amp;nbsp; &amp;nbsp;18&amp;nbsp;&amp;nbsp; &amp;nbsp;黃禹達&lt;br /&gt;107&amp;nbsp;&amp;nbsp; &amp;nbsp;26&amp;nbsp;&amp;nbsp; &amp;nbsp;呂芷儒&lt;br /&gt;108&amp;nbsp;&amp;nbsp; &amp;nbsp;5&amp;nbsp;&amp;nbsp; &amp;nbsp;吳嘉豪&lt;br /&gt;108&amp;nbsp;&amp;nbsp; &amp;nbsp;6&amp;nbsp;&amp;nbsp; &amp;nbsp;宋嘉祥&lt;br /&gt;109&amp;nbsp;&amp;nbsp; &amp;nbsp;42&amp;nbsp;&amp;nbsp; &amp;nbsp;蕭嘉琳&lt;br /&gt;110&amp;nbsp;&amp;nbsp; &amp;nbsp;15&amp;nbsp;&amp;nbsp; &amp;nbsp;景立&lt;br /&gt;112&amp;nbsp;&amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp; &amp;nbsp;林士翔&lt;br /&gt;113&amp;nbsp;&amp;nbsp; &amp;nbsp;4&amp;nbsp;&amp;nbsp; &amp;nbsp;林俊佑&lt;br /&gt;113&amp;nbsp;&amp;nbsp; &amp;nbsp;8&amp;nbsp;&amp;nbsp; &amp;nbsp;郭珓銓&lt;br /&gt;115&amp;nbsp;&amp;nbsp; &amp;nbsp;13&amp;nbsp;&amp;nbsp; &amp;nbsp;張家輝&lt;br /&gt;115&amp;nbsp;&amp;nbsp; &amp;nbsp;14&amp;nbsp;&amp;nbsp; &amp;nbsp;曹芳駿&lt;br /&gt;116&amp;nbsp;&amp;nbsp; &amp;nbsp;4&amp;nbsp;&amp;nbsp; &amp;nbsp;余文凱&lt;br /&gt;116&amp;nbsp;&amp;nbsp; &amp;nbsp;7&amp;nbsp;&amp;nbsp; &amp;nbsp;周佳俊&lt;br /&gt;116&amp;nbsp;&amp;nbsp; &amp;nbsp;18&amp;nbsp;&amp;nbsp; &amp;nbsp;劉岳奇&lt;br /&gt;117&amp;nbsp;&amp;nbsp; &amp;nbsp;15&amp;nbsp;&amp;nbsp; &amp;nbsp;陳鵬升&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;如果以上同學看到名單有反悔的，請儘快跟老師連繫刪除名單。另，報名已截止，不再受理報名。&lt;/p&gt;&lt;p&gt;如果你是想：「我很快就能學會寫一個自己的遊戲了！」這種想法的同學也請連繫老師，因為這個集訓還是不符你的需要。&lt;/p&gt;&lt;p&gt;初期，我們重點在程式語法的熟悉，然後，重點放在基礎的資料結構，到這裡應該就學期末了。希望你們能撐得下去。當然，這期間不適合的同學我會刷掉，最主要的原因，是不希望浪費你們的時間。&lt;/p&gt;&lt;p&gt;第一次集訓時見！ &lt;br /&gt;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2006-10-28T10:19:57Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/172">
  <title>95年程式設計集訓</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/172</link>
  <dc:description>&lt;p&gt;今天開始通知 95 學年度新生在期初問卷裡表明有意參加程式設計集訓的同學。預計通知期間為 2006/10/05 ~&amp;nbsp;2006/10/13 ，等待回覆則到&amp;nbsp;2006/10/27 24:00 截止。&lt;/p&gt;&lt;p&gt;高中生要學程式設計有主客觀環境的困難，最大的問題是，一但進入狂熱階段，那對一般升學科目的影響是一定有的，這就會讓班導、家長擔心課業受到影響，進而勸阻學生放棄繼續學習。&lt;/p&gt;&lt;p&gt;因為有心學習的人少，少到想開一個選修班級都有困難 ( 敝校並非有許多一流學生的明星高中，像第一屆的張勝淵同學、蔡尚樺同學及第五屆的丁建文同學這種奇葩幾年才有一個 ) ，我們是採用課外集訓的方式進行。這其中，要有好的成果，最大的關鍵在於學生是否能自動自發的學習。&lt;/p&gt;&lt;p&gt;不是幾年才出一個的奇葩沒關係，希望今年報名的同學是願意自動自發學習的人，而不是什麼都等著老師教還不太願意複習的那種。如果全部是，那今年的程式設計集訓應該會提早結束了。 &lt;br /&gt;&lt;/p&gt;</dc:description>
      
    <dc:subject>程式設計集訓</dc:subject>
     
    
  <dc:date>2006-10-05T10:30:44Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
 </rdf:RDF>