プログラミング演習2003

第4回目 [5月15日、H.15(‘03)]
型と演算、キャスト、変換指定
本日のメニュー
1)前回の課題と宿題について
2)整数、浮動小数点数の演算
3)型キャスト
4)桁指定出力
5)課題・提出
PE03-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桁
例:学生番号 024987 ならば xxx-2987.c
前回の提出
1)プログラムリスト(A4版用紙を縦に使う)
今日の課題の (1)~(4)までで、できたところ
までのリストを印刷して提出する
(必ずA4版の用紙で提出すること)
2)aucopyで en3-****.c を転送する。
3)aucopyで en3-****.exe を転送する。
2)、3)共に必ず aucopy を使って転送すること
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 024987 ならば xxx-2987.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)
・学籍番号・氏名の出力が無い(減点)
・締め切りを守らない提出(宿題と一緒に提出など)
→ 一応、チェックはする(無効)
・リストの印刷提出が無い
→ 採点表記不可能(評価しない)
・ファイル名が違う(減点)
・オープン利用室からファイル転送(未提出扱い)
・リストの用紙サイズが違う(A4でない)(減点)
・コンパイル、実行可能なのに転送していない
*.c のみを転送、*.exe が無い(減点)
前回の宿題
4桁の数値=> 6542
◎キーボードから4桁の
千の位は 6
整数を入力し、それぞ
れの桁の数値を求めよ。 百の位は 5
[発展]続けて、各桁の値
の合計と平均を求めよ。
ファイル名:hw3-****.c
十の位は 4
一の位は 2
合計は 17
平均は 4.25
hw3-****.exe
• 締め切り: 5月13日(火) 午後5時
• リストの提出は、オープン利用室のレポート入れ
• aucopy でのファイル転送フォルダーは、
[森下伊三男]-[プログラミング演習]
main() {
int i, a,b,c,d ; float x ;
printf("123456 朝日太郎\n");
printf(“4桁の整数を入れよ===>”);
%m.nf で
scanf("%d",&i); 2597
m≧n+3でな
a2 =
i 2597
/ 1000; いと右詰の意
b5 = ( i % 1000)
597 / 100 ; 味が失われる
ことに
c9 = ( i % 100)
; 注意する!
97 / 10
d7 = 2597
i % 10
;
x = (a+b+c+d) / 4.0;
printf("(%d+%d+%d+%d)÷4=%5.2f\n",
a,b,c,d,x);
4で割ると整数型になってしまう。
}
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);
提出について
・学籍番号・氏名の出力が無い
・締め切りを守らない提出
・問題の意味を取り違えた人が多い
・ファイル名が違う(減点)
・人のプログラムを写したような作品がある
・剰余演算(%)を活用していない
・用紙サイズが違う
・ printf( )の中に代入式 a=・・・ を入れる
→ 文法的には正しいが式の値、という考え方は
まだ習ってないので、当面は使わない
例) printf("%d \n", sum=a+b+c);
式の型(整数型、浮動小数点
型)
*/
+ー
整数型
浮動
小数点型
整数型
%
浮動
小数点型
/
整数化
浮動
小数点型
代入文の注意事項
・代入演算子 = の左辺は変数名
・右辺の結果は左辺の型に合わせられる
(浮動小数点型の変数名)=(浮動小数点型の式);
(整数型の変数名)=(整数型の式);
(浮動小数点型の変数名)=(整数型の式); //実数化
(整数型の変数名)=(浮動小数点型の式); //切り捨て
int a, b; float 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$=\129.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)、教科書演習2-6(33頁)を順に実
行していくプログラムを作成せよ。なお、
(1)~(4)の出力形式は、あなたが最も
見やすいと思う書式(桁指定等)とせよ。
ファイル名は en4-****.c
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 024987 ならば xxx-2987.c
今日の提出
1)プログラムリスト
今日の課題の (1)~(4)の順にできたところま
でのリストを印刷して提出する
(転送ファイルと同じ内容のリストを提出)
2)aucopyで en4-****.c を転送する。
3)aucopyで en4-****.exe を転送する。
ファイル名の **** は学籍番号の二桁目と下3桁
例:学生番号 024987 ならば xxx-2987.c
今回の宿題
◎今日の課題を完成させよ。
◎提出はしなくてよい。
◎5月22日のプログラミング演習の時
に解答例を紹介する。
第4回終了
次回(第5回)の
プログラミング入門、
プログラミング演習は
5月22日です。
第3章に入ります!