みなさん、毎度すみません。
最近、高校の数学Aという教科書を予習していた時に
気になったことがあるのです。
その中の1つの項目に、コンピュータというのがありまして、
BASICプログラムの基本を学ぶ項目があるのですが、
その教科書によると、そのプログラムは、
パソコンのダイレクトモードで実行させるらしいのです。
とはいっても、ダイレクトモードって、どうすればできるの?
って感じに困ってます。誰か知っている方、どうかお教えくださいませんでしょうか?

A 回答 (2件)

BASICにはインタプリタ型とコンパイラ型が有ります。

(説明省略)
インタプリタ型(N-BASIC、JIS-BASIC等)では文番号をつける文と文番号をつけない文の2種類が使えます。文番号をつけると、エンターキーを押しても実行されず、そのまま記憶されます。「RUN」という指示をすると文番号順に実行されます。
それに引き替え、文番号をつけずに文を入力して、エンターキーを押すと、即実行されます。前者が「プログラミングモード」後者が「ダイレクトモード」です。
ダイレクトモードでも簡単なプログラムは実行できますが、
(1)数行の短いプログラムしか書けない。
(2)文番号がないので分岐ができない。
(3)実行すると消えるので再利用ができない。
等の欠点が有ります。

書いていて、思いあたりましたが、「ダイレクトモードで実行」というのはすでに作っておいた「文番号付きのプログラム」を、ダイレクトモードで「RUN」を入力することによって実行するという意味ではないでしょうか。
    • good
    • 0

教科書によっては表現方法が「ハテ?」って部分があるようですが・・



ymmasayanさんのおっしゃるように、行番号をつけるかつけないかで、プログラムモードとダイレクトモードという風に分けるのが普通だと思います。
ただ、もしかするとファイル保存なんかにも関わってくるのかなという感じもします。あらかじめファイルに保存されてるプログラムをロードするのと、その場で入力していくのを区別しているのかも。

まぁやってみれば判ると思いますが、多分あなたが今インターネットにつないでいるパソコンではいきなりBASICは使えないと思います。
その昔のNEC PC9800シリーズではフロッピー入れずに起動するとROM版のN88-Basicが起動してたりしましたけどね。
参考URLにあるようなBASICの動作環境もあるようです。

参考URL:http://www.vector.co.jp/soft/win95/prog/se055956 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QVisual Basicでツリービューリストの項目数を増やすには?

VB4でツリービューコントロールを使ってリストを作成するとある程度以上のノード数になるとindex errorになります。
正確には数えていませんが、感覚的に200行ぐらいです。

この制限を外す方法はありませんか?

よろしくお願いします。

Aベストアンサー

そうですか・・・・
元ソースの抜粋をチョット改造してあったのですね。

しかしVersionが古くとも一緒です。

エクスプローラはTreeViewを使用しています。Win95のエクスプローラと言えども、200個以上のフォルダは閲覧できないなんて制限はありませんよね。それと一緒のはずなのですが・・・

現在公開してもらったサンプルソースでも200行ぐらいでエラーが起こるのですか?コード的には合ってるように見えます。
もしかしたら読み込んでるデータに不具合があるとか?

実際のエラーメッセージを正確に教えてもらえると、ちょっと参考になるかも?

QVisual Basic 2008 のリストボックスで項目を選択した時にイベントを起こしたい。

VisualBasic2008のリストボックスで、リストボックス内の項目をクリックした時にイベントを起こしたいのですが、
Private Sub
の後に何と書いたらいいか分かりません。
どなたかご存知の方がいらっしゃったらご解答お願いします。

どのように使いたいかというと、例えばリストボックスは
1:リンゴ
2:みかん
3:すいか
と入っていたとします。
その時に2行目の「2:みかん」の列をクリックしたとしたら、ちょっと文字列を操作(いらない部分を切ったり)してLabel2に「みかん」を表示、という感じに使いたいです。
違う列をクリックする度に再取得。
実行中に、削除ボタンを押してその列を削除したら(こちらのボタンは出来ています)、違う列を自分でクリックしない限りは何も取得しないのが望ましいです。

Aベストアンサー

こんばんは。

VisualBasic2005ですが、イベントとしては「SelectedIndexChanged」で出来ます。

コードエディター(コードを記述する画面)の上部にコンボボックスが2つ並んでいるところがあると思います。
左側のクラス名で該当のListBoxを選び、右側のメソッド名でSelectedIndexChangedを選びます。
そうすれば自動的にイベントプロシージャ作られます。

QVisual Basicプログラムのエラーについて

「Visual Basicでエンジョイプログラミング」(CQ出版社)
という本の11章VisualBasicで動かす自作装置の製作方法、
A-Dコンバータの製作と題してA-Dコンバータのプログラムが書いてあるのですが

<同じプログラムが掲載されているホームページ>http://mweb.jrscomware.com/tie/data/KyouzaiDB/bg/07/76aa45a7e4cc774b6976aad26a0709/_5051b778aae80343/b778768d0222/b778768d0222.htm

本に従ってプログラムを書いたのですが、実行しようとしたら
Public Const CLRDTR = 6
Public Const SETDTR = 5
Public Const CLRRTS = 4
Public Const SETRTS = 3
Public Const MS_CTS_ON = &H10&
Public Const MS_DSR_ON = &H20&

の部分が赤色の表示になって
「コンパイルエラー
定数、固定長文字列、配列、ユーザー定義型、
およびDeclareステートメントはオブジェクトモジュールのパブリックメンバとしては使用できません。」
と表示されたのですが、僕はまったくの初心者なので
ヘルプを見てもどのように修正すればいいのか良く分かりません。

何か知っている方がいらしゃいましたら教えてください。よろしくお願いします。

「Visual Basicでエンジョイプログラミング」(CQ出版社)
という本の11章VisualBasicで動かす自作装置の製作方法、
A-Dコンバータの製作と題してA-Dコンバータのプログラムが書いてあるのですが

<同じプログラムが掲載されているホームページ>http://mweb.jrscomware.com/tie/data/KyouzaiDB/bg/07/76aa45a7e4cc774b6976aad26a0709/_5051b778aae80343/b778768d0222/b778768d0222.htm

本に従ってプログラムを書いたのですが、実行しようとしたら
Public Const CLRDTR = 6
Public Const SETDTR = 5
...続きを読む

Aベストアンサー

No 1 の方のおっしゃるように、
(1) プロジェクトエクスプローラの
プロジェクト名を右クリック→追加→標準モジュール
としてそちらに記載するか、

(2) フォームを一つしか使わないのであれば、全部Publicを省いて記述しても大丈夫だと思います。

QTiny Basicのプログラムで。。

次の5人の学生の成績の個人別の平均点と、科目別の平均点をそれぞれ求め、表示するプログラムを作成せよ。Print Using 文を使うと、きれいな表形式の出力が可能です。
学籍番号 英語 数学 情報 平均
  1   70 60 80
2 50 60 50
3 70 90 100
4 90 100 50
5 40 70 80

という問題があって。。自分なりにやってみたんですが。。

Dim a(5,5)
For i=1 to 5
For j=1 to 5
Read a(i,j)
print a(i,j);
Next j
print
Next i
Data "学生番号","英語","数学","情報","平均"
Data 1,70,60,80,70
Data 2,50,60,50,53
Data 3,70,90,100,87
Data 4,90,100,50,80
Data 5,40,70,80,63
Data "平均",64,76,72,71
End

っていうふうにつくってみたんですがうまくいかなくて。。
みなさん、助けてください><

次の5人の学生の成績の個人別の平均点と、科目別の平均点をそれぞれ求め、表示するプログラムを作成せよ。Print Using 文を使うと、きれいな表形式の出力が可能です。
学籍番号 英語 数学 情報 平均
  1   70 60 80
2 50 60 50
3 70 90 100
4 90 100 50
5 40 70 80

という問題があって。。自分なりにやってみたんですが。。

Dim a(5,5)
For i=1 to 5
For j=1 to 5
Read a(i,j)
print a(i,j);
...続きを読む

Aベストアンサー

課題?独学?・・・とりあえず、指摘とヒント
個人別の平均点、科目別の平均点をあらかじめ計算をし、
DATAに配列していますが、
題意から察すると、 平均を求める数式を作成して、且つPRINTUSING で
見栄えよい表示にする。 ことを求めている。

出力結果が、下記のようになる事をイメージする。このとき、
100点が最大なので、文字スペース3桁使用である事も考慮。

学生番号  英語  数学  情報  平均 ←(1)
   1  70  60  80  70 ←(2)
   2  50  60  50  53 ←(3)
   3  70  90 100  87 ←(4)
   4  90 100  50  80 ←(5)
   5  40  70  80  63 ←(6)
  平均  64  76  72  71 ←(7)

まず、データを読み込み、格納。(5人分、3科目で15個分)
Dim a(5,3)
For i=1 to 5 : For j=1 to 3
Read a(i,j)
次に(1)を実行
Print"学生番号  英語  数学  情報  平均"
(2)~(6)で、 学生番号の i の平均を求める式は、
For i=1 to 5
 Heikin(i)=Int((a(i,1)+a(i,2)+a(i,3))/3)  'Average関数でも良い。Int関数で整数化
  Print  i , a(i,1) , a(i,2) , a(i,3) , Heikin(i) ’ ここは、PrintUsing文 を使う。(自分で考える)
Next i
(7)で、教科平均 3科目分 求める式を作る。 と、意味あるのかわからないが、15個の平均を求める。
For j=1 to 3
 Kyouka(j)=Int((a(1,j)+a(2,j)+a(3,j)+a(4,j)+a(5,j))/5)
Next j
AllHeikin=Int((Kyouka(1)+Kyouka(2)+Kyouka(3))/3)

Print文で "平均”, Kyouka(1) , Kyouka(2) , Kyouka(3) , AllHeikin 'ここもPrintUsing文 で書く。

For~to~文:Next 間の 数式も、さらに改良の余地あり。 ここは、自分で考える。

課題?独学?・・・とりあえず、指摘とヒント
個人別の平均点、科目別の平均点をあらかじめ計算をし、
DATAに配列していますが、
題意から察すると、 平均を求める数式を作成して、且つPRINTUSING で
見栄えよい表示にする。 ことを求めている。

出力結果が、下記のようになる事をイメージする。このとき、
100点が最大なので、文字スペース3桁使用である事も考慮。

学生番号  英語  数学  情報  平均 ←(1)
   1  70  60  80  70 ←(2)
   2  50...続きを読む

QTiny Basicのプログラムです。。

Tiny Basicのプログラムで

試験の成績を入力し、30点未満なら青点、30点以上50点未満なら赤点、50点以上なら合格と表示するプログラムを作成せよ。青点、赤点、合格を判定する部分は副プログラムとして作成せよ。 という問題があったんです。
それで僕は
Cls
input A
Call Q
Sub Q
END
Select Case A=A
Case A=<29
print"青点"
Case A=>50
print"合格"
Case else
print"赤点"
End Select
End sub

というプログラムをつくったんですがどんな点数を入れても青点って結果がでてしまうんです。
どうしたらいいんでしょうか?

Aベストアンサー

>PUBLIC Aのやつはエラーになります
エラー:コマンド PUBLIC の構文エラーです。
コマンドまたは引数のミスタイプが考えられます。

俺の環境では全くそうならない。念のため、Tiny BasicのバージョンとOSを言ってもらえる?
使えないバージョンだと仮定して
一応結構苦し紛れでこう書き直してみたけど・・・・

Cls
input A
Call Q(A)
END
Sub Q(X)
Select Case X=X
Case X=<29
print"青点"
Case X=>50
print "合格"
Case else
print "赤点"
End Select
End sub


人気Q&Aランキング

おすすめ情報