11.比較してみましょう(5/24)
CH=G@SETUP(640,480,8,1) G@FONT(0,0,0,3,"MSゴシック") A=10 //←ここの数字を変える IF A > 5 THEN G@PRINT(CH,0,0,"5より大きい") ELSE G@PRINT(CH,0,0,"5以下") ENDIF LOOP G@FLIP() ENDLOOP
3〜8行目が今回のメインとなる部分です。このプログラムを実行すると”5より大きい”という文字が表示されたはずです。
このプログラムの説明ですが、4行目で変数Aのと数値”5”を比較をしています。
記述の仕方は、比較演算子を間に挟んで左右に比較をしたい数値又は変数を記述します。
比較演算子には次のものがあります。
演算子 | 内容 |
---|---|
==
|
左辺と右辺が等しい |
<>
|
左辺と右辺が等しくない |
>
|
右辺より左辺の方が大きい |
<
|
左辺より右辺の方が大きい |
>=
|
右辺より左辺の方が大きいかまたは等しい |
<=
|
左辺より右辺の方が大きいかまたは等しい |
A=10 //←ここの数字を変える IF (5+A)/2 > 5/2 THEN G@PRINT(CH,0,0,"5より大きい") ELSE G@PRINT(CH,0,0,"5以下") ENDIF |
A=10 //←ここの数字を変える IF A > 5 THEN G@PRINT(CH,0,0,"5より大きい") ENDIF |
A=10 //←ここの数字を変える IF A > 5 THEN B=A G@PRINT(CH,0,0,"5より大きい") ELSE C=A G@PRINT(CH,0,0,"5以下") ENDIF |
A=10 //←ここの数字を変える B=0 IF A > 5 THEN IF B == 0 THEN G@PRINT(CH,0,32,"O.K.") ENDIF G@PRINT(CH,0,0,"5より大きい") ELSE G@PRINT(CH,0,0,"5以下") ENDIF |
! | :32 | " | :33 | # | :34 | $ | :35 | |||
% | :36 | & | :37 | ' | :38 | ( | :39 | |||
) | :40 | * | :41 | + | :42 | , | :43 | |||
, | :44 | - | :45 | . | :46 | / | :47 | |||
0 | :48 | 1 | :49 | 2 | :50 | 3 | :51 | |||
4 | :52 | 5 | :53 | 6 | :54 | 7 | :55 | |||
8 | :56 | 9 | :57 | : | :58 | ; | :59 | |||
< | :60 | = | :61 | > | :62 | ? | :63 | |||
@ | :64 | A | :65 | B | :66 | C | :67 | |||
D | :68 | E | :69 | F | :70 | G | :71 | |||
H | :72 | I | :73 | J | :74 | K | :75 | |||
L | :76 | M | :77 | N | :78 | O | :79 | |||
P | :80 | Q | :81 | R | :82 | S | :83 | |||
T | :84 | U | :85 | V | :86 | W | :87 | |||
X | :88 | Y | :89 | Z | :90 | [ | :91 | |||
\ | :92 | ] | :93 | ^ | :94 | _ | :95 | |||
a | :97 | b | :98 | c | :99 | d | :100 | |||
e | :101 | f | :102 | g | :103 | h | :104 | |||
i | :105 | j | :106 | k | :107 | l | :108 | |||
m | :109 | n | :110 | o | :111 | p | :112 | |||
q | :113 | r | :114 | s | :115 | t | :116 | |||
u | :117 | v | :118 | w | :119 | x | :120 | |||
y | :121 | z | :122 | { | :124 | } | :126 | |||
~ | :127 |
CH=G@SETUP(640,480,8,1) G@FONT(0,0,0,3,"MSゴシック") IF "A" > "B" THEN G@PRINT(CH,0,0,"左辺の方が大きい") ELSE G@PRINT(CH,0,0,"右辺の方が大きいか同じ") ENDIF LOOP G@FLIP() ENDLOOP |
では、1文字同士の比較ではなく複数文字数の文字列の比較はどのような大小関係になるでしょうか。この場合、先頭(左端)の文字から順番に1文字ずつ比較を行い大きい文字が先に現れた方を大きいと判断されます。
例えば「ABCDE」と「ABCEF」では
→→(比較する順番)→→
|
|||||
「ABCDE」
|
A
|
B
|
C
|
D
|
E
|
↑
同じ ↓ |
↑
同じ ↓ |
↑
同じ ↓ |
↑
下が大きい ↓ |
既に大小が決定しているので比較しない
|
|
「ABCEF」
|
A
|
B
|
C
|
E
|
F
|
→→(比較する順番)→→
|
|||||
「ABC」
|
A
|
B
|
C
|
||
↑
同じ ↓ |
↑
同じ ↓ |
↑
同じ ↓ |
↑
下が大きい ↓ |
既に大小が決定しているので比較しない
|
|
「ABCEF」
|
A
|
B
|
C
|
E
|
F
|