1.作業頭
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
這個作業的目標 | 對PTA的作業進行一個歸納總結,了解自己的代碼和同學的代碼差異,並進行比較學習,對這一周的學習進行一個總結。 |
學號 | 20209123 |
一、本周教學內容&目標
第4章 循環結構 4.3熟悉break、continue的使用 4.4 熟悉使用循環的嵌套解決問題。
二、本周作業
1.PTA實驗作業
2.代碼互評
3.學習總結
三、作業格式
1.PTA實驗作業(20分/題)
請再此處列出自己的排名圖片:
從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分),內容要求如下:
1.1 題目名1:一錢生多錢
題目內容描述:在日常生活中,我們常常需要將一些大額的人民幣換算成零錢,已知我們有許多面值5元,2元和1元的人民幣。
編程實現:輸入我們需要兌換的金錢數,然后我們用這些面值5元,2元和1元的人民幣來兌換,要求每一種面值都至少有1張,然后輸出有多少種兌換方式。
1.1.1數據處理
介紹實現本題過程中,你的數據表達、數據處理是怎么做的。注意:請務必按照以下方式書寫。
數據表達:用了five,two,one,money變量,這些變量的值是:five=五元數量,two=兩元數量,one=一元數量,類型是:int型。
數據處理:數據用到的表達式:5*five+2*two+1*one==money,流程結構:嵌套循環,for循環,if語句選擇。
1.1.2實驗代碼截圖
貼圖展示代碼,不要復制。請給出名字標識。
1.1.3 造測試數據
輸出你的程序面向各種測試數據結果,除了題目給出的測試數據,可以自己再造其他臨界數據,越多越好,並加上必要說明
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 | 無數據 | 待換的零錢數額應大於等於8小於等於100 |
8 | five=1,two=1,one=1 | 僅有一種兌換的方法 |
10 | five=1,two=1,one=3 five=1,two=2,one=1 |
有兩種兌換的方法 |
11 | five=1,two=1,one=5 five=1,two=2,one=3 five=1,two=3,one=1 |
有三種兌換的方法 |
13 | five=1,two=1,one=6 five=1,two=2,one=4 five=1,two=3,one=2 five=2,two=1,one=1 |
有四種兌換的方法 |
1.1.4 PTA提交列表及說明
根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法。
提交列表說明:
1.編譯錯誤:第一次編譯錯誤是不知道怎么去寫,嘗試着的去寫了一下,問題有很多,根據編譯輸出器我進行了一些改編。
2.編譯錯誤:在if后面打了一個分號,編譯無法輸出,編譯錯誤。
3.編譯錯誤:這次的編譯錯誤我不知道錯在哪里了,我就直接把代碼個刪了,重新打了一次代碼。
4.編譯錯誤:在佛瑞循環里面,有一個分號我改成了一個逗號。
注意必須寫明每個錯誤點,你是怎么解決的。此項沒寫好,本題0分。
1.2 題目名2:打印九九口訣表
題目內容描述:下面是一個完整的下三角九九口訣表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本題要求對任意給定的一位正整數N,輸出從11到NN的部分口訣表。
1.2.1數據處理
介紹實現本題過程中,你的數據表達、數據處理是怎么做的。注意:請務必按照以下方式書寫。
數據表達:用了N,i,j,變量,這些變量的值是:N是輸入在一行中給出一個正整數,i和j是因數,類型是:整型。
數據處理:數據用到的表達式:j=1;j<=N;j++,j=1;j<=N;j++流程結構:嵌套循環,for循環。
1.2.2實驗代碼截圖
貼圖展示代碼,不要復制。請給出名字標識。
1.2.3 造測試數據
輸出你的程序面向各種測試數據結果,除了題目給出的測試數據,可以自己再造其他臨界數據,越多越好,並加上必要說明
輸入數據 | 輸出數據 | 說明 |
---|---|---|
1 | 1*1=1 | 1行1列 |
3 | 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 |
3行3列 |
5 | 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 |
5行5列 |
7 | 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 |
7行7列 |
9 | 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 |
9行9列 |
1.2.4 PTA提交列表及說明
根據PTA提交列表,簡要描述調試程序碰到的問題及解決辦法。
提交列表說明:
1.答案錯誤:一次是憑感覺自己寫的,我也不知道答案錯誤錯在哪了,然后,我把代碼刪除重新打的一次代碼。
2.答案錯誤:輸出后結果為0*1開始的,將他放dev c++進行調試,將i,改成了i=0.
3.答案錯誤:發現編譯運行后還是同樣的錯誤,重新調試了一下,將j,改成了j=1。
4.編譯錯誤:將在dev c++中打出的正確代碼復制粘貼到PTA提交,return 0;后面的}沒有寫上。
注意必須寫明每個錯誤點,你是怎么解決的。此項沒寫好,本題0分。
2.代碼互評(5分)
找2份同學代碼,和自己代碼比較,建議互評代碼盡量找代碼風格差異較大。
同學代碼截圖
自己代碼截圖
1.我的代碼明顯比同學的代碼要簡單些,同學的代碼比我的代碼復雜些。
2.我的代碼沒有調用數學函數,但是同學代碼調用了數學函數。
3.同學代碼運用了for循環,while循環,if-else選擇;而我的代碼只用了for循環,if-else選擇。
4.我的代碼是總寫,而同學代碼是分開了,而且有取余,我的代碼沒有取余。
同學代碼截圖
自己代碼截圖
1.同學的代碼明顯的比我的代碼要復雜些,同學的代碼有去調用其他的東西,但是,我沒有去調用其他的東西。
2.同學的代碼運用了數組,但是我的代碼沒有去運用數組。
3.同學代碼用的for循環,我的代碼用的while循環。
4.同學代碼多次用到了選擇結構if。
3.學習總結(15分)
3.1 學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
10/18-10/24 | 16小時 | 110行 | 打印holle world和其變形 | 無 |
10/25-10/31 | 10小時 | 320行 | 選擇結構,求華攝溫度 | 一些表達式的運用 |
11/1-11/7 | 15小時 | 450行 | 循環結構 | 流程結構的順序 |
11/8-11/14 | 17小時 | 465行 | 函數的定義和調用,生成乘方表與階乘表 | 怎么定義函數,完整代碼的格式與順序問題 |
11/15-11/21 | 18小時 | 472行 | if-else型結構,多分支結構,字符型數據類型和邏輯運算符 | 字符型數據類型和運算符的優先級 |
11/22-11/18 | 19小時 | 473行 | switch語句,多分支結構的使用 | switch語句case后面需要寫的內容 |
11/29-12/5 | 18小時 | 478行 | 熟悉使用while和do-while結構解決問題 | while語句里面的循環體還有一點不太會寫 |
12/6-12/12 | 10小時 | 329行 | 鞏固前面學習的知識點 | do-while循環還是有一些不會 |
12/13-12/20 | 16小時 | 408行 | 學習break、continue的使用,學習使用循環的嵌套解決問題 | 對於嵌套解決問題還是有些不會 |
3.2 累積代碼行和博客字數(5分)
3.3 學習內容總結和感悟(5分)
3.3.1 學習內容總結
3.3.2 學習體會
請回顧自己的本周的學習過程,描述學習感受,也可以提出你不理解的地方、對教師教學建議等。如果你有新的想法或者新的方法,請及時記錄下來。
1.這是兩周來寫的一次作業,我學習到了更多的新內容與知識,感到十分的開心。例如:我學習break、continue的使用,學習使用循環的嵌套解決問題,同時,我也對C語言有了更加深刻的了解,在C語言這門課中,我感覺到了我對軟件工程這門專業更加深刻的了解。
2.在學習的過程中,我依舊會產生很多的問題,而且有些的問題我還是不太會。尤其是這次PTA,他讓我寫了很久。感覺對代碼的編寫還是真的是比較生疏的,可見,我還是有很多的問題的。
3.細節決定成敗,在打代碼的時候一定要注意細節,不然會因為一個小細節問題,而導致代碼編譯錯誤。要深刻記得中英符號的區別,還有分號一定不要漏寫。
4.對於寫代碼,我們還是要多加的練習,正所謂熟能生巧。去多多的寫一些題目。
5.還是那句話,不懂的題目一定要去找資料,去問同學,去把不懂的題目給搞懂。不然,不會的題目堆積,就更加的不會。