プログラミングの 基本パタン Hello, world! 目的: コンピュータが「動く」ことを示す 手段: 画面への出力 stdio.h ファイルで定義される printf 関数 効果: 基本的なCプログラムの書き方に慣れる、関数 #include <stdio.h> int main(void) { printf(“Hello, world!\n”); Return 0; } 二つの数を読み込んでその積を表示 目的: コンピュータが「人間からの入力に反応する」ことを示 す 手段: キボード入力と画面への出力 stdio.h ファイルで定義される printf 関数とscanf関数 効果: 基本的な入出力の書き方に慣れる、変数宣言、四則演算 #include <stdio.h> int int main(void) { x, y; scanf(”%d %d”, &x, &y); printf(”%d*%d=%d\n”,x,y,x*y); Return 0; } 配列の要素を見て…(1) 合計の計算 目的: 配列の利用法の理解 手段: 配列を順に調べる「繰り返し」 for 文 効果: 基本的なfor文の使い方に慣れる #include <stdio.h> #define NUM 5 int main(void) { int i, sum=0; Int array[] = { 1, 2, 3, 4, 5}; for (i=0; i<NUM; i++) { sum += array[i]; } printf(”sum=%d\n”,sum); Return 0; } 応用:平均、分散 平均: 合計値を要素数で割る 分散: 各要素と平均の差の2乗の「合計」を求める 配列の要素を見て…(2) 最大、最小 目的: 配列の利用法の理解 手段: 配列を順に調べる「繰り返し」 for 文 効果: 初期値設定の重要性の理解 #include <stdio.h> #define NUM 5 int main(void) { } int i, target; Int array[] = { 7, 2, 9, 4, 5}; target = array[0]; for (i=0; i<NUM; i++) { if (target < array[i]) target = array[i]; } printf(”max=%d\n”,target); Return 0; 応用:最小、目標に一番近い要素 最小: if文の条件の変更 最も近い要素: 乗)の最小 目標と配列の要素の差の絶対値(もしくは2 配列の要素を見て…(3) 複数の条件 目的: 配列の利用法の理解 手段: 配列を順に調べる「繰り返し」 for 文 効果: 複数の条件の扱い 条件文の工夫⇒初期値の設定方法 例1. 配列の要素のうち、奇数で最大 例2.配列の要素のうち、偶数で最小 関数の利用 main関数にすべての作業を書くのではなく、抽象化(関数として 分離)する 効果: 引数の理解, return文の理解 例1. 最大を求めるコード ⇒ 最大を求める関数 例2. 平均を求めるコード ⇒ 分散を求める時に利用 例3. 関数の利用:再帰 目的: 関数の理解 手段: 再帰 効果: 再帰の関数の作成の原理=数学的帰納法 パタン: if ( 「停止条件」の成立 ) return 特定の値; else 再帰を用いた繰り返し
© Copyright 2024 ExpyDoc