東北大学全学教育科目 情報基礎 B 1 セメスター金曜 2 講時工学部 15, 16 組 JAVA 言語初級プログラム (f( f or ループ ) 建築 社会環境工学科
このスライド週の内容 for 文 ( 繰り返し文 ) break 文 情報基礎 B 2
for による繰り返し 以前,1 から 10 まで足すプログラムを作った. 同じ処理を 10 回繰り返すために, 同じような命令 ( 式 ) を 10 行書いた. もうちょっと, かっこよくできないか? 右のような大きな青いループのあるフロー 情報基礎 B 3
for 文の基本 (1 から n まで足す ) import java.io.*; public class joho public static void main(string args[])throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("n?"); String strx = br.readline(); int n= Integer.parseInt(strx); int sum=0; for(int i=1; i<=n; i++) sum=sum+i; System.out.println( sum = + sum); とりあえず, これが答! // 以前作ったプログラムの場合 int sum = 0; sum = sum + 1; sum = sum + 2; sum = sum + 3; あと (n-4) 回繰り返して sum = sum + n; 情報基礎 B 4
for 文の基本 ~ フロー ~ 条件 : 初期値 ; 条件式 ; 変化を表す式例 : int i=1; i<=n; i++ [i=i++ は i=i+1 のおまじない ] 情報基礎 B 5
for 文の基本 import java.io.*; public class joho public static void main(string args[])throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("n?"); String strx = br.readline(); int n= Integer.parseInt(strx); int sum=0; for(int i=1; i<=n; i++) キーボードから文字列を読み込んで, sum=sum+i; 整数 nに変換. System.out.println( sum = + sum); 情報基礎 B 6
for 文の基本 import java.io.*; public class joho public static void main(string args[])throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("n?"); String strx = br.readline(); int n= Integer.parseInt(strx); int sum=0; for(int i=1; i<=n; i++) sum=sum+i; System.out.println( sum = + sum); 整数型変数 sum の宣言と初期値 0 の代入. 情報基礎 B 7
for 文の基本 import java.io.*; public for class 文とは joho 与えられた範囲内で 処理 を繰り返す public static void main(string args[])throws IOException 基本構文 BufferedReader br = for( new 初期値 BufferedReader(new ; 条件式 InputStreamReader(System.in)); ; 変化を表す式 ) System.out.println("n 処理 ;?"); String strx = br.readline(); int n= Integer.parseInt(strx); int sum=0; for(int i=1; i<=n; i++) sum=sum+i; System.out.println( sum = + sum); 初期値 i = 1 から, i を1つずつ増やしながら,i = n になるまで 処理 を繰り返す. ( 処理 :sum = sum + i) 情報基礎 B 8
for 文の基本 処理 が 1 行の場合 for(int i=1; i<=n; i++) sum=sum+i; 処理 が 2 行以上の場合 for(int i=1; i<=n; i++) sum=sum+i; System.out.println(sum); は不要だが, あってもよい が必要 情報基礎 B 9
算術演算子 for 文などでよく用いられる算術演算子 前置インクリメント i++ i = i + 1 前の値に 1 を加えて値を更新する. 両者は同じ意味なので, どちらを使ってもよい. 前置デクリメント i-- i = i 1 前の値から 1 を引いて値を更新する. 両者は同じ意味なので, どちらを使ってもよい. 情報基礎 B 10
for 文の練習 3ple.html から, 蛇馬源吾君の小遣いプログラムをコピーして, 実行してみよ. 次に, それを別のファイルにコピーし, ファイル名と class 名を適当に変更して, 次の数列の和を計算するプログラムを作成せよ. sum = 100 (2i 2 + 1) i = 1 情報基礎 B 11
for 文の練習 import java.io.*; public class joho2 public static void main(string args[])throws IOException int sum=0; for(int i=1; i<=100; i++) sum=sum+2*i*i+1; System.out.println("sum = " + sum); 情報基礎 B 12
for 文の練習 import java.io.*; public class joho3 public static void main(string args[])throws IOException int sum=0; i の初期値を 50 とすると for(int i=50; i<=100; i++) sum=sum+2*i*i+1; System.out.println("sum = " + sum); 100 2 sum = i = 50 (2i + 1) 情報基礎 B 13
for 文の練習 import java.io.*; public class joho4 public static void main(string args[])throws IOException int sum=0; i++ を i=i+2 とする for(int i=1; i<=100; i=i+2) sum=sum+2*i*i+1; System.out.println("sum = " + sum); 100, step2 2 sum = i = 1 (2i + 1) 情報基礎 B 14
if 文との組み合わせ for 文と if 文を組み合わせて使うこともできる. 例 : for ( 初期値 ; 条件式 1 ; 変化を表す式 ) 処理 1 ; if( 条件式 2 ;) 処理 2 ; 情報基礎 B 15
for 文の練習 3ple.html から蛇馬源吾君の小遣いプログラムをコピーした上で, ltxhtml.pdf から, 蛇馬源吾君の小遣いプログラムのうち,0 と 5 の付く日は 50 円貯金するというバージョンのプログラムをコピーして, 前者のプログラムを変更した上でコンパイルして実行し, 正しい答が出ることを確認せよ. さらに, 例えば 3 の倍数の日だけ 30 円にするとか, いろいろ設定して確かめてみよ. 情報基礎 B 16
break 文 : ループの強制中断 import java.io.*; break 文とは public class joho8 public static void main(string args[])throws IOException BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println( n?"); String strx = br.readline(); 処理 を強制的に終了して, そこから抜け出す int n= Integer.parseInt(strx); int sum=0; for(int i=1; i<=10; i++) if(i = = n) break; sum=sum+i; System.out.println( sum = + sum); 強制的に終了する番号を入力すると,10 まで繰り返す for 文がその番号で強制的に終了する. [third.java 実行 ] 情報基礎 B 17
for 文の課題と提出方法 蛇馬源吾君の小遣いプログラムを参考にして,1 から 10 までの階数, つまり, 1!=1, 2!=2, 3!=6, を計算して表示するプログラム Factorial.java を作って, 提出せよ.20! まで計算できるか? さらに,6! までの計算が終わったところで beark で中断するようにしたプログラム Factorial2.java も提出せよ. 提出期限授業のときに指定する 提出期限を過ぎたものは一切受理しません. 情報基礎 B 18
提出方法 授業援助システムを選択 情報基礎 B 19
提出方法 ID とパスワードを入力してログインする. 情報基礎 B 20
提出方法 Assignment を選択 情報基礎 B 21
提出方法 1 2 1 Class/Teacher で 情報基礎 B/ 岩熊哲夫 を選択 2Reference を選択 情報基礎 B 22
提出方法 1 2 1 Name of assignment で 階数の計算 を選択 2Reference を選択 情報基礎 B 23
提出方法 For submission を選択 情報基礎 B 24
提出方法 参照より提出したいファイル Factorial.java を選択 情報基礎 B 25
提出方法 1 2 1 で正しくファイルが選択されているのかを確認 2Add を選択 情報基礎 B 26
提出方法 提出したいファイルを全て加えた後,Next を選択. 情報基礎 B 27
提出方法 提出ファイルを確認し, Submit paper を選択する. 課題の提出完了!! 情報基礎 B 28
提出方法 Confirm of assignment evaluation より正しく提出できたか確認も出来ます. 情報基礎 B 29