カウンタ

compteur (depuis le 1er décembre 2009)151913

電子講義集(全卓樹)

12345
2017/12/01

環境とシミュレーション0

Tweet ThisSend to Facebook | by T_Zen
Mathematicaによるプログラミングの基本

1 条件分岐
If文:条件が満たされる満たされないかで違った操作をする
 例:
  p =-1 ;  If[ p > 3,   Print[  p, " :p ha 3 ijou" ] ,   Print[ " p ha 3 ika" ]  ] ;
  p =12 ;  If[ p > 3,   Print[  p, " :p ha 3 ijou" ] ,   Print[ " p ha 3 ika" ]  ] ;
  p = 1 ;  If[  p < 0,  Print[  p, " :p ha fu " ] ] ;
  p =-5 ;  If[  p < 0,  Print[  p, " :p ha fu " ] ] ;


2 繰り返し操作
Doループ:カウンターを動かして規定回数だけ操作を行う
 例:

  n = 10 ;
  s = 0 ;
  Do[   s = s + j ,  {j, 1, n} ] ;
  Print[ " n:", n, " s:", s, " j:", j ] ;
注:終了後のカウンター j の中身に注目

Whileループ:条件が満たされてる間、操作を行う
 例:
   k = 0 ; While[  k <= 5 ,  k=k+1;  Print[ " k:", k ]  ] ;
注:カウンター k を自分で定義してそうさする。無限ループにならないように注意



3 配列

一つの名前のもとにたくさんの数を収容
 例:一次元配列
  n=7;
  A = ConstantArray[ 0, {n} ];
  Print[ A ];
  Do[ A[[ g ]] = g^2 , {g,1,n} ];
  Do[ t = A[[  h  ]] ;  Print[  "h: ", h, " A_h ", t ] ,  {h, 1, n/2} ] ;
  Print[A];

 例:二次元配列

  m = 3; n = 7;
  B = ConstantArray[0, {m, n}];
  Print[B];
    Print[" gyougoto tsumeru "] ;
  Do[B[[1, g]] = g, {g, 1, n}];  Do[B[[2, g]] = g^2, {g, 1, n}];  Do[B[[3, g]] = g^3, {g, 1, n}];
  Print[B];
    Print[" jidouka "] ;
  Do[Do[B[[t, g]] = g^t, {g, 1, n}], {t, 1, m}]
  Print[B];



課題01

1からnまでの自然数の和を求めるプログラムをつくれ。n=10,100,1000で試してみよ。

課題02

1からnまでの自然数のうちで3で割れない数すべての和を求めるプログラムをつくれ。n=10,100,1000で試してみよ。

ヒント:j を m で割った余りを表す Mod[ j, m ] を用いよ

課題03

n次元の配列を定義し、その最初の要素は2、次の要素は3、次の要素は5、次の要素は7、そしてそれ以降は7より大きく、2、3、5、7のいずれでも割り切れない自然数を、小さい順に詰めていって全部でn個詰まったらやめるプログラムを作れ。n=10、20、30で試してみよ。

ヒント:ブーリアン代数演算子(&&  ||  ==  !=)に注目


課題04

n次元の配列を定義し、0と1を半々の確率でランダムに詰めていってn個詰まったらやめるプログラムを作れ。n=10、20、100で試してみよ。
ヒント:0と1の間の均一乱数を与える RandomReal[] を用いよ

課題05

n次元の配列を定義し、0から10までのランダムな整数を詰めていって書き出し、さらにn個の要素全部の和を書き出すプログラムを作れ。n=20、30で何度か試してみよ。
ヒント:0とpの間の均一整数乱数を与える RandomInteger[p] を用いよ
00:40 | 投票する | 投票数(6) | コメント(0) | 教育
12345