プログラミングの 基本パタン Hello, world! 目的: コンピュータが「動く」こと

プログラミングの
基本パタン
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
再帰を用いた繰り返し