一、PTA作業已完成老師布置的任務。
二、博客作業
(一) 分支結構
7-4 計算分段函數[1]
本題要求計算下列分段函數的值:
1.實驗代碼
#include<stdio.h> int main() { double x,result; scanf("%lf",&x); if(x!=0) { result=1/x; }else { result=0; } printf("f(%.1lf) = %.1lf\n",x,result); return 0; }
2.設計思路
1)文字描述
第一步,定義一個實數x,定義result。
第二步,輸入實數x。
第三步,判斷x是否等於零,如果不等於零 result=1/x,反之 result=0。
第四步,按題目要求輸出x,result.
2)流程圖
3.遇到的問題及解決辦法
1)問題:不會輸入不等於零條件。解決辦法:百度搜索得知是!=。
2)格式錯誤:printf("f(%.1d) = %.1d\n",x,result)與double語句不符合。解決辦法:提示錯誤,嘗試運行幾次發現小數點位數不對,閱讀代碼解決問題。
(二)循環1
求1到100的和
本題要求編寫程序,計算表達式 1 + 2 + 3 + ... + 100 的值。
1.實驗代碼
#include<stdio.h> int main() { int i,sum=0; for(i = 0;i <= 100; i++) { sum=sum+i; } printf("sum = %d",sum); return 0; }
2.設計思路
1)文字描述
第一步:定義i=0,規定sum=0.
第二步:因為是給定范圍的循環采用for語句,給定范圍i = 0;i <= 100; i++。
第三步:按題目要求輸出sum.
2)程序框圖
3.遇到的問題及解決辦法
1)格式錯誤:沒有在輸出時按要求打空格。解決辦法:在提交時顯示格式錯誤,從頭開始檢查發現問題,解決問題。
(三)循環2
7-1 找出最小值
本題要求編寫程序,找出給定一系列整數中的最小值。
1.實驗代碼
#include<stdio.h> int main() { int n,i,l,min; scanf("%d",&n); scanf("%d",&l); min=l; for(i=1;i<n;i++) { scanf("%d",&l); if(min>l) min=l; } printf("min = %d",min); return 0; }
2.設計思路
1)文字描述
第一步:定義n,i,l,min.
第二步:因為是給定范圍的循環采用for語句,給定范圍i = 1;i <= 100; i++.
第三步:輸入l,判斷min ,l 的大小,按要求輸出相應值。
2)程序框圖
3.遇到的問題及解決辦法。
多種錯誤 1)編譯錯誤 :忘記取地址了。解決辦法:對比以前的代碼發現問題,解決問題。
2)格式錯誤 :沒有按照題目要求格式輸出。解決辦法: 將題目要求復制粘貼過來,解決問題。
三、總結和學習進度條
1、總結這幾周所學內容、遇到的問題以及解決方法。
所學內容:
1)開學時學習了簡單的代碼,如Hello world!。
2) if-else語句和for語句,例如輸出華氏-攝氏溫度轉換表。
3)分支結構,例如計算指數。
4)循環結構中的while語句和do-while語句,break語句和continue語句,例如判斷素數。
遇到的問題:
(1)語句拼寫錯誤,字母有時拼寫錯誤。
(2)參量類型設置錯誤。
(3)語句錯誤,有時上下語句不能搭配
(4)有的題沒有思路,無從下手。
解決辦法:
(1)更加認真的編寫代碼,盡量減少自己的錯誤。
(2)通過閱讀教科書,網絡資料了解各類數據類型和語句的用法。
(3)沒有思路的題通過查找仿寫他人的代碼學習設計思路,並經常回顧練習寫代碼。
(4) 遇到實在不能解決的問題請求助教幫忙。
2、點評3個同學的本周作業(在作業中給出被點評同學博客的超鏈接!超鏈接!),並邀請3名同學點評你的作業,無點評作業倒扣該題分數。
3、請用表格和折線圖呈現你這幾周的代碼行數和時間、博客字數和時間、涉及的知識點。