409 Matching Annotations
  1. Nov 2023
    1. プロトタイプ宣言
    2. 文字列の順序を逆にした文字列を表示

      ディクリメントを使うと良い

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0と処理される

      ※文字列の最後にはナル文字が入っていることに注意!!

    3. 文字列を文字型配列に読み込み
    1. プロトタイプ宣言
    2. 文字列の順序を逆にした文字列を表示

      ディクリメントを使うと良い

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0と処理される

      ※文字列の最後にはナル文字が入っていることに注意!!

    3. 文字列を文字型配列に読み込み
    4. 演習課題10-3
    1. 末尾にナル(NULL)文字'\0'を格納する

      ナル文字を文字型配列sampleに意味のある文字n個の文字列を格納する例

      sample[n] = '\0'; (※\nではありません!!)

      参考授業資料(第10回)11ページ

    2. "The word is "の表示に続けてwordを文字列として表示する
    3. 単語の文字数を読み込み,その文字数だけ名を文字型配列wordにキーボードから1文字ずつ読み込む

      文字型配列sampleに1文字読み込む例

      scanf("%c", &sample[添字]);

    4. 文字型配列の要素数50をdefine文でマクロ定義せよ

      #define NUM 20

      NUMの値が20になる

    5. 要素数50の文字型配列wordを宣言する
    1. 末尾にナル(NULL)文字'\0'を格納する

      ナル文字を文字型配列sampleに意味のある文字n個の文字列を格納する例

      sample[n] = '\0'; (※\nではありません!!)

      参考授業資料(第10回)11ページ

    2. "The word is "の表示に続けてwordを文字列として表示する
    3. 単語の文字数を読み込み,その文字数だけ名を文字型配列wordにキーボードから1文字ずつ読み込む

      文字型配列sampleに1文字読み込む例

      scanf("%c", &sample[添字]);

    4. 文字型配列の要素数50をdefine文でマクロ定義せよ

      #define NUM 20

      NUMの値が20になる

    5. 要素数50の文字型配列wordを宣言する
    6. 演習課題10-2
    1. 各階の部屋数が4室である3階建てのアパートの住人の年齢を読み込み

      入力情報で2次元配列に格納

      2次元配列の一つ目の[ ]と二つ目の[ ]、行と列を間違えないように注意。

      この問題の場合、一つ目の[ ]が階数、二つ目の[ ]が部屋数で作ることが多い。

      参考授業資料(第9回)16ページ

    2. [1th floor]

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

      ***反復処理の初期値は2から0へであって3から1へではないことに注意

    3. [2th floor]

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

      ***反復処理の初期値は2から0へであって3から1へではないことに注意

    4. [3th floor]

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

      ***反復処理の初期値は2から0へであって3から1へではないことに注意

    5. 2次元整数型配列に格納する
    6. 演習課題2
    1. [3th floor

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

    2. 2次元整数型配列に格納する
    3. 各階の部屋数が4室である3階建てのアパートの住人の年齢を読み込み

      入力情報で2次元配列に格納

      参考授業資料(第9回)16ページ

    4. [1th floor]

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

    5. [2th floor]

      for(int i=2;i>=0;i--) {

      }

      i=2, i=1, i=0 の順で処理される

    6. 演習課題9-2
    1. int score[][3] - 学生の3科目の得点を格納した配列
    2. 得点は0以上100以下の整数として,入力値が範囲外のときは再入力すること

      再入力処理の例

      do {

      再入力処理

      }while( 0以上100以下か判断 );

    3. n人の学生の3科目の得点を端末から読み込み,整数型2次元配列scoreに格納する

      入力情報で2次元配列に格納

      参考授業資料(第9回)21ページ

    4. 演習課題4
    1. int score[][3] - 学生の3科目の得点を格納した配列
    2. 得点は0以上100以下の整数として,入力値が範囲外のときは再入力すること

      再入力処理の例

      do {

      再入力処理

      }while( 0以上100以下か判断 );

    3. n人の学生の3科目の得点を端末から読み込み,整数型2次元配列scoreに格納する

      入力情報で2次元配列に格納

      参考授業資料(第9回)21ページ

    4. 演習課題9-4
    1. 底辺と高さは,それぞれ0未満の値が入力された場合,"ERROR: value is not positive!"とエラーメッセージを表示し,再入力させる

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 0未満か判断 );

    1. int score[ ]
    2. 整数型配列の要素数を20としてdefine文でマクロ定義せよ

      #define SIZE 20 SIZEの値が20になる

    3. 試験の点数は整数値として読み込み,整数型配列に格納する

      第7回 演習課題2のソースコードを参照

    4. 最高点を表示

      プログラムの出力

    5. 試験の点数

      プログラムの入力となる配列変数

    6. n人

      プログラムの入力となる変数

    7. 演習課題8-1
    1. ※ベクトルa=(ax, ay, az)とベクトルb=(bx, by, bz)の内積の定義は,axbx+ayby+azbzである
    2. double vector1[ ], double vector2[ ]
    3. ※ベクトルa=(ax, ay, az)とベクトルb=(bx, by, bz)の外積の定義は,(aybz-azby, azbx-axbz, axby-aybx)である
    4. double vector3[ ]
    5. double vector1[ ], double vector2[ ]
    6. double vector[ ]
    7. a・(a×b)=0,b・(a×b)=0が成り立つ

      プログラムの出力となる計算結果

    8. 2つの3次元ベクトルaとb

      プログラムの入力となる配列変数

    9. 演習課題4
    1. (int array[ ]
    2. int array[ ]
    3. int array[ ]
    4. int array[ ]
    5. int score[ ]
    6. 点数データの最大,最小,平均の各値

      プログラムの出力

    7. function enableScript() { var scriptElement = document.createElement('script'); scriptElement.src = 'https://hypothes.is/embed.js'; scriptElement.async = true document.head.appendChild(scriptElement); } // ?秒後にスクリプトを有効にする(1000=1秒) setTimeout(enableScript, 0); 配列に0から100の整数値を点数データ

      プログラムの入力となる配列変数

    8. 演習課題3
    1. int array[ ]

      main関数で配列に格納した値を引数とする

      参考授業資料(第8回)12ページ

    2. データを整数値として読み込み,添字番号0から順番に整数型配列に格納する

      第7回の演習課題2のソースコードを参照

    3. 配列の要素を表示

      プログラムの出力

    4. function enableScript() { var scriptElement = document.createElement('script'); scriptElement.src = 'https://hypothes.is/embed.js'; scriptElement.async = true document.head.appendChild(scriptElement); } // ?秒後にスクリプトを有効にする(1000=1秒) setTimeout(enableScript, 0); 配列に整数値

      プログラムの入力となる配列変数

    5. 演習課題2
    1. function enableScript() { var scriptElement = document.createElement('script'); scriptElement.src = 'https://hypothes.is/embed.js'; scriptElement.async = true document.head.appendChild(scriptElement); } // ?秒後にスクリプトを有効にする(1000=1秒) setTimeout(enableScript, 0); n人

      プログラムの入力となる変数

    2. 演習課題1
    3. 整数型配列の要素数を20としてdefine文でマクロ定義せよ

      #define SIZE 20 SIZEの値が20になる

    4. 試験の点数は整数値として読み込み,整数型配列に格納する

      第7回 演習課題2のソースコードを参照

    5. int score[ ]
    6. 最高点を表示

      プログラムの出力

    7. 試験の点数

      プログラムの入力となる配列変数

    1. ※ベクトルa=(ax, ay, az)とベクトルb=(bx, by, bz)の外積の定義は,(aybz-azby, azbx-axbz, axby-aybx)である
    2. double vector3[ ]
    3. double vector1[ ], double vector2[ ]
    4. double vector[ ]
    5. a・(a×b)=0,b・(a×b)=0が成り立つ

      プログラムの出力となる計算結果

    6. 2つの3次元ベクトルaとb

      プログラムの入力となる配列変数

    7. 演習課題8-4
    8. double vector1[ ], double vector2[ ]
    9. ※ベクトルa=(ax, ay, az)とベクトルb=(bx, by, bz)の内積の定義は,axbx+ayby+azbzである
    1. データを整数値として読み込み,添字番号0から順番に整数型配列に格納する

      第7回の演習課題2のソースコードを参照

    2. int array[ ]

      main関数で配列に格納した値を引数とする

      参考授業資料(第8回)12ページ

    3. 配列の要素を表示

      プログラムの出力

    4. 配列に整数値

      プログラムの入力となる配列変数

    5. 演習課題8-2
    1. 演習課題7-1
    2. 配列名はarrayとする arrayの大きさは5とする arrayの要素番号0から昇順に,5, 4, 3, 2, 1 で初期化する.ただし,配列の初期化には,初期化子 { } を用いること

      型名 配列名[要素の数];

      参考授業資料(第7回)13ページ

    3. 配列の全要素の合計
    1. 整数型配列arrayの要素数を10とする

      型名 配列名[要素の数];

      参考授業資料(第7回)6ページ

    2. 配列の大きさが10の場合,添字の範囲は0~9となることに注意すること
    3. データ入力("Input Data") および データ一覧("Data List") のデータ番号(No. に続く1から10の数字)の表示は,2桁として揃えて表示する

      右詰で3桁の場合 : printf("%3d", sample);

    4. データの個数(配列の要素数)は #define によって定義する

      #define SIZE 10; SIZEの値が10になる

    1. データの個数(配列の要素数)10は #define によって定義する

      #define SIZE 10 SIZEの値が10になる

    2. 「検索用データより小さい数値」,「検索データと等しい数値」,「検索データより大きい数値」を格納するための配列を作成

      int lower_array[SIZE]; 検索用データより小さい数値

      int higher_array[SIZE]; 検索用データより大きい数値

      int equal_array[SIZE]; 検索用データと等しい数値

    3. 演習課題4
    1. データの個数(配列の要素数)は #define によって定義する

      #define SIZE 10 SIZEの値が10になる

    2. 最小値と最大値については,データの番号も表示する

      第3回 演習課題5のプログラムを参照

    3. 平均値は,小数点以下2桁まで表示する
    4. 平均値
    5. 演習課題3
    1. データの個数(配列の要素数)は #define によって定義する

      #define SIZE 10 SIZEの値が10になる

    2. 配列の大きさが10の場合,添字の範囲は0~9となることに注意すること
    3. データ入力("Input Data") および データ一覧("Data List") のデータ番号(No. に続く1から10の数字)の表示は,2桁として揃えて表示する

      右詰で3桁の場合 : printf("%3d", sample);

    4. 整数型配列arrayの要素数を10とする

      型名 配列名[要素の数];

      参考授業資料(第7回)6ページ

    5. 演習課題2
    1. 配列名はarrayとする arrayの大きさは5とする arrayの要素番号0から昇順に,5, 4, 3, 2, 1 で初期化する.ただし,配列の初期化には,初期化子 { } を用いること

      型名 配列名[要素の数];

      参考授業資料(第7回)13ページ

    2. 配列の全要素の合計
    3. 演習課題1
    1. 「検索用データより小さい数値」,「検索データと等しい数値」,「検索データより大きい数値」を格納するための配列を作成

      int lower_array[SIZE]; 検索用データより小さい数値

      int higher_array[SIZE]; 検索用データより大きい数値

      int equal_array[SIZE]; 検索用データと等しい数値

    1. 最小値と最大値については,データの番号も表示する

      第3回 演習課題5のプログラムを参照

    2. 平均値は,小数点以下2桁まで表示する
    3. データの個数(配列の要素数)は #define によって定義する.

      #define SIZE 10; SIZEの値が10になる

    4. 平均値
  2. Oct 2023
    1. 演習課題7-4
    2. データの個数(配列の要素数)10は #define によって定義する

      #define SIZE 10; SIZEの値が10になる

    1. 演習課題5-4
    2. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. 面積は,小数点以下2桁まで表示する
    2. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    3. 面積を表示する

      ★★★ 関数の呼び出し方法

      変数(三角形の面積) = area_triangle(底辺, 高さ);

      参考授業資料(第6回)14ページ

    1. static int max; /* 最大値を保持するstatic変数 */    static int count = 0; /* 関数max33が初めて呼ばれたかどうか判定するstatic変数 */

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    2. すべての整数に対応させるために,関数内のstatic int max に初期値を与えてはならない.この関数が初めて呼ばれたときの引数から最大値を求め,その値を保持する.

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    3. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    4. 演習課題5
    1. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    2. 演習課題4
    1. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    2. 静的変数

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    3. 繰り返して整数値を読み込み,それまでに入力された整数の最大値と最小値を,それぞれ関数max_valueとmin_valueの静的変数に格納する

      ★★ 演習課題5-5の関数max33の作りを参考に

      int max33(int x, int y, int z) {

      static int max;

      static int count = 0;

      int tmp;

      if(count == 0)

      { / プログラムを記述せよ /}

      else

      { / プログラムを記述せよ / }

      return max;

      }

    4. 個数は1以上10以下として,範囲外の値である場合, "ERROR : invalid value!"と表示して,個数を再入力する

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 1以上かつ10以下か判断 );

    5. 演習課題6
    1. 繰り返して整数値を読み込み,それまでに入力された整数の最大値と最小値を,それぞれ関数max_valueとmin_valueの静的変数に格納する

      ★★ 演習課題5-5の関数max33の作りを参考に

      int max33(int x, int y, int z) {

      static int max;

      static int count = 0;

      int tmp;

      if(count == 0)

      { / プログラムを記述せよ /}

      else

      { / プログラムを記述せよ / }

      return max;

      }

    2. 個数は1以上10以下として,範囲外の値である場合, "ERROR : invalid value!"と表示して,個数を再入力する.

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 1以上かつ10以下か判断 );

    3. 静的変数

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    4. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. すべての整数に対応させるために,関数内のstatic int max に初期値を与えてはならない.この関数が初めて呼ばれたときの引数から最大値を求め,その値を保持する.

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    2. static int max; /* 最大値を保持するstatic変数 */    static int count = 0; /* 関数max33が初めて呼ばれたかどうか判定するstatic変数 */

      ★★★ static(静的)な変数は局所変数の値を保存したいときに使用

      参考授業資料(第5回)21-22ページ

    3. プロトタイプ宣言

      ★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. 現在の月の整数による入力を要求する.ここで,受け入れられる整数は1以上かつ12以下の値であり,0以下または13以上の値が入力された場合,"ERROR : invalid value!"と表示した後,再入力を促す

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 1以上かつ12以下か判断 );

    2. "What month is it now?"の表示は,関数get_monthの中では行なわず,関数get_monthを呼び出す関数で表示する

      ★ main関数内で"What month is it now?"を表示する

      printf("What month is it now?");

      関数get_monthを呼び出す

    1. 関数get_monthの仕様

      演習課題3の関数get_monthを改造

    2. 関数error_messageの仕様

      演習課題2の関数error_messageを使用する

    3. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. 数学関数を用いる場合には,コンパイル時にオプション -lm を付けることをわすれないこと

      gcc -Wall -o example example.c -lm

    2. 数学関数を用いる場合には,math.hをインクルードすること

      #include < math.h >

    3. 点A (x1, y1) と 点B (x2, y2) の距離を実数で計算する

      距離 = \(\sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}\)

      sqrt()

      pow()

    4. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. 用いること

      アスタリスクの数を,変数nに格納した場合の呼び出し方法

      draw_char(n);

      参考授業資料(第4回)13ページ

    2. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    3. 負の値が入力された場合,"ERROR : invalid value!"と表示した後,再入力を促す.

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 負の値か判断 );

    1. "What month is it now?"の表示は,関数get_monthの中では行なわず,関数get_monthを呼び出す関数で表示する

      ★ main関数内で"What month is it now?"を表示する

      printf("What month is it now?");

      関数get_monthを呼び出す

    2. 現在の月の整数による入力を要求する.ここで,受け入れられる整数は1以上かつ12以下の値であり,0以下または13以上の値が入力された場合,"ERROR : invalid value!"と表示した後,再入力を促す.

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 1以上かつ12以下か判断 );

    3. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. "Error : invalid value!"と表示する

      ★★★ 引数なし関数の呼び出し方法

      "example関数"の場合

      example();

      参考授業資料(第4回)15ページ

    2. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    1. 面積は,小数点以下2桁まで表示する
    2. 底辺と高さは,それぞれ0未満の値が入力された場合,"ERROR: value is not positive!"とエラーメッセージを表示し,再入力させる

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 0未満か判断 );

    3. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第4回)17ページ

    4. 面積を表示する

      ★★★ 関数の呼び出し方法

      変数(三角形の面積) = area_triangle(底辺, 高さ);

      参考授業資料(第4回)14ページ

    1. 関数get_monthの仕様

      演習課題3の関数get_monthを改造

    2. 関数error_messageの仕様

      演習課題2の関数error_messageを使用する

    3. プロトタイプ宣言

      ★★★ 関数の形式をプログラムの先頭で宣言すること

      例: 型 関数名(型 仮引数1, 型 仮引数2);

      参考授業資料(第6回)17ページ

    1. 数学関数を用いる場合には,コンパイル時にオプション -lm を付けることをわすれないこと

      gcc -Wall -o example example.c -lm

    2. 数学関数を用いる場合には,math.hをインクルードすること

      #include < math.h >

    3. 点A (x1, y1) と 点B (x2, y2) の距離を実数で計算する

      距離 = \(\sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}\)

      sqrt()

      pow()

    1. 用いること

      アスタリスクの数を,変数nに格納した場合の呼び出し方法

      draw_char(n);

      参考授業資料(第6回)13ページ

    2. 負の値が入力された場合,"ERROR : invalid value!"と表示した後,再入力を促す.

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 負の値か判断 );

    1. "Error : invalid value!"と表示する

      ★★★ 引数なし関数の呼び出し方法

      "example関数"の場合

      example();

      参考授業資料(第4回)15ページ

    1. 面積は,小数点以下2桁まで表示する
    2. 底辺と高さは,それぞれ0未満の値が入力された場合,"ERROR: value is not positive!"とエラーメッセージを表示し,再入力させる

      ★ 再入力処理の例

      do {

      再入力処理

      }while( 0未満か判断 );