計算與軟件工程 作業一二
作業一要求鏈接
https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10376
一、遇到的問題
1、在cnblogs注冊賬戶后加入班級需要“碼云”個人主頁,不理解“碼云”的含義,經過老師的解答及查找資料后,了解到“碼云”是軟件協同開發平臺github的中國解決方案。
2、“”
其中的圖片地址粘貼時選擇“粘貼為純文本”
3、反引號是esc下面的鍵
4、圖片下面的文字不顯示
5、不能顯示流程圖
二、工具軟件認識及看法
Markdown 是一種輕量級的標記語言,由John Gruber和Aaron Swartz創建,使其成為可讀性最大并可再發行的可輸入輸出的格式。這種語言創建靈感來自于已經存在的帶標記的電子郵件文本。Markdown 允許 HTML 語法, 所以使用者如果需要可以直接用 HTML來表示是可以的。Markdown最初由Gruber應用在Perl語言中,但現在已經有多種編程語言應用了。它是開源項目,并以BSD-style許可證的許可方式以插件形式或內容管理系統形式發布。
Markdown是一種純文本格式的標記語言。通過簡單的標記語法,它可以使普通文本內容具有一定的格式。
相比WYSIWYG編輯器
優點:
1、因為是純文本,所以只要支持Markdown的地方都能獲得一樣的編輯效果,可以讓作者擺脫排版的困擾,專心寫作。
2、操作簡單。比如:WYSIWYG編輯時標記個標題,先選中內容,再點擊導航欄的標題按鈕,選擇幾級標題。要三個步驟。而Markdown只需要在標題內容前加#即可
缺點:
1、需要記一些語法。
2、有些平臺不支持Markdown編輯模式。
三、學習過程
Markdown基本語法:
1、標題
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
2、字體
加粗的文字
傾斜的文字
斜體加粗的文字
加刪除線的文字
3、引用
>引用的內容
>>引用的內容
4、分割線
---
5、圖片

6、超鏈接
7、列表
- 無序列表內容
- 無序列表內容
- 無序列表內容
- 有序列表內容
- 有序列表內容
- 有序列表內容
- 一級無序列表內容
- 二級無序列表內容
- 二級無序列表內容
- 二級無序列表內容
- 一級無序列表內容
- 二級有序列表內容
- 二級有序列表內容
- 二級有序列表內容
8、表格
| 學號 | 成績 | 排名 |
|---|---|---|
| oo1 | 89 | 2 |
| 002 | 95 | 1 |
| 003 | 78 | 3 |
9、代碼
create database hero;
() function fun(){ echo"代碼"; } fun(); ()
10、流程圖
st=>start:開始
op=operation:My Operation
cond=>condition:Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
&```
##四、第一章概述內容讀后感
**軟件=程序+軟件工程**
軟件工程是把系統的, 有序的, 可量化的方法應用到軟件的開發, 運營, 和維護上的過程。
軟件工程包括下列領域: 軟件需求分析, 軟件設計, 軟件構建, 軟件測試, 和軟件維護。
軟件工程和下列的學科相關: 計算機科學, 計算機工程, 管理學, 數學, 項目管理學, 質量管理, 軟件人體工學, 系統工程, 工業設計, 和用戶界面設計.
我們在開發,運營, 維護軟件的過程中有很多技術, 做法, 習慣, 和思想體系。 軟件工程把這些相關的技術和過程統一到一個體系中, 叫 “軟件開發流程”,軟件開發流程的目的是為了提高軟件開發, 運營, 維護的效率;以及用戶滿意度, 可靠性,和軟件的可維護性。
光有各種流程的思想是不夠的, 我們還要有一系列的工具來保證這些思想能夠在實踐中有效率地運作。軟件工具有很多, 有無數的獨立軟件工具, 例如編譯工具, 源代碼管理工具; 源代碼編輯工具; 也有一些軟件工具系統例如 Microsoft Visual Studio; Eclipse; ClearCase; ClearQuest 等等
#作業二要求鏈接
**https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10402**
##作業1
###1.閱讀講義第二部分內容2.個人開發技術
**創建單元測試函數的主要步驟:**
(1)設置數據(一個假想的正確的E-mail地址);
(2)使用被測試類型的功能(用E-mail地址來創建一個User類的實體);
(3)比較實際結果和預期的結果(Assert.IsTrue(target!= null);)。
**軟件開發流程**
軟件工程包括了開發,運營, 維護軟件的過程中有很多技術, 做法, 習慣, 和思想。軟件工程把這些相關的技術和過程統一到一個體系中, 叫 “軟件開發流程”,軟件開發流程的目的是為了提高軟件開發, 運營, 維護的效率,以及用戶滿意度, 可靠性,和軟件的可維護性。
###2.代碼:
//要求能夠通過輸入來選擇不同年級,每個年級還得區分難,中,易三個等級
//對于三、四、五年級需要支持括號與多個運算符
//充分發揮想象增加滿足小學生數學檢測需要的功能
include `
include<stdlib.h>
using namespace std;
void main()
{
int a0[1000],b0[1000],c0[1000],a1[1000],b1[1000],c1[1000],a2[1000],b2[1000],c2[1000],a3[1000],b3[1000],c3[1000],C[1000],a,b,c;
int i,j,A0,A1,A2,A3,B0,B1,B2,B3;
int grade,k;
int min=0,max=100,m;
int M,N,O;
int num=100;//一次可以出100道題目,而且不能重復(比如2+3 與 3+2 算重復的)
int line=5;
k=0;
A0=0;A1=0;A2=0;A3=0;
B0=0;B1=0;B2=0;B3=0;
cout<<" 四則運算 "<<endl;
cout<<"請選擇年級(1~5年級):"<<endl;//分別能夠實現小學一、二、三、四、五年級的四則運算要求, 逐步實現各個年級的難度
cin>>grade;
if(grade1)
{
cout<<"建議只要加減法。"<<endl;
}
if(grade2)
{
cout<<"建議加減法及簡單的乘除。"<<endl;
}
if(grade3)
{
cout<<"建議加減法及乘除。"<<endl;
}
if(grade4)
{
cout<<"建議加減法及帶余數的乘除。"<<endl;
}
if(grade==5)
{
cout<<"建議加減法、乘除及負數運算。"<<endl;
}
cout<<"請問是否要有乘除法?有請輸入1,無請輸入0"<<endl;
cin>>M;
while(1) //判斷輸入是否合法
{
if(M != 1&&M != 0)
{
cout<<"請輸入1或0:";
cin>>M;
}
else
break;
}
cout<<"請問是否要加減結果有負數?有請輸入1,無請輸入0"<<endl;
cin>>N;
while(1) //判斷輸入是否合法
{
if(N != 1&&N != 0)
{
cout<<"請輸入1或0:";
cin>>N;
}
else
break;
}
cout<<"請問是否要除法結果有余數?有請輸入1,無請輸入0"<<endl;
cin>>O;
while(1) //判斷輸入是否合法
{
if(O != 1&&O != 0)
{
cout<<"請輸入1或0:";
cin>>O;
}
else
break;
}
m=max-min+1;
for(i=0;i<1000;i++)
{
a0[i]=0;b0[i]=0;
a1[i]=0;b1[i]=0;
a2[i]=0;b2[i]=0;
a3[i]=0;b3[i]=0;
}
for(i=0;;i++)
{
a=min+rand()%m;
b=min+rand()%m;
c=rand()%4;
if(M==0) //如果M=0,去除c=2,3的情況
{
if(c==2||c==3)
continue;
}
if(N==0) //如果N=0,去除c=0,1下結果小于0的情況
{
if(c==0)
{
if(a+b<0)
continue;
}
else if(c==1)
{
if(a-b<0)
continue;
}
}
if(O==0) //如果O=0,且是除法,去除a,b相除有余數的情況
{
if(c==3)
if(0 != a%b)
continue;
}
//將算式分為加、減、乘、除四組
if(c0) //加法
{
for(j=0;j<=A0;j++)
{
if(aa0[j]&&bb0[j])
{
B0++;break;
}
}
if(B0>0)
{
B0=0;continue;
}
else
{
a0[A0]=a;
b0[A0]=b;
c0[A0]=a+b;
A0++;
}
}
else if(c1) //減法
{
for(j=0;j<=A1;j++)
{
if(aa1[j]&&bb1[j])
{
B1++;break;
}
}
if(B1>0)
{
B1=0;continue;
}
else
{
a1[A1]=a;
b1[A1]=b;
c1[A1]=a+b;
A1++;
}
}
else if(c2) //乘法
{
for(j=0;j<=A2;j++)
{
if(aa2[j]&&bb2[j])
{
B2++;break;
}
}
if(B2>0)
{
B2=0;continue;
}
else
{
a2[A2]=a;
b2[A2]=b;
c2[A2]=a+b;
A2++;
}
}
else //除法
{
if(b0)
continue;
for(j=0;j<=A3;j++)
{
if(aa3[j]&&bb3[j])
{
B3++;break;
}
}
if(B3>0)
{
B3=0;continue;
}
else
{
a3[A3]=a;
b3[A3]=b;
c3[A3]=a+b;
A3++;
}
}
if(numA0+A1+A2+A3) //限制算式數量
break;
}
//輸出
for(i=0;i<A0;i++) // +
{
k++;
if(a0[i]<0)
cout<<"("<<a0[i]<<")";
else
cout<<a0[i]<<" ";
cout<<"+";
if(b0[i]<0)
cout<<"("<<b0[i]<<")";
else
cout<<" "<<b0[i]<<" ";
cout<<"=";
if(k%line0)
cout<<endl;
else
cout<<"\t";
}
for(i=0;i<A1;i++) // -
{
k++;
if(a1[i]<0)
cout<<"("<<a1[i]<<")";
else
cout<<a1[i]<<" ";
cout<<"-";
if(b1[i]<0)
cout<<"("<<b1[i]<<")";
else
cout<<" "<<b1[i]<<" ";
cout<<"=";
if(k%line0)
cout<<endl;
else
cout<<"\t";
}
for(i=0;i<A2;i++) // *
{
k++;
if(a2[i]<0)
cout<<"("<<a2[i]<<")";
else
cout<<a2[i]<<" ";
cout<<"*";
if(b2[i]<0)
cout<<"("<<b2[i]<<")";
else
cout<<" "<<b2[i]<<" ";
cout<<"=";
if(k%line0)
cout<<endl;
else
cout<<"\t";
}
for(i=0;i<A3;i++) // /
{
k++;
if(a3[i]<0)
cout<<"("<<a3[i]<<")";
else
cout<<a3[i]<<" ";
cout<<"/";
if(b3[i]<0)
cout<<"("<<b3[i]<<")";
else
cout<<" "<<b3[i]<<" ";
cout<<"=";
if(k%line==0)
cout<<endl;
else
cout<<"\t";
}
cout<<"請在此輸入各式的結果:"<<endl;
for(i=0;i<num;i++)
cin>>C[i];
int t=0,corr=0;//程序支持判斷對錯及累計得分與時間
for(i=0;i<A0;i++)
{
if(c0[i]==C[t])
{t++;corr++;}
else
{
t++;
cout<<"第"<<t<<"題答錯!"<<endl;
}
}
for(i=0;i<A1;i++)
{
if(c1[i]==C[t])
{t++;corr++;}
else
{
t++;
cout<<"第"<<t<<"題答錯!"<<endl;
}
}
for(i=0;i<A2;i++)
{
if(c2[i]==C[t])
{t++;corr++;}
else
{
t++;
cout<<"第"<<t<<"題答錯!"<<endl;
}
}
for(i=0;i<A3;i++)
{
if(c3[i]==C[t])
{t++;corr++;}
else
{
t++;
cout<<"第"<<t<<"題答錯!"<<endl;
}
}
if(line==corr)
cout<<"恭喜你都答對了!"<<endl;
system("pause");
}
**運行結果:**


###作業2
**碼云鏈接:https://gitee.com/li_zi_ye/learngit/blob/master/yunsuan.txt**
#總結
1.計時功能沒有實現。
2.git config --global user.name"你的名字"
注意"前面有空格
3.在把文件添加到本地倉庫中遇到很多問題,通過查資料一一解決
浙公網安備 33010602011771號