Document

第4回目 [5月11日、H.16(‘04)]
型と演算、キャスト、変換指定
本日のメニュー
1)前回の課題と宿題について
2)整数、浮動小数点数の演算
3)型キャスト
4)桁指定出力
5)課題・提出
PE04-04.ppt
前回の課題
(1)2つの整数を変数 a, b に入力し、a を
b で割った時の商と余りを出力せよ。
(2)演習2-1(20頁) 二つの整数を入力せよ。
a, b => 17 3
(3)演習2-2(21頁) 商は 5 です。
(4)演習2-3(27頁) 余りは 2 です。
(1)から(4)を一つのプログラムで実行する。
ファイル名は en3-****.c
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 034987 ならば xxx-3987.c
前回の提出
1)プログラムリスト(A4版用紙を縦に使う)
今日の課題の (1)~(4)までで、できたところ
までのリストを印刷して提出する
(必ずA4版の用紙で提出すること)
2)aucopyで en3-****.c を転送する。
3)aucopyで en3-****.exe を転送する。
2)、3)共に必ず aucopy を使って転送すること
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 034987 ならば xxx-3987.c
#include <stdio.h>
int main(void) {
int a, b;
printf("123456 朝日太郎\n");
printf("整数Aを入力==>");
scanf("%d", &a);
printf("整数Bを入力==>");
scanf("%d", &b);
printf("Aの値はBの%d%%です。\n",
a/b*100);
b/a*100;
100*a/b);
100*b/a;
a*100/b);
b*100/a;
}
前回の課題の提出について
・ファイル転送が無い → 評価不能(F)
・学籍番号・氏名の出力が無い(減点)
・締め切りを守らない提出(宿題と一緒に提出など)
→ 一応、チェックはする(無効)
・ファイル名が違う(減点)
・コンパイル、実行可能なのに転送していない
*.c のみを転送、*.exe が無い(減点)
・実行ファイル *.exe のみを転送してソースファイル
*.c が転送されていない(減点)
・int型とdouble型の区別がついていない。
・問題の意にそっていない。
前回の宿題
4桁の数値=> 6542
◎キーボードから4桁の
千の位は 6
整数を入力し、それぞ
れの桁の数値を求めよ。 百の位は 5
[発展]続けて、各桁の値
の合計と平均を求めよ。
ファイル名:hw3-****.c
十の位は 4
一の位は 2
合計は 17
平均は 4.250000
hw3-****.exe
• 締め切り: 5月8日(土) 午後1時
• リストの提出は、オープン利用室のレポート入れ
• aucopy でのファイル転送フォルダーは、
[森下伊三男]-[プログラミング演習]
int main(void) {
int i, a,b,c,d ; double x ;
printf("123456 朝日太郎\n");
printf(“4桁の整数を入れよ===>”);
scanf("%d",&i); 2597
ここに各桁の値
a2 =
i 2597
/ 1000; を出力する文を
入れる
b5 = ( i % 1000)
597 / 100 ;
c9 = ( i % 100)
;
97 / 10
4で割ると整
d7 = 2597
i % 10
;
数型になっ
てしまう。
x = (a+b+c+d) / 4.0;
printf("合計は%d\n",a+b+c+d);
printf("平均は%f\n",x);
return(0); }
int n, a, b, c, d, sum;
別解
printf("4桁の整数は ==>");
scanf("%d",&n) ; 2597
a = n / 1000 ; 2597
b = (n / 100) 25 % 10 ;
c = (n / 10) 259 % 10 ;
d = n % 10 ; 2597
printf("千の位は %d です。\n", a);
printf("百の位は %d です。\n", b);
・・・・・・
(double)sum/4
sum = a + b + c + d ;
printf("合計は %d です。\n", sum);
printf("平均は %f です。",sum/4.0);
提出について
・学籍番号・氏名の出力が無い(減点)
・*.exe が実行できない(CPadを使い)
・*.exe がファイル転送されていない(減点)
・問題の意味を取り違えた人が多い
・ファイル名が違う(減点)
・リストの印刷提出が無い
→ 採点表記不可能(評価しない)
・剰余演算(%)を活用していない
・平均を整数型で計算している → 小数点以下なし
heikin=sum/4; → heikin=sum/4.0;
・同じ計算を何回もしている → 不経済
式の型(整数型、浮動小数点型)
*/
+ー
整数型
浮動
小数点型
整数型
%
浮動
小数点型
/
整数化
浮動
小数点型
代入文の注意事項
・代入演算子 = の左辺は変数名
・右辺の結果は左辺の型に合わせられる
(浮動小数点型の変数名)=(浮動小数点型の式);
(整数型の変数名)=(整数型の式);
(浮動小数点型の変数名)=(整数型の式); //実数化
(整数型の変数名)=(浮動小数点型の式); //切り捨て
int a, b; double x, y;
a=3; b=2; x=4.5; // a+b = x は不可
y=a+b; /*実数化*/
b=x+0.5; /*xを四捨五入*/
a=1.5 ; b=x+y; a=3+x; /*切り捨て*/
第2章までの総合演習
(1)画面に、『本日は晴天なり』と表示す
るプログラムを書いてみよう。
(2)単位を互いに換算するプログラムを書い
てみよう。
(a)センチ(cm)とインチの換算[1インチ=2.54cm]
(b)ドル($)と円(\)の換算[1$=\109.5]
F
(c)摂氏C(℃)と華氏F(°)の換算
5
C  ( F  32)
9
第2章までの総合演習
(3)単価 a 円のハンバーガーを n 個買
い、 y 円札を出したら、お釣りはいくらにな
るでしょう?
この計算をするプログラムを書いてみよう。
(4)上底a、下底b、高さh の台形の面積 S
s
( a b ) h
2
を計算するプログラムを書いてみよう。
今日の課題
2章までの総合演習(前の2頁)の課題、
(1)、(2)-(a)、(2)-(b)、(2)-(c)、(3)、
(4)を順に実行していくプログラムを作成
せよ。なお、出力形式は、あなたが最も
見やすいと思う書式(桁指定等をせよ)と
せよ。
ファイル名は en4-****.c
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 034987 ならば xxx-3987.c
今日の提出
1)プログラムリスト
今日の課題のできたところまでのA4の用紙に
リストを印刷して提出する
(転送ファイルと同じ内容のリストを提出)
2)aucopyで en4-****.c を転送する。
3)aucopyで en4-****.exe を転送する。
2)、3)共に必ず aucopy を使って転送すること
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 034987 ならば xxx-3987.c
今回の宿題
◎キーボードから整数部分
2桁、小数点以下2桁の
値を入力し、それぞれの
桁の数値とそれらの合
計、平均値(小数点以下
2桁)を求めよ。
◎教科書演習2-6(33頁)
ファイル名:hw4-****.c
数値=> 65.42
十の位は 6
一の位は 5
十分の1の位は 4
百分の1の位は 2
合計は 17
平均は 4.25
hw4-****.exe
• 締め切り: 5月15日(土) 午後1時
• リストの提出は、オープン利用室のレポート入れ
• aucopy でのファイル転送フォルダーは、
[森下伊三男]-[プログラミング演習]