前回の授業の達成率

第1回レポートの講評
インデント(字下げ)の統一
自宅学習用コンパイラの入手法
行列計算と for 文
演習12.3の計算結果
演習12.4の計算結果
インデント(字下げ)の統一

自分なりの字下げの数、やり方を決める




「不統一」はダメ
テキスト、資料: 2文字分
Tab を使う? → 印刷すると狂う場合はスペースで統一
波カッコ対{}の位置

テキスト ― すべて揃える、2段階
for (i = 0; i < n; i++)
→{
→→printf("%d", a[i]);
←}

資料 ― 関数ブロックだけは揃える、1段階
for (i = 0; i < n; i++) {
→printf("%d", a[i]);
}
自宅学習用コンパイラの入手法

タダで始めるC/C++プログラミング


Visual C++ 2008 Express Edition


http://www.ooyashima.net/db/prog.htm
http://www.microsoft.com/japan/msdn/vstudio/express/
Boland C++ 5.5, Turbo C++ Explorer

http://www.codegear.com/jp/downloads/free/cppbuilder
行列計算と for 文

∑の計算と for 文
N
S

k2
k 1

s = 0;
for (k = 1; k <= N; k++) {
s += k * k;
}
行列の乗算と for 文
n
ci , j 
a
i,k
 bk , j
k 1
(i  1,2,..., m; j  1,2,..., m)
c[i][j] = 0;
for (k = 0; k < n; k++) {
c[i][j] += a[i][k]*b[k][j];
}
演習12.3の計算結果
 12 14 16 


A  B   18 20 22
 24 26 28


  10  10  10


A  B    10  10  10
  10  10  10


 90 96 102


A  B   216 231 246
 342 366 390


演習12.4の計算結果
 2 3 1  x    1

   
 3 1 2  y    7 
 1 2 3  z   6 

   
 x  1 
   
 y     2
z  3 
   
プロトタイプ宣言の意味


関数が呼ばれる前に形だけ宣言
関数定義が先なら必要なし?(コンパイラによる)
double function(double x);
この時点で
void main(void)
定義されてい
{
ないので不安
double y;
y = function(5);
}
double function(double x)
{
return x*x;
}
定 義
double function(double x)
{
return x*x;
}
定 義
この時点で
void main(void)
定義されて
{
いるので安心
double y;
y = function(5);
}
関数定義と仮引数




仮引数の変数名は暫定的なもの
定義内だけで有効. 矛盾なければOK
呼ぶ側は引数の位置と型(タイプ)だけが重要
意味の分かりやすい汎用的な名前がよい
double f(double x);
{
return x*x;
}
void main(void)
{
double t = 2;
printf("f(%f) = %f\n", t, f(t));
}