情報処理演習 (秋学期・樋口担当) 2回目 10/1 日本工業大学 コンピュータリテラシーII
演習4-1 キーボードからaとbの2つの整数を入力して,それぞれを画面に出力するプログラムを作成しなさい. ポイント1 scanf 関数 ②整数を入力する場合は,%d ③文字変数の前に & を忘れない scanf(”%d”,&a); ポイント2 ①キーボードからの入力では,まず画面にメッセージを表示. ②最後に改行の \n を書く ③表示させる文章は “ ” で囲む printf(”整数aを入力してください\n”); 日本工業大学 コンピュータリテラシーII
演習4-2 キーボードからaとbの2つの整数を入力して,aがb以上の場合には1を,そうでない場合は0を表示しなさい. ポイント1 関係演算子 ポイント1 関係演算子 ①数値の大小の比較には関係演算子を使う. ②関係演算子は,真(正しい)では1,偽(間違い)では0を返す. (1,0は整数) aがbより大きい場合に1を,そうでない場合は0を表示させる printf(“%d\n”, a>b); 日本工業大学 コンピュータリテラシーII
演習4-3 キーボードからaとbの2つの整数を入力して,aとbが等しかったら1を,等しくなかったら0を表示しなさい. ポイント1 関係演算子 ポイント1 関係演算子 ①等しい場合の関係演算子は == = が一つだけだと「代入」になってしまうので間違えない 日本工業大学 コンピュータリテラシーII
演習4-4 キーボードからa,b,c,dの4つの整数を入力して,aがbより大きい,あるいはcがdより大きかったら1を,そうでなければ0を表示しなさい. ポイント1 論理演算子 ①二つの条件を同時に満たす場合(and)は && (2つ重ねる) ②どちらかの条件を満たす場合(or)は || (2つ重ねる) ③どちらも,真の(正しい)場合は1,偽の(間違っている)場合は0を返す aが1,bが2の場合には1を,それ以外の場合には0を表示する c=a==1&&b==2; printf(“%d\n”,c); 日本工業大学 コンピュータリテラシーII
演習4-5 キーボードからa,b,cの3つの整数を入力して,3つの大小関係をそれぞれ表示しなさい. ポイント1 ①3つの条件判断が必要 ポイント1 ①3つの条件判断が必要 aとbの関係,bとcの関係,cとaの関係 ②それぞれを別々に判断 ③それぞれを別々に表示 if(a == b) printf(“%d = %d\n”, a, b); else if(a > b) printf(“%d > %d\n”, a, b); else printf(“%d < %d\n”, a, b); if(b == c) printf(“%d = %d\n”, b, c); else if(b > c) printf(“%d > %d\n”, b, c); else printf(“%d < %d\n”, b, c); if(c == a) printf(“%d = %d\n”, c, a); else if(c > a) printf(“%d > %d\n”, c, a); else printf(“%d < %d\n”, c, a); 日本工業大学 コンピュータリテラシーII
演習4-6 キーボードからa,b,cの3つの整数を入力して,aが一番大きく,cが一番小さい場合にその順番を表示しなさい. ポイント1 ポイント1 ①まず,aとbの関係を調べる ②次に,条件を満たす場合に,bとcの関係を調べる ③二つの条件を満たす場合は順位を表示 If(a > b){ if(b > c) printf(“%d > %d > %d\n”, a, b, c); } If(a > b && b > c) printf(“%d > %d > %d\n”, a, b, c); 日本工業大学 コンピュータリテラシーII
演習4-7 キーボードからa,b,cの3つの整数を入力して,3つの大小関係を同時に表示しなさい. ポイント1 ①場合分けが必要 ポイント1 ①場合分けが必要 (i) a=bかつb=c (c=aは必然) (ii) a=bかつb>c (c<aは必然) (iii) a=bかつb<c (c>aは必然) (iv) a>bかつb=c (c<aは必然) (v) a>bかつb>c (c<aは必然) (vi) a>bかつb<cかつc<a (vii) a>bかつb<cかつc>a (vii) a<bかつb=c (c>aは必然) (viii) a<bかつb<c (c>aは必然) (ix) a<bかつb>cかつc<a (x) a<bかつb>cかつc>a 日本工業大学 コンピュータリテラシーII
演習4-7 ポイント1 つづき If(a == b){ if(b == c) printf(“%d = %d = %d\n”, a, b, c); else if(b > c) printf(“%d = %d > %d\n”, a, b, c); else printf(“%d = %d < %d\n”, a, b, c); } else If(a > b){ if(b == c) printf(“%d > %d = %d\n”, a, b, c); else if(b > c) printf(“%d > %d > %d\n”, a, b, c); else{ if(c <a) printf(“%d > %d, %d < %d, %d < %d, \n”, a, b, b, c, c, a); else printf(“%d > %d, %d < %d, %d > %d, \n”, a, b, b, c, c, a); } else{ if(b == c) printf(“%d < %d = %d\n”, a, b, c); else if(b < c) printf(“%d < %d < %d\n”, a, b, c); if(c <a) printf(“%d < %d, %d > %d, %d < %d, \n”, a, b, b, c, c, a); else printf(“%d < %d, %d < %d, %d > %d, \n”, a, b, b, c, c, a); } 日本工業大学 コンピュータリテラシーII
演習4-8 キーボードからアルファベットを1文字入力し,入力した文字が a の場合 : おはようございます b の場合 : こんにちは c の場合 : こんばんは d の場合 : さようなら e の場合 : おやすみなさい それ以外 : ばーか を表示するプログラムを if を用いて作成しなさい ポイント1 ①条件が文字で判断する場合,その文字は ‘ ’ で囲う 日本工業大学 コンピュータリテラシーII
演習4-9 キーボードからアルファベットを1文字入力し,入力した文字が a の場合 : おはようございます b の場合 : こんにちは c の場合 : こんばんは d の場合 : さようなら e の場合 : おやすみなさい それ以外 : ばーか を表示するプログラムを switch case を用いて作成しなさい ポイント1 ①それ以外は default (デフォルト,初期値) ②case の後に : (コロン) を忘れない ③それぞれの case の終わりには break; を忘れない ④case は { } で括らないが, switch 全体は { } で括る 日本工業大学 コンピュータリテラシーII
演習4-10 キログラム(kg)あるいはポンド(lb)で表される質量をキーボードから入力して,kgであればlbに変換し,lbであればkgに変換し,変換前後の値を小数点第2位まで表示させる.長さは,その数値と単位記号(kgはK,lbはP)で与えられるものとする.なお,読み込まれた単位がkgでもlbでもない場合は,“Unit sign error” と表示すること. ポイント1 1lb = 453.592g 日本工業大学 コンピュータリテラシーII
演習4-11 とある携帯電話の料金プランでダブル定額というプランがある.このプランの料金は,1か月の通話時間が1時間未満では定額の1000円で,1時間以上3時間未満は従量制で,通話時間3分につき100円かかる.そして,3時間以上では定額の5000円となる.分単位の通話時間をキーボードから入力して,料金を計算して出力しなさい. 日本工業大学 コンピュータリテラシーII
演習4-12 キーボードからa,b,c,dの4つの整数を入力して,4つの大小関係を同時に表示しなさい. 日本工業大学 コンピュータリテラシーII