ステージ2ペアプログラミング

まず、検査対象
  1)の経験と彼らがアジャイル開発に取り組んでいます。

  2)個人的なプログラミングのスキルと実践がさらに向上します。

第二に、実験コンテンツ
  実践)問題、運動ペアプログラミング(ペアプログラミングの次の説明に従って1)。

  2)ペアでの仕事、自由な組み合わせに学生を必要としています。各グループは、2つの共通の完全な実験的な要件をコードする、コンピュータを使用しています。

  3)4、少なくとも両方のスイッチングロール、プログラミング中に対を必要とします。

  4)プログラミング言語は、バージョンが限定されるものではないが、これらに限定されません。PythonやJavaプログラミングを使用することをお勧めします。

第三に、実験プロセス

コードの仕様:

可能な限りアルファベット1.統一変数名ではなく、あまりにもハード、英語では、。

スペースで、Tabキーをしよう2.。

書き込みノート3.各部分のニーズは、ラップしないようにしてください。

4.明確な簡潔なコードが長い手続きを避けるために。

 

フローチャート:

 

 

 

 

 

 

 

 

協力:プロセスを完了するために彼のチームメイトに関連するプログラムに加えて、操作の割合、議論の後、スコアを書くときに考慮して小学校のスコアは、そう、私は主を通じて、そのような話題の書かれた部分とその結果としてのドキュメントを生成するための担当していますqqは通信します。

倉庫は、私は彼が書くのを忘れているので、私は道を書いたので、我々は最終的に、気づいアップロードすることを彼のチームメイト、README.mdファイルです。

コード:

パッケージテスト。

輸入java.utilの。*;
輸入java.io.BufferedReader;
輸入java.io.BufferedWriter;
インポートのjava.io.File;
輸入java.io.FileOutputStreamは、
輸入java.io.FileReader;
輸入java.io.FileWriter;
インポートにjava.io.IOException;
輸入java.io.OutputStreamWriterが、
輸入てjava.io.PrintWriter;
輸入java.io.RandomAccessFile;
パブリッククラスのテスト{
プライベート静的ランダムランダム=新しいランダム();
公共の静的なint型の範囲;
公共の静的な文字列yuefen(int型、int型B)//分数约分、用在计算结果中
{
int型のY = 1。
以下のために(INT iが=; I> = 1; i--)
{
IF(%I == 0 && Bの%I == 0)
{
Y = I。
ブレーク;
}
}
INT Z = A / Y; //分子
INT、M = B / Y; //分母
IF(Z == 0){
リターン"0"。
}
IF(M == 1)戻りZ + ""。

戻りbiaodashi(Z、M)。
}

公共の静的な文字列biaodashi(int型A、int型B)//判断并将假分数化为带分数
{
IF(> = B)
{
int型C。
C = A / B。
int型D;
D =%のB;
{
IF(D == 0)
{
戻りC + ""。
}
戻りC + "' "+ D +"/" + B。
}
}
、B + "/" +を返します。
}

公共の静的な無効メイン(文字列[] argsを)// メイン機能部
{
スキャナスキャナ新新SC =(System.in);
System.out.printlnは( "プログラムへようこそ!");
System.out.printlnは(「存在プログラムはランダム「;!)4つの基本演算式が生成される
;のSystem.out.println(」プレスタイトル「を生成するための任意のキー)を
スキャナINPUT =新しい新しいスキャナ(System.in);
文字列str = input.next();
レンジ= 100;
int型NUM = 10;
int型rightcount [] =新しい新しいINT [NUM + 2];
INT wrongcount [] =新しい新しいINT [NUM + 2];
int型gradecount [] =新しい新しいINT [NUM + 2];
int型RIGHT1 = 0;
INT wrong1 = 0;
int型グレード1 = 0;
文字列[]結果=新しい新規[NUM]ストリング; INT I、
(I = 0、I <NUM; I ++)のために
{
文字列expArr []は新しい新しい文字列= [2]。 //生成されたタスク定義
= INT(INT)(にRandom.nextInt (範囲)); // 分子
INT B =(INT)(にRandom.nextInt (範囲)); // 分母
int型のC =(INT)(にRandom.nextInt (範囲)); // 別の分子
のint D =(INT)(にRandom.nextInt (範囲)); //別の分母
INT yunsuanfu; //演算子
yunsuanfu =(INT)(にRandom.nextInt(4));
!生成した場合(B = 0 && D = 0 )// 分母にして、0ではありませんスコア計算問題、計算の結果、一方
{
IF(yunsuanfu == 0)
{
int型FENZI = A * D + B * C;
INT = B * D fenmu;
expArr [0] = biaodashi(B)+ '+' biaodashi +(C、D)+ '=';
のSystem.out.println(expArr [0]);
結果[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 1 && A * DB * C> = 0)
{
int型FENZI = A * DB * C。
int型fenmu = B * D;
expArr [0] = biaodashi(B)+ ' - ' + biaodashi(C、D)+ '='。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
(yunsuanfu == 1 && A * DB * C <0)であれば
{
INT FENZI = B * CA * D。
int型fenmu = B * D;
expArr [0] = biaodashi(B)+ ' - ' + biaodashi(C、D)+ '='。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 2)
{
int型FENZI = A * C;
INT = B * D fenmu;
expArr [0] = biaodashi(A、B)+ '×' + biaodashi(C、D)+ '='。
System.out.println(expArr [0]);
結果[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 3 && C!= 0)
{
int型FENZI = A * D。
int型fenmu = B * C;
expArr [0] = biaodashi(B)+ '÷' + biaodashi(C、D)+ '='。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 3 && C == 0)
{
ブレーク。
/ * C = 1。
int型FENZI = A * D;
int型fenmu = B * C;
expArr [0] = biaodashi(B)+ '÷' + biaodashi(C、D)+ '='。
System.out.println(expArr [0])。
その結果、[I] = reductionofFraction(FENZI、fenmu); / *

}

}
//他の分母が0に生成少なくとも一つは、計算結果が、唯一Zhengshi演算式が含まれる
{
。D = 1;; B = 1
IF(yunsuanfu == 0)
{
int型FENZI = A * D + B * C;
INT B = D * fenmu;
expArr [0] = A + "+" C + + "=";
のSystem.out.println(expArr [0]);
結果[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 1 && A * DB * C> = 0)
{
int型FENZI = A * DB * C。
int型fenmu = B * D;
expArr [0] = A + " - " + C + "="。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
(yunsuanfu == 1 && A * DB * C <0)であれば
{
INT FENZI = B * CA * D。
int型fenmu = B * D;
expArr [0] = C + " - " + A + "="。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 2)
{
int型FENZI = A * C。
int型fenmu = B * D;
expArr [0] = C + "×" + A + "="。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 3 && C!= 0)
{
int型FENZI = A * D。
int型fenmu = B * C;
expArr [0] = A + "÷" + C + "="。
System.out.println(expArr [0])。
その結果、[I] = yuefen(FENZI、fenmu)。

}
IF(yunsuanfu == 3 && C == 0)
{
ブレーク。
/ * C = 1。
int型FENZI = A * D;
int型fenmu = B * C;
expArr [0] = A + "÷" + C + "="。
System.out.println(expArr [0])。
その結果、[I] = reductionofFraction(FENZI、fenmu); / *

}

}
てFileWriter FW = NULL;
{試します

ファイルf =新しいファイル( "Exersies.txt"); //题目写入
FW =新しいてFileWriter(F、真の);
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
IF(!expArr [0] = NULL)
{
のPrintWriter PW =新しいPrintWriter(FW)。
pw.println(I + 1 + + expArr [0] "");
pw.flush();
{試みる
fw.flushを();
pw.close();
fw.close();
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
}
てFileWriter FN = NULL;
{試します

ファイルfは=新しいファイル( "Answer.txt"); //答案写入
FN =新しいてFileWriter(F、真の);
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
IF(!expArr [0] = NULL)
{
のPrintWriter PN =新しいPrintWriter(FN)。
pn.println(I + 1 + +結果[i]を"")。
pn.flush();
{試みる
fn.flushを();
pn.close();
fn.close();
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
}
}
てFileWriter FO = NULL;
{試します

ファイルf =新しいファイル( "Your_answers.txt"); //答案输入
FO =新しいてFileWriter(F、真の);
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
{試みる
)(fo.flushします。
)(fo.close。
}キャッチ(IOExceptionを電子)
{
e.printStackTrace();
}
のSystem.out.println( "请在Your_answers.txt中写入答案")。
System.out.println( "请输入OK提交答案");
スキャナSC1 =新しいスキャナ(System.in);
文字列)(= sc1.nextLine提出します。
IF(submit.equals( "OK"))
{
String配列[] =新しいString [NUM]。

試し
{
int型のK = 0;
FileReaderのFR =新しい新規FileReader( "Your_answers.txt");
BufferedReaderののBR =新しい新しいをBufferedReader(FR);
文字列S;
しばらく//読み取り((br.readLine S =())!= NULL)入力回答かかり
{
; K ++;配列[K] = S
}
br.close();
fr.closeを();
}キャッチ(IOExceptionをE)
{
するSystem.out.println( "指定したファイルが存在しない");
}
ため(J INT = 0; J <NUM; J ++)
{
IF(配列[J] .equals(結果[J]))//回答を確認し、正しいと間違った統計の数
{

rightcount [J] = J + 1。
RIGHT1 ++;
グレード1 = RIGHT1 * 10。
}

{

wrongcount [J] = J + 1、。
wrong1 ++;
}
グレード1 RIGHT1 * = 10;
}
てFileWriter FG = NULL;
試行錯誤フィードバック//タイトル情報修正
{
ファイルF =新しい新ファイル( "grade.txtを");
FG = FileWriter新しい新しい(真のF、);
}キャッチ(IOExceptionをE)
{
e.printStackTrace();
}
のPrintWriter新しい新しいPG =のPrintWriter(FG);
pg.println( "");
pg.print( "正しい:" + + RIGHT1」 (正しい質問番号")
のための(INT J = 0; J <= NUM; J ++){
IF(rightcount [J]!= 0){
pg.print(rightcount [J] +"、「);
}
}
PG .println( ")");
pg.print( "間違った:" + wrong1 + "(エラータイトル番号");
(INT J = 0; J <= NUM。J ++){
場合(wrongcount [J]!= 0){
pg.print(wrongcount [J] + "");
}
}
pg.println( ")");
pg.print( "グレード:" +グレード1);
pg.flush();
試み{
fg.flush() ;
pg.close();
fg.close();
}キャッチ(IOExceptionをE)
{
e.printStackTrace();
}
}のSystem.out.println( "結果がファイルに生成されている参照してください。");
のSystem.out .println( "ご利用ありがとうございました!");
}
}

結果:

 

 

 

 

 

 

 

 

 

 質問に答える後:

 

 

 

 

 

 ブログのアドレス:

 盛寧:https://www.cnblogs.com/shengning/

 羅ワン風水:https://home.cnblogs.com/u/pass/

倉庫住所:HTTPS://github.com/2994226544/exm

 

実験概要:長い時間の後、最終的には実験終了、2人一緒に一つのプログラムよりもペアプログラミングは、面倒とチームメイトの間でより多くの協力すべきことを最初の時間が非常に重要になり、人を試します二人は簡単にしたい場所私は理解することはできません。実験では、議論するために一緒に良いアイデア、二人を生成することが紛争中、紛争のアイデアが、無意味ではないがあるでしょうが、向上させることができます。この実験は、関連するオペレーティングgithubのと私はより身近ました。

 

おすすめ

転載: www.cnblogs.com/shengning/p/12615012.html