6/26 前回復習 for文、while文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する for : 2人 while: 4人 演習2: 1から10までの奇数を足して画面に結果を表示する for : 2人 while: 2人 演習3:キーボードから整数 a, b (ただし a<b とする)を入力 して、a から b まで1づづ足して結果を画面に表示する for : 4人 while: 2人 演習4:3の段の九九を計算し、結果を画面に表示する for : 5人 while: 4人 演習5:全ての段の九九を計算し、結果を画面に表示する for : 24人 while: 5人
再び プログラミングができるようになるには…. 再び プログラミングができるようになるには…. 自分の作った過去のプログラムを参考にし、使えるところは使う 今まで作ったプログラムは、全て動くようにすること! 紙と鉛筆で、処理の流れ(論理)を追う キーポイントをノートに書いて理解する!試す!覚える! int, float, printf, scanf, %d, %f, %e, \n, for 一週間に1回では無理! 英語や略語の意味を知る(英和辞書を引く) int=integer, d=decimal, e=exponential, etc., 自分の力でできるだけがんばる それでもわからなければ、人に訊く 丸写しは、ダメ! 新4号館623号室 umebu@cc.it-hiroshima.ac.jp
九九の計算 どこにprintfを入れるか 開始 一つの段は横に並べる 1→j 3 6 9 12 15 18 21 24 27 外のループ 一つの段は横に並べる 3 6 9 12 15 18 21 24 27 ・・・・・・・・・ 8 16 24 32 40 48 56 64 72 1→j 中のループ 1→i j の段計算 j * i→ x i + 1→i もっとキレイに 並べるには? ここで j の段プリント j + 1→j ここで 改行
九九の計算、しっかりプログラミングするには? 2重ループでプログラムを簡素に for文の範囲をしっかり認識すること タブキーを使ってプログラムを見やすくする。 %ndの表示法を使う( n は整数)。 for(j=1;j<=9;j=j+1) { for(i=1;i<=9;i=i+1) x=j*i; printf(“%3d”,x); } printf(“\n”); タブ これで数字が等間隔に並ぶ 次の段 (j) へ行く時改行する
この条件式が満足されている間{ }の中の計算を繰り返しする while文 もう一つの繰り返し計算法 開始 0→gokei 1→i i + 1→i gokei+i → gokei この条件式が満足されている間{ }の中の計算を繰り返しする i=1; while ( i<=10 ) { gokei=gokei + i ; i=i+1 }
for文 と while文 似ているところ、違うところ 初期値 最終値 増分 関係演算子 <, <=, >, >= があればfor文 数学記号で書くと =, = AND, OR, NOT 等価演算子 = =, != 論理演算子 &&, || , ! したがって、for文で作ったプログラムはwhile文で書ける
課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report6.26/学生番号 for文とwhile文 プログラムの第1行目に学生番号をコメント文で入れて下さい 最初にfor文を使って以下のプログラムを作成し、全てできたら while文を使って書き直せ。 演習1:1から10まで足して画面に結果を表示する 演習2: 1から10までの奇数を足して画面に結果を表示する 演習3:キーボードから整数 a, b (ただし a<b とする)を入力 して、a から b まで1づづ足して結果を画面に表示する 演習4:3の段の九九を計算し、結果を画面に表示する 演習5:全ての段の九九を計算し、結果を画面に表示する 課題の提出:コンパイルしてエラーのないことを確認 cp ファイル名 ~joho1/report6.26/学生番号
while文とdo while文 while文 do while文 一度は必ず処理工程を通る no 判断 処 理 yes no 判断 処 理 処理工程を一度も通らないこともある 次の 処理へ 次の 処理へ
do while文 i=1; do { gokei=gokei + i ; i=i+1; } while ( i<=10 ); { }の中を計算してから、この条件式を判定。満足されている間{ }の中の計算を繰り返しする
do while文 while文を使って演習5までできた人は、do while文を試して 提出して下さい。 それができたらif文を勉強すること