3. 総合科学 I「BASIC」 No.2
●練習問題 3 変数と代入文
プログラム「rei003-1」
変数
DECLARE NUMERIC A コンピュータ上で数値や文字列を保存し
LET A = 10 ておく場所のことである。変数名は 1 文
PRINT "Aの値は";A 字目が半角英字、 文字目以降は半角英数
2
END 字を用いて自由に名前をつけることが可
能である。
プログラム「rei003-2」
変数宣言
DECLARE NUMERIC A 変数を使用できるよう、メモリ上に変数
LET A = 825 のサイズ分の領域を確保し、
「この領域を
PRINT "Aの値は";A + 10 変数として使用する」と「宣言」するこ
END と。
プログラム「rei003-3」 プログラム「rei003-4」
DECLARE NUMERIC A, B DECLARE NUMERIC A, B, C
LET A = 825 LET A = 34
LET B = 7 LET B = 83
PRINT "A + B ="; A + B LET C = 42
END PRINT "合計は"; A + B + C
END
○提出課題 3-1 ファイル名「kadai003-1」
「rei003-1」の A に代入されている値を 825 に変更せよ。
○提出課題 3-2 ファイル名「kadai003-2」
A に 18, B に 90 を代入し、加算した結果と減算した結果を表示するプログラムを作成
せよ。
○提出課題 3-3 ファイル名「kadai003-3」
「rei003-4」の PRINT 命令を 「PRINT A; "+" ; B ;"+"; C ;"="; A + B + C」に変更
したプログラムを作成せよ。
△発展課題 3-4 ファイル名「kadai003-4」
A に 10, B に 3 を代入し、積算(A * B)と除算(A / B)した結果を表示するプログ
ラムを作成せよ。
△発展課題 3-5 ファイル名「kadai003-5」
A に 60, B に 92, C に 45 を代入せよ。また、A, B, C の平均を表示するプログラム
を作成せよ。
4. 1年 組 番 氏名( )
●練習問題 4 キーボードからの入力
プログラム「rei004-1」 プログラム「rei004-2」
DECLARE NUMERIC A DECLARE NUMERIC A
INPUT A INPUT PROMPT "整数を入力":A
PRINT "Aの値は";A PRINT "Aの値は";A
END END
入力命令 上記のように改良すると、入力プロンプトに
“INPUT 変数”とすると入力プロ メッセージを表示することができる。このよ
ンプトが表示され、 キーボードから うに、ユーザーとコンピュータとが問答を交
値を入力することが可能である。 わすようにして処理を進めるプログラムの
ことを「対話型プログラム」という。
プログラム「rei004-3」
DECLARE NUMERIC A, B 複数の入力
INPUT A, B 複数の変数に値を代入したい場合、左記の
PRINT "Aの値は";A INPUT 文のように記述する。
PRINT "Bの値は";B プログラム実行時の入力は「2, 5」のように
コンマで区切って打ち込む。
END
○提出課題 4-1 ファイル名「kadai004-1」
「rei004-3」を対話型プログラムに改良せよ。
○提出課題 4-2 ファイル名「kadai004-2」
「kadai004-1」の A と B を加算した結果を表示するプログラムを作成せよ。
○提出課題 4-3 ファイル名「kadai004-3」
円の半径を入力し、 面積を求める対話型のプログラムを作成せよ。なお円周率は 3.14 と
して計算せよ。
△発展課題 4-4 ファイル名「kadai004-4」
三角形の底辺と高さを入力し、面積を表示する対話型のプログラムを作成せよ。
△発展課題 4-5 ファイル名「kadai004-5」
A 君、B 君、C 君のテストの点数を入力すると、平均が表示される対話型のプログラムを
作成せよ。
□任意課題 4-6 ファイル名「kadai004-6」
直方体の横、縦、高さを入力すると、体積を表示する対話型のプログラムを作成せよ。
□任意課題 4-7 ファイル名「kadai004-7」
円すいの底面の半径、高さを入力すると体積が表示される対話型のプログラムを作成せ
よ。円周率は 3.14 として計算せよ。
5. 総合科学 I「BASIC」 No.3
●練習問題 5 条件分岐命令
プログラム「rei005」
1: DECLARE NUMERIC TEN
2: INPUT PROMPT "テストの点数を入力":TEN
3: IF TEN < 40 THEN
4: PRINT "赤点でした。"
5: END IF
6: PRINT "テストは";TEN;"点でした。"
7: END
流れ図(フローチャート)
はじめ
変数 ten の宣言
「テストの点を入力」
を表示
ten に値を代入
ここに条件分岐を記入
ten を表示
おわり
6. 1年 組 番 氏名( )
条件分岐
≪条件式≫ に合致する(真)場合、
IF ≪条件式≫ THEN <処理>の箇所を実行する。
合致しない(偽)場合は「END IF」
<処理> の次の命令にジャンプする
END IF
比較演算子
演算子 意味 使用例 式の値
= 等しい x = 0 x が 0 ならば真, それ以外ならば偽
> より大きい y > 5 y が 5 より大きければ真, 以下なら偽
>= 以上 y >= 5 y が 5 以上ならば真, ちいさければ偽
< より小さい z < 1.2 z が 1.2 より小さければ真, 以上なら偽
<= 以下 z <= 1.2 z が 1.2 以下ならば真, 大きければ偽
<> 等しくない z <> 6 z が 6 以外ならば真, 同じであれば偽
論理演算子
演算子 意味 使用例 式の値
NOT 否定 NOT ( A = 5 ) A が 5 でないなら真、 5 ならば偽
B が 0 以上かつ 10 以下ならば真、そ
AND 積集合 B >= 0 AND B<= 10
れ以外は偽
C が 0 より小さいまたは 100 より大
OR 和集合 C < 0 OR C > 100
きければ真、それ以外は偽
○提出課題 5-1 ファイル名「kadai005-1」
入力した値が正の数の場合、 「正の数です」 と表示するユーザ対話型のプログラムを作成
せよ。
○提出課題 5-2 ファイル名「kadai005-2」
年齢を入力し、20 歳未満の場合「未成年です」と表示されるユーザ対話型のプログラム
を作成せよ。
△発展課題 5-3 ファイル名「kadai005-3」
持っているお金と欲しいものの金額の 2 つを入力し、購入できるなら「購入できます」
と表示するユーザ対話型のプログラムを作成せよ。
△発展課題 5-4 ファイル名「kadai005-4」
テストの点数を入力し、入力された値が不正な値(0 ~ 100 の範囲外)であれば「正し
い値を入力してください」と表示するユーザ対話型のプログラムを作成せよ。
□任意課題 5-5 ファイル名「kadai005-5」
年齢と身長を入力し、 年齢が 12 歳以上か身長が 120cm 以上であれば「ジェットコースタ
ーに乗れます」と表示するユーザ対話型のプログラムを作成せよ。
7. 総合科学 I「BASIC」 No.4
●練習課題 6 2 分岐の条件分岐命令
プログラム「rei006」
1: DECLARE NUMERIC TEN
2: INPUT PROMPT "テストの点数を入力":TEN
3: IF TEN < 40 THEN
4: PRINT "赤点でした。"
5: ELSE
6: PRINT "よく頑張りました。"
7: END IF
8: PRINT "テストは";TEN;"点でした。"
9: END
流れ図(フローチャート)
はじめ
変数 ten の宣言
「テストの点を入力」
を表示
ten に値を代入
ここに条件分岐を記入
おわり
8. 1年 組 番 氏名( )
2分岐の条件文
≪条件式≫ に合致する(真)場合、
IF ≪条件式≫ THEN <処理1>の箇所を実行する。 <処理
1>を実行後、「END IF」の次の命令
<処理1> へジャンプする。
ELSE
<処理2> ≪条件式≫ に合致しない(偽)場合、
<処理2>の箇所を実行する。
END IF
○提出課題 6-1 ファイル名「kadai006-1」
入力した値が正の数の場合は「正の数です」を表示し、それ以外の数は「0 以下の数で
す」と表示するユーザ対話型のプログラムを作成せよ。
○提出課題 6-2 ファイル名「kadai006-2」
2 つの自然数 A と B を入力し、同じ数が入力された場合は「同じ数字が入力されまし
た」と表示し、異なる数の場合は「異なる数字が入力されました」と表示される対話型
のプログラムを作成せよ。
○提出課題 6-3 ファイル名「kadai006-3」
2 つの自然数 A と B を入力し、値の大きい方を表示する対話型のプログラムを作成せ
よ。なお、同じ数が入力された場合は A, B のどちらの数を表示しても構わない。
△発展課題 6-4 ファイル名「kadai006-4」
持っているお金と欲しいものの金額の 2 つを入力し、購入できるなら「購入できます」
と表示し、お金が足りない場合は不足金額を表示するユーザ対話型のプログラムを作成
せよ。
△発展課題 6-5 ファイル名「kadai006-5」
テストの点数を入力し、正しい値(0 ~ 100 の値)が入力された場合は「テストの点数
は○○点でした」 (○○の部分は入力された値)と表示し、入力された値が不正な値であ
れば「正しい値を入力してください」 と表示するユーザ対話型のプログラムを作成せよ。
□任意課題 6-6 ファイル名「kadai006-6」
円柱型の容器 A と B があり、容器 B には液体が満たされている。容器 B から容器 A
に液体を移しかえることができる場合は「移しかえることができます」と表示し、移し
かえることができない場合は「溢れてしまいます」と表示するユーザ対話型のプログラ
ムを作成せよ。なお、それぞれの容器の体積は、底面の半径と高さを入力して求められ
るようにすること。
□任意課題 6-7 ファイル名「kadai006-7」
車の移動速度(km/h)と目的地までの距離(km)を入力し、1 時間未満に目的地に到着する
場合は「あと○○分で到着します」 (○○の部分は計算で求める)と表示し、1 時間以上
かかる場合は「目的地到着まで 1 時間以上かかります」と表示するユーザ対話型のプロ
グラムを作成せよ。
11. 総合科学 I「BASIC」 No.6
●練習問題 8 繰り返し
プログラム「rei008」
1: DECLARE NUMERIC N 繰り返し命令
2: FOR N = 1 TO 10 同じような処理を何回も繰り返し処
3: PRINT N 理したい場合に用いる。
4: NEXT N 繰り返し命令には FOR~NEXT 以外にも
5: END DO WHILE~LOOP などがある。
流れ図(フローチャート)
はじめ
変数 N の宣言
ここに繰り返しを記入
おわり
12. 1年 組 番 氏名( )
繰り返し命令
FOR ≪変数≫ = ≪初期値≫ TO ≪終値≫ STEP ≪加算値≫
<処理>
NEXT ≪変数≫
○提出課題 8-1 ファイル名「kadai008-1」
コンソール画面に「0」~「100」までの数を表示するプログラムを作成せよ。
○提出課題 8-2 ファイル名「kadai008-2」
コンソール画面に「0」~「100」に含まれている 5 の倍数を、数の小さいものから表示
するプログラムを作成せよ。
○提出課題 8-3 ファイル名「kadai008-3」
コンソール画面に「100」~「0」までの数を表示するプログラムを作成せよ。
□任意課題 8-4 ファイル名「kadai008-4」
N
1 から 13 までの自然数 N について、 の演算結果を表示するプログラムを作成せよ。
13
●練習問題 9 繰り返しを用いた和の求め方
プログラム「rei009」
自然数 N について、それらの 1~10 の
1: DECLARE NUMERIC N, S
和を求めるプログラムである。
2: LET S = 0
3: FOR N = 1 TO 10
変数 N:1~10 のカウント
4: LET S = S + N
変数 S:合計を記憶しておく
5: NEXT N
6: PRINT "和は"; S ; "です"
7: END
○提出課題 9-1 ファイル名「kadai009-1」
自然数 N について、それらの 1~100 の和を求めるプログラムを作成せよ。
○提出課題 9-2 ファイル名「kadai009-2」
自然数 M を入力すると 1 + 2 + 3 + … + M を求めるプログラムを作成せよ。
□任意課題 9-3 ファイル名「kadai009-3」
自然数 M を入力すると M ! を求めるプログラムを作成せよ。
□任意課題 9-4 ファイル名「kadai009-4」
自然数 M を入力すると 1 から 2M+1 までの奇数の和を求めるプログラムを作成せよ。
13. 総合科学 I「BASIC」 No.7
●練習課題 10 INT 関数
プログラム「rei010-1」 プログラム「rei010-2」
PRINT INT(3) DECLARE NUMERIC Q
PRINT INT(5.7) LET Q = 10 / 3
PRINT INT(-4.4) PRINT INT(Q)
END END
INT 関数 除算した結果を、INT 関数に引数と
引数(括弧内の数字)を超えない最 して渡すと「割った商(整数の範
大の整数を返す関数 囲)
」を得ることができる。
○提出課題 10-1 ファイル名「kadai010-1」
自然数 A を入力し、9 で割った商(整数の範囲)を求める対話型のプログラムを作成せ
よ。
○提出課題 10-2 ファイル名「kadai010-2」
2 つの自然数 A と B を入力し、A を B で割った商(整数の範囲)を求める対話型のプ
ログラムを作成せよ。
○提出課題 10-3 ファイル名「kadai010-3」
自然数 A を入力し、A を 2 で割った余りを求める対話型のプログラムを作成せよ。
△発展課題 10-4 ファイル名「kadai010-4」
自然数 A を入力し、A を 3 で割った余りを求める対話型のプログラムを作成せよ。
△発展課題 10-5 ファイル名「kadai010-5」
2つの自然数 A と B を入力し、A を B で割った余りを求める対話型のプログラムを作成
せよ。
□任意課題 10-6 ファイル名「kadai010-6」
自然数 A を入力し、A の値が偶数であれば「偶数です」、奇数であれば「奇数です」と
表示する対話型のプログラムを作成せよ。
□任意課題 10-7 ファイル名「kadai010-7」
3 桁の自然数 A を入力し、
「100 の位は○です」「10 の位は△です」「1 の位は□です」
、 、
(○・△・□は計算で求める)と表示する対話型のプログラムを作成せよ。