用語集 |
Delphi
DelphiはInprise(インプライズ)社の製品であり、プログラム開発環境です。プログラミング言語としては、Pascalにオブジェクト指向を取り入れたObject Pascalを用います。多数のコンポーネント(部品)が用意されていて、そのコンポーネントを組み合わせプログラムを書くことによって、従来よりも早くプログラムが開発できます。
if文
次のif文
if 条件 then
[処理];
において、if文の処理単位は[処理]までです。;(セミコロン)は文を区切るときに使いますので、[処理]の後に;(セミコロン)をつけ、文の途中であるthenの後には;(セミコロン)をつけません。
if then else文
本文で説明した書き方以外に、次のifの書き方があります。
書き方 if 条件 then 意味:条件が満たされるとき処理1が行われ、条件が満たされないとき処理2が行われる。 |
処理1の行末に;(セミコロン)がないことに注意してください。
本文で説明した書き方は、else以下を省略したものです。
Pascalシミュレータではelseを使えません。当然、Turbo PascalやDelphiではelseを使えます.
Pascal
1968年にN. Wirthが設計・開発したコンピュータ言語。ISO規格、JIS規格が作られています。
Pascalはもともと教育用として開発され、プログラムの入門には最適な言語の1つとされています。Pascalの流れを汲むTurbo PascalやDelphiは、機能を拡張したり、オブジェクト指向を取り入れたりすることで、十分実用的な処理系になっており、多くのアプリケーションが開発されています。
なお、Turbo PascalやDelphiはInprise(インプライズ)社の製品です。
Pascalの「:=」と数学の「=」の違い
数学の「=」は「等しい」ということですが、Pascalの「:=」は代入ということで、意味が違います。Pascalの「:=」は「等しい」という意味をもっていないのです。
数学で「x=x+1;」(xがx+1に等しい)を解こうとすると、0=1となってしまい、正しくありません。
一方、Pascalでの「x:=x+1;」(x+1をxに代入)は、x:=5であっても正しい文です。このx:=x+1はどういう意味かといいますと、まず、x+1を計算し(xが5ですから、1を加えて6)、その計算値をxに設定するということです。すなわち、xの箱には6が入ります。この計算についての詳細は、レッスン7と8のページを見てください。
まだ理解できない人でも、レッスン8の終りまで説明を順に読んでいけば、理解できるはずです。とにかく、「=」と「:=」は違うんだ、ということを頭にいれてください。
repeat文
repeatも繰り返しをします。次のように書きます。
書き方 repeat 意味:条件が満たされるまで処理1、処理2、...が行われる。 |
条件が最初から満たされない場合、whileの中の処理は一度も実行されませんが、repeatでは、最低一度は実行されます。次の例では、whileの繰り返し処理が終わると、xには1が記憶されますが、repeatの繰り返し処理が終わると、xには2が記憶されます。また、whileとrepeatの条件が逆であることに注意してください。
x:=1;
while x<0 do
x:=x+1;
x:=1;
repeat
x:=x+1;
until x>=0;
Pascalシミュレータではrepeatは使えません。当然、Turbo PascalやDelphiではrepeatは使えます.
インクリメント・デクリメント
DelphiのInc手続きは、変数の値をインクリメント(increment)します。
Inc(x);
としますと、xの値を1つ増やします。これは、x:=x+1;と同じです。
Inc(x , n);
としますと、xの値はn増えます。これは、x:=x+n;と同じです。
同様に、DelphiのDec手続きは、変数の値をデクリメント(decrement)します。
Pascalシミュレータでは、IncやDecは使えません。
3大要素
プログラミングの3大要素は、逐次・判断・繰り返しです。判断はレッスン8と9で、繰り返しはレッスン10と11で学びます。
四則演算
乗算、除算、括弧を使えます。乗算には*(アスタリスク)、除算にはdivを使います。例えば、
123 * 34 div (3+4)
は、123×34÷(3+4)を表します。x div yはx÷yの商を求めます。余り(剰余)を求めたいときは、modを使って、x mod yのようにします。
Pascalシミュレータでは、シミュレータの作成を容易にするために制限を設けており、乗算、除算、括弧は使えません。Pascalシミュレータを使うときは注意してください。当然、DelphiやTurbo Pascalでは使えます。
正書法
本来、行頭の空白はなくてもいいので、
とできます。PascalやDelphiでは、空白を入れなくてはならないところでは、空白はいくつ入れてもかまいません。行頭には空白をいれてもよいので、上のプログラムの行頭に空白を入れ、さらに空白を増やして、
としたプログラムは正しいものです。しかし、上のプログラムは少し見にくいですね。本文のように、数個の空白を行頭に入れているのは、プログラムを見やすくするためです。上のような簡単なプログラムの場合は、それほど見易さに違いはありませんが、後ででてくるもう少し複雑な場合は、適度に空白をいれると見やすくなります。
整数型
数学で学んだように、整数は、0、-100、123456という小数点を含まない数です。数学的には整数の桁数に制限はなく、12345678901234567890123といった多くの桁で表される数は整数です。
しかし、コンピュータで桁数の多い数まで表せるようにしますと、それだけ記憶容量が必要になりますし、1とか3とかいった小さい数を表すときは、用意した多くの桁が無駄になってしまいます。そのため、プログラムでは、整数に桁の制限を設けるのが大多数です。Delphiの整数型のinteger型にも桁数の制限があります。Delphiのinteger型では9〜10桁に制限されていて、-2147483648から2147483647までの整数が取り扱えます。
データ型
整数型の他に、実数型、文字型、文字列型、など、たくさんの型が用意されています。3.14159のような小数点が含まれている数は実数型になります。「A」・「z」のような1つの文字は文字型、「delphi」・「programming」のような複数の文字が並んだものは文字列型になります。
実数型はさらにいろいろな型に分かれていて、表される数の範囲(どのくらい小さい数、どのくらい大きい数が表されるか)や何桁の数まで正確に表されるかが違います。例えば、15桁程度まで正確に表せる型として、double型があります。double型として変数xを宣言したい場合、var x : doubleとします。
文
処理の基本単位を文と呼びます。
「x:=1000;」は「1000をxに代入」という1単位の処理をしますので、文です。これは代入をする文ですので、代入文と呼んでいます。
複数の文を1行に書いてもかまいません。例えば、
x:=100; y:=10;
と2つの文を1行に書けます。
しかし、Pascalシミュレータでは、シミュレータの制限(シミュレータの作成を簡単にするために設けた制限です)で複数の文を1行には書けません。そのため、Pascalシミュレータでは、1行に複数の文をいれないでください。
予約語
本文で説明しましたように、program、begin、endはPascalではあらかじめ機能が決まっています。機能が決まっている語のことを予約語といいます。それに対して、hajimeteなどの語は機能が決まっていなくて、例えば、programの後に書くことによりプログラムの名前として使われます。
このページのプログラムでは、予約語を太字で表記して、見やすくしています。
予約語のスペリングを間違えます(例えば、beginと書かずにbeganと書いてしまう)と、正しくプログラムが動きませんので、スペリングに注意する必要があります。「Pascalシミュレータ」では予約語が太字で表示されますので、予約語のつもりでキーボード入力したはずなのに太字になっていないときは、スペリングが間違っているとすぐ気がつくようにしています。