######### program ###############
a = input('How old are you? ');
disp(" You are ")
disp(a)
disp(" years old." )
#################################
実行してみます。
[nisimiya@localhost Renshu]$ octave input_1.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. How old are you? 35 You are 35 years old.表示されましたでしょうか? 1行目の ``input''文で変数``a''に、年齢を代入しています。 ``disp''というのは()内の変数を画面に表示させるコマンドです。
(解答例)
######### program ###############
a = input('あなたの年齢は? ')
disp("あなたのお小遣いは ")
disp(a * 300)
disp("円です。")
#################################
(実行例)
[nisimiya]$ octave ex_7.m
GNU Octave, version 2.0.16 (i386-vine-linux-gnu).
Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.
あなたの年齢は? 21
a = 21
あなたのお小遣いは
6300
円です。
(解答例)
######### program ###############
a = input('英語の点数は? ');
b = input('数学の点数は? ');
disp("あなたの試験の点数の合計は ")
disp(a + b)
disp("点です。")
#################################
######### 実行例 ################
[nisimiya]$ octave ex_8.m
GNU Octave, version 2.0.16 (i386-vine-linux-gnu).
Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.
英語の点数は? 87
数学の点数は? 95
あなたの試験の点数の合計は
182
点です。
#################################
######### program ###############
a = input('試験の点数を入力して下さい。 ');
if a < 60
disp("あなたは、不合格です。")
else
disp("あなたは、合格です。")
endif
################################
実行してみましょう。
######### 実行例 ################ [nisimiya]$ octave if_1.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. 試験の点数を入力して下さい。 45 あなたは、不合格です。 [nisimiya]$ octave if_1.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. 試験の点数を入力して下さい。 69 あなたは、合格です。 #################################条件文が「真」のとき「処理1」が実行され、条件文が「偽」のとき「処理2」 が実行されます。
条件文には、以下のような式を書きます。
| 条件文 | 判断内容 |
| aとbが等しい場合真になる | |
| aとbが等くない場合真になる | |
| aがbより大きい場合真になる | |
| aがbより小さい場合真になる | |
| aがbより大きいか等しいとき真になる | |
| aがbより小さいか等しいとき真になる | |
| (条件1)が成り立たないとき真になる | |
| (条件1) && (条件2) | (条件1) と(条件2)がともに成り立つとき真 |
| (条件1) |
(条件1) と(条件2)がの内のどちらかが成り立つとき真 |
処理を3つに分岐したい場合はどのようすればよいか?
、
、
(解答例)
############# Program ###############
a = input('あなたの年齢を入力して下さい。 ');
if (a > 0) && (a < 16)
disp("あなたの食事料金は ")
disp(a * 80)
disp("円です。")
elseif (a >= 16) && (a < 65)
disp("あなたの食事料金は ")
disp(1500)
disp("円です。")
elseif a >= 65
disp("あなたの食事料金は ")
disp(1000)
disp("円です。")
elsif
disp("範囲外の年齢です。")
endif
############# ここまで ###############
以下は実行例です。
############## 実行例 ################
[nisimiya]$ octave sei_2.m
GNU Octave, version 2.0.16 (i386-vine-linux-gnu).
Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton.
This is free software with ABSOLUTELY NO WARRANTY.
For details, type `warranty'.
あなたの年齢を入力して下さい。 32
あなたの食事料金は
1500
円です。
############## ここまで ##############
aa, aa, aa aaaa aaa
3, 4, 5月は春です。
6, 7, 8月は夏です。
9, 10, 11月は秋です。
12, 1, 2月は冬です。
### 実行例 ### Please input month. 8 8 is summer.
############## Program ############### p = 0; for n = [1 2 3 4 5 6 7 8 9 10] p = p + n; end disp(p) ############## ここまで ##############ベクトルは、"n = 1:1:10;"と書いてもよいですね。 それでは、1から1000まで2乗の和を求めてみましょう。 すなわち、``
############## Program ############### p = 0; for n = 1:1:10000; p = p + n*n ; end disp(p) ############## ここまで ##############
実行例を以下に示します。
nisimiya]$ octave test.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. 3.3338e+11
表示される桁をもう少し増やすにはどうすればよいか? 例えば20桁まで表示させたければ ``output_precision = 20''などと、プログラムの上の方に書き込んでおきます。
############## Program ############### output_precision = 20 p = 0; for n = 1:1:10000; p = p + n*n ; end disp(p) ############## ここまで ##############実行してみて下さい。
例えば、先ほどの1から10までの和を ``while''を使って計算してみましょう。 以下のようになります。
############## Program ############### p = 0; n = 0; while n <= 10 p = p + n n = n +1; end disp(p) ############## ここまで ##############
``p = p + n''の後に、セミコロンを敢えて入れてません。 pの値がどのように変化していくか表示されています。
############## 実行例 ################ [nisimiya]$ octave while_1.m GNU Octave, version 2.0.16 (i386-vine-linux-gnu). Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. This is free software with ABSOLUTELY NO WARRANTY. For details, type `warranty'. p = 0 p = 1 p = 3 p = 6 p = 10 p = 15 p = 21 p = 28 p = 36 p = 45 p = 55 55 ############## ここまで ##############