第12回 [7月6日、H.16(‘04)] 配列の扱い、探索 有効範囲と記憶域期間 今日のメニュー 1 2 3 6 前回の課題の復習 前回の宿題の復習 今回の課題 演習 PE04-12.ppt 前回の課題 (1)List6-1を参考に演習6ー1(118頁) (2)List6-2を参考に演習6ー2(118頁) (3)List6-3を参考に演習6ー3(119頁) List6-6を参考に演習6ー4(121頁) (4)List6-7,8を参考に演習6ー5(123頁) (5)演習6ー6(125頁) ファイル名は enB-****.c 提出はいつもと同様、リスト印刷とファイル転送 前回の宿題 (1)教科書の114頁~129頁を良く読んで 復習する。 (2)教科書の120頁~145頁を良く読んで 予習する。 (3)今日の課題が未完成の場合、完成して 提出する。 ファイル名:hwB-****.c • 締め切り: 7月3日(土) 午後1時(厳守) #include <stdio.h> int minof( int x, int y) { 演習6-1の関数の中身を記述 } int min3( int x, int y, int z) { 演習6-2の関数の中身を記述 } int cube( int x) { 関数sqr 演習6-3の関数の中身を記述 も作成し、 } 利用する int pow4( int x) { こと 演習6-4の関数の中身を記述 } void alert( int no) { 演習6-5の関数の中身を記述 } void hello( void ) { 演習6-6の関数の中身を記述 } int main(void) { int na, nb, nc; /*演習6-1,6-2の場合*/ /*整数を入力する*/ printf("小さい方の値は %d です。\n", minof( na, nb) ); printf("3数中の最小値は %d です。\n", min3( na, nb, nc) ); ・・・・・・ /*演習6-1、2、3*/ int minof(int x, int y) { return ( (x-y)>0 ? y : x ); } int min3(int x, int y, int z) { int min = x; if ( y < min ) min = y; if ( z < min ) min = z; return ( min ); } int cube(int x) { 関数内で利用す return ( X*x*x ); る変数minの宣 } 言と初期化 ・・・・ /*演習6-4*/ int sqr(int x) { 関数を利用する return ( x * x ); 前に定義しておく } int pow4(int x) { return ( sqr( sqr(x)sqr(x) * sqr(x) ) ); } /* main関数 */ int a; ・・・・ printf("整数を入力せよ=>"); scanf("%d", &a); printf("四乗は %d です。\n",pow4(a)); ・・・・ /*演習6-5、6*/ while(no-->0) void alert(int no) { putchar('\a'); int i; for(i=0;i<no;i++) putchar('\a'); } void hello( void ) { puts("こんにちは。"); } /* main関数 */ ・・・・ printf(" n=>"); scanf("%d",&n); alert(n); hello( ); ・・・・ 課題の提出について ・プログラムの構成 #include <stdio.h> /* 関数1を定義する */ int minof(・・・) { ・・・ } /* 関数2を定義する */ ・・・ int main(void) { int ・・・ puts("番号・氏名"); 必要な関数を呼び出す } ・main関数は最後に記述 する ・演習6-4の pow4 は 教科書List6-3の関数 sqr を用いる return(x*x*x*x); return( sqr(x)*sqr(x) ); return( sqr( sqr(x) ) ); 今回の課題 (1)List6-12、List6-13等参考にして、演習6 -7、演習6-8、演習6-9(133頁)を完成せよ。 (1) → ファイル名:enC-****.c で提出 (2)List6-20 を参考に、演習6-12 を完成せよ。 (2) → 授業の最後に答え合わせをする (3)以下のプログラムを実行させ、関連する説明を 復習せよ。(134-145頁) (a)List6-14(134頁)[逐次探索] (b)List6-15,16(136頁-)[番兵法] (c)List6-17(138頁)[多次元配列] (d)List6-18(140頁)[有効範囲] (e)List6-19(143頁)[記憶域期間] 今回の宿題 ファイル名:hwC-****.c 第10回の課題・宿題の続きとして、各科目・合計・ 平均点の最高点・最低点の出力を追加せよ。(最高 点、最低点を求める関数を作る) 学籍番号 1023 1026 : 1132 平均点 最高点 最低点 英語 数学 国語 合計点 平均点 63 71 68 202 67.33 49 28 51 128 42.67 : : : 81 89 75 245 81.67 67.3 62.1 72.1 201.5 67.17 96 89 92 265 88.33 44 23 46 113 37.67 提出はいつもと同様、リスト印刷とファイル転送 • 締め切り: 7月10日(土) 午後1時(厳守) #include <stdio.h> /*演習6-12*/ int a[5]; 関数外で定義・宣言 int main(void){ 関数内でstatic付き static int b[5]; int i, c[5]; printf("\n a : "); 0に初期化される for(i=0;i<5;i++) printf("%d",a[i]); printf("\n b : "); for(i=0;i<5;i++) printf("%d",b[i]); printf("\n c : "); for(i=0;i<5;i++) printf("%d",c[i]); printf("\n"); 自動記憶域期間 return (0); の変数は不定値 }
© Copyright 2024 ExpyDoc