2021-2022 資管程式設計課

@ndhu-programming-2021

資管程設 Team

Public team

Joined on Sep 12, 2021

  •  Like  Bookmark
  • 前言 目前大家學下來,我們總是在 main function 裡面完成我們想做的事,隨著遇到的題目變難,或是需求上升,程式碼會越來越冗長,然而這是一件不太有效率,而且妨礙閱讀的行為,如果今天事情很繁雜,我們還只能透過 main function 來處理一切事物,那真的太糟糕了,所以為了增加程式易讀性並且有效拆分細部功能以重複利用,今天我們要來講程式開發最重要的工具之一 - 函式 function。 函式定義 在了解函式的用法之前,我們先了解他的長相,以及它的使用規則吧! return_type function_name(arguments){ /* function statements */
     Like  Bookmark
  • 前言 上一份筆記講到如何為陣列附值,也講到如何宣告一維、二維陣列,而這份筆記將更深入地針對陣列來談一些東西。 一維陣列宣告與儲存 相信有看過前一份筆記都知道陣列要如下宣告: int score[10]; 透過這樣一行我們知道我們宣告了一個陣列名為 score 含有十個儲存空間,每個空間必須都儲存整數,而一個整數在 C++ 佔 4 bytes(通常情況,不考慮 OS 的不同),所以我們知道這個陣列總共被派出了 40 bytes(4 * 10)。 <span style="color:red">不希望看到的宣告方式</span>
     Like  Bookmark
  • 二維陣列 一維的陣列其實非常簡單,但他能夠處理的事情很有限,二維,三維的陣列能夠有效地幫我們處理非常多的問題。 二維陣列的宣告 int scores[30][5]; 還記得在上一份筆記我們有舉個例子,如果有想要紀錄一個班級全部學生的五科成績這樣的情況就非常適合用二維陣列。 假設一個班有 30 位同學,就需要 150 格來儲存。當然你可以這樣寫。 int array[150]; for(int i = 0; i < 150; i++){
     Like  Bookmark
  • 前言 在撰寫程式時會需要宣告眾多的變數,實體化眾多的物件,而你在哪裏宣告這些變數與物件是非常重要的,在不同的程式區段(block)內宣告的變數他能夠存活的區域也有不同,以下會來分析變數在各個情況下的存活範圍為何 區域變數 Local Variable 變數於函示 function 之中 我們先看一段很常見的程式碼 void swap(int a, int b){ int temp; temp = a;
     Like  Bookmark
  • 前言 剛升上大一,有些人可能寫過程式,但也有人沒寫過,因此我們全部都從頭來,已經會的人可以跳過沒有關係,沒有學過的人就從頭好好學吧! 基本程式長相 include <工具> 在一份程式文件裡面,我們會想要透過程式碼來執行我們想要的動作,但電腦並不聰明,我們必須要跟他說你要怎麼執行,而在撰寫程式碼的過程中,我們可能會用到很多工具,電腦也不知道你要用什麼工具,所以必須由你來告訴他。 這就是前兩行在做的事情,一份程式文件所需的工具,我們通常會放在程式文件的最上面,當程式一執行起來,他才會知道「噢!我需要這個跟那個,我去把它拿出來!」
     Like 2 Bookmark
  • 前言 在每個程式語言裡,運算、條件判斷都是不可或缺的要素,而常見的加減乘除就是一種運算,而這些運算所需的符號我們稱為運算子,也稱為 operator。 舉例來說: a + b +號就是運算子,而 a、b 我們稱為運算元,又稱為 operand。 常見的運算子 話不多說,額外補充連結先放這邊
     Like 1 Bookmark
  • 前言 前面介紹過do-while/while/for-loop,這邊就簡單的介紹巢狀迴圈可能用在什麼地方,以及跟陣列有什麼關係。 巢狀迴圈 最好理解的方式就是:迴圈裡面又包了一個迴圈 :point_down: for(初值; 條件; 步進){ for(初值; 條件; 步進){ }
     Like  Bookmark
  • 前言 在 如何看 block,不再搞混變數範圍,區域變數與全域變數 有跟大家提到了其中一種參數傳遞方法 call-by-value,但是這個方法會在呼叫函式時配置與傳入參數不同的記憶體區塊,導致不能更改同一個位置的內容,但大多時候,我們是需要修改相同變數的,而在 C++ 中我們有兩種方法,一種稱為 call-by-reference,一種叫做 call-by-address。 call-by-address 會在教 pointer(指標) 的時候才談,這一篇筆記只會講 call-by-value 與 call-by-reference。 如果 call-by-reference 跟 call-by-address 學不會,那代表你沒長大,筆記跟上課要記熟,不會要問到懂。 [name=Orange] call-by-value call-by-value 我其實已經在 這裡 講得很清楚了,還有 錄影 講解給你們聽,就超連結到那邊去吧,就不佔這篇筆記的篇幅了~
     Like 1 Bookmark
  • 前言 程式語言之所以被稱為語言,就是因為語言他有固定的語法,被當初創立的人設立好規則,而後人只需遵從規則,大家就能利用他來溝通。 就像你不會說為什麼要說 「我喜歡你」而不是「我你喜歡」或「喜歡你我」或「喜你我歡」,因為中文的句型就是規定好主詞動詞受詞,而這個規定我們從小用到大已經被內化到身體裡去了,我們自然就不覺得奇怪。 相同的程式語言也是一樣,不一樣的程式語言有不同的語法,所以有時候並不是程式難,而是你沒有把規定記起來,內化起來。這樣聽起來程式語言好像也沒有那麼麻煩對吧! 不一樣的程式語言有不同的語法,所以有時候並不是程式難,而是你沒有把規定記起來,內化起來。 [name=orange]
     Like 1 Bookmark
  • 前言 迴圈可以說是程式設計師在開發時不可或缺的工具,迴圈能夠讓我們反覆執行一段程式,直到條件失敗或是我們終止這個迴圈,讓他不再執行。 舉個實例,大家在玩遊戲時,除非你關閉遊戲,不然遊戲會一直執行,而一直執行這件事就是依靠迴圈。又或是今天你想算出 1 累加到 100 為多少,你也可以依靠迴圈幫你累加。 像這樣: int main(){ int ans = 0; for(int i = 1; i <= 100; i++){
     Like 1 Bookmark
  • 前言 不經一番寒徹骨,焉得梅花撲鼻香。 不經一番程式歷練,焉得 Ouput 美好滋味。 [name=orange] 程式能夠幫我們做到的事情非常多,不然就不會有甚麼遊戲,大家現在常看到的網頁,又甚至是很多協助人類的科技資訊研究,但是在碰到這些有趣的東西之前,該會的工具要先學起來,總不能 LV 1 的時候想要打 LV 100 的王吧! 寫程式是固定費時、燒腦,卻也是讓你成長到跟社會接軌的一件事情。 你的努力一定不會白費。 [name=orange]
     Like 1 Bookmark
  • if-else 語法 if(條件){ 該條件成立後,會做什麼 } else{ 該條件不成立,會做什麼 } 補充: 你可以單獨寫一個if判斷式就好,else不需要寫。
     Like  Bookmark
  • 前言 在進行程式開發的時候迴圈、條件判斷式、函式幾乎是不可或缺的要素,舉個例子,在進行遊戲開發的時候,如果有角色,角色間發生碰撞就會用 if 來處理,當碰撞發生,我們就執行甚麼條件。 而 switch 是與 if 非常類似的存在,通常在將情況分成幾個小類型的時候會用,簡單的說,複雜的條件判斷交給 if,簡單的情況判斷交給 switch,但都用 if 其實也沒甚麼關係。 巢狀 if 看起來好像很厲害,但其實就是if裡面包著其他if。 範例如下: if(grade>=60){
     Like  Bookmark
  • 前言 老話一句,程式語言是被開發好的、被設計好讓我們這些工程師使用的,所以有規定好的語法,規定好的規則,而在這些規則中有一個很重要的東西就是關鍵字、也稱保留字,在英文稱為 keywords。 關鍵字在程式語言中是被設定好的字詞,不能有任何的變數、函式與他們同名,在常見的 IDE 中,關鍵字通常會是不一樣的顏色,像在 DEV-C++ 關鍵字會變粗體,在 Visual Studio 關鍵字會變藍色。 而在每個程式語言可能會有不同的關鍵字,大家隨著開發的經驗越多,會越多程式語言之後就會發現各種千奇百怪的關鍵字。 關鍵字不用特別背,看過有印象,知道有這個東西,你以後要用的時候要記得有他,再去看要怎麼用 [name=orange]
     Like  Bookmark
  • 前言 程式語言提供許多工具讓設計師、開發者使用,不過你是不是正確的使用這些工具是很重要的,而前面有提到變數對設計師來說是最重要的工具之一,每一個變數都會有他代表的意義與型態(data type),所以設定好正確的型態非常重要。 這份筆記想傳達一些新手會常犯的錯誤,把資料型態不同的變數進行相加,這是會有一些大家想不到的結果的,所以要養成相同類型的變數才能做共同的處理的習慣。 int、double、float、char、bool 混在一起怎麼辦? 話不多說,我們直接看程式碼。 double / float v.s. int int main(){
     Like 1 Bookmark
  • 基礎中的基礎篇 週數進度 章節名稱 重要程度 第2週(以9/26~10/2為準) [環境說明][影片] IDE 百百種,升上大一用什麼好? :star2::star2:
     Like 1 Bookmark
  • <span style="color:green">課程內容分流</span> 程式內容講義與筆記請點我 實習課錄影
     Like  Bookmark
  • Caution!! 作業請<span style="color:red">統一上傳至 E 學院</span>,並將檔案壓縮打包,每份程式檔名請按照以下格式「學號_hw3-1.txt」,<span style="color:red">請一律上傳 txt 檔</span>。範例 : 410735038_HW3-1.txt <span style="color:red">格式不合格視同缺交</span> 壓縮檔檔名請如下格式,「學號_HW3」 範例 : 410735038_HW3 請在繳交期限內繳交作業,逾時不候
     Like  Bookmark
  • 動態陣列講解影片(一) 動態陣列講解影片(二) 實習七 structure 講解 實習七 影片中 structure 範例程式
     Like  Bookmark