Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[Basic] 配布資料

807 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

[Basic] 配布資料

  1. 1. 総合科学 I「BASIC」 No.1プログラミングとは 計算機は単なる機械でしかないが、人が計算機に処理して欲しい手続きを記述することによって、様々な機能を実現している。また、計算機がいろいろと柔軟に対応しているように見える場面でも、あらかじめ「こういう場合ではこのように対処するようにする」という手順を人が記述している。そういった手順のことを「プログラム」と呼び、プログラムを記述することを「プログラミング」という。1. プログラミング言語とは 計算機に対して一連の動作の指示を記述するための人工言語である。プログラミング言語は、人間が計算機に命令を指示するために作られており、曖昧なく計算機が解析できるように設計されている。この人工言語は様々な種類があるが、本授業では BASIC を使用する。2. BASIC 実行環境 十進 BASIC の起動「スタート」→「すべてのプログラム」→「十進 BASIC」→「BASIC」をクリック① 十進 BASIC の実行画面 実行制御ボタン プログラム記述領域② プログラム記述領域 プログラムのソースコードを入力するエリアです。③ 実行制御ボタン 記述したプログラムの実行などを行うボタンです。
  2. 2. 1年 組 番 氏名( )●練習問題 1 「Hello World!」を画面に表示する プログラム「rei001」 文字列は,その前後を引用符(") PRINT "Hello World!" で囲んで表します。 END できたプログラムは「マイドキュメント」→「プログラミング」に、 「rei001」というフ ァイル名で保存せよ。 ※プログラミングの課題は今後すべて「マイドキュメント」→「プログラミング」に保 存すること。○提出課題 1 ファイル名「kadai001-1」 1 行目に学年組番号、2 行目に名前、3 行目に得意な科目をコンソール画面に表示するプ ログラムを作成せよ。●練習問題 2 演算結果を画面に表示する プログラム「rei002」 PRINT 456+321 算術演算子 PRINT 74*12 演算子 意味 例 結果 PRINT 3/4 END + 加算 8 + 3 11 - 減算 5 - 2 3 * 積算 13 * 1.5 19.5 / 除算 10 / 2 5 ^ べき乗 2 ^ 10 1024○提出課題 2-1 ファイル名「kadai002-1」 999 から 111 を引いた数、 37 に 27 を掛けた数、 5772 を 52 で割った数を表示する プログラムを作成せよ。○提出課題 2-2 ファイル名「kadai002-2」 5 * ( 2 + 8 ) を計算し表示するプログラムを作成せよ。○提出課題 2-3 ファイル名「kadai002-3」 3 を計算し表示するプログラムを作成せよ。 4 *5○提出課題 2-4 ファイル名「kadai002-4」 {4(2  3)} 2 を計算し表示するプログラムを作成せよ。
  3. 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. 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. 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. 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. 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. 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 時間以上かかります」と表示するユーザ対話型のプロ グラムを作成せよ。
  9. 9. 総合科学 I「BASIC」 No.5●練習問題 7 条件分岐の入れ子構造 (ファイル名:rei007) 遊園地の入園料を表示するフローチャートおよびプログラムを作成せよ。 なお、入園料は年齢によって下記の表のようになっている。 年齢 入館料金 15歳未満 1,000円 15歳以上、60歳未満 2,500円 60歳以上 1,500円流れ図(フローチャート) はじめ 変数宣言 年齢を入力 ここに条件分岐を記入 おわり
  10. 10. 1年 組 番 氏名( )○提出課題 7 成績表示プログラム (ファイル名:kadai007) テストの点数を入力し、点数に合わせた成 テストの点数 成績 績を表示するフローチャートを作成せよ。ま た、フローチャートを参考にしてプログラム 80点以上 最良 を作成し、ファイル名「kadai007」とし所定 65点以上 良 の場所に保存せよ。 なお、テストの点数と成績の関係は右表の 50点以上 可 通りである。 50点未満 不可流れ図(フローチャート) はじめ 変数宣言 点数を入力 ここに条件分岐を記入 おわり
  11. 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. 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. 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 の位は□です」 、 、 (○・△・□は計算で求める)と表示する対話型のプログラムを作成せよ。
  14. 14. 1年 組 番 氏名( )○最終課題 11-1 ファイル名「kadai011-1」 九々(1×1=1、1×2=2…9×8=72、9×9=81)と表示するプログラムを作成せよ。 流れ図(フローチャート) はじめ おわり
  15. 15. 総合科学 I「BASIC」 No.8○最終課題 11-2 ファイル名「kadai011-2」 正の整数 A の約数をすべて求めるプログラムを作成せよ。流れ図(フローチャート) はじめ おわり
  16. 16. 1年 組 番 氏名( )○最終課題 11-3 ファイル名「kadai011-3」 1~100 を表示するプログラムを作成せよ。なお、3 の倍数と 3 のつく整数は数字を表示 するかわりに「 (゚д゚)アヒャ」と表示しなさい。流れ図(フローチャート) はじめ おわり

×