第2回 プログラミングになれる


第1回の演習(2)の注意点

(2)整数型の変数,a = 6, b = 5 とするとき,次の各計算結果を画面に表示するプログラムを作成しよう.

解答例:


#include <stdio.h>

 
void main()
{
	int a,b; /*ここはコメント.C言語のとき宣言は最初*/

	a = 6;	/*ここはコメント.aに6を代入*/
	b = 5;	/*ここはコメント.bに5を代入*/

	printf("a×b=%d¥n",a*b);
	printf("a÷b=%d¥n",a/b);
	printf("a%%b=%d¥n",a%b); /*ここはコメント.半角%を表示させるには,%%と打つ*/
	printf("a^2 + ab =%d¥n",a*a+a*b);
 
}
 

結果:

a = 6
b = 5
a x b = 30
a / b = 1
a % b = 1
a^2 + ab = 66

あれ,割り算の結果が思い通りになりませんね.
わり算の結果(商)は,実数になるはずなので,


    printf("a / b = %f ¥n", a/b);
 

としてみよう.さあ,どうでしょう?

    a / b = 0.000000

ますますおかしくなりましたね.これは,同じ型同士で演算をすると結果も同じ型になるからである.

上の例だと,

    [整数]=[整数]÷[整数]

となるため,商が正しく求まりません.そこで,別の実数の変数を用意して,

    [実数]=[整数]÷[整数]

となるように,書き換えてみよう.


#include <stdio.h>
 
void main()
{
    int a, b;
    float c;
    a = 6;
    b = 5;
    c = a / b;

 
    printf("a / b = %f¥n", c); 
}

結果:

a / b = 1.000000

まだ,おかしいですね.


型の変換

わり算をうまく行うには,

    [実数]=[実数]÷[実数]

としなくてはならない.そこで整数から実数に変数の型を変換する必要がある. 型を変換することを キャスト と呼ぶ.


#include <stdio.h>
 
void main()
{
    int a, b;
    float c;
 
    a = 6;
    b = 5;
    c = (float)a / (float)b;
 
    printf("a / b = %f ¥n", c); 
}

結果:

a / b = 1.200000

やっと,意図した結果が得られた.

このように,計算の途中で型が思い通りにならないことが多く出てくる.気をつけてプログラムを作ろう.


演習 早くプログラミングになれよう。

(1)先週のプログラムを,わり算が正しく計算できるようにする。

(2)キーボードから整数の値で秒数を入力すると,その秒数が,何時間何分何秒か表示する。

(3)人は1kg減量するためには7500kcal消費する必要があるとする。みんながビリーズブートキャンプでダイエットすると1週間のトレーニングで2500kcal消費できる。キーボードから今の体重(kg)と目標体重(kg)を入力すると,あと何kcal消費する必要があり,何週間ビリーズブートキャンプでトレーニングする必要があるか表示するプログラムを作成せよ。*体重は浮動小数型で定義しなさい*

(4)肥満度を表す指標にBMI(Body Mass Index)というものがある。これはWHOで基準が発表されているが,18.5から25までが正常範囲とされている。

BMI=体重(kg) ÷ 身長2(m)

キーボードから体重と身長を入力(単位に注意!)すると,BMI値を計算して画面に表示するプログラムを作成せよ。

(5)キーボードから,10個の数字を入力すると,その数字の和と,平均値を求めるプログラムを作成せよ。


授業終了時までのプログラムと完成した提出用プログラムをoh-meijiシステムを使って提出すること
授業終了時に送るのは出席の確認用である.完成した課題は提出用の回に送ること
(提出用の回に提出しないと,採点を行わない)


宿題

下記の2つのフローチャートを書いてくること。11月10日授業開始時に,レポートを集めます。

(1)以下の表のように,求めたBMI値により肥満度が分類されている。この判定結果を画面に表示するようなフローチャートを書いてくる。

BMI 判定
18.5未満 やせ
18.5〜25 普通
25以上 肥満

(2)上記(5)をループを使ったアルゴリズムを考え,フローチャートを書いてくる。




演習:解答例