1.作業頭
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11757 |
這個作業的目標 | 回顧數據類型和學習文件 |
學號 | 20208985 |
2.1 題目:給定一個十進制正整數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有“1”的個數。
1.貼出代碼圖片,寫出解題思路,列出測試數據(5分)
解題思路:運用兩個函數,第一個函數運用for,while循環得出1到n多少個1,第二個函數求出f(N)=N“的最大的N是多少?
N的值 | 1的個數 | |
---|---|---|
99999 | 4000 | |
12 | 5 | |
9999999 | 7000000 | |
99 | 20 |
2.給出不同測試數據的運算時間,如果你的運算時間不變,說明你的測試數據不夠大(5分)
3.思考針對足夠大的數據,如何減少運算時間,並給出在原有算法基礎上的改進算法和改進思路。(10分)
主要是第一個函數的循環經過調試發現會循環次數過多,導致運算時間過長。兩個函數可以合並在一起會減少運算時間。
2.2 將上題中多組測試數據寫入文件,並給出測試程序以檢測你的代碼有沒有問題,貼出你的代碼、運行結果和文件內容。(5分)
2.3 用自己的語言回答兩個問題,並給出所查閱資料的引用(10分)
1.什么是文件緩沖系統?工作原理如何?
文件緩沖區即系統在讀寫程序時在內存中開辟的數據源與數據目標中間的一個用於保存完整數據內容的緩沖區域。
工作原理:在內存開辟一個“緩沖區”,為程序中的每一個文件使用,當執行讀文件的操作時,從磁盤文件將數據先讀入內存“緩沖區”,裝滿后再從內存“緩沖區”依此讀入接收的變量。執行寫文件的操作時,先將數據寫入內存“緩沖區”,待內存“緩沖區”裝滿后再寫入文件。
2.什么是文本文件和二進制文件?
文本文件是基於字符編碼的文件,常見的編碼有ASCII編碼,UNICODE編碼等等。
二進制文件是基於值編碼的文件。
2.4 請給出本周學習總結(15分)
1 學習進度條(5分)
2 累積代碼行和博客字數(5分)
3 學習內容總結和感悟(5分)
1.寒假在家沒有過多的學習,導致第一次做作業很迷茫,很多東西忘記了。
2.相對預習的同學,只能空余時間多看看視頻。
3.老師上課講的太快,還感覺很多東西都沒有聽和看過,平時要多累積知識。