この入門書は、初心者の手始めになることを意図しています。
プログラムの作り方を始めて学ぶ人が、FreeBASIC でプログラムを作るために、役立つでしょう。
言語の学習
プログラミング言語の学習は、プログラムを書くための言葉を学んで、書かれている内容を理解できるようになることです。
私たちは、これを一気に学ぶ必要はありません。
でも、初めに、いくつかの重要な単語を確認することは、学習を始めるのに、役立つでしょう。
ここで、私たちは、以下のキーワードだけに集中するつもりです:
こんにちは、世界!
この例は、どんな初心者マニュアルにも掲載されている、普遍的なプログラムです。
Print "こんにちは、世界!"
Sleep
二重引用符の組で挟まれた文字は、直定数の文字列です。
Print 命令文は、画面に文字を表示するために、使います。
この例を、編集して、コンパイルして、実行できるなら、あなたは、もう FreeBASIC を使っています。
注: プログラムは、コードの最終行を実行した直後に、終了します。
ユーザーは、プログラムの最後に
Sleep 命令文を追加して、任意のキーを押して命令を完了するまで、実行画面を開いたままにすることができます。
参考:
プログラムを閉じる前に、結果の画面を留めておく
データを保存するために、変数を使う
プログラムでは、メモリのどこかに、何かの情報を保存して、後でそれを使いたい、と思うことがあります。
メモリに、何かを保存するために、変数を使います。
FreeBASIC のすべての変数には、数や文字列のように、特定の型があります。
私たちは、
Dim 命令文を使って、変数名を宣言して、それにどんな種類の情報を保存するか、を指定します。
Dim text As String
text = "こんにちは、世界!"
Print text
Sleep
私たちは、
Dim を使って、プログラムで
text という名前の変数を設定して、この変数に
String データを置くことを、コンパイラに知らせます。
次に、変数に、「こんにちは、世界!」を、代入(コピー)します。
最終的に
Print を使って、画面にこれを表示します。
式に変数を使う
式( expression )は、ソースコードで、「評価できる」部分について説明するための、一般用語です。
式が評価された後、次に、私たちは、それで何かができます。例えば、それを変数に代入(コピー)します。
Dim a As String, b As String, text As String
a = "こんにちは"
b = "世界"
text = a + " " + b + "!"
Print text
Sleep
私たちは、変数
a と
b に、データを代入します。
次に、
text に代入する式に、変数
a と
b を使っています。
最後に、結果を画面に表示します。
ユーザからの入力を取得
プログラムに必要なデータは、ユーザが与えないと分からないことが、しばしばあります。
ユーザが、プログラムを動かして、データを指定するまで、それが何か分からないので、私たちはソースコードにそれを入れることができません。
Dim answer As String
Input "何か入力してください。そして Enter キーを押して下さい:", answer
Print "あなたがタイプしたのは:
'";
answer;
"'"
Sleep
ここで、
Input 命令文は、最初に、何らかの情報を、画面に表示します。そして、ユーザが、プログラムに、何かデータを与えるのを、待ちます。
この例は、ユーザがタイプしたことを、画面に表示しただけです。
補足:実行画面(コンソール画面)で日本語文字の入出力をしたいときには「
Open Cons」を使います。
計算をする
変数と式は、文字列だけに限りません。
多くの古い言語は、文字列をそれほどうまく処理できませんでした。
数式の書き方は、紙に鉛筆で書く方法に、似ています。
Dim a As Integer, b As Integer, c As Integer
a = 5
b = 7
c = a + b
Print "a = "; a
Print "b = "; b
Print "a + b = "; c
Sleep
変数
a,
b,
c に、値を代入します。
変数のデータ型に
Integer を使っています。
整数は、正数と負数があります。整数は、小数を格納することはできません。
入力で計算する
これは前の例と似ています。ただ、合計する対象の数を、ユーザが入力している点が、異なります。
Dim a As Integer, b As Integer, r As Integer
Input "数を入力ください:", a
Input "もう1つの数を入力してください:", b
r = a + b
Print "数の合計は: ";
r
Sleep
Dim は、コンパイラに、使いたい変数の名前と、変数が
Integer データを保持することを、知らせます。
ユーザから数を得るために
Input を使っています。
結果を表示するために
Print を使っています。
入力で、もっと多くの計算をする
数値変数は、整数とは限りません。
小数を表すことができる、
Single か
Double 精度データ型を使うことができます。
この例では、重量を、ポンドからキログラムに変換するために、ユーザからの入力を、受け取ります。
Dim lb As Single, kg As Single
Input "重さをポンドで入力してください:", lb
kg = lb * 0.454
Print lb;
" lb は、";
kg;
" kg に相当します。"
Sleep
繰り返し命令文
For...Next 命令文を使うと、指定した回数だけ、繰り返し処理をするように、プログラムに指示できます。
例えば、1〜100 までの、すべての数の合計を計算するようにしてみましょう。
Dim total As Integer
Dim number As Integer
total = 0
For number = 1 To 100
total = total + number
Next
Print "1〜100までの数の合計は ";
total
Sleep
判断する
プログラムは、
If...Then のような条件文を使って、実行する命令文を選択することができます。
私たちは、変数の値や、式の結果を使って、実行すべき、あるいは実行すべきでない、1つ、あるいは複数の命令文を、決めることができます。
Dim number As Integer
Input "数を入力ください :
", number
Print "あなたの数は ";
If number < 0 Then
Print "負数"
ElseIf number > 0 Then
Print "正数"
Else
Print "ゼロ"
End If
Sleep
ユーザから、数値を受け取った後、条件に合致した命令文に従って、単語(正数、負数、またはゼロ)を出力します。
命令文を繰返す(再び)
ここでは、命令文を繰返すために、別のループ構造
Do...Loop を使います。
プログラムは、命令文を繰り返すのを止めるのを、どのように知るでしょうか?
ここでは、いつループを出るかを決めるために、
If...Then を使います。
Dim As Single total, count, number ' 複数変数宣言(同じ型)
Dim As String text
Print "このプログラムは a の合計と平均を計算します。"
Print "数字のリスト。空の値を入力すると、結果を表示します。"
Print
Do
Input "数を一つ入力してください: ", text ' get user input
If text = "" Then Exit Do ' if empty -> quit Do/Loop
count += 1 ' count を 1 ずつ加算
total += Val(text) ' 新しい値を追加して代入
Loop
Print
Print "あなたが入力した数の個数は: "; count; " 個"
Print "合計は: "; total
If count > 0 Then Print "平均は: "; total / count
Print
Print "何かキー入力でプログラム終了";
Sleep
参照: